这是有点相关的帖子在: Perform OR on two hash outputs of sha1sumPCR值的扩展如何能够用例如SHA1SUM?
我有一个TPM测量样本集,例如,以下内容:
10 1ca03ef9cca98b0a04e5b01dabe1ff825ff0280a ima 0ea26e75253dc2fda7e4210980537d035e2fb9f8 boot_aggregate
10 7f36b991f8ae94141753bcb2cf78936476d82f1d ima d0eee5a3d35f0a6912b5c6e51d00a360e859a668 /init
10 8bc0209c604fd4d3b54b6089eac786a4e0cb1fbf ima cc57839b8e5c4c58612daaf6fff48abd4bac1bd7 /init
10 d30b96ced261df085c800968fe34abe5fa0e3f4d ima 1712b5017baec2d24c8165dfc1b98168cdf6aa25 ld-linux-x86-64.so.2
根据该TPM规范,也称为在上述的柱,所述延伸PCR操作:PCR:= SHA1(PCR ||数据),即“串联PCR与旧值数据,散列连接的字符串并将散列存储在PCR中“。此外,我发现规范多篇论文和演示文稿提到数据是要加载的软件的散列。
但是,当我执行像echo H(PCR)||H(data) | sha1sum
这样的操作时,我没有获得正确的结果值。即,当计算(使用上述散列):echo 1ca03ef9cca98b0a04e5b01dabe1ff825ff0280a0ea26e75253dc2fda7e4210980537d035e2fb9f8 | sha1sum
时,重设值不是7f36b991f8ae94141753bcb2cf78936476d82f1d
。
我对TPM_Extend操作的理解是否正确?如果是这样,为什么生成的散列与样本测量文件中的散列不同?
谢谢! /n
除了我的回答之外,您还需要更多信息吗? – Scolytus 2012-05-02 10:59:22
好吧,所以考虑到文件中的值不是PCR10的内容,实际存储在注册表中的是什么?是从存储在文件中的度量值中计算出来的哈希值? – nico 2012-05-10 12:02:25
我不是100%确定的,因为我在国外,没有适合我的系统,但它应该是所有哈希的“连锁”。所以像SHA-1(SHA-1(0 ... 0 | 1ca03ef9cca98b0a04e5b01dabe1ff825ff0280a)| 7f36b991f8ae94141753bcb2cf78936476d82f1d)..... 随意打开一个关于该问题的新问题(因为它是一个不同的问题),我会尝试进一步调查... – Scolytus 2012-05-13 09:56:04