Amazon S3 Secutity Flashcards
4 methods used to encrypt objects in S3 buckets?
- SSE-S3
- SSE-KMS
- SSE-C
- Client Side
How does “Server-Side Encryption with Amazon S3-Managed Keys” work?
SSE-S3 is enabled by default.
Encrypts S3 objects using keys handled. Managed and owned by AWS
How does “Server-Side Encryption with KMS Keys stored in AWS KMS” work?
SSE-KMS leverages AWS Key Management Service(AWSKMS) to manage encryption keys
How does Server-Side Encryption with Customer-Provided Keys work?
SSE-C is for when you want to manage your own encryption keys
What is DSSE-KMS ?
double encryption based on KMS
Features:
- Encryption using keys handled, managed, and owned by AWS
- Object is encrypted server-side
- Encryption type is AES-256
- Must set header “x-amz-server-side-encryption”: “AES256”
- Enabled by default for new buckets & new objects
Server-Side Encryption with Amazon S3-Managed Keys (SSE-S3)
Features:
- Encryption using keys handled and managed by AWS KMS (Key Management Service)
- KMS advantages: user control + audit key usage using CloudTrail
- Object is encrypted server side
- Must set header “x-amz-server-side-encryption”: “aws:kms”
Server-Side Encryption with KMS Keys stored in AWS KMS (SSE-KMS)
Features:
- Server-Side Encryption using keys fully managed by the customer outside of AWS
- Amazon S3 does NOT store the encryption key you provide
- HTTPS must be used
- Encryption key must provided in HTTP headers, for every HTTP request made
Server-Side Encryption with Customer-Provided Keys (SSE-C)
What are these?
- If you use SSE-KMS, you may be impacted by the KMS limits
- When you upload, it calls the GenerateDataKey KMS API
- When you download, it calls the Decrypt KMS API
- Count towards the KMS quota per second (5500, 10000, 30000 req/s based on region)
- You can request a quota increase using the Service Quotas Console
SSE-KMS Limitations
Features:
- Use client libraries such as Amazon S3 Client-Side Encryption Library
- Clients must encrypt data themselves before sending to Amazon S3
- Clients must decrypt data themselves when retrieving from Amazon S3
- Customer fully manages the keys and encryption cycle
Client-Side Encryption
What is SSL/TLS
Encryption in flight
Which two endpoints does Amazon S3 exposes?
- HTTP Endpoint – non encrypted
- HTTPS Endpoint – encryption in flight
Which protocol is recommended?
HTTPS
Which encryption service has a mandatory protocol of HTTPS?
SSE-C