これは、次の投稿にいくらか関連しています: sha1sumの2つのハッシュ出力でORを実行します
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 || data)、つまり「PCRの古い値をデータと連結し、連結された文字列をハッシュして、 PCRのハッシュ」。また、私が見つけた複数の論文やプレゼンテーションの仕様では、データはロードされるソフトウェアのハッシュであると述べています。
ただし、のような操作を行うとecho H(PCR)||H(data) | sha1sum
、正しい結果の値が得られません。つまり、(上記のハッシュを使用して)計算する場合:echo 1ca03ef9cca98b0a04e5b01dabe1ff825ff0280a0ea26e75253dc2fda7e4210980537d035e2fb9f8 | sha1sum
、結果の値はではありません7f36b991f8ae94141753bcb2cf78936476d82f1d
。
TPM_Extend操作についての私の理解は正しいですか?もしそうなら、なぜ結果のハッシュはサンプル測定ファイルのものと異なるのですか?
ありがとう!/ n