規劃匯入金鑰資料 - AWS Key Management Service

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

規劃匯入金鑰資料

匯入的金鑰材料可讓您以產生的密碼編譯金鑰來保護 AWS 資源。您匯入的金鑰資料與特定 KMS 金鑰關聯。您可以將相同金鑰材料重新匯入相同的 KMS 金鑰,但是您無法將不同的金鑰材料匯入 KMS 金鑰,也無法將專為匯入金鑰材料設計的 KMS 金鑰轉換為包含金鑰材料的 KMS 金 AWS KMS 鑰。

進一步了解

關於匯入的金鑰材料

在決定將關鍵材料匯入至之前 AWS KMS,您應該瞭解匯入金鑰材料的下列特性。

您可以產生關鍵材料

您有責任使用符合您安全要求的隨機來源產生金鑰材料。

您可以刪除金鑰材料

您可以從 KMS 金鑰中刪除匯入的金鑰材料,立即使 KMS 金鑰無法使用。此外,當您將金鑰材料匯入 KMS 金鑰時,您可以決定金鑰是否會過期,並設定其過期時間。到期時間到達時, AWS KMS 刪除關鍵材料。如果沒有金鑰材料,即無法在任何密碼編譯操作中使用 KMS 金鑰。若要還原金鑰,您必須將相同的金鑰材料重新匯入至金鑰。

您無法變更金鑰資料

當您將金鑰材料匯入 KMS 金鑰,KMS 金鑰將永久關聯到該金鑰材料。您可以重新匯入相同的金鑰材料,但您不能將不同的金鑰材料匯入 KMS 金鑰。此外,您無法為具有匯入金鑰材料的任何 KMS 金鑰啟用自動金鑰輪換。不過,您可以手動輪換具有匯入金鑰材料的 KMS 金鑰

您無法變更金鑰資料來源

設計用於匯入金鑰材料的 KMS 金鑰具有無法變更的 EXTERNAL 來源值。您無法將匯入金鑰材料的 KMS 金鑰轉換為使用任何其他來源的金鑰材料,包括 AWS KMS. 同樣地,您無法將包含金鑰材料的 KMS 金 AWS KMS 鑰轉換為專為匯入金鑰材料所設計的金鑰。

您無法匯出金鑰資料

