更新时间:2025-08-08 GMT+08:00
分享

密钥管理概述

密钥管理服务 KMS 提供密钥的全生命周期管理和数据加解密能力。

密钥管理服务中涉及的核心密钥组件包括用户主密钥CMK(Customer Master Key,CMK)、数据加密密钥 DEK(Data Encryption Key,DEK)。其中 CMK 属于用户的一级密钥,CMK 用于对敏感数据的加解密以及 DEK 的派生。DEK 是信封加密流程中的二级密钥,用于加密业务数据的密钥,受用户主密钥 CMK 的保护。

密钥管理类型

KMS提供默认密钥、自定义密钥和外部密钥三种密钥管理类型,以满足不同业务场景、安全与合规要求。具体内容如下表所示。

表1 密钥管理类型

密钥管理类型

应用场景

功能描述

算法类型

密钥规格

说明

默认密钥

被云服务集成用于服务端加密。

具体请参见使用KMS加密的云服务

仅支持数据加密解密。

AES

AES_256

默认密钥由KMS代您创建和托管,其别名后缀为“/default”。

自定义密钥

  • 被自建应用集成用于构建应用层密码技术方案。例如:创建AES/SM4算法的主密钥,用于自定义数据加密和解密方案;创建RSA/ECC/SM2算法的主密钥,用于数字签名计算和验证。
  • 被云服务集成用于服务端加密。

    具体请参见使用KMS加密的云服务

支持数据加密解密和数字签名。

AES

SM4

SHA

SM3

RSA

ECC

SM2

ML-DSA

说明:

ML-DSA算法需提交工单申请开通。

  • 对称密钥规格:AES_256、SM4
  • 摘要密钥:HMAC_256、HMAC_384、HMAC_512、HMAC_SM3
  • 非对称密钥:RSA_2048、RSA_3072、RSA_4096、EC_P256、EC_P384、SM2、ML-DSA-44、ML-DSA-65、ML-DSA-87

更多信息,请参见KMS支持的密钥算法类型和密钥规格

由您在KMS创建和管理生命周期,密钥材料由KMS生成。

外部密钥

  • 被自建应用集成用于构建应用层密码技术方案。例如:创建AES/SM4算法的主密钥,用于自定义数据加密和解密方案。
  • 被云服务集成用于服务端加密。

    具体请参见使用KMS加密的云服务

支持数据加密解密和数字签名。

AES

SM4

RSA

ECC

SM2

  • 对称密钥规格:AES_256、SM4
  • 非对称密钥:RSA_2048、RSA_3072、RSA_4096、EC_P256、EC_P384、SM2

更多信息,请参见KMS支持的密钥算法类型和密钥规格

由您在KMS创建和管理生命周期,密钥材料由您自主导入。

KMS支持的密钥算法类型和密钥规格

KMS创建的对称密钥使用的是AES、SM4加解密算法。KMS创建的非对称密钥支持RSA、ECC、SM2算法。

表2 KMS支持的密钥算法类型

密钥类型

算法类型

密钥规格

说明

适用场景

对称密钥

AES

AES_256

AES对称密钥

  • 数据的加解密
  • 加解密数据密钥
    说明:

    小量数据的加解密可通过控制台在线工具进行。

    大量数据的加解密需要调用API接口进行。

对称密钥

SM4

SM4

国密SM4对称密钥

  • 数据的加解密
  • 加解密数据密钥

摘要密钥

SHA

  • HMAC_256
  • HMAC_384
  • HMAC_512

摘要密钥

  • 数据防篡改
  • 数据完整性校验

摘要密钥

SM3

HMAC_SM3

国密SM3摘要密钥

  • 数据防篡改
  • 数据完整性校验

非对称密钥

RSA

  • RSA_2048
  • RSA_3072
  • RSA_4096

RSA非对称密钥

  • 数字签名和验签
  • 数据的加解密
    说明:

    非对称密钥适用于签名和验签场景,加密数据效率不高,加解密数据推荐使用对称密钥。

非对称密钥

ECC

  • EC_P256
  • EC_P384

椭圆曲线密码,使用NIST推荐的椭圆曲线

数字签名和验签

非对称密钥

ML-DSA

说明:

ML-DSA算法需提交工单申请开通。

  • ML-DSA-44
  • ML-DSA-65
  • ML-DSA-87

机器学习(ML)算法

抗量子数字签名和验签

非对称密钥

SM2

SM2

国密SM2非对称密钥

  • 数字签名和验签
  • 小量数据的加解密

通过外部导入的密钥支持的密钥包装加解密算法如表3所示。

表3 密钥包装算法说明

密钥包装算法

说明

设置

RSAES_OAEP_SHA_256

具有“SHA-256”哈希函数的OAEP的RSA加密算法。

