密钥轮替

本页介绍 Cloud Key Management Service 中的密钥轮替。密钥轮替是指创建新的加密密钥来替换现有密钥的过程。通过定期或在特定事件发生后轮替加密密钥,您可以降低密钥遭到破解的潜在后果。如需了解轮替密钥的具体说明,请参阅轮替密钥

为什么轮替密钥?

对于对称加密,定期自动轮替密钥的是推荐的安全做法。某些业界标准(例如支付卡行业数据安全标准 (PCI DSS))要求定期轮替密钥。

Cloud Key Management Service 支持自动轮替非对称密钥。请参阅本文档中的非对称密钥注意事项

轮替密钥具有以下几项优势:

  • 限制使用同一密钥版本加密的消息数量有助于防止通过密码分析启用的攻击。建议的密钥生命周期取决于密钥的算法,以及生成的消息数量或使用同一密钥版本加密的总字节数。例如,伽罗瓦/计数器模式 (GCM) 中的对称密钥的推荐密钥生命周期基于加密消息的数量,如 https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf 中所述。

  • 如果密钥被破解,则定期轮替会限制容易被破解的实际消息数量。

    如果您怀疑某个密钥版本被破解,请尽快停用该版本撤消对其的访问权限

  • 定期的密钥轮替可确保您的系统能够灵活地进行手动轮替,无论是因为安全漏洞还是需要将应用迁移到更强大的加密算法。在实际安全突发事件发生前验证密钥轮替流程。

此外,您还可以手动轮替密钥,无论是因为密钥被破解还是要修改应用以使用其他算法。

轮替密钥的频率

我们建议您根据定期计划自动轮替密钥。轮替时间表定义轮替的频率,以及第一次轮替发生的日期和时间。轮替时间表可以根据密钥的存在时间或使用密钥版本加密的消息数量或量进行轮替。

某些安全法规要求定期自动密钥轮替。根据定义的时间段(例如每 90 天)自动轮替密钥,能够以最低的管理复杂度提升安全性。

如果您怀疑密钥已被破解,或者当安全准则要求您将应用迁移到安全程度更高的密钥算法时,您还应该手动轮替密钥。您可以安排在将来的日期和时间进行手动轮替。手动轮替密钥不会暂停、修改或以其他方式影响密钥的现有自动轮替计划。

请勿将不规则的轮替或手动轮替作为应用安全的主要组成部分。

轮替密钥后

轮替密钥会创建新的有效密钥版本,但不会重新加密您的数据,也不会停用或删除以前的密钥版本。之前的密钥版本会保持活跃状态并产生费用,直到被销毁为止。重新加密数据可让您摆脱对旧密钥版本的依赖,从而销毁这些密钥版本以免产生额外费用。如需了解如何重新加密数据,请参阅重新加密数据

在销毁密钥版本之前,您必须确保密钥版本不再使用

非对称密钥的注意事项

Cloud KMS 不支持非对称密钥的自动轮替,因为在使用新的非对称密钥版本之前,您需要执行其他步骤。

  • 对于用于签名的非对称密钥,您必须分发新密钥版本的公钥部分。之后,您可以通过在 CryptoKeyVersions.asymmetricSign 方法的调用中指定新密钥版本创建签名,并将应用更新为使用新密钥版本。

  • 对于用于加密的非对称密钥,您必须将新密钥版本的公共部分分发并合并到加密数据的应用中,并为解密数据的应用授予对新密钥版本的私有部分的访问权限。

后续步骤