Does that mean all my data will be decrypted by the old key and re-encrypted by the new one every month?
正如已经回答的那样,简单的答案是否定的。但是之前的答案错过了密钥轮换的目的
密钥轮换背后的原因是单个密钥加密的数据数量有限。
How does AWS manage to rotate it's keys and all encrypted data for all the underlying services?
基本思想(至少在 KMS 中)是,KMS 密钥不是单个密钥,而是一组密钥,最后一个是当前密钥。您可以将其想象为“关键版本控制”。每次密钥轮换后,都会保存当前密钥,因此您仍然可以解密先前加密的密文(数据密钥 - 如其他答案中所述)。我相信在 KMS 中这整套是隐藏的,但 Azure KeyValt 将整套显示为密钥版本。
The whole encryption-decryption would take a lot of time and compute resources
不,你不需要做任何事情。AWS 为您管理“关键版本”。即使您按照另一个答案中的建议重新加密信封密钥,那么您实际上也无法实现密钥轮换的目的。
KSM 生成的密文也必须包含一些密钥版本的标识,因此即使在密钥轮换后,KMS 也能够解密密文。