请您根据自己的HSM功能选择加密算法。

如果您的HSM支持“RSAES_OAEP_SHA_256”加密算法,推荐使用“RSAES_OAEP_SHA_256”加密密钥材料。

须知:

“RSAES_OAEP_SHA_1”加密算法已经不再安全,请谨慎选择。

RSAES_OAEP_SHA_1

具有“SHA-1”哈希函数的OAEP的RSA加密算法。

SM2_ENCRYPT

国密推荐的SM2椭圆曲线公钥密码算法。

请在支持国密的局点使用SM2加密算法。

KMS创建的密钥材料和导入的密钥材料的区别

密钥包含密钥元数据(密钥ID、密钥名称、描述、密钥状态与创建日期)和用于加解密数据的密钥材料
  • 当用户使用KMS管理控制台创建自定义密钥时,KMS系统会自动为该自定义密钥生成密钥材料。
  • 当用户希望使用自己的密钥材料时,可通过KMS管理控制台,创建密钥材料来源为外部的自定义密钥,并将自己的密钥材料导入该自定义密钥中。
表4 导入的密钥材料与通过KMS创建密钥时自动生成的密钥材料的区别

密钥材料来源

区别

KMS创建的密钥材料

  • 不能手动删除密钥材料。
  • 仅对称密钥支持密钥轮换功能。
  • 不能设置密钥材料的失效时间。

导入的密钥材料

  • 可以手动删除密钥材料,但不能删除该自定义密钥及其元数据。
  • 不支持密钥轮换功能。
  • 在导入密钥材料时,可以设置密钥材料失效时间,密钥材料失效后,KMS将在24小时以内自动删除密钥材料,但不会删除该自定义密钥及其元数据。

    建议用户在本地密钥管理基础设施中安全地备份一份密钥材料,以便密钥材料失效或误删除时重新导入该密钥材料。

    说明:

    RSA_2048、RSA_3072、RSA_4096、EC_P256、EC_P384、SM2算法密钥不能手动删除密钥材料,不能设置密钥材料的失效时间,只能永久有效。

专属密钥库

KMS通过专属密钥库支持HYOK功能,帮助用户完全自主可控名下的用户主密钥,用户主密钥不脱离加密机,并且密码运算完全在加密机中完成。与默认密钥库不同,用户可以通过专属加密集群随时对密钥进行全生命周期管理。

专属加密实例基础版、铂金版(国内)均支持HYOK功能。

HYOK(Hold Your Own Key)是指用户可以完全控制其密钥,密钥始终归用户所有。

专属密钥库操作可参见激活集群以及创建密钥库。专属密钥库支持的算法类型如表 专属密钥库的密钥算法类型所示。

表5 专属密钥库的密钥算法类型

密钥类型

算法类型

密钥规格

说明

适用场景

对称密钥

AES

AES_256

AES对称密钥

  • 数据的加解密
  • 加解密数据密钥
    说明:

    小量数据的加解密可通过控制台在线工具进行。

    大量数据的加解密需要调用API接口进行。

对称密钥

SM4

SM4

国密SM4对称密钥

  • 数据的加解密
  • 加解密数据密钥

非对称密钥

RSA

  • RSA_2048
  • RSA_3072
  • RSA_4096

RSA非对称密钥

  • 数字签名和验签
  • 数据的加解密
    说明:

    非对称密钥适用于签名和验签场景,加密数据效率不高,加解密数据推荐使用对称密钥。

ECC

  • EC_P256
  • EC_P384

椭圆曲线密码,使用NIST推荐的椭圆曲线

数字签名和验签

非对称密钥

SM2

SM2

国密SM2非对称密钥

  • 数字签名和验签
  • 小量数据的加解密

密钥区域性原理介绍

KMS通过密钥区域性,实现密钥跨区域使用。每组用户主密钥与副本密钥具有相同的密钥材料,因此可以实现单区域的加密数据在不同区域进行解密,解决因跨区导致的无法解密。

您可以独立管理多个区域的密钥,副本密钥同样支持创建密钥别名、启用、禁用、标签、授权、在线加解密。副本密钥的轮换无法自主设置,需按照主密钥的轮换设置进行同步轮换。

创建副本密钥的具体操作请参见为自定义密钥创建副本密钥

密钥区域性原理如图 密钥区域性所示。

图1 密钥区域性
表6 密钥区域性使用场景

使用场景

说明

灾备场景

如果密钥所在区域出现欠费资源冻结或异常无法处理数据解密,替换使用另一区域中的副本密钥进行正常数据处理,保证业务不中断。

跨区域签名验签

如果由于业务需要,客户业务处于不同区域,可通过不同区域密钥实现签名验签解密,提升业务对接高效性。

相关文档