當您為專屬KMS標準版實例創建對稱密鑰材料來源為外部的密鑰時,專屬KMS不會為您創建的用戶主密鑰(CMK)在密碼機集群生成對稱密鑰材料,此時您可以將自己的對稱密鑰材料導入到CMK中。本文為您介紹如何導入外部對稱密鑰材料。

背景信息

您可以調用DescribeKey接口判斷對稱密鑰材料來源。當OriginEXTERNAL時,說明對稱密鑰材料由外部導入,稱為外部密鑰

當您選擇對稱密鑰材料來源為外部,使用您自己導入的對稱密鑰材料時,需要注意以下幾點:
  • 請確保您使用了符合要求的隨機源生成對稱密鑰材料。
  • 由于對稱密鑰材料將導入到您的密碼機集群中,且暫不支持調用DeleteKeyMaterial接口刪除對稱密鑰材料。因此您需要調用ScheduleKeyDeletion接口,等待您指定的計劃刪除時間后,密碼機集群中的對稱密鑰材料隨著CMK一起被刪除。
  • 每個CMK只能擁有一個對稱密鑰材料。一個對稱密鑰材料導入CMK后,CMK將與該對稱密鑰材料綁定,后續將無法導入其他對稱密鑰材料。
  • 支持導入128位、192位或256位對稱密鑰作為對稱密鑰材料。

步驟一:創建外部密鑰

  1. 登錄密鑰管理服務控制臺
  2. 在頁面左上角的地域下拉列表,選擇專屬KMS標準版實例所在的地域。
  3. 在左側導航欄,單擊專屬KMS
  4. 單擊目標專屬KMS標準版實例操作列的管理
  5. 用戶主密鑰區域,單擊創建密鑰
  6. 創建密鑰對話框,選擇密鑰類型
    支持的密鑰類型為和Aliyun_SM4、Aliyun_AES_128、Aliyun_AES_192、Aliyun_AES_256。
  7. 設置別名描述
  8. 單擊高級選項,選擇密鑰材料來源外部
  9. 勾選我了解使用外部密鑰材料的方法和意義,然后單擊確定

步驟二:獲取導入對稱密鑰材料參數

導入對稱密鑰材料參數包括一個用于加密對稱密鑰材料的公鑰,以及一個導入令牌。
  1. 用戶主密鑰區域,單擊目標密鑰ID,進入密鑰管理頁面。
  2. 密鑰材料區域,單擊獲取導入參數
  3. 獲取導入密鑰材料的參數對話框,選擇公鑰類型加密算法,然后單擊下一步
    說明
    • 公鑰類型取值為RSA_2048時,您可以選擇加密算法RSAES_PKCS1_V1_5(默認值)或RSAES_OAEP_SHA_256,本文以RSAES_PKCS1_V1_5為例為您介紹。
    • 公鑰類型取值為EC_SM2時,您可以選擇加密算法SM2PKE。
  4. 下載加密公鑰和導入令牌,然后單擊關閉

步驟三:加密對稱密鑰材料

下載公鑰和導入令牌后,您可以使用該公鑰加密您的密鑰材料。

以使用OpenSSL加密密鑰材料為例:使用的加密算法需要與獲取導入對稱密鑰材料參數時指定的一致。由于加密公鑰經過Base64編碼,因此在使用時需要先進行Base64解碼。

  1. 創建一個對稱密鑰材料,使用OPENSSL產生一個32字節的隨機數進行演示。
  2. 根據指定的加密算法(以RSAES_PKCS1_V1_5為例)加密對稱密鑰材料。
  3. 將加密后的對稱密鑰材料進行Base64編碼,保存為文本文件。
    openssl rand -out KeyMaterial.bin 32
    openssl rsautl -encrypt -in KeyMaterial.bin -pkcs -inkey PublicKey.bin  -keyform DER  -pubin -out EncryptedKeyMaterial.bin
    openssl enc -e -base64 -A -in EncryptedKeyMaterial.bin -out EncryptedKeyMaterial_base64.txt

步驟四:導入對稱密鑰材料

導入令牌與加密對稱密鑰材料的公鑰具有綁定關系,一個令牌只能為其生成時指定的主密鑰導入對稱密鑰材料。導入令牌的有效期為24小時,在有效期內可以重復使用,失效以后需要獲取新的導入令牌和加密公鑰。

  1. 用戶主密鑰區域,單擊目標密鑰ID,進入密鑰管理頁面。
  2. 對稱密鑰材料區域,單擊導入密鑰材料
  3. 導入打包后的密鑰材料對話框,上傳打包后的密鑰材料導入令牌,并單擊確定

執行結果

導入對稱密鑰材料成功后,密鑰狀態從待導入更新為啟用中