AES 密鑰包裝在 AWS CloudHSM - AWS CloudHSM

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

AES 密鑰包裝在 AWS CloudHSM

本主題說明 AES 金鑰包裝在中的選項 AWS CloudHSM。AES 金鑰包裝使用 AES 金鑰 (包裝金鑰) 來包裝任何類型的另一個金鑰 (目標金鑰)。您可以使用金鑰包裝來保護儲存的金鑰,或透過不安全的網路傳輸金鑰。

支援的演算法

AWS CloudHSM 為 AES 密鑰包裝提供了三個選項,每個選項都基於在包裝之前如何填充目標密鑰。當您呼叫金鑰包裝時,會根據您使用的演算法自動完成填補。下表列出支援的演算法和相關詳細資訊,可協助您為應用程式選擇適當的包裝機制。

AES 金鑰包裝演算法 規格 支援的目標金鑰類型 填補方案 AWS CloudHSM 客戶可用性
AES 金鑰包裝,零填補 RFC 5649SP 800 - 38F 全部 如果需要,在金鑰位元後增加零,以對齊區塊 SDK 3.1 及更新版本
AES 金鑰包裝,無填補 RFC 3394SP 800 - 38F 區塊對齊的金鑰,例如 AES 和 3DES SDK 3.1 及更新版本
AES 金鑰包裝與 PKCS #5 填補 全部

根據 PKCS #5 填補方案新增至少 8 個位元組以對齊區塊

全部

若要了解如何在應用程式中使用上表的 AES 金鑰包裝演算法,請參閱 AWS CloudHSM中的使用 AES 金鑰包裝

了解 AES 金鑰包裝中的初始化向量

在包裝之前,CloudHSM 會將初始化向量 (IV) 附加到目標金鑰,以確保資料完整性。每個金鑰包裝演算法對於允許什麼類型的 IV 都有特定的限制。要在中設置 IV AWS CloudHSM,您有兩個選擇:

  • 隱含:將 IV 設定為 NULL,CloudHSM 會使用該演算法的預設值進行包裝和取消包裝操作 (建議)

  • 明確:透過將預設 IV 值傳遞給金鑰包裝函數來設定 IV

重要

您必須了解在您應用程式中使用什麼 IV。若要取消包裝金鑰,您必須提供您用來包裝金鑰的相同 IV。如果您使用隱含 IV 來包裝,則請使用隱含 IV 來取消包裝。對於隱含 IV,CloudHSM 將使用預設值來取消包裝。

下表說明包裝演算法指定之 IV 的允許值。

AES 金鑰包裝演算法 隱含 IV 明確 IV
AES 金鑰包裝,零填補 必要

預設值:(根據規格在內部計算 IV)

不允許
AES 金鑰包裝,無填補 允許 (建議使用)

預設值:0xA6A6A6A6A6A6A6A6

允許

只接受此值:0xA6A6A6A6A6A6A6A6

AES 金鑰包裝與 PKCS #5 填補 允許 (建議使用)

預設值:0xA6A6A6A6A6A6A6A6

允許

只接受此值:0xA6A6A6A6A6A6A6A6

使用 AES 密鑰包裝 AWS CloudHSM

如下所示包裝和取消包裝金鑰:

AES 金鑰包裝演算法 PKCS #11 機制 Java 方法 CloudHSM 命令 金鑰管理公用程式 (KMU) 引數
AES 金鑰包裝,零填補
  • CKM_CLOUDHSM_AES_KEY_WRAP_ZERO_PAD (供應商定義的機制)

AESWrap/ECB/ZeroPadding aes-zero-pad m = 6
AES 金鑰包裝,無填補
  • CKM_CLOUDHSM_AES_KEY_WRAP_NO_PAD (供應商定義的機制)

AESWrap/ECB/NoPadding aes-no-pad m = 5
AES 金鑰包裝與 PKCS #5 填補
  • CKM_CLOUDHSM_AES_KEY_WRAP_PKCS5_PAD (供應商定義的機制)

AESWrap/ECB/PKCS5Padding 一個電腦墊 m = 4