DVAセキュリティ

決済アプリケーションで5MB程度の支払い情報JSONをアプリ層で暗号化してS3に保存している。データ1件ごとにKMS APIを直接呼び出しているが、トラフィック増加に伴いKMSコストの高騰とAPIスロットリングが発生している。アーキテクチャを大幅に変更せずコストとスロットリングを根本的に改善するには何をすべきか。

A
KMSカスタムキーストア(CloudHSM)に移行して専用HSMを割り当て、KMS APIのスループット上限引き上げとレイテンシ改善を図る
KMSカスタムキーストアはCloudHSMでのキー素材管理機能であり、APIスループット上限を変えずAPI呼び出し回数の根本削減にはならない。
B
AWS Encryption SDKのエンベロープ暗号化を採用し、DEK(データ暗号化キー)でデータを暗号化してKMS API呼び出し回数自体を削減する
✓ 正解
AWS Encryption SDKのエンベロープ暗号化はDEK(データ暗号化キー)生成時のみKMSを呼び出し、同一DEKを複数レコードに再利用することでAPI呼び出し頻度を大幅に削減できる。
C
S3のSSE-KMSへ切り替えることでアプリ側の暗号化実装を廃止し、オブジェクトのPUT/GETのたびにS3からKMSへGenerateDataKeyが呼び出される構成に変更する
S3 SSE-KMSに切り替えてもオブジェクトのPUT/GETごとにS3がKMSを呼び出すため、アプリ側の直接呼び出しがS3側に移るだけでAPI呼び出し総数は変わらない。
D
KMSマルチリージョンキーに移行して暗号化処理を複数リージョンへ分散させ、単一リージョンへのAPI呼び出し集中を緩和する
KMSマルチリージョンキーは異なるリージョン間での暗号文相互利用を可能にするが、単一リージョン内のAPI呼び出し回数削減には寄与しない。

解説

エンベロープ暗号化はKMSでDEK(データ暗号化キー)を生成・暗号化し、実際のデータはローカルのDEKで暗号化する方式。同一DEKを複数レコードに再利用することでKMS API呼び出し回数を大幅削減できる。

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

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

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