密钥托管
密钥托管是 KMS 的核心功能,提供密钥的全托管和保护能力,支持基于云原生接口的极简数据加密。
密钥种类
使用 CreateKey 接口创建托管用户主密钥时,用户可以配置密钥的种类,密钥种类基于如下维度划分: 密钥种类可以分为:
对称加密
非对称加密
加密上下文
加密上下文(EncryptionContext),作为额外的认证数据(Additional Authenticated Data,简称AAD),在 KMS 的对称密钥使用了分组密码算法的GCM模式时,作为可选参数传入。EncryptionContext 在加密时提供额外的完整性保护。
EncryptionContext 是一个JSON字符串,并且只能是Map<String, String>的形式。
有效的EncryptionContext示例:
{"name":"bob","path":"/path/to/plaintext.txt"}
接口:
支持加密上下文。
密钥状态
用户主密钥有5种状态:
密钥状态影响到API的调用和计量计费问题。
注:密钥环的相关操作不受密钥状态的影响
密钥归档
密钥归档指的是对用户主密钥的存档过程,在密钥存档后,该密钥只支持进行解密功能,而不支持加密功能。当用户主密钥处于归档状态时,该密钥的存储和 API 调用仍需计费。
用户可以在控制台或调用 KMS API 对已创建的用户主密钥进行启用/取消密钥归档设置。
密钥保护等级
出于用户对安全合规和使用成本的考虑,KMS 提供两种类型的密钥保护等级:
SOFTWARE
SOFTWARE 保护级别的密钥,适用于对安全合规要求较低且预算有限的用户。具有速度快,价格低廉的特性。使用软件保护级别的用户主密钥,密码学运算都在通用的计算芯片中运行。
HSM
HSM 保护级别的密钥使用符合国家密码局标准的加密设备对密钥进行存储和密码学相关运算,具有如下特性:
- 明文密钥材料只会在密码机的内部被处理,用于密码运算,而不会离开密码机硬件的安全边界(注:密文密钥材料会出密码机进行存储,以提高可用性)
- 密钥材料的产生基于高系统熵值为种子的随机数生成算法,保护密钥不被攻击者恢复或者预判。
- 硬件加密机完全托管,用户无需关注加密机的采购、部署、运维等流程,极大节省成本。
- 密文密钥存储3副本冗余,最大程度保证用户密钥存储的高可用。
密钥来源
用户创建托管用户主密钥时可指定密钥来源:
- 火山引擎KMS(默认):指用户主密钥的密钥材料由火山引擎KMS派生
- 外部:指用户主密钥的密钥材料由用户通过BYOK(Bring Your Own Key)能力安全的导入到火山引擎KMS
最近更新时间:2025.12.23 19:39:33