医療画像データの保管中暗号化とキー管理方式の選択
総合病院がCTやMRIの画像診断データをAmazon S3に長期保管します。院内規程では、暗号鍵は病院側が作成し、鍵ポリシーで使用者を制御でき、必要に応じて病院の判断で鍵を無効化・削除でき、さらに年1回自動でローテーションされ、鍵の使用履歴をAWS CloudTrailで追跡できることが求められています。同時に、暗号化処理を自前で実装せず運用負荷を抑えたいと考えています。最も適切な設計はどれですか。
解説を読む(正解: A)
AWS KMSのカスタマー管理キーは、顧客が自ら作成・所有し、キーポリシーで利用できるプリンシパルを細かく制御でき、無効化・削除のスケジュールも顧客の判断で実行できるキーです。自動キーローテーションを有効にすると年に一度キーマテリアルが自動更新され、古いマテリアルは過去データの復号のために保持されるため、再暗号化なしで規程を満たせます。また、KMSのAPI呼び出しはCloudTrailに記録されるため、どのプリンシパルがいつ復号したかを追跡できます。S3のデフォルト暗号化でこのキーを指定したSSE-KMSを設定すれば、アプリケーション側に暗号化処理を実装せずに保管中の暗号化が適用されるため、Aが要件をすべて満たします。BのAWSマネージドキーはAWSがアカウント内に自動作成するキーで、キーポリシーを編集できず、顧客が削除することもできないため、「病院が作成し管理・削除できる」という要件を満たしません。CのSSE-S3はS3が鍵を管理する方式で、キーポリシーによるアクセス制御も、個別の鍵使用のCloudTrail追跡も、ローテーション制御もできません。DのSSE-Cは鍵の保管・提供・ローテーションをすべて顧客システムが担う方式で、鍵を紛失すればデータを復元できず運用負荷が最も高いうえ、S3は鍵を保持しないためKMSのような使用履歴の一元追跡も得られません。
保存時と転送時のデータ暗号化の実装
学習塾向けに成績管理 SaaS を提供する企業が、Application Load Balancer の背後に複数の Amazon EC2 インスタンスを配置し、答案画像を Amazon S3 バケットに、アプリケーションの作業データを Amazon EBS ボリュームに保存しています。個人情報保護に関する社内規程が改定され、外部監査で「保存されているデータと、ネットワークを流れるデータの双方を暗号化していること」を証明できなければなりません。アクセス制御はすでに整備済みで、今回は暗号化の要件のみを追加で満たす必要があります。
要件を満たす対策の組み合わせはどれですか。2 つ選択してください。
複数選択問題です (正解 2 つ)。選んでから判定してください。
解説を読む(正解: A、B)
データ保護の要件は「転送中の暗号化 (encryption in transit)」と「保管時の暗号化 (encryption at rest)」の 2 つに分けて対策を考えます。転送中の暗号化は、AWS Certificate Manager (ACM) で発行した TLS 証明書を Application Load Balancer の HTTPS リスナーに関連付けることで実現します。ACM の証明書は無料で発行され自動更新されるため、証明書の失効による障害も避けられます。保管時の暗号化は AWS KMS を利用します。S3 バケットに SSE-KMS のデフォルト暗号化を設定すればアップロードされる答案画像は自動的に暗号化され、EBS ボリュームの暗号化を有効にすればボリューム本体・スナップショット・インスタンスとの間の I/O がすべて暗号化されます。カスタマー管理キーを使えばキーポリシーによる利用者の制御とローテーション、CloudTrail による利用監査も可能になり、監査要件への説明力が高まります。したがって A と B が正解です。選択肢 C は誤りです。IAM ポリシーによる最小権限の適用は誰がデータにアクセスできるかを制御する認可の仕組みであり、データそのものを暗号化するものではありません。設問でもアクセス制御は整備済みと述べられています。選択肢 D も誤りです。セキュリティグループは通信元を絞り込むステートフルなファイアウォールであり、通信内容を暗号化する機能は持ちません。ネットワーク境界の防御と暗号化は別の対策である点を区別する必要があります。
S3のサーバー側暗号化方式の選択肢
ある法律事務所が、案件に関する文書をAmazon S3に保管する計画を進めています。社内規程により、保管中のデータは必ず暗号化されていなければなりません。担当者は、Amazon S3自身がオブジェクトの暗号化と復号を行うサーバー側暗号化 (SSE) として、どの方式を選択できるのかを整理して上長に報告する必要があります。Amazon S3のサーバー側暗号化として設定できる方式を3 つ選択してください。
複数選択問題です (正解 3 つ)。選んでから判定してください。
解説を読む(正解: A、B、C)
Amazon S3における保管中データの暗号化には、S3側で暗号化と復号を行うサーバー側暗号化 (SSE) と、アップロードする前に利用者のアプリケーションが暗号化するクライアントサイド暗号化 (CSE) の2つの考え方があります。このうちサーバー側暗号化として選択できるのは、Amazon S3が暗号化キーを管理して自動的に適用するSSE-S3、AWS KMSのキーを使用することでキーポリシーによる細やかなアクセス制御とAWS CloudTrailによる利用状況の監査ができるSSE-KMS、そして利用者がリクエストのたびに暗号化キーを渡し、AWS側にはキーを保存させないSSE-Cの3方式です。したがってA、B、Cが正解です。Dのクライアントサイド暗号化はS3で利用できる暗号化手段ではありますが、暗号化処理はクライアント側で完結し、S3は暗号化済みのオブジェクトを受け取って保存するだけなので、サーバー側暗号化の方式には含まれず、バケットの設定項目としても存在しません。EのSSE-ACMという方式は存在しません。AWS Certificate Manager (ACM) はTLS/SSL証明書を発行および管理して転送中データの暗号化に用いるサービスであり、保管中データの暗号化には使用しません。なお、SSE-S3もSSE-KMSも内部的には256ビットのAES暗号を使用しており、利用者が暗号アルゴリズムをAES-128やAES-192に変更することはできません。