無限ノック › DVA 練習問題一覧 › 問題
DVAセキュリティ

開発者は、500MBのファイルをS3にアップロードする前にクライアント側で暗号化する必要があります。AWS KMSのEncrypt APIを直接使用しようとしたところ、4KBのサイズ制限があることがわかりました。大容量ファイルを安全に暗号化するために、開発者が採用すべき正しいアプローチはどれですか?

A
ファイルを4KBのチャンクに分割し、各チャンクに対してKMS Encrypt APIを個別に呼び出す
(4KBチャンク分割):KMS Encrypt APIは4KBまでのデータに直接使用するものであり大容量ファイルには適しません。
B
KMS GenerateDataKey APIを呼び出してプレーンテキストデータキーと暗号化済みデータキーを取得し、プレーンテキストキーでファイルをローカル暗号化した後、暗号化済みファイルと暗号化済みデータキーをS3に保存する
✓ 正解
エンベロープ暗号化(Envelope Encryption)では、KMS GenerateDataKey APIを呼び出してデータキーのプレーンテキスト版と暗号化版の両方を取得します。プレーンテキストキーでファイルをローカル暗号化した後、メモリからプレーンテキストキーを削除し、暗号化済みファイルと暗号化済みデータキーをS3に保存します。
C
KMS GenerateDataKeyWithoutPlaintext APIを使用し、返却された暗号化済みキーを直接ファイル暗号化アルゴリズムに渡す
(GenerateDataKeyWithoutPlaintext):暗号化済みキーのみを返すためローカル暗号化には使用できません。
D
S3バケットでSSE-KMS(サーバー側暗号化)を有効化し、暗号化処理をS3に委任する
(SSE-KMS):サーバー側暗号化であり、データがS3に届いた後にAWS側で暗号化されるため、クライアント側での暗号化という本問の要件を満たしません。

解説

エンベロープ暗号化(Envelope Encryption)では、KMS GenerateDataKey APIを呼び出してデータキーのプレーンテキスト版と暗号化版の両方を取得します。プレーンテキストキーでファイルをローカル暗号化した後、メモリからプレーンテキストキーを削除し、暗号化済みファイルと暗号化済みデータキーをS3に保存します。 選択肢A(4KBチャンク分割):KMS Encrypt APIは4KBまでのデータに直接使用するものであり大容量ファイルには適しません。 選択肢C(GenerateDataKeyWithoutPlaintext):暗号化済みキーのみを返すためローカル暗号化には使用できません。 選択肢D(SSE-KMS):サーバー側暗号化であり、データがS3に届いた後にAWS側で暗号化されるため、クライアント側での暗号化という本問の要件を満たしません。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでDVAを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← DVA の問題一覧に戻る