How to extend the running application into PCR? and Which PCR can be used for it?
问问题
1953 次
1 回答
9
我假设您的意思是 PC 平台上的 TPM 版本 1.2,因此您会感兴趣以下规范文档:
现在回答你的问题:
“如何将正在运行的应用程序扩展到 PCR 中?”
您需要一些软件来识别“正在运行的应用程序”(= measure)并向 TPM 发出
TPM_Extend
命令。通常这是通过 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)中描述了这些位置:
位置 4:受信任的硬件组件。D-CRTM 使用它来建立动态 RTM。
位置 3:辅助组件。使用它是可选的,如果使用,它取决于实现。
位置 2:动态启动的操作系统(Dynamic OS)“运行时”环境。
位置 1:动态操作系统使用的环境。
位置 0:静态 RTM、它的信任链和它的环境。
于 2013-10-27T13:23:38.250 回答