NitroTPM アテステーションドキュメントの内容
アテステーションドキュメントは NitroTPM によって生成され、Nitro Hypervisor によって署名されます。これには、Amazon EC2 インスタンスに関連する一連のプラットフォーム設定レジスタ (PCR) 値が含まれます。アテステーションドキュメントには、次の PCR が含まれています。
重要
PCR0 と PCR1 は通常、AWS によって制御される初期ブートコードを測定するために使用されます。初期ブートコードを安全に更新できるように、これらの PCR の値は常に一定です。
-
PCR0– コアシステムファームウェア実行可能コード -
PCR1– コアシステムファームウェアデータ -
PCR2– 拡張またはプラグ可能な実行可能コード -
PCR3– 拡張またはプラグ可能なファームウェアデータ -
PCR4– ブートマネージャーコード -
PCR5– ブートマネージャーコード設定とデータおよび GPT パーティションテーブル -
PCR6– ホストプラットフォームの製造元の詳細 -
PCR7– セキュアブートポリシー -
PCR8 - 15– 静的オペレーティングシステムで使用するために定義 -
PCR16– デバッグ -
PCR23– アプリケーションのサポート
PCR4 と PCR7 は、特に、Attestable AMI を使用してインスタンスが起動されたことを検証するために使用されます。PCR4 は標準ブートで検証するために使用でき、PCR7 はセキュアブートで検証するために使用できます。
-
PCR4 (ブートマネージャーコード) – インスタンスが起動すると、NitroTPM は UEFI 環境によって実行されるすべてのバイナリの暗号化ハッシュを作成します。Attestable AMI では、これらのブートバイナリはハッシュを埋め込み、一致するハッシュを持たないバイナリの今後のロードを防ぎます。このようにして、単一のブートバイナリハッシュは、インスタンスが今後実行するコードを正確に記述できます。
-
PCR7 (セキュアブートポリシー) – UEFI ブートバイナリは、UEFI セキュアブート署名キーで署名できます。UEFI セキュアブートが有効になっている場合、UEFI は設定されたポリシーと一致しない UEFI ブートバイナリの実行を禁止します。PCR7 には、インスタンスの UEFI セキュアブートポリシーのハッシュが含まれています。
インスタンスの更新全体で保持される単一の KMS ポリシーを維持する必要がある場合は、PCR7 に対して検証して UEFI セキュアブート証明書を検証するポリシーを作成できます。そうすると、Attestable AMI の作成時に、証明書を使用してブートバイナリに署名し、AMI の UEFI データで許可された唯一の証明書としてインストールできます。このモデルでは、古い (信頼済でない) AMI から起動されたインスタンスが KMS ポリシーを通過しないようにするには、新しい証明書を生成し、ポリシーにインストールして AMI を更新する必要があることに注意してください。