A developer is building a document processing application that runs on an Amazon EC2 instance. The application needs to encrypt scanned PDF documents (each averaging in size) before sending them to a third-party storage system. Security policy requires that the files be encrypted using client-side envelope encryption with an AWS KMS customer managed key.
Which TWO steps should the developer take to implement this encryption workflow?
- Call the GenerateDataKey API operation against the customer managed key to retrieve a plaintext data key and an encrypted data key.Cevap
- Encrypt the PDF document locally using the plaintext data key, and then immediately remove the plaintext data key from memory.Cevap
- CSend the PDF documents directly to the AWS KMS Encrypt API operation to perform server-side encryption.
- DCall the GenerateDataKeyWithoutPlaintext API operation to obtain the encrypted key, and decrypt it locally using a public key pair.
- EStore the generated plaintext data key in AWS Systems Manager Parameter Store as a SecureString parameter for later decryption.
Cevap
To implement client-side envelope encryption for files larger than , the developer should call GenerateDataKey to obtain a plaintext and encrypted data key, encrypt the file locally using the plaintext key, and then immediately destroy the plaintext key from memory. The encrypted data key is stored alongside the encrypted data.
The correct strategy involves calling the GenerateDataKey API operation to retrieve both a plaintext and an encrypted data key. The plaintext key is used to encrypt the document locally, and is then immediately deleted from memory to minimize exposure. The encrypted data key is stored with the ciphertext.
Adım Adım Çözüm
Anahtar Kavram
AWS KMS client-side envelope encryption workflow