Which solution will meet these requirements?
Configure the S3 bucket to use client-side encryption with an Amazon S3 managed encryption key. Configure the application to use the S3 bucket to store the archival files.
Configure the S3 bucket to use server-side encryption with AWS KMS keys (SSE-KMS). Configure the application to use the S3 bucket to store the archival files.
Configure the S3 bucket to use dual-layer server-side encryption with AWS KMS keys (SSE-KMS). Configure the application to use the S3 bucket to store the archival files.
Configure the application to use client-side encryption with a key stored in AWS Key Management Service (AWS KMS). Configure the application to store the archival files in the S3 bucket.
Explanations:
Client-side encryption with an Amazon S3 managed encryption key means that the application is responsible for encrypting the data before it is sent to S3. However, using S3 managed keys does not provide sufficient control over encryption keys or meet the requirement of ensuring third parties do not access unencrypted data, as the key management is not directly controlled by the application.
Server-side encryption with AWS KMS keys (SSE-KMS) ensures that data at rest in S3 is encrypted using keys managed by AWS KMS. However, this approach does not prevent third parties from accessing the unencrypted data before it is uploaded, as the encryption occurs on AWS’s side after the data is sent. Therefore, it does not meet the requirement of preventing access before encryption.
Dual-layer server-side encryption with AWS KMS keys (SSE-KMS) provides an additional layer of encryption at rest but still relies on AWS handling the encryption after the data is uploaded. This does not fulfill the requirement of ensuring third parties do not have access to the data before it is encrypted and sent to AWS.
Client-side encryption using a key stored in AWS KMS means that the application encrypts the data before sending it to S3, ensuring that third parties cannot access the data in its unencrypted form. This solution meets all requirements by ensuring control over the encryption process and key management, preventing unauthorized access before the data is sent to AWS.