當您為專屬KMS標準版執行個體建立對稱金鑰材料來源為外部的密鑰時,專屬KMS不會為您建立的使用者主要金鑰(CMK)在密碼機叢集產生對稱金鑰材料,此時您可以將自己的對稱金鑰材料匯入到CMK中。本文為您介紹如何匯入外部對稱金鑰材料。
背景資訊
您可以調用DescribeKey介面判斷對稱金鑰材料來源。當Origin為EXTERNAL時,說明對稱金鑰材料由外部匯入,稱為外部金鑰。
當您選擇對稱金鑰材料來源為外部,使用您自己匯入的對稱金鑰材料時,需要注意以下幾點:
請確保您使用了符合要求的隨機源產生對稱金鑰材料。
由於對稱金鑰材料將匯入到您的密碼機叢集中,且暫不支援調用DeleteKeyMaterial介面刪除對稱金鑰材料。因此您需要調用ScheduleKeyDeletion介面,等待您指定的計劃刪除時間後,密碼機叢集中的對稱金鑰材料隨著CMK一起被刪除。
每個CMK只能擁有一個對稱金鑰材料。一個對稱金鑰材料匯入CMK後,CMK將與該對稱金鑰材料綁定,後續將無法匯入其他對稱金鑰材料。
支援匯入128位、192位或256位對稱金鑰作為對稱金鑰材料。
步驟一:建立外部金鑰
在頁面左上方的地區下拉式清單,選擇專屬KMS標準版執行個體所在的地區。
在左側導覽列,單擊專屬KMS。
單擊目標專屬KMS標準版執行個體操作列的管理。
在使用者主要金鑰地區,單擊建立密鑰。
在建立密鑰對話方塊,選擇密鑰類型
支援的密鑰類型為Aliyun_AES_128、Aliyun_AES_192、Aliyun_AES_256。
設定別名和描述。
單擊進階選項,選擇密鑰材料來源為外部。
勾選 我瞭解使用外部金鑰材料的方法和意義,然後單擊確定。
步驟二:擷取匯入對稱金鑰材料參數
匯入對稱金鑰材料參數包括一個用於加密對稱金鑰材料的公開金鑰,以及一個匯入令牌。
在使用者主要金鑰地區,單擊目標密鑰ID,進入密鑰管理頁面。
在密鑰材料地區,單擊获取导入参数。
在擷取匯入密鑰材料參數對話方塊,選擇公鑰類型、密碼編譯演算法,然後單擊下一步。
說明當公鑰類型取值為RSA_2048時,您可以選擇密碼編譯演算法RSAES_PKCS1_V1_5(預設值)或RSAES_OAEP_SHA_256,本文以RSAES_PKCS1_V1_5為例為您介紹。
下載加密公開金鑰和匯入令牌,然後單擊關閉。
步驟三:加密對稱金鑰材料
以通過OPENSSL加密一個2048位元的RSA公開金鑰為例:使用的密碼編譯演算法需要與擷取匯入對稱金鑰材料參數時指定的一致。由於加密公開金鑰經過Base64編碼,因此在使用時需要先進行Base64解碼。
建立一個對稱金鑰材料,使用OPENSSL產生一個32位元組的隨機數進行示範。
根據指定的密碼編譯演算法(以RSAES_PKCS1_V1_5為例)加密對稱金鑰材料。
將加密後的對稱金鑰材料進行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小時,在有效期間內可以重複使用,失效以後需要擷取新的匯入令牌和加密公開金鑰。
在使用者主要金鑰地區,單擊目標密鑰ID,進入密鑰管理頁面。
在對稱金鑰材料地區,單擊导入密钥材料。
在匯入密鑰材料對話方塊,上傳加密金鑰材料和匯入令牌,並單擊確認。
加密金鑰材料:上傳步驟三:加密對稱金鑰材料產生的對稱金鑰材料文字檔。
匯入令牌:上傳步驟二:擷取匯入對稱金鑰材料參數擷取的匯入令牌文字檔。
執行結果
匯入對稱金鑰材料成功後,密鑰狀態從待匯入更新為啟用中。