Attestable AMI
Attestable AMI は、すべてのコンテンツを表す対応する暗号化ハッシュを持つ Amazon マシンイメージ (AMI) です。ハッシュは AMI の作成プロセス中に生成され、アプリケーション、コード、起動プロセスなど、その AMI のコンテンツ全体に基づいて計算されます。
Attestable State の維持
インスタンスの測定値は、初期起動状態に基づいています。起動後にインスタンスでソフトウェアまたはコードが変更され、再起動後も保持されていると、再起動後にインスタンスの測定値が変更されます。測定値が変更されると、Attestable AMI のリファレンス測定値から逸脱し、インスタンスの再起動後にインスタンスは AWS KMS に対して正常にアテステーションができなくなります。したがって、Attestable AMI が役立つように、インスタンスは再起動後に元のブート状態に戻る必要があります。
常に元のブート状態に戻るようにすると、インスタンスは再起動後に正常にアテステーションができます。次のユーティリティを使用して、再起動後もインスタンスのアテステーションを可能にできます。
-
erofs– 拡張読み取り専用ファイルシステム。このユーティリティにより、ルートファイルシステムが読み取り専用になります。このユーティリティを使用すると、/etc、/run、/varなどのファイルシステムへの書き込みはメモリに保存され、インスタンスの再起動時に失われるため、ルートファイルシステムは元の起動状態のままになります。詳細については、erofs のドキュメントを参照してください。 -
dm-verity– 読み取り専用ルートファイルシステムの整合性を保護します。このユーティリティはファイルシステムブロックのハッシュを計算し、カーネルコマンドラインに保存します。これにより、カーネルは起動時にファイルシステムの整合性を検証できます。詳細については、dm-verity のドキュメントを参照してください。
Attestable AMI を作成するための要件
Attestable AMI には以下の要件があります。
-
ベースとなるオペレーティングシステム – Amazon Linux 2023 および NixOS
-
アーキテクチャ –
x86_64またはarm64アーキテクチャ -
TPM サポート – NitroTPM を有効にする必要があります。詳細については、「Amazon EC2 インスタンスで NitroTPM を使用するための要件」を参照してください。
-
ブートモード – UEFI ブートモードを有効にする必要があります。
トピック
Attestable AMI の作成
Attestable AMI を作成するには、KIWI Next Generation (KIWI NG)
KIWI NG は、事前設定された Linux ベースのイメージを構築するためのオープンソースツールです。KIWI NG は、イメージの内容を定義する XML によるイメージの説明を使用します。イメージの説明では、特定のユースケース向けにすぐに使用できる AMI を構築するために実行するベースオペレーティングシステム、ソフトウェア、カーネル設定、スクリプトを指定します。
AMI のビルド時は、nitro-tpm-pcr-compute ユーティリティを使用して、KIWI NG によって生成された Unified Kernel Image (UKI) に基づいてリファレンス測定値を生成する必要があります。nitro-tpm-pcr-compute ユーティリティの使用に関する詳細については、「カスタム AMI の PCR 測定値を計算する」を参照してください。
AWS は、分離されたコンピューティング環境で EC2 インスタンスを設定するために必要なすべての設定を含む Amazon Linux 2023 のサンプルイメージの説明を提供します。詳細については、「Amazon Linux 2023 のサンプルイメージの説明を作成する」を参照してください。