SCSデータ保護
あるヘルスケア企業が、Amazon CloudFront を介して患者登録フォームを公開しています。フォームには社会保障番号(SSN)が含まれており、送信されたデータは複数のバックエンドマイクロサービス(メイン処理サービス・ログサービス・分析サービス)に転送されます。規制要件として、SSN はエンドツーエンドで暗号化され、HIPAA 準拠のメイン処理サービスのみが復号できる必要があります。ログサービスや分析サービスは SSN の平文にアクセスできてはなりません。最小限のアーキテクチャ変更でこの要件を満たすソリューションはどれですか?
ACloudFront でビューワーとオリジン間の接続に HTTPS(TLS 1.3)を強制する。これにより SSN は全サービス間で転送中に保護される。
HTTPS 強制は転送中の通信を暗号化し盗聴を防ぐが、バックエンドで TLS が終端されると全マイクロサービスが SSN の平文を受け取る。サービスごとのアクセス制御にはならず、ログ・分析サービスが SSN にアクセスできてしまうため要件を満たさない。
BCloudFront フィールドレベル暗号化を有効化し、SSN フィールドに対して RSA 公開鍵を設定する。秘密鍵はメイン処理サービスのみに保管し、他サービスは SSN を復号できない。
✓ 正解
CloudFront フィールドレベル暗号化はエッジで SSN フィールドのみを RSA 公開鍵で暗号化し、秘密鍵を持つメイン処理サービスのみが復号できる。他サービスには暗号化データのみが届き、CloudFront 側の設定変更だけで最小限のアーキテクチャ変更という要件を満たす。
CCloudFront に AWS WAF をデプロイし、HTTP リクエストペイロードから SSN パターンを検出してマスクするカスタムルールを設定する。
AWS WAF はウェブリクエストの検査・遮断を行うサービスであり、特定フィールドをエンドツーエンドで暗号化してサービス間のアクセスを制御する機能は持たない。SSN パターンの検出はできても、バックエンドへの平文アクセスを防ぐことはできない。
Dブラウザ側で AWS KMS の GenerateDataKey API を呼び出してデータキーを生成し、SSN をクライアントサイドで暗号化してからバックエンドに送信する。
ブラウザから直接 KMS を呼び出すには AWS 認証情報をクライアントに公開する必要があり、認証情報の漏洩リスクが生じる。また既存アーキテクチャへの大規模な改修が必要であり、最小限のアーキテクチャ変更という要件に反する。
解説
CloudFront フィールドレベル暗号化(Field-Level Encryption)は、CloudFront エッジロケーションで特定の HTTP POST フィールドを RSA 公開鍵で暗号化する機能である。暗号化は CloudFront がリクエストを受け取った時点で行われ、指定したフィールド(今回は SSN)のみが暗号化された状態でバックエンドに転送される。
秘密鍵を持つのはメイン処理サービスのみであるため、ログサービスや分析サービスには暗号化された SSN しか届かず、平文へのアクセスが不可能になる。これにより、バックエンドの一部が侵害されても SSN の漏洩リスクを局所化できる。設定変更は CloudFront 側のみで完結するため、アーキテクチャへの変更が最小限で済む。
選択肢AのHTTPS強制は転送中の盗聴を防ぐが、バックエンドで TLS が終端されると全マイクロサービスが平文の SSN を受け取る。サービス間のアクセス制御にはならず要件を満たさない。
選択肢CのAWS WAFは HTTP リクエストの検査とアクセス制御を行うが、特定フィールドを暗号化してエンドツーエンドで保護する機能は持たない。
選択肢DのブラウザサイドKMS暗号化は技術的には実現可能だが、ブラウザが直接 KMS を呼び出すには AWS 認証情報が必要であり、クライアントへの認証情報露出リスクが生じる。また既存アーキテクチャへの大規模変更が必要であり「最小限の変更」という要件に反する。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでSCSを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →