如何将正在运行的应用程序扩展到PCR中?以及哪种 PCR 可以用于此目的?
我假设您指的是 PC 平台上的 TPM 版本 1.2,因此您对以下规范文档感兴趣:
- TPM 主要部分 2 TPM 结构 http://www.trustedcomputinggroup.org/resources/tpm_main_specification
- TCG PC 客户端特定 TPM 接口规范 (TIS) http://www.trustedcomputinggroup.org/resources/pc_client_work_group_pc_client_specific_tpm_interface_specification_tis
现在回答你的问题:
-
“如何将正在运行的应用程序扩展到PCR中?”
您需要一些软件来识别“正在运行的应用程序" (=measure)
并发出一个TPM_Extend
向 TPM 发出命令。通常这是通过 TSS 完成的,但是
你也可以用自己编写的程序来做到这一点,TPM_Extend
命令不是那个
复杂的。
识别意味着在大多数情况下计算 SHA-1 哈希值,但 TPM 并不关心。这
您提供的数据的描述是:
The 160 bit value representing the event to be recorded.
-
“哪种PCR可以用于此?”
这取决于您的实际环境。对 PCR 的访问由以下因素控制地方。
下表显示了哪些 PCR 可以在哪个位置进行扩展:
PCR Alias (description) Extendable in localities
-----------------------------------------------------------------
0-15 Static RTM 4,3,2,1,0
16 Debug 4,3,2,1,0
17 Locality 4 4,3,2
18 Locality 3 4,3,2
19 Locality 2 3,2
20 Locality 1 3,2,1
21 Dynamic OS controlled 2
22 Dynamic OS controlled 2
23 Application Specific 4,3,2,1,0
您所在的位置取决于您的环境。如果您位于 Linux 用户空间中,
例如,您的位置为 0。
如果您正在设计可信架构,您还必须考虑 PCR 如何
可以重置(在哪些地方)。
地点描述于TCG PC 客户端特定 TPM 接口
规格(TIS) http://www.trustedcomputinggroup.org/resources/pc_client_work_group_pc_client_specific_tpm_interface_specification_tis:
位置 4:可信硬件组件。 D-CRTM 使用它来建立
动态 RTM。
位置 3:辅助组件。使用它是可选的,如果使用的话,它是
依赖于实现。
地点 2:动态启动的操作系统(Dynamic OS)“运行时”环境。
地点 1:动态操作系统使用的环境。
地点 0:静态 RTM、其信任链及其环境。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)