← 中文资源

简体中文版本

加密密钥轮换工作流

生成新密钥版本、让新写入使用它、分批重包裹或重加密旧数据,仅在无数据依赖时退役旧密钥。

阅读英文原文

概述

密钥轮换若要求一次性重加密全部数据,成本和风险都难以承受;若过早退役旧密钥,又会出现解密失败。以版本化密钥配合信封加密,新写入用新版本、旧数据逐步重包裹,待用量归零后再退役,可让轮换既安全又渐进。

关键步骤

  1. 创建新密钥版本并保留旧版本用于解密。
  2. 让新写入使用新版本。
  3. 逐步重包裹或惰性重加密既有数据。
  4. 用量遥测显示为零后再退役旧版本。

验证

  • 轮换期间解密失败为零。
  • 新数据使用新密钥版本。
  • 旧数据完成迁移或重包裹。
  • 退役版本无残留使用。

决策点

信封加密场景应重包裹数据密钥而非重加密明文,仅当数据密钥本身泄露才重加密;旧密钥宜在用量归零后退役。

适用范围

本条目围绕「加密密钥轮换工作流」给出可复制的步骤、验证方式与常见问题,适合需要按此流程落地的工程团队。执行时请结合自身上下文调整命令与阈值,并在变更前后留存证据,便于后续复核与回滚。

建议在正式环境落地前先在预发或隔离环境演练一遍,把关键观测指标与负责人一并记录,确保出现异常时能快速定位并恢复。

aws kms create-key --description "app data key v2"
# decrypt with old, encrypt with new
aws kms re-encrypt --ciphertext-blob fileb://wrapped.old \
  --destination-key-id alias/app-v2 --output wrapped.new