一般来说,人们必须知道 TPM 和 TXT 以及所有这些技术的目的是要保护的,因为存在误解。TPM 通常启用 5 个不同的流程,并且仅支持以下流程:
- 完整性测量——计算平台组件的加密哈希
- Authenticated boot – 可靠地测量和存储平台状态(其组件的总和)的过程
- 密封存储——在平台上存储数据的过程,只有在平台处于特定状态时才能检索数据
- 证明——可靠地报告平台当前状态的过程
- 独立执行——使软件能够不受阻碍地执行
从 Intel 的角度来看,TXT 是可信计算功能的整体,包括 TPM、对处理器操作的修改和对芯片组操作的修改。
TXT 技术的主要特点是 TPM 的所有特点加上
- 受保护的执行(基于硬件的域分离)
- 受保护的内存页面(针对所有四种不同的内存访问方式提供保护——通过软件、通过 DMA、通过 GPU 卡、通过 SMM)
- 受保护的输入
- 受保护的图形
- 启用可信通道(两台计算机之间或一台计算机之间的设备)
您提到的延迟启动功能是一个可选的 TXT 功能,可以在系统启动后进行测量,而不是启动过程的每个步骤,这有点复杂。
一般来说,可信计算是一个巨大的项目,多年来在全球范围内进行了大量研究,并有短期、中期和长期目标。我必须在这里透露我是该研究的一部分。
现在开始真正的实现(尽管这些不在我的领域)
首先,所有主要的系统制造商都有使用 TPM 的企业硬件和软件,至少它的一些特性。生产大多数企业系统的戴尔和惠普等公司使用的软件如(HP ProtectTools)。在此示例中,在 TPM 的帮助下使用了预引导身份验证。微软一直在进行这项研究,并在 Vista 之前发布了支持 TPM 的 bitlocker。实际上,bitlocker 不仅仅是关于加密:它有一个名为 Secure Startup 的单独功能,它实现了完整性检查部分(它可以在没有加密组件的情况下存在)。透明操作与身份验证有关 - 它也可以在预启动身份验证模式下工作。像 symantec 和 mcaffee 这样的安全软件开发商也有依赖或使用 TPM 的软件。
现在,我不知道有任何其他商业或即用型开源软件处理 TPM 和证明或任何其他功能。(但正如我所说的我没看太多,也许另一个成员知道更多)。
如果您想要实验工具、概念验证软件或只是论文和规范,那么有很多——正如我所说,项目中有长期目标,而证明是长期目标之一。这是一个示例,软件堆栈的参考实现是支持 linux 中 TPM 的所有功能所必需的:http ://www.opentc.net/publications/OpenTC_PET_prototype_documentation_v1.0.pdf (软件位于http://www.opentc .net )
只是为了吸引读者,网络访问控制是一个活跃的研究领域——商业工具可能已经存在于该领域。NAC 中使用 TPM 的一般想法当然是只允许网络中的设备通过提供特定测量来验证它是安全的,不仅在启动软件的完整性上,而且在应用的补丁级别上,防病毒定义、防火墙配置... 其他研究示例:安全软件下载,如移动运营商需要通过无线方式安全地更新手机固件,特别是软件定义无线电的软件。当然,数字视频广播 (DVB) 是一个领域或研究 - dvb 接收器已经使用智能卡来存储密钥,可以使用 TPM 代替。
非常长期的目标?想象一个世界,每个系统和移动设备都有一个 TPM:加密协处理器、安全存储……并且可以按需生成公钥对,无需用户交互:全球 PKI - 正在研究如何管理和如何处理那!
我认为我已经远远超出了问题的范围,所以这应该足够了。