Client-Side Encryption for S3 Using AWS Encryption SDK
A company wants to protect data at rest in Amazon S3 using client-side encryption. The application will run on Amazon EC2 instances. Which approach meets these requirements?
Quick Answer
The correct approach is to use the AWS Encryption SDK to encrypt data before uploading to S3. This is because client-side encryption for S3 requires the encryption process to happen on the client side—in this case, the EC2 instance—before data ever reaches AWS, ensuring Amazon S3 never sees the plaintext. The AWS Encryption SDK is specifically designed for this, allowing you to encrypt data locally using your own keys, which keeps the encryption control entirely in your hands. On the AWS Certified Security Specialty SCS-C02 exam, this concept tests your understanding of the fundamental difference between client-side and server-side encryption; a common trap is confusing the AWS Encryption SDK with S3’s server-side encryption options like SSE-S3 or SSE-KMS, which encrypt data at rest but still expose plaintext during transit. Remember the key distinction: client-side encryption means the data is already encrypted before it leaves your application environment. A useful memory tip is “Encrypt before you send, not after it lands.”
⚠ Common exam trap
Watch out — candidates often confuse server-side encryption options (SSE-S3, SSE-KMS) with client-side encryption, assuming that using a customer managed key (SSE-KMS) satisfies client-side requirements when it actually still encrypts data on the server side.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Use the AWS Encryption SDK to encrypt data before uploading to S3
Client-side encryption requires the encryption process to occur on the client side before data is uploaded to S3. The AWS Encryption SDK is designed for this purpose, allowing you to encrypt data locally on the EC2 instance using your own keys, ensuring that S3 never sees the plaintext data. This meets the requirement to protect data at rest with client-side encryption, as the data is encrypted before leaving the application environment.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Use SSE-S3 and rely on S3 to manage keys
Why it's wrong here
This is server-side encryption.
- ✗
Enable S3 default encryption on the bucket
Why it's wrong here
Default encryption is server-side.
- ✗
Use SSE-KMS with a customer managed key
Why it's wrong here
This is server-side encryption.
- ✓
Use the AWS Encryption SDK to encrypt data before uploading to S3
Why this is correct
Client-side encryption occurs before data reaches S3.
Quick reference
AWS S3 Storage Class Comparison
| Storage Class | Min Duration | Retrieval | Use Case |
|---|---|---|---|
| S3 Standard | None | Immediate | Frequently accessed data |
| S3 Standard-IA | 30 days | Immediate | Infrequent access, rapid retrieval |
| S3 One Zone-IA | 30 days | Immediate | Non-critical infrequent data |
| S3 Intelligent-Tiering | None | Immediate–hours | Unknown or changing access patterns |
| S3 Glacier Instant | 90 days | Milliseconds | Archive with instant retrieval |
| S3 Glacier Flexible | 90 days | Minutes–hours | Archive, flexible retrieval |
| S3 Glacier Deep Archive | 180 days | Hours | Long-term compliance archive |
Go deeper
Related to this question
About these practice questions
One of 376 original SCS-C02 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
Same concept, more angles
1 more way this is tested on SCS-C02
These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.
Variation 1. A company wants to use client-side encryption for data uploaded to Amazon S3. The encryption keys must be managed by the company and never sent to AWS. Which S3 encryption option supports this requirement?
medium- A.Server-side encryption with AWS KMS (SSE-KMS).
- ✓ B.Client-side encryption using the Amazon S3 encryption client.
- C.Server-side encryption with S3 managed keys (SSE-S3).
- D.Server-side encryption with customer-provided keys (SSE-C).
Why B: Client-side encryption using the Amazon S3 encryption client is correct because the encryption process occurs entirely on the client side before data is uploaded to S3. The company manages the encryption keys locally and never transmits them to AWS, satisfying the requirement that keys are never sent to AWS.
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This SCS-C02 practice question is part of Courseiva's free Amazon Web Services certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the SCS-C02 exam.