语境
我正在按照 GCP 的说明在存储桶中存储机密。在将文件上传到存储桶之前,KMS 用于文件加密。
由于数据加密发生在谷歌存储之外,我对密钥轮换的一个方面有点困惑。
设想
让我们考虑一个特定的场景:
- 在 2017 年1 月 1日,我创建了一个密钥环和一个密钥
A
(实际上是A_ver1
因为密钥是版本化的)。此外,密钥轮换策略设置为每年触发轮换。 - 在 2017 年 1 月15 日
some_file.txt
,我运行了一个使用A_ver1
: 加密的命令curl -s -X POST "https://cloudkms.googleapis.com/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 月 1 日发生了密钥轮换。据我了解,
,A_ver1
被禁用A_ver2
生成并激活。这两个事件准同时发生。 - 在2018-06 -01 我意识到我需要 unencrypt
some_file.txt.encrypted
。我正在下载文件,然后尝试运行命令以使用A_ver2
...
问题
问题 1A_ver2
:如果文件是用早期版本加密的,当我尝试解密文件时会发生什么A_ver1
?
问题2:如果解密失败,我应该首先做些什么来防止它?