如何将正在运行的应用程序扩展到PCR?哪个PCR可用于它?
答案 0 :(得分:8)
我认为您的意思是PC平台上的TPM版本1.2,因此您会对以下规范文档感兴趣:
现在回答你的问题:
“如何将正在运行的应用程序扩展到PCR?”
您需要一些识别“正在运行的应用程序”的软件(= 度量)
并向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 Client Specific TPM Interface Specification (TIS) :
中描述了地区位置4:可信硬件组件。这被D-CRTM用来建立 动态RTM。
地点3:辅助组件。使用它是可选的,如果使用的话,它是 依赖于实现。
地点2:动态启动操作系统(动态操作系统)“运行时”环境。
地点1:动态操作系统使用的环境。
地点0:静态RTM,其信任链及其环境。