首页/安全/等保与合规速查/密钥保护:信封加密与 KMS 实践
密码与认证合规50 条

密钥保护:信封加密与 KMS 实践

用主密钥保护数据密钥、再用数据密钥保护业务数据(信封加密),可以让海量数据加密具备可运维性;主密钥应存放于 KMS 或密码机。

等保与合规速查安全更新于 2026-10-13

密钥保护怎么做

密钥保护的工程解法是信封加密:为每条数据生成独立的数据密钥,用主密钥加密数据密钥,主密钥存放在密钥管理系统或密码机中。这样加解密都经过受控接口,轮换时只需重新加密数据密钥,不必触碰海量业务数据。

基本信息

核心思路主密钥保护数据密钥,数据密钥保护业务数据
主密钥存放密钥管理系统(KMS)或密码机等受控密码模块
密钥分层主密钥(KEK)与数据密钥(DEK)分层管理
轮换方式轮换主密钥时只重加密数据密钥
访问控制调用接口需鉴权、限流、审计与告警
记录要求密钥生成、分发、轮换、销毁全过程留痕

典型使用场景

  • 数据库敏感字段加密,用独立数据密钥隔离不同租户数据
  • 对象存储文件加密,密钥由 KMS 统一托管并按策略轮换
  • 备份与归档数据加密,密钥与副本分开保管避免一并泄露
  • 密钥轮换演练,验证在不停机的前提下完成主密钥切换
  • 审计要求下提供密钥操作日志与授权记录

信封加密流程

信封加密流程
1 每条数据生成独立 DEK(数据密钥)
2 用 KEK(主密钥,存放 KMS/密码机)加密 DEK,得到密文 DEK
3 数据用 DEK 加密,密文与密文 DEK 一起存储
4 解密时先调 KMS 解出 DEK,再解数据
5 轮换时只重加密 DEK,不触碰业务数据

常见问题与做法

问题风险做法
密钥明文写进配置代码库或镜像泄露即等同未加密改由 KMS 或密码机托管,应用只拿句柄
全系统复用同一密钥一处泄露影响全部数据按数据域或租户分密钥
密钥长期不轮换泄露窗口无限延长制定轮换周期与演练计划
解密接口无审计批量导出难以发现限流、告警并记录调用方
密钥与密文分离存放;KMS 调用应审计、限流并配置告警,防止被用于批量解密。
备份加密密钥要单独保护:密钥与备份放在同一份介质里,介质丢失即等于数据明文泄露。

易错点

  • 把数据密钥与密文放同库同表:等效于未加密,拖库即可解密
  • 应用持有主密钥:主密钥应托管在受控密码模块中,代码侧只应获得受控调用能力
  • 密钥无轮换计划:一次泄露的暴露窗口被无限延长,事后无法界定影响范围
  • 解密权限与查询权限不分离:能查数据的人也能解密,权限设计失去意义

数据来源与参考

  • GB/T 39786-2021
  • GB/T 37092-2018
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