Object encryption Flashcards
Can a bucket be encrypted?
No, only objects are encrypted
Can you use different encryption methods within the same bucket?
Yes
What methods of encryption is S3 capable of supporting?
Client-side encryption and Server-side encryption
What type of encryption are SSE and client-side encryption?
They are methods of encryption at rest
When are the objects encrypted when using client-side encryption?
Encrypted by the client before they leave.
Does AWS see any data when using client-side encryption?
No, AWS only receives cypher data
Who has the burden of encryption and decryption when using client-side encryption?
The encryption burden is on the customer and not AWS
Does AWS see any data when using server-side encryption?
Yes, the data arrives in plaintext to S3
Who has the burden of encryption and decryption when using server-side encryption?
AWS will handle some or all of the processes.
What is SSE-C?
Server-side encryption with provided keys
Can the client provide keys when using Server-side encryption?
Yes, with SSE-C.
Does AWS see the raw data when using SSE-C?
Yes, AWS uses the keys that were provided by the client to encrypt/decrypt the data
Who manages encryption and decryption when using SSE-C?
AWS
Who is responsible of the management of keys when using SSE-C?
The client
Who has the burden of encryption/decryption when using SSE-C?
AWS.
What is the main advantage of SSE-C over Client-side encryption?
Offload CPU requirements for encryption/decryption
What are the SSE-C Encryption Steps?
- Provide object + encryption key to S3
- Object is encrypted by S3 using the provided key.
- A hash of the key is taken and stored with the object
- The key is discarded after the hash is taken
- The encrypted data and the hash are stored
What are the SSE-C Decryption Steps?
- Tell S3 what object to decrypt and provide key
- If the key is correct (hash comparison), then the object is decrypted
- The key is discarded and the decrypted object is provided.
Name some UCs for SSE-C
- When management of the keys must be controlled outside of AWS
- When CPU offload can be useful
What is SSE-S3 AES256?
Server-side encryption with Amazon S3 managed keys
Who handles encryption and decryption when using SSE-S3?
AWS
Who handles key generation and management when using SSE-S3?
AWS
Name 3 disadvantages of using SSE-S3?
- Not good for regulatory environments - where keys and access to keys must be controlled.
- No way to control key material rotation
- No role separation - full S3 admin can decrypt any data.
Name one advantage of using SSE-S3
Very little overhead.
What are the SSE-S3 Encryption Steps?
- Provide object to S3
- S3 generates fully managed and rotated master key automatically.
- S3 generates a key specific for each object that is uploaded.
- The master key is used to encrypt the specific object key, and the unencrypted version of that key is discarded.
- The encrypted file and encrypted key are stored side by side in S3.
What is SSE-KMS?
Server-side encryption with customer master keys stored in KMS
Who handles keys and encryption processes when using SSE-KMS?
AWS
Who handles the master keys when using SSE-KMS?
KMS
How does AWS perform the encryption of objects when using SSE-KMS?
Every time an object is uploaded to a bucket, S3 works with KMS to create an AWS managed CMK and this is the default key that is used in the future.
Every time an object is uploaded, S3 uses a dedicated key (DEK) to encrypt it.
SSE-KMS Encryption Steps
- S3 is provided a plaintext version of the data encryption key as well as an encrypted version.
- The data is encrypted with the plaintext key and the key discarded.
- The encrypted key is stored alongside the encrypted object.
Can you use Customer managed CMKs when using SSE-KMS?
Yes, you can decide to use customer managed CMKs.
What are the benefits of using Customer managed CMKs when using SSE-KMS?
Role separation, control of permissions and usage of Key material
When using Customer managed CMKs with SSE-KMS, what do you need to access and decrypt an object?
Access to the CMK. No access to KMS key means no access to the object.
Can an full S3 admin decrypt an object that was encrypted with SSE-KMS?
Only if he has access to the CMK that was used to encrypt the object.