Amazon EC2 インスタンスアテステーション
認証は、信頼できるソフトウェア、ドライバー、ブートプロセスのみが Amazon EC2 インスタンスで実行されていることを任意の当事者に暗号的に証明できるプロセスです。Amazon EC2 インスタンスアテステーションは、Nitro Trusted Platform Module (NitroTPM) と Attestable AMI によって実現されます。
アテステーションの最初のステップは、Attestable AMI を構築し、その AMI のリファレンス測定値を決定することです。Attestable AMI は、アテステーションのためにゼロから構築された AMI です。リファレンス測定値は、AMI に含めたすべてのソフトウェアと設定の測定値です。リファレンス測定値を取得する方法の詳細については、「サンプルイメージの説明を作成する」を参照してください。
次のステップでは、Attestable AMI を使用して Nitro-TPM 対応 EC2 インスタンスを起動します。インスタンスを起動したら、NitroTPM ツールを使用してアテステーションドキュメントを生成できます。次に、アテステーションドキュメントからの EC2 インスタンスの実際の測定値とリファレンス測定値を比較して、インスタンスに信頼できるソフトウェアと設定があるかどうかをチェックできます。
Attestable AMI の作成プロセス中に生成されたリファレンス測定値をインスタンスのアテステーションドキュメントに含まれる測定値と比較することで、信頼できるソフトウェアとコードのみがインスタンスで実行されていることを検証できます。
AWS KMS との統合
測定値の比較プロセスを容易にするために、アテステーションドキュメントの検証ツールとして AWS Key Management Service (AWS KMS) を使用できます。AWS KMS では、リファレンス測定値に一致する測定値をアテステーションドキュメントに提供する場合にのみ、KMS キーを使用した特定のオペレーションを許可するアテステーションベースの KMS キーポリシーを作成できます。これを行うには、リファレンス測定値を条件キー値として使用する特定の条件キーを KMS キーポリシーに追加し、条件キーが満たされた場合に許可される KMS オペレーションを指定します。
KMS キーを使用して KMS オペレーションを実行する場合、アテステーションドキュメントを KMS リクエストにアタッチする必要があります。そうすると、AWS KMS は、アテステーションドキュメントからの測定値を KMS キーポリシーのリファレンス測定値と照合し、測定値が一致する場合にのみキーアクセスを許可します。
さらに、インスタンスのアテステーションドキュメントを生成するときは、所有するキーペアのパブリックキーを指定する必要があります。指定されたパブリックキーは、アテステーションドキュメントに含まれています。AWS KMS がアテステーションドキュメントを検証し、復号オペレーションを許可すると、返される前にアテステーションドキュメントに含まれるパブリックキーを使用してレスポンスが自動的に暗号化されます。これにより、レスポンスは、アテステーションドキュメントに含まれるパブリックキーに一致するプライベートキーでのみ復号し使用できます。
これにより、信頼できるソフトウェアとコードを実行しているインスタンスのみが KMS キーを使用して暗号オペレーションを実行できます。
分離されたコンピューティング環境のアテステーション
一般に、EC2 インスタンスを分離されたコンピューティング環境として構築および設定できます。これにより、管理者やユーザーが EC2 インスタンスで処理されているデータにアクセスするためのインタラクティブなアクセスやメカニズムが提供されることはありません。EC2 インスタンスアテステーションを使用すると、インスタンスが分離されたコンピューティング環境として実行されていることをサードパーティーまたはサービスに証明できます。詳細については、「自社のオペレーターからデータを分離する」を参照してください。
例については、分離されたコンピューティング環境を作成するAmazon Linux 2023 のサンプルイメージの説明を参照してください。このサンプルイメージの説明を出発点にして、要件を満たすようにカスタマイズできます。
AWS 責任共有モデル
NitroTPM と Attestable AMI は、EC2 インスタンスでアテステーションを設定および構成するのに役立つ構成要素です。お客様は、それぞれのユースケースに合わせて AMI を設定する責任があります。詳細については、「AWS 責任共有モデル