密钥轮换是什么
密钥轮换是让同一用途的密钥材料按周期或按事件更换的过程。轮换不等于删除:旧密钥在过渡期内仍需保留,用于解密历史数据或校验旧签名。一个可执行的轮换策略由三部分组成——触发条件、新旧并存的兼容窗口、以及失败时的回滚方案。
基本信息
| 适用范围 | 对称密钥、非对称密钥对、证书私钥、KMS 主密钥 |
|---|---|
| 触发条件 | 周期到期、人员变动、疑似泄露、算法迁移 |
| 关键约束 | 新旧并存,历史数据与旧签名必须仍可处理 |
| 常见误区 | 把轮换理解为直接覆盖旧的密钥文件 |
典型使用场景
- 证书到期前更换私钥并重签证书,随后替换服务端配置
- 人员离职或权限调整后,更换其接触过的密钥
- 疑似或已确认泄露时的应急轮换
- 算法迁移:从 SHA-1、RSA-1024 等旧算法迁到新算法
- 数据加密密钥定期更换,缩小单密钥被破解后的暴露数据量
轮换动作示例
轮换动作示例
openssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:P-256 -out new-site.key # 生成新私钥
openssl pkey -in new-site.key -noout -check # 校验私钥可解析
openssl req -new -key new-site.key -out new-site.csr # 生成新 CSR 提交签发
sha256sum old-site.key new-site.key # 留档指纹便于审计
# 部署顺序:先加新证书验证握手,确认无误后再清理旧材料轮换对象对照
| 对象 | 典型触发 | 要点 |
|---|---|---|
| TLS 证书私钥 | 证书到期或算法升级 | 需重签证书并同步替换链文件 |
| 数据加密密钥 | 固定周期 | 新旧版本并存,历史数据按版本解密 |
| API 签名密钥 | 周期或泄露 | 双方需同时切换,预留双密钥生效期 |
| SSH 主机密钥 | 重装或疑似泄露 | 客户端 known_hosts 需同步更新 |
轮换最大的风险不是生成新密钥,而是依赖方没有同步:证书固定、白名单、对端系统里保存的公钥都要一起更新,否则切换瞬间业务中断。
KMS 提供的自动轮换通常只更换底层主密钥版本,已用旧版本加密的数据仍能解密;使用信封加密时要确认数据密钥与主密钥的版本对应关系。