谷歌的密钥管理系统:密钥轮换后的数据解密

编程入门 行业动态 更新时间:2024-10-23 12:33:45
本文介绍了谷歌的密钥管理系统:密钥轮换后的数据解密的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 上下文 我正在遵循Storing Secrets在存储存储桶中的GCP说明。KMS在上传到存储存储桶之前用于file encryption。

由于数据加密是在谷歌存储之外进行的,我对密钥轮换的一个方面感到有点困惑。

方案

让我们考虑一个特定的场景:

  • 在2017-01-01我创建了一个密钥环和一个密钥A(实际上是A_ver1,因为密钥是版本化的)。此外,密钥轮换策略设置为触发每年轮换。
  • 2017-01-15我运行了一个命令,用A_ver1加密some_file.txt: curl -s -X POST "cloudkms.googleapis/v1/projects/my-project/<...>" -d "{"plaintext":"<...SOME_FILE_CONTENT...>"}" -H "Authorization:Bearer $(gcloud auth application-default print-access-token)" -H "Content-Type:application/json"。
  • 我立即将加密结果保存到存储存储桶中,保存为some_file.txt.encrypted。
  • 我什么都不做,在2018-01-01发生密钥轮换。据我所知A_ver1被禁用,A_ver2被生成并激活。这两个事件几乎同时发生。
  • 在2018-06-01我意识到我需要解密some_file.txt.encrypted。我正在下载文件,然后尝试运行命令以使用A_ver2...
  • 解密文件 问题

    问题1:如果文件是用较早版本A_ver1加密的,尝试使用A_ver2解密会发生什么情况?

    问题2:如果解密失败,我首先应该做些什么来防止它?

    推荐答案

    在您的场景中,第4步中对循环的描述不太正确。当您轮换CryptoKey时,会生成一个新的CryptoKeyVersion,并使其成为CryptoKey的主版本,但旧版本不会发生任何变化。也就是说,对于您的方案,A_ver1仍处于启用状态,但另一个启用的版本A_ver2是主要版本。

    要回答您的问题,

    问题1:尝试解密文件时,不需要指定CryptoKeyVersion,只需指定CryptoKey;服务将为您获取正确的版本。如果尝试解密已使用现在已禁用(或已销毁)的CryptoKeyVersion加密的文件,则解密调用将失败。

    问题2:这取决于您针对什么进行优化。例如,如果您使用轮换来尝试限制使用任何一个版本加密的数据量,那么您可能不想禁用旧版本,并将其保留较长时间。您可能只想禁用超过某些大量版本的密钥版本。在这种情况下,您可以跟踪特定数据使用的密钥版本,并重新加密所有受影响的数据。

    更多推荐

    谷歌的密钥管理系统:密钥轮换后的数据解密

    本文发布于:2023-11-13 01:49:13,感谢您对本站的认可!
    本文链接:https://www.elefans.com/category/jswz/34/1583084.html
    版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
    本文标签:密钥   管理系统   数据

    发布评论

    评论列表 (有 0 条评论)
    草根站长

    >www.elefans.com

    编程频道|电子爱好者 - 技术资讯及电子产品介绍!