リモート認証とTPMモジュールを使用した測定ブートについて質問があります。
図は私のプロジェクトを概略的に示しています。 TPMモジュールは、ブートプロセスの測定とユーザーアプリケーションの検証に使用されます。カーネルは、すべてのユーザーアプリケーションからハッシュ値を生成し、PCRレジスター17を拡張します。認証は、リモート認証プロトコルを使用して実行する必要があります。 (簡略化:)このため、検証者は証明者にチャレンジc(ナンスと、関心のあるレジスタに関する情報を含む)を送信します。 PCR値(この例ではPCR [17])の署名付きメッセージ(EKキーを使用する必要がないためAIKキーを使用)による証明者の応答。署名により、チャレンジはTPMからの応答であることを認識します。
これまでのところ良好ですが、検証者はPCR値が「正しい」ことをどのようにして知るのでしょうか。比較のために参照値はどこから取得されますか?検証者のページに予想されるPCR値のローカルコピーはありますか?簡単に計算できますか? (たとえば、ベリファイアはユーザーアプリケーションのハッシュ値を知っており、PCR値自体を計算します)。
私はより多くの情報と役に立つリンクを楽しみにしています。あなたの答えと助けをありがとう。
TPMsealsPCRの状態から派生したキーを使用して任意のデータをシールします。そのデータが正しいかどうかはあなた次第です。これは復号化キーである可能性があるため、PCRが正しい状態にある場合にのみディスクを読み取ることができます。または、 あなただけが知っている秘密のフレーズ であっても、攻撃者がディスクを偽装できないようにします。知らないSEには、測定されたブートを説明する多くの回答があります。