密鑰服務是KMS的核心組件,提供密鑰的全託管和保護能力,支援雲端式原生介面的極簡資料加密和數位簽章。
託管和保護密鑰
功能 | 說明 | 參考文檔 |
託管和管理密鑰 | 您在KMS託管的密鑰叫做使用者主要金鑰CMK(Customer Master Key)。您可以對CMK進行生命週期管理。 | |
您可以對密鑰進行輪轉。 | ||
您可以設定密鑰別名更方便的使用密鑰,並通過API介面對密鑰進行其他管理操作。 | ||
保護密鑰、滿足合規要求 | 密鑰的使用通常伴隨著安全與合規的要求。建議您指定使用者主要金鑰的保護層級為HSM,使密鑰獲得高安全等級的專用硬體保護,並且提供滿足GM/T或者FIPS 140-2第三級的合規性。保護層級為HSM的主要金鑰,其密鑰材料的明文只會存在於密碼機的內部,任何人均無法接觸到密鑰材料的明文。這類密鑰無法被明文匯出密碼機。 | |
使用內建密鑰(BYOK) | 您可以內建密鑰(bring your own key)到KMS中,將您線上下、其他雲或者阿里雲Data Encryption Service中管理的密鑰租借給KMS使用,滿足一些特定的安全需求。 |
資料加密
KMS提供了雲原生的密碼運算API,相比於傳統密碼模組或密碼軟體庫的API更簡單易用。同時,KMS提供了多種SDK以加速開發過程。關於如何使用SDK進行代碼開發,請參見概述。
功能 | 說明 | 參考文檔 |
一鍵加密雲產品 | KMS和阿里雲服務廣泛整合,支援原生的雲產品加密,只需要在雲產品中簡單配置,即可自動完成資料的加密保護。 | |
通過代碼快速加密雲產品 | KMS SDK KMS SDK是對KMS API的直接封裝。您可以查看資料代碼開發樣本,快速學習如何使用代碼調用KMS的Encrypt介面,完成資料的直接加密。 | 資料加密代碼開發樣本 |
加密SDK(Encryption SDK) 加密SDK是結合KMS API的用戶端加密庫。您可以查看加密SDK快速入門,快速學習如何使用代碼調用加密SDK,完成對資料的信封加密。 |
KMS支援的演算法規格說明
KMS對密碼編譯演算法的支援情況請參見如下表格。
密碼演算法大類 | 密碼演算法子類 | 是否支援加密、解密 | 是否支援簽名、驗簽 |
對稱金鑰 | AES | 支援 | 不支援 |
對稱金鑰 | SM4 說明 | 支援 | 不支援 |
非對稱金鑰 | RSA | 支援 | 支援 |
非對稱金鑰 | ECC | 不支援 | 支援 |
非對稱金鑰 | SM2 說明 | 支援 | 支援 |
說明 僅中國內地的託管密碼機支援SM4 、SM2密鑰。更多資訊,請參見支援的地區。
對稱金鑰主要用於資料的加密保護情境。如果您不指定具體的密鑰規格(KeySpec),KMS預設建立對稱金鑰。更多資訊,請參見對稱式加密概述。
非對稱金鑰可用於資料加密和數位簽章。您在KMS建立的非對稱使用者主要金鑰(CMK),由一對關聯的公開金鑰和私密金鑰構成。公開金鑰可以被分發給任何人,而私密金鑰由KMS確保安全性,不提供任何介面匯出非對稱金鑰的私密金鑰。使用者僅能通過介面調用私密金鑰進行簽名運算或者資料解密。更多資訊,請參見非對稱金鑰概述。