Symmetric CMKs should have encryption key rotation enabled

Description

AWS Key Management Service (KMS) allows customers to rotate the backing key, which is the key material stored within the KMS. The backing key is tied to the key ID of the Customer Created customer master key (CMK). The backing key is used to perform cryptographic operations such as encryption and decryption. Automated key rotation retains all prior backing keys so that decryption of encrypted data can take place transparently. Datadog recommends enabling CMK key rotation for symmetric keys. Key rotation can not be enabled for any asymmetric CMK.

Rationale

Rotating encryption keys helps reduce the potential impact of a compromised key as data encrypted with a new key cannot be accessed with a previous key that may have been exposed. Keys should be rotated every year, or upon an event that would result in the compromise of that key.

Impact

Creation, management, and storage of CMKs may require additional time from an administrator.

Remediation

From the console

  1. Sign in to the AWS Management Console and open the IAM console.
  2. In the left navigation pane, choose Customer managed keys.
  3. Select a customer managed CMK where Key spec = SYMMETRIC_DEFAULT.
  4. Underneath the “General configuration” panel open the tab “Key rotation”.
  5. Check the “Automatically rotate this KMS key every year.” checkbox.

From the command line

Run the following command to enable key rotation:

aws kms enable-key-rotation --key-id <kms_key_id>

References

  1. AWS Key Management Service Pricing
  2. NIST Recommendation for Key Management SP 800-57 Part 1 Rev. 5
  3. CCE-78920-6