密鑰服務是KMS的核心組件,支援管理軟體密鑰、硬體密鑰、預設密鑰,提供密鑰的全生命週期管理和安全儲存能力,同時支援雲端式原生介面的極簡資料加密和數位簽章。本文介紹KMS提供的密鑰管理類型及密碼運算API。
密鑰管理類型
KMS提供預設密鑰、軟體密鑰和硬體密鑰、外部金鑰四種密鑰管理類型,以滿足不同業務情境、安全與合規要求。具體內容如下表所示。
使用預設密鑰無需購買KMS執行個體,使用軟體密鑰、硬體密鑰、外部金鑰,需要購買KMS執行個體。關於執行個體功能間的區別,請參見產品選型。
密鑰管理類型 | 應用情境 | 功能描述 | 演算法類型 | 密鑰規格 | 說明 |
預設密鑰 | 被雲產品整合用於服務端加密。更多資訊,請參見雲產品整合KMS加密概述。 | 僅支援資料加密解密。 | AES | Aliyun_AES_256 | 預設密鑰包含:
|
軟體密鑰 |
| 支援資料加密解密和數位簽章。 | AES、RSA、ECC |
更多資訊,請參見密鑰管理類型和密鑰規格。 | 由您在KMS建立和管理生命週期,密鑰材料由KMS產生。 說明 暫不支援您自主匯入密鑰材料。 |
硬體密鑰 |
| 支援資料加密解密和數位簽章。 | AES、RSA、ECC |
更多資訊,請參見密鑰管理類型和密鑰規格。 | 由您在KMS建立和管理生命週期,密鑰材料可由KMS產生,也可以由您自主匯入。 重要 使用硬體密鑰管理功能前,您需要購買Data Encryption Service提供的密碼機執行個體並完成密碼機叢集的相關配置。密碼機執行個體可滿足FIPS 140-2 第三級的合規性。 |
外部金鑰 |
| 支援資料加密解密。 | AES | Aliyun_AES_256 | 密鑰由您在XKI管理服務中建立,然後匯入到KMS中。在XKI中建立的密鑰由您自行管理生命週期。 |
密碼運算API
KMS提供了雲原生的密碼運算API,與傳統密碼機或密碼軟體庫的API相比更簡單易用。同時,KMS提供了多種SDK以加速開發過程。關於應用程式如何整合主要金鑰進行資料加密、解密等密碼方案,請參見SDK參考。
使用KMS提供的密鑰介面前,請關注以下資訊:
AdvanceEncrypt、AdvanceDecrypt、AdvanceGenerateDataKey和GenerateDataKey:KMS密鑰應為對稱金鑰。
Encrypt和Decrypt:KMS密鑰可以為對稱金鑰,也可以為非對稱金鑰。
Sign、Verify和GetPublicKey:KMS密鑰應為非對稱金鑰。
API | 描述 |
用於將明文資料通過KMS祕密金鑰加密為密文。 重要
| |
將使用KMS祕密金鑰加密的密文解密為明文。 | |
用於產生資料密鑰,對資料按照KMS信封加密方式加密。 重要 您需要儲存密文(CiphertextBlob)和認證資料(Aad),然後使用AdvanceDecrypt解密。 | |
用於將明文資料通過KMS祕密金鑰加密為密文。 重要 您需要儲存體金鑰的通用唯一識別碼(KeyId)、密文(CiphertextBlob)、密碼編譯演算法(Algorithm)、初始向量(Iv)、填充模式(PaddingMode)和認證資料(Aad),然後使用Decrypt或AdvanceDecrypt解密。 | |
將使用KMS祕密金鑰加密的密文解密為明文。 | |
用於產生資料密鑰,對資料按照KMS信封加密方式加密。 | |
使用非對稱金鑰進行簽名。 重要 您可以通過Verify介面驗證簽名,也可擷取公開金鑰(GetPublicKey)到本地自行驗證簽名。 | |
使用非對稱金鑰進行驗簽。 | |
擷取指定非對稱金鑰的公開金鑰。 |