使用 匯出 AWS CloudHSM 金鑰 KMU - AWS CloudHSM

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

使用 匯出 AWS CloudHSM 金鑰 KMU

使用 AWS CloudHSM key_mgmt_util 中的 wrapKey命令,將對稱或私有金鑰的加密複本從硬體安全模組 (HSM) 匯出至 檔案。當您執行 時wrapKey,您可以指定要匯出的金鑰、HSM在 上加密 (包裝) 要匯出的金鑰的金鑰,以及輸出檔案。

wrapKey 命令會將加密的金鑰寫入您指定的檔案,但不會從 移除金鑰,HSM或阻止您在密碼編譯操作中使用金鑰。您可以多次匯出相同的金鑰。

只有金鑰的擁有者 (也就是建立金鑰的加密使用者 (CU)) 可以匯出金鑰。共用金鑰的使用者可以在密碼編譯操作中使用它,但不能將它匯出。

若要將加密的金鑰匯入回 HSM,請使用 unWrapKey。若要從 匯出純文字金鑰HSM,exportPrivateKey請視需要使用 exSymKey或 。此aesWrapUnwrap命令無法解密 (解壓縮) wrapKey加密的金鑰。

在執行任何 key_mgmt_util 命令之前,您必須啟動 key_mgmt_util,並以加密使用者 (CU) HSM身分登入

語法

wrapKey -h wrapKey -k <exported-key-handle> -w <wrapping-key-handle> -out <output-file> [-m <wrapping-mechanism>] [-aad <additional authenticated data filename>] [-t <hash-type>] [-noheader] [-i <wrapping IV>] [-iv_file <IV file>] [-tag_size <num_tag_bytes>>]

範例

此命令會匯出 192 位元三 DES(3DES) 對稱金鑰 (金鑰控制碼 7)。它使用 HSM(AES金鑰控制碼 14) 中的 256 位元金鑰來包裝金鑰 7。然後,它會將加密的 3DES 金鑰寫入 3DES-encrypted.key 檔案。

輸出顯示金鑰 7(3DES 個金鑰) 已成功包裝並寫入指定的檔案。加密金鑰的長度為 307 個位元組。

Command: wrapKey -k 7 -w 14 -out 3DES-encrypted.key -m 4 Key Wrapped. Wrapped Key written to file "3DES-encrypted.key length 307 Cfm2WrapKey returned: 0x00 : HSM Return: SUCCESS

參數

-h

顯示命令的說明。

必要:是

-k

您要匯出之金鑰的金鑰控制代碼。輸入您擁有之對稱或私有金鑰的金鑰控制代碼。若要尋找金鑰控點,請使用 findKey命令。

若要驗證金鑰是否可以匯出,請使用 getAttribute命令來取得屬性的值,該OBJ_ATTR_EXTRACTABLE值由常數 表示354。如需金錀屬性的解譯說明,請參閱 AWS CloudHSM 的金鑰屬性參考 KMU

您只能匯出您擁有的金鑰。若要尋找金鑰的擁有者,請使用 getKeyInfo命令。

必要:是

-w

指定包裝金鑰。在 上輸入AES金鑰或RSA金鑰的金鑰控制碼HSM。此為必要參數。若要尋找金鑰控點,請使用 findKey命令。

若要建立包裝金鑰,請使用 genSymKey產生AES金鑰 (類型 31),或使用 genRSAKey配對產生RSA金鑰對 (類型 0)。如果您使用的是RSA金鑰對,請務必使用其中一個金鑰包裝金鑰,並將其與另一個金鑰展開包裝。若要驗證金鑰是否可以用作包裝金鑰,請使用 getAttribute取得屬性的值,該OBJ_ATTR_WRAP屬性由常數 表示262

必要:是

-out

輸出檔案的路徑和名稱。命令成功時,這個檔案會包含匯出金鑰的加密複本。如果檔案已存在,命令會覆寫檔案且不會有任何警告。

必要:是

-m

表示包裝機制的值。雲端HSM支援下列機制:

Mechanism Value
AES_KEY_WRAP_PAD_PKCS5 4
NIST_AES_WRAP_NO_PAD 5
NIST_AES_WRAP_PAD 6
RSA_AES 7
RSA_OAEP (如需資料大小上限,請參閱本節後文的備註) 8
AES_GCM 10
CLOUDHSM_AES_GCM 11
RSA_PKCS (如需資料大小上限,請參閱本節後文的備註)。請參閱下列備註 1 查看即將進行的變更。 12

必要:是

注意

使用RSA_OAEP包裝機制時,您可以包裝的金鑰大小上限取決於RSA金鑰模數和指定雜湊的長度,如下所示:金鑰大小上限 = (modulusLengthInBytes-2*hashLengthInBytes-2)。

使用 RSA_PKCS 包裝機制時,您可以包裝的金鑰大小上限取決於RSA金鑰模數,如下所示:金鑰大小上限 = (modulusLengthIn位元組 -11)。

-t

表示雜湊演算法的值。雲端HSM支援下列演算法:

雜湊演算法 Value
SHA1 2
SHA256 3
SHA384 4
SHA512 5
SHA224 (對 RSA_AESRSA_OAEP 機制有效) 6

必要:否

-aad

檔案名稱包含 AAD

注意

僅對 AES_GCMCLOUDHSM_AES_GCM 機制有效。

必要:否

-noheader

省略指定 Cloud HSM特定金鑰屬性 的標頭。僅限您要使用 key_mgmt_util 以外的工具來取消包裝金鑰時,才使用此參數。

必要:否

-i

初始向量 (IV) (十六進位值)。

注意

只在使用 CLOUDHSM_AES_KEY_WRAPNIST_AES_WRAP 機制的 -noheader 參數傳遞時有效。

必要:否

-iv_file

您要寫入回應中包含之 IV 值的檔案。

注意

只在使用 AES_GCM 機制的 -noheader 參數傳遞時有效。

必要:否

-tag_size

要與包裝的 Blob 一起儲存的標籤大小。

注意

只在使用 AES_GCMCLOUDHSM_AES_GCM 機制的 -noheader 參數傳遞時有效。標籤大小下限為 8。

必要:否

【1】 根據NIST指引,在 2023 年之後處於 FIPS 模式的叢集不允許這樣做。對於處於非FIPS 模式的叢集,在 2023 年之後仍然允許。如需詳細資訊,請參閱 FIPS 140 合規:2024 機制棄用

相關主題