取得 NitroTPM 證明文件 - Amazon Elastic Compute Cloud

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

取得 NitroTPM 證明文件

證明文件是 NitroTPM 認證程序的關鍵元件。它包含一系列密碼編譯測量,可用於驗證執行個體的身分,並證明其僅執行受信任的軟體。您可以搭配 使用 證明文件 AWS KMS,該文件提供內建的 NitroTPM 證明支援,或建置您自己的密碼編譯證明機制。

nitro-tpm-attest 公用程式可讓您在執行時間擷取 Amazon EC2 執行個體的已簽署 NitroTPM 證明文件。

範例 Amazon Linux 2023 映像描述會自動在 /usr/bin/目錄中的建置映像中安裝公用程式。這可確保公用程式預先安裝在使用 AMI 啟動的執行個體上。您不需要手動安裝公用程式。如需詳細資訊,請參閱建置範例 Amazon Linux 2023 映像描述

安裝 nitro-tpm-attest公用程式

如果您使用的是 Amazon Linux 2023,您可以從 Amazon Linux 儲存庫安裝nitro-tpm-attest公用程式,如下所示。

sudo yum install aws-nitro-tpm-tools

使用 nitro-tpm-attest公用程式

公用程式提供單一命令 nitro-tpm-attest,用於擷取證明文件。命令會傳回以簡潔二進位物件表示法 (CBOR) 編碼並使用 CBOR 物件簽署和加密 (COSE) 簽署的證明文件。

當您執行 命令時,您可以指定下列選用參數:

  • public-key — 可由 AWS KMS 或外部服務用來在傳回回應資料之前加密回應資料的公有金鑰。這可確保只有擁有私有金鑰的預期收件人才能解密資料。例如,如果您使用 進行證明 AWS KMS,服務會使用證明文件中的公有金鑰加密純文字資料,並在回應的 CiphertextForRecipient 欄位中傳回產生的加密文字。僅支援 RSA 金鑰。

  • user-data — 使用者資料可用於將任何其他已簽章的資料交付至外部服務。此使用者資料可用來完成請求執行個體與外部服務之間的協定。不適用於 的證明 AWS KMS。

  • nonce — nonce 可用於在執行個體與外部服務之間設定挑戰回應身分驗證,以協助防止模擬攻擊。使用 nonce 可讓外部服務驗證其是否與即時執行個體互動,而非重複使用舊證明文件的仿造者。不適用於 的證明 AWS KMS。

擷取證明文件

使用下列命令和選用參數:

/usr/bin/nitro-tpm-attest \ --public-key rsa_public_key \ --user-data user_data \ --nonce nonce

如需示範如何產生 RSA 金鑰對,以及如何使用公有金鑰請求證明的完整範例,請參閱 nitro-tpm-attest GitHub 儲存庫