密钥管理概述
密钥管理服务 KMS 提供密钥的全生命周期管理和数据加解密能力。
密钥管理服务中涉及的核心密钥组件包括用户主密钥CMK(Customer Master Key,CMK)、数据加密密钥 DEK(Data Encryption Key,DEK)。其中 CMK 属于用户的一级密钥,CMK 用于对敏感数据的加解密以及 DEK 的派生。DEK 是信封加密流程中的二级密钥,用于加密业务数据的密钥,受用户主密钥 CMK 的保护。
密钥的核心用途
在KMS创建的密钥可用于云产品服务端加密和应用自集成KMS加密。
- 云产品服务端加密:将KMS密钥与OBS、EVS、RDS等云产品集成,实现静态数据的透明加密,保护云上的数据资产。更多信息参见与华为云服务云服务配合使用。
- 应用自集成KMS加密:通过调用KMS OpenAPI/SDK,在应用程序中实现数据的加解密、数字签名、验签等密码学功能。更多信息参见与用户的应用程序配合使用。
密钥管理类型
KMS提供默认密钥、自定义密钥和外部密钥三种密钥管理类型,以满足不同业务场景、安全与合规要求。具体内容如下表所示。

密钥管理类型 | 应用场景 | 功能描述 | 算法类型 | 密钥规格 | 说明 |
|---|---|---|---|---|---|
被云服务集成用于服务端加密。 具体请参见使用KMS加密的云服务。 | 仅支持数据加密解密。 | 对称密钥:AES | AES_256(AES-256-GCM认证加密模式) | 默认密钥由KMS代您创建和托管,其别名后缀为“/default”。 | |
| 支持数据加密解密和数字签名。 |
说明: ML-DSA算法需提交工单申请开通。 |
更多信息,请参见KMS支持的密钥算法类型和密钥规格。 | 由您在KMS创建和管理生命周期,密钥材料由KMS生成。 | |
| 支持数据加密解密和数字签名。 |
|
更多信息,请参见KMS支持的密钥算法类型和密钥规格。 | 由您在KMS创建和管理生命周期,密钥材料由您自主导入。 |
KMS支持的密钥算法类型和密钥规格
KMS创建的对称密钥使用的是AES、SM4加解密算法。KMS创建的非对称密钥支持RSA、ECC、SM2算法。
密钥类型 | 算法类型 | 密钥规格 | 说明 | 适用场景 |
|---|---|---|---|---|
对称密钥 | AES | AES_256(AES-256-GCM认证加密模式) | AES对称密钥 |
|
对称密钥 | SM4 | SM4 | 国密SM4对称密钥 |
|
摘要密钥 | SHA |
| 摘要密钥 |
|
摘要密钥 | SM3 | HMAC_SM3 | 国密SM3摘要密钥 |
|
非对称密钥 | RSA |
| RSA非对称密钥 |
|
非对称密钥 | ECC |
| 椭圆曲线密码,使用NIST推荐的椭圆曲线 | 数字签名和验签 |
非对称密钥 | ML-DSA 说明: ML-DSA算法需提交工单申请开通。 |
| 模格数字签名算法 | 抗量子数字签名和验签 |
非对称密钥 | SM2 | SM2 | 国密SM2非对称密钥 |
|
非对称密钥 | SECP256K1 | SECP256K1 | 椭圆曲线加密算法 | 数字签名和验签 |
通过外部导入的密钥支持的密钥包装加解密算法如表3所示。
KMS创建的密钥材料和导入的密钥材料的区别
- 当用户使用KMS管理控制台创建自定义密钥时,KMS系统会自动为该自定义密钥生成密钥材料。
- 当用户希望使用自己的密钥材料时,可通过KMS管理控制台,创建密钥材料来源为外部的自定义密钥,并将自己的密钥材料导入该自定义密钥中。
密钥材料来源 | 区别 |
|---|---|
KMS创建的密钥材料 |
|
导入的密钥材料 |
专属密钥库
KMS通过专属密钥库支持HYOK功能,帮助用户完全自主可控名下的用户主密钥,用户主密钥不脱离加密机,并且密码运算完全在加密机中完成。与默认密钥库不同,用户可以通过专属加密集群随时对密钥进行全生命周期管理。
专属加密实例基础版、铂金版(国内)均支持HYOK功能。

HYOK(Hold Your Own Key)是指用户可以完全控制其密钥,密钥始终归用户所有。
专属密钥库操作可参见激活集群以及创建密钥库。专属密钥库支持的算法类型如表 专属密钥库的密钥算法类型所示。
密钥类型 | 算法类型 | 密钥规格 | 说明 | 适用场景 |
|---|---|---|---|---|
对称密钥 | AES | AES_256 | AES对称密钥 |
|
对称密钥 | SM4 | SM4 | 国密SM4对称密钥 |
|
非对称密钥 | RSA |
| RSA非对称密钥 |
|
ECC |
| 椭圆曲线密码,使用NIST推荐的椭圆曲线 | 数字签名和验签 | |
非对称密钥 | SM2 | SM2 | 国密SM2非对称密钥 |
|
密钥区域性原理介绍
KMS通过密钥区域性,实现密钥跨区域使用。每组用户主密钥与副本密钥具有相同的密钥材料,因此可以实现单区域的加密数据在不同区域进行解密,解决因跨区导致的无法解密。
您可以独立管理多个区域的密钥,副本密钥同样支持创建密钥别名、启用、禁用、标签、授权、在线加解密。副本密钥的轮换无法自主设置,需按照主密钥的轮换设置进行同步轮换。
创建副本密钥的具体操作请参见为自定义密钥创建副本密钥。
密钥区域性原理如图 密钥区域性所示。
使用场景 | 说明 |
|---|---|
灾备场景 | 如果密钥所在区域出现欠费资源冻结或异常无法处理数据解密,替换使用另一区域中的副本密钥进行正常数据处理,保证业务不中断。 |
跨区域签名验签 | 如果由于业务需要,客户业务处于不同区域,可通过不同区域密钥实现签名验签解密,提升业务对接高效性。 |
附录:密钥的组成部分
一个完整的密钥由密钥标识符、元数据和密钥材料三部分组成。
- 密钥标识:用于在控制台、API或策略中唯一识别和引用一个密钥。KMS支持三种标识符:
- 密钥ID:36字节,满足正则匹配“^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$”。示例:0d0466b0-e727-4d9c-b35d-f84bb474a37f
- 别名:别名是为用户为密钥设置的简称,是密钥的一种标识。以“alias/”开头。示例:alias/4555。
- URN:每个别名都会自动匹配一个URN,具有唯一性。示例:kms:eu-de-ring0:3ba44455500dd43127:alias:4555。
- 元数据:描述密钥属性的信息,例如密钥ID、创建日期、密钥状态(如启用、禁用)、密钥用途(加密/解密或签名/验签)等。
- 密钥材料:执行加密、解密、签名等密码学运算的二进制数据。KMS支持两种材料来源:
- 华为云KMS:密钥材料将由KMS生成。
- 外部(导入密钥材料):在本地生成密钥材料后,再导入KMS。


