對稱式加密是最常用的資料加密保護方式。KMS提供了簡單易用的介面,方便您在雲上輕鬆實現資料加解密功能。
如果您不指定具體的密鑰規格(KeySpec),KMS預設建立對稱金鑰。阿里雲支援主流的對稱金鑰演算法並且提供足夠的安全強度,保證資料加密的安全性。
對稱金鑰的類型
演算法 | 密鑰長度 | 密鑰規格 | 資料加密模式 | 保護層級 |
AES | 256位元 | Aliyun_AES_256 | GCM |
|
SM4 說明 | 128位元 | Aliyun_SM4 | GCM | HSM |
加解密特性
調用Encrypt、ReEncrypt、GenerateDataKey或GenerateDataKeyWithoutPlaintext介面加密時,您只需指定使用者主要金鑰的標識符(或別名),KMS使用指定的使用者主要金鑰完成加密後,返回密文資料。調用Decrypt介面進行解密時,您只需要傳入密文資料,而不需要再次指定主要金鑰的標識符。
使用額外認證資料
KMS的對稱金鑰使用了分組密碼演算法的GCM模式,支援您傳入額外的認證資料(Additional Authenticated Data,簡稱AAD),為需要加密的資料提供額外的完整性保護。KMS對額外認證資料的傳入進行了封裝,協助您更方便的自訂認證資料,詳情請參見EncryptionContext說明。
信封加密
KMS通過GenerateDataKey和GenerateDataKeyWithoutPlaintext介面,一次性產生兩級密鑰結構,支援更快速的實現信封加密。詳情請參見使用KMS信封加密在本地加密和解密資料。
輪轉對稱式加密密鑰
KMS產生的對稱主要金鑰支援多個密鑰版本,同時支援使用者主要金鑰基於密鑰版本進行自動輪轉,您可以自訂密鑰輪轉的策略。
在CMK包含多個版本時,KMS的加密動作(例如:Encrypt、GenerateDataKey和GenerateDataKeyWithoutPlaintext)使用指定使用者主要金鑰的最新密鑰版本對資料進行加密。解密時,您不需要傳入使用者主要金鑰標識符和版本標識符,KMS會自動探索傳入密文資料使用的使用者主要金鑰以及對應的加密金鑰版本,使用相應版本的密鑰材料對資料進行解密。
密鑰的自動輪轉通過產生新的密鑰版本來實現。輪轉後,調用KMS介面產生的密文資料自動使用最新版本,而輪轉之前產生的密文資料仍然可以使用舊的密鑰版本解密。詳情請參見自動輪轉密鑰。
使用內建密鑰
為了滿足更高的安全合規要求,KMS支援您使用內建密鑰(BYOK)進行雲上資料的加密保護。對於內建密鑰的情形,我們推薦您使用託管密碼機對密鑰進行保護,將您的密鑰匯入到保護層級為HSM的使用者主要金鑰中。匯入到託管密碼機中的密鑰只能被銷毀,其明文無法被匯出。詳情請參見匯入密鑰材料。