密钥管理服务(KMS)与云硬盘、对象存储、弹性文件、关系型数据库MYSQL版等产品实现了服务端集成,在使用这些云服务时,可通过密钥管理服务实现对数据的加解密,并集中使用密钥管理服务(KMS)对密钥进行管理。
支持服务端加密的密钥类型
服务端加密支持选择默认密钥及用户自行创建的用户主密钥,具体可选择的密钥类型如下。
密钥创建者 密钥类型 密钥算法 服务版本 云产品 默认密钥 AES_256(默认) 按需版&包周期版 用户自行创建 用户主密钥-软件 AES_256 按需版 用户主密钥-硬件 AES_256
SM4
按需版
- 默认密钥
- 系统为云产品自动创建的用于服务端加密的默认密钥,默认密钥与云产品对应,每个天翼云账号下的每个云产品在每个资源支持创建1个默认密钥。
- 默认密钥的别名定义为alias_<云产品代码>,例如alias_ecs。
- 默认密钥的密钥材料由KMS生成,不支持导入外部密钥材料,同时不支持自动轮转、启用/禁用、计划删除、自定义别名等操作。
- 用户主密钥
- 云产品加密时,可选用户在KMS服务中自建的用户主密钥,密钥类型为对称密钥,算法支持AES_256、SM4,保护级别可选软件保护、硬件保护。
- 用户主密钥按照KMS服务标准资费进行计费,请您确保账户余额充足,避免因KMS服务冻结导致云产品无法正常调用KMS服务进行加解密操作,云产品可能会出现异常。
- 用户主密钥支持计划删除,操作计划删除前请确保该密钥非未被用于云产品加密,避免删除后导致云产品无法正常加解密而出现异常。为避免误删,您可以为密钥开启删除保护功能。
注意当前云产品加密仅支持选择按需版本中的自建用户主密钥,当前包周期版本中的用户主密钥暂不支持做云产品加密使用。若您为2024年9月10日之后购买了KMS包周期服务,您可选择使用默认密钥进行云产品加密。
云产品服务端加密的流程
通常情况下,云产品采用信封加密的机制实现对云产品数据的加密,即通过KMS生成数据密钥,并应用数据密钥在云产品服务端完成加解密操作,并将数据密钥密文及数据密文落盘存储,实现流程如下示意图。
- 用户在KMS中创建一个用户主密钥,或由云产品触发创建默认密钥。
- 云产品调用KMS的GenerateDataKey接口请求数据密钥。
- KMS返回数据密钥,包含数据密钥明文和数据密钥密文。其中数据密钥密文,是由指定的密钥加密数据密钥明文生成的。
- 云产品使用数据密钥明文加密数据明文,并将数据密钥密文(由KMS使用密钥加密)与数据密文(由云产品使用数据密钥加密)一同写入持久化存储介质中。