Rotation Rewrites Nothing

Twelve million objects are stored under envelope encryption: each object has its own data key, and each data key is wrapped by one KMS key.

Object ciphertext and its wrapped data key sit in storage while the key encryption key stays in KMS and keeps its old version Object storage KMS object ciphertext, 3.3 MB average AES-GCM under its own DEK wrapped DEK, 184 bytes stored beside the ciphertext KEK v2, active wraps new DEKs KEK v1, retained unwraps old DEKs unwrap

You enable automatic annual rotation on that KMS key. What is true the morning after it rotates?

A

Nothing changes until an object is next read, at which point KMS transparently re-wraps that object's data key under the new version.

B

New data keys are wrapped under the new key version. Every existing wrapped DEK stays wrapped under the previous version, which KMS retains so old objects still decrypt. No object ciphertext and no stored wrapped key is rewritten.

C

KMS re-wraps all twelve million data keys in the background, so once the backfill finishes the previous key version can be deleted.

D

The object ciphertext is rewritten, because rotating the wrapping key necessarily changes the data keys underneath it, which is why rotation is scheduled outside peak hours.