全部產品
Search
文件中心

Key Management Service:密鑰服務概述

更新時間:Sep 25, 2024

密鑰服務是KMS的核心組件,支援管理軟體密鑰、硬體密鑰、預設密鑰,提供密鑰的全生命週期管理和安全儲存能力,同時支援雲端式原生介面的極簡資料加密和數位簽章。本文介紹KMS提供的密鑰管理類型及密碼運算API。

密鑰管理類型

KMS提供預設密鑰、軟體密鑰和硬體密鑰、外部金鑰四種密鑰管理類型,以滿足不同業務情境、安全與合規要求。具體內容如下表所示。

使用預設密鑰無需購買KMS執行個體,使用軟體密鑰、硬體密鑰、外部金鑰,需要購買KMS執行個體。關於執行個體功能間的區別,請參見產品選型

密鑰管理類型

應用情境

功能描述

演算法類型

密鑰規格

說明

預設密鑰

被雲產品整合用於服務端加密。更多資訊,請參見雲產品整合KMS加密概述

僅支援資料加密解密。

AES

Aliyun_AES_256

預設密鑰包含:

  • 服務密鑰:由雲產品代您建立和託管。

  • 主要金鑰:每個地區可建立一個,由您自主管理生命週期,密鑰材料可由KMS產生也可以由您自主匯入。

軟體密鑰

  • 被自建應用整合用於構建應用程式層密碼技術方案。

    例如:建立AES演算法的主要金鑰,用於自訂資料加密和解密方案;建立RSA演算法的主要金鑰,用於數位簽章計算和驗證。

  • 被雲產品整合用於服務端加密。更多資訊,請參見雲產品整合KMS加密概述

支援資料加密解密和數位簽章。

AES、RSA、ECC

  • 對稱金鑰規格:Aliyun_AES_256

  • 非對稱金鑰規格:RSA_2048、RSA_3072、EC_P256、EC_P256K

更多資訊,請參見密鑰管理類型和密鑰規格

由您在KMS建立和管理生命週期,密鑰材料由KMS產生。

說明

暫不支援您自主匯入密鑰材料。

硬體密鑰

  • 被自建應用整合用於構建應用程式層密碼技術方案。

    例如:建立AES演算法的主要金鑰,用於自訂資料加密和解密方案;建立RSA/ECC演算法的主要金鑰,用於數位簽章計算和驗證。

  • 被雲產品整合用於服務端加密。更多資訊,請參見雲產品整合KMS加密概述

支援資料加密解密和數位簽章。

AES、RSA、ECC

  • 對稱金鑰規格:Aliyun_AES_256、Aliyun_AES_192、Aliyun_AES_128、

  • 非對稱金鑰規格:RSA_2048、RSA_3072、RSA_4096、EC_P256、EC_P256K、

更多資訊,請參見密鑰管理類型和密鑰規格

由您在KMS建立和管理生命週期,密鑰材料可由KMS產生,也可以由您自主匯入。

重要

使用硬體密鑰管理功能前,您需要購買Data Encryption Service提供的密碼機執行個體並完成密碼機叢集的相關配置。密碼機執行個體可滿足FIPS 140-2 第三級的合規性。

外部金鑰

  • 被自建應用整合用於構建應用程式層密碼技術方案。

    例如:建立AES演算法的主要金鑰,用於自訂資料加密和解密方案。

  • 被雲產品整合用於服務端加密。更多資訊,請參見雲產品整合KMS加密概述

支援資料加密解密。

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

描述

AdvanceEncrypt

用於將明文資料通過KMS祕密金鑰加密為密文。

重要
  • 如果密鑰開啟了自動輪轉,請您使用AdvanceEncrypt、AdvanceDecrypt和AdvanceGenerateDataKey介面,以避免輪轉功能不生效。關於密鑰輪轉的相關內容,請參見密鑰輪轉

  • 您需要儲存密文(CiphertextBlob)和認證資料(Aad),然後使用AdvanceDecrypt解密。

AdvanceDecrypt

將使用KMS祕密金鑰加密的密文解密為明文。

AdvanceGenerateDataKey

用於產生資料密鑰,對資料按照KMS信封加密方式加密。

重要

您需要儲存密文(CiphertextBlob)和認證資料(Aad),然後使用AdvanceDecrypt解密。

Encrypt

用於將明文資料通過KMS祕密金鑰加密為密文。

重要

您需要儲存體金鑰的通用唯一識別碼(KeyId)、密文(CiphertextBlob)、密碼編譯演算法(Algorithm)、初始向量(Iv)、填充模式(PaddingMode)和認證資料(Aad),然後使用Decrypt或AdvanceDecrypt解密。

Decrypt

將使用KMS祕密金鑰加密的密文解密為明文。

GenerateDataKey

用於產生資料密鑰,對資料按照KMS信封加密方式加密。

Sign

使用非對稱金鑰進行簽名。

重要

您可以通過Verify介面驗證簽名,也可擷取公開金鑰(GetPublicKey)到本地自行驗證簽名。

Verify

使用非對稱金鑰進行驗簽。

GetPublicKey

擷取指定非對稱金鑰的公開金鑰。