您無法匯出已匯入的任何關鍵材料。 AWS KMS 無法以任何形式將匯入的金鑰材料傳回給您。您必須在金鑰管理員 (例如硬體安全性模組 (HSM) 之外維護匯入金鑰材料的複本,以便在刪除金鑰材料或金鑰材料到期時,可以重新匯入金鑰材料。 AWS

您可利用匯入金鑰資料來建立多區域金鑰。

具匯入金鑰資料的多區域擁有匯入金鑰資料的 KMS 金鑰功能,且可在 AWS 區域之間互通。若要利用匯入金鑰資料來建立多區域金鑰,您必須匯入相同金鑰資料至主要 KMS 金鑰以及每個複本金鑰。如需詳細資訊,請參閱 將金鑰材料匯入多區域金鑰

非對稱金鑰與 HMAC 金鑰為可攜式且可互通

您可以在以外使用非對稱金鑰材料和 HMAC 金鑰材料,與具有相同匯入 AWS KMS 金鑰材料的 AWS 金鑰互操作。

與與算法中使用的 KMS 密鑰密不可分割的 AWS KMS 對稱密文不同,它 AWS KMS 使用標準 HMAC 和非對稱格式進行加密,簽名和 MAC 生成。因此,這些金鑰為可攜式,並且支援傳統委付金鑰案例。

當您的 KMS 金鑰匯入金鑰材料時,您可以在以外使用匯入的金鑰材料 AWS 來執行下列作業。

  • HMAC 金鑰 — 您可利用匯入金鑰資料來驗證 HMAC KMS 金鑰所產生的 HMAC 標籤。您也可以將 HMAC KMS 金鑰與匯入的金鑰材料搭配使用,以驗證由外部金鑰材料所產生的 HMAC 標籤。 AWS

  • 非對稱加密金鑰 — 您可以在以外使用私密非對稱加密金鑰, AWS 以對應的公開金鑰解密由 KMS 金鑰加密的加密文字。您也可以使用非對稱 KMS 金鑰來解密在外部產生的非對稱加密文字。 AWS

  • 非對稱簽章金鑰 — 您可以將非對稱簽章 KMS 金鑰與匯入的金鑰材料搭配使用,驗證您在外部私人簽章金鑰所產生的數位簽章 AWS。您也可以在以外使用非對稱公開簽章金鑰 AWS 來驗證非對稱 KMS 金鑰所產生的簽章。

如您匯入相同金鑰資料至位於相同 AWS 區域的不同 KMS 金鑰,則這些金鑰也可互通。若要以不同的方式建立可互通的 KMS 金鑰 AWS 區域,請使用匯入的金鑰材料建立多區域金鑰。

對稱加密金鑰為不可攜式且不可互通

AWS KMS 產生的對稱密文不可移植或可互操作。 AWS KMS 不會發佈可攜性所需的對稱加密文字格式,且格式可能會變更,恕不另行通知。

  • AWS KMS 無法解密您在以外加密的對稱密碼文本 AWS,即使您使用已導入的密鑰材料也是如此。

  • AWS KMS 不支援解密以外的任何 AWS KMS 對稱加密文字 AWS KMS,即使加密文字是使用匯入金鑰材料的 KMS 金鑰加密。

  • 具相同匯入金鑰資料的 KMS 金鑰無法互通。 AWS KMS 產生每個 KMS 金鑰專屬加密文字的對稱密文。此密文格式可保證僅加密該資料的 KMS 金鑰可解密。

此外,您無法使用任何 AWS 工具 (例如AWS Encryption SDKAmazon S3 用戶端加密) 來解密 AWS KMS 對稱加密文字。

因此,您無法將金鑰與匯入的金鑰材料搭配使用來支援金鑰委付安排,在此安排中,具有條件式存取金鑰資料的授權第三方可以解密以外的某些加密文字。 AWS KMS若要支援金鑰委付,請使用 AWS Encryption SDK 在獨立於 AWS KMS的金鑰下將您的訊息加密。

您必須為可用性和耐久性負責

AWS KMS 旨在保持進口關鍵材料的高可用性。但 AWS KMS 不會將進口關鍵材料的耐用性保持在與 AWS KMS 產生的關鍵材料相同的水平。如需詳細資訊,請參閱 保護匯入的金鑰資料

保護匯入的金鑰資料

您匯入的金鑰資料在傳輸過程及靜態狀態都受到保護。在匯入金鑰材料之前,您必須使用在 FIPS 140-2 加密模組驗證程式下驗證的 AWS KMS 硬體安全模組 (HSM) 中產生的 RSA 金鑰組公開金鑰對公開金鑰材料進行加密 (或「包裝」)。您可利用包裝公有金鑰直接加密金鑰資料,或利用 AES 對稱金鑰來加密金鑰資料,然後利用 RSA 公有金鑰加密 AES 對稱金鑰。

收到後,使用 HSM 中對應的私 AWS KMS 密金鑰將金鑰材料解密,然後在僅存在於 AWS KMS HSM 揮發性記憶體中的 AES 對稱金鑰下重新加密金鑰。您的金鑰資料永遠不會以純文字形式離開 HSM。僅在使用中且僅在 AWS KMS HSM 中對其進行解密。

與匯入的金鑰資料搭配運用的 KMS 金鑰取決於您在 KMS 金鑰設定的存取控制政策。此外,您可利用別名標籤來識別及控制 KMS 金鑰的存取權。您可啟用及停用金鑰、檢視編輯其屬性,並利用類似 AWS CloudTrail的服務來加以監控

然而,您要維護金鑰資料的唯一故障安全副本。為了回報這項額外的控制措施,您需要負責進口關鍵材料的耐用性和整體可用性。 AWS KMS 旨在保持進口關鍵材料的高可用性。但 AWS KMS 不會將進口關鍵材料的耐用性保持在與 AWS KMS 產生的關鍵材料相同的水平。

這種持久性差異在以下情況具有意義:

  • 當您為匯入的金鑰材料設定到期時間時,請在金鑰材料到期後 AWS KMS 刪除該金鑰材料。 AWS KMS 不會刪除 KMS 金鑰或其中繼資料。您可以建立 Amazon CloudWatch 警示,在匯入的金鑰材料即將到期日時通知您。

    您無法刪除針對 KMS 金鑰 AWS KMS 產生的金鑰材料,也無法將金 AWS KMS 鑰材料設定為過期,但您可以旋轉它

  • 手動刪除匯入的金鑰材料時,會刪 AWS KMS 除金鑰材料,但不會刪除 KMS 金鑰或其中繼資料。反之,排程金鑰刪除需要 7 到 30 天的等待期間,超過此期限後 AWS KMS 會永久刪除 KMS 金鑰、其中繼資料及其金鑰材料。

  • 在不太可能發生影響的區域範圍內故障 AWS KMS (例如完全喪失電源), AWS KMS 無法自動還原匯入的金鑰材料。但是, AWS KMS 可以還原 KMS 金鑰及其中繼資料。

必須 AWS 在您控制的系統之外保留匯入關鍵材料的副本。建議您將匯入金鑰資料的可匯出複本儲存在金鑰管理系統,例如 HSM。如匯入的金鑰資料遭到刪除或到期,則在您重新匯入相同金鑰資料之前,其關聯的 KMS 金鑰將無法運用。如匯入的金鑰資料永久遺失,則利用 KMS 金鑰加密的任何密文均無法復原。

匯入金鑰材料的許可

若要使用匯入的金鑰材料建立和管理 KMS 金鑰,使用者需要此程序中的操作許可。您可以在建立 KMS 金鑰時提供金鑰政策中的 kms:GetParametersForImportkms:ImportKeyMaterialkms:DeleteImportedKeyMaterial 許可。在 AWS KMS 主控台中,當您使用外部金鑰材料來源建立金鑰時,會自動為金鑰管理員新增這些權限。

若要建立具有匯入金鑰材料的 KMS 金鑰,主體需要下列許可。

若要重新匯入匯入的金鑰材料,主體需要 kms: GetParametersForImportkms: ImportKeyMaterial 權限。

若要刪除匯入的金鑰材料,主體需要 kms: DeleteImportedKeyMaterial 權限。

例如,若要准許範例 KMSAdminRole 管理具有匯入金鑰資料的 KMS 金鑰的所有方面,請在 KMS 金鑰的金鑰政策中包含如下所示的金鑰政策陳述式。

{ "Sid": "Manage KMS keys with imported key material", "Effect": "Allow", "Resource": "*", "Principal": { "AWS": "arn:aws:iam::111122223333:role/KMSAdminRole" }, "Action": [ "kms:GetParametersForImport", "kms:ImportKeyMaterial", "kms:DeleteImportedKeyMaterial" ] }

匯入金鑰資料需求

您匯入的金鑰資料必須與關聯 KMS 金鑰的金鑰規格相容。對於非對稱金鑰配對,只匯入配對的私密金鑰。 AWS KMS 衍生自私密金鑰的公開金鑰。

AWS KMS 支援以下包含匯入金鑰材料之 KMS 金鑰的金鑰規格。

KMS 金鑰之金鑰規格 金鑰資料要求

對稱加密金鑰

SYMMETRIC_DEFAULT

256 位元 (32 位元組) 的二進位資料

在中國區域,必須是 128 位元 (16 位元組) 的二進位資料。

HMAC 金鑰

HMAC_224

HMAC_256

HMAC_384

HMAC_512

HMAC 金鑰資料必須符合 RFC 2104

金鑰長度必須符合金鑰規格所指定的長度。

RSA 非對稱私有金鑰

RSA_2048

RSA_3072

RSA_4096

您匯入的 RSA 非對稱私有金鑰必須是符合 RFC 3447 金鑰對的一部分。

模數:2048 位元、3072 位元或 4096 位元

素數:2 (不支持多素 RSA 金鑰)

非對稱金鑰材料必須是 BER 編碼或以符合 RFC 5208 的公開金鑰加密標準 (PKCS) #8 格式進行 DER 編碼。

橢圓曲線非對稱私有金鑰

ECC_NIST_P256 (secp256r1)

ECC_NIST_P384 (secp384r1)

ECC_NIST_P521 (secp521r1)

ECC_SECG_P256K1 (secp256k1)

您匯入的 ECC 非對稱私有金鑰必須是符合 RFC 5915 的一種金鑰對。

曲線:NIST P-256、NIST P-384、NIST P-521 或 Secp256k1

參數:僅限命名曲線 (拒絕具明確參數的 ECC 金鑰)

公有點座標:可壓縮、解壓縮或投影

非對稱金鑰材料必須是 BER 編碼或以符合 RFC 5208 的公開金鑰加密標準 (PKCS) #8 格式進行 DER 編碼。

SM2 非對稱私鑰 (僅限中國地區)

您匯入的 SM2 非對稱私密金鑰必須是符合 GM/T 0003 之金鑰組的一部分。

曲線:表面

參數:僅命名曲線(具有明確參數的 SM2 鍵被拒絕)

公有點座標:可壓縮、解壓縮或投影

非對稱金鑰材料必須是 BER 編碼或以符合 RFC 5208 的公開金鑰加密標準 (PKCS) #8 格式進行 DER 編碼。