AWS Cloud Certify · Practice exams

Security Specialty

Amazon S3 Encryption Options: SSE-S3 vs SSE-KMS vs DSSE-KMS vs SSE-C vs Client-Side

Updated October 2026 · 2 min read · Based on official AWS documentation

Quick answer

Every S3 bucket encrypts new objects at rest by default with SSE-S3, at no extra cost. Choose SSE-KMS or DSSE-KMS for more control over keys, SSE-C if you supply the keys (now disabled by default on new buckets), or client-side encryption if you encrypt before you upload.

S3 encryption options compared

Amazon S3 encryption options
OptionWho manages the keysWhat to remember
SSE-S3Amazon S3 managed keysThe default for every bucket. Each object is encrypted with a unique key, which is itself encrypted with a root key that S3 regularly rotates. Uses AES-256.
SSE-KMSAWS KMS keysIntegration with AWS KMS gives more control: you can view separate keys, edit control policies and follow the keys in AWS CloudTrail. Use customer managed keys or AWS managed keys.
DSSE-KMSAWS KMS keys plus an S3-managed keyLike SSE-KMS, but applies two independent layers of AES-256 encryption: first with a KMS data encryption key, then with a separate S3-managed key.
SSE-CYou provide the keysServer-side encryption with customer-provided keys. New general purpose buckets have SSE-C disabled by default, and you must deliberately enable it.
Client-sideYouYou encrypt the data and upload it already encrypted. You manage the encryption process, keys and tools.

Source: docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html

Encryption is on by default

The SSE-C change in 2026

AWS now applies a default bucket security setting that disables SSE-C for new general purpose buckets. In April 2026, S3 deployed an update so that all new general purpose buckets have SSE-C disabled for new write requests, and for existing buckets with no SSE-C encrypted objects, SSE-C was also disabled for new write requests. Applications that need SSE-C must deliberately enable it with the PutBucketEncryption operation.

If you studied from older material, remember this change: SSE-C still exists, but it is no longer enabled by default on new buckets.

Changing the default encryption

Data in transit

You can protect data in transit to S3 with SSL/TLS, including hybrid post-quantum key exchange, or with client-side encryption. For the key-management side, see AWS KMS: key policies, rotation and deletion and Domain 5: Data Protection.

Frequently asked questions

Is Amazon S3 encrypted by default?

Yes. Since January 5, 2023, all new object uploads are encrypted with SSE-S3 by default at no additional cost.

What cipher does SSE-S3 use?

256-bit Advanced Encryption Standard (AES-256).

Does switching the bucket default to SSE-KMS re-encrypt existing objects?

No. The encryption type of existing objects is not changed.

Is SSE-C still available?

Yes, but SSE-C is disabled by default for new general purpose buckets. Applications that need it must deliberately enable it.

Sources

AWS updates its programs and documentation. Check the linked official pages for the latest details before you decide or pay.

Practice for your AWS exam

Free practice tests with instant explanations and spaced repetition. No sign-up.

Start a practice test Security Specialty hub

Keep reading