A financial services company requires all data stored in Amazon S3 to be encrypted at rest. The company has a compliance policy that states encryption keys must be managed entirely by the customer and must never be stored or managed by the cloud provider. Which server-side encryption option should the company use for Amazon S3?
Trap 1: Server-Side Encryption with Amazon S3-Managed Keys (SSE-S3)
SSE-S3 is Amazon S3's native server-side encryption, but it relies on S3-managed keys that AWS creates, stores, and rotates on the customer's behalf. The data is encrypted with a unique object key, which is itself wrapped by a root key that AWS maintains in its infrastructure. Because the cloud provider holds and operates those keys, this does not satisfy the requirement that keys must never be stored by the cloud provider. Therefore, SSE-S3 is not compliant for this financial services policy.
Trap 2: Server-Side Encryption with AWS KMS Customer Managed Keys (SSE-KMS)
Incorrect. While SSE-KMS allows you to use a customer managed key, the key is still stored and managed by AWS KMS (a cloud service). The key material resides in AWS, which does not satisfy the requirement that keys must never be stored by the cloud provider.
Trap 3: Client-Side Encryption using an on-premises key management system
Incorrect. Client-side encryption encrypts data before it is sent to S3, which satisfies the key management requirement, but the question asks for an encryption option for Amazon S3. Client-side encryption is not an S3 server-side feature and would require additional application changes. Among the server-side options, only SSE-C ensures keys are not stored by AWS.
- A
Server-Side Encryption with Amazon S3-Managed Keys (SSE-S3)
Why wrong: SSE-S3 is Amazon S3's native server-side encryption, but it relies on S3-managed keys that AWS creates, stores, and rotates on the customer's behalf. The data is encrypted with a unique object key, which is itself wrapped by a root key that AWS maintains in its infrastructure. Because the cloud provider holds and operates those keys, this does not satisfy the requirement that keys must never be stored by the cloud provider. Therefore, SSE-S3 is not compliant for this financial services policy.
- B
Server-Side Encryption with AWS KMS Customer Managed Keys (SSE-KMS)
Why wrong: Incorrect. While SSE-KMS allows you to use a customer managed key, the key is still stored and managed by AWS KMS (a cloud service). The key material resides in AWS, which does not satisfy the requirement that keys must never be stored by the cloud provider.
- C
Server-Side Encryption with Customer-Provided Keys (SSE-C)
Correct. SSE-C allows you to provide your own encryption key with each request. AWS uses the key to encrypt/decrypt the data but does not store the key. This meets the compliance requirement that keys are managed entirely by the customer and are never stored by the cloud provider.
- D
Client-Side Encryption using an on-premises key management system
Why wrong: Incorrect. Client-side encryption encrypts data before it is sent to S3, which satisfies the key management requirement, but the question asks for an encryption option for Amazon S3. Client-side encryption is not an S3 server-side feature and would require additional application changes. Among the server-side options, only SSE-C ensures keys are not stored by AWS.