実行中のアプリケーションを PCR に拡張する方法は? どの PCR を使用できますか?
1 に答える
PC プラットフォーム上の TPM バージョン 1.2 を意味していると思われるため、次の仕様ドキュメントが参考になります。
今あなたの質問に:
「実行中のアプリケーションを PCR に拡張する方法は?」
「実行中のアプリケーション」を識別 (=測定
TPM_Extend
)し、TPM にコマンドを発行するソフトウェアが必要です。通常、これは 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: 信頼できるハードウェア コンポーネント。これは、動的 RTM を確立するために D-CRTM によって使用されます。
場所 3: 補助コンポーネント。これの使用はオプションであり、使用する場合は実装に依存します。
ローカリティ 2: 動的に起動される OS (動的 OS) の「ランタイム」環境。
ローカリティ 1: 動的 OS が使用する環境。
ローカリティ 0: 静的 RTM、その信頼のチェーン、およびその環境。