S3 7 Flashcards
Encryption: SSE-C
How does SSE-C work?
SDK sends key and object to server. Key encrypts object. S3 doesn’t keep the key.
Encryption: SSE-C
What is stored with the encrypted object data with SSE-C?
HMAC salted value – marks which customer-provided key was used to encrypt the object
Encryption: SSE-C
What happens if you send the wrong key to SSE-C GetObject?
Rejected: S3 holds hash of the key used to encrypt. It knows it’s the wrong key.
Encryption: client-side
2 business cases for using client-side encryption?
AWS can’t hold keys, requirement to encrypt before it leaves your premesis.
Encryption: client-side
Where is encryption/decryption done with client-side encryption?
Strictly on the client (S3 itself doesn’t know or do any part of it)
Encryption: client-side
What does an object look like with client-side encryption?
Like any other S3 object (no keys stored with it, not marked “encrypted”).
Encryption: client-side
On the AWS console, how can you tell if an object was client-side encrypted?
Can’t: there is no server-side mark or logic, completely client-side.
Encryption: client-side
What do you use client-side to do client-side encryption?
The Amazon S3 Encryption Client
Encryption: client-side
Why bother with the S3 client library?
It handles generating keys and doing encryption/decryption for you.
Encryption: client-side
Two kinds of client-side encryption?
BYOC (CSE-C) and use KMS key as wrapper (CSE-KMS)
Encryption: client-side
What does the S3 Encryption Client do on PutObject?
Ask KMS for DEK, get un- and encrypted version of a DEK
misc.
What is “MFA Delete”?
Policy setting: have to MFA auth to switch enabled/disabled versioning or to delete a VERSION via ID.