【正解】D
【0からの解説】
①前提知識
・Google Cloud の保存データは、データ暗号鍵(DEK)でデータを暗号化し、その DEK を鍵暗号鍵(KEK)でさらに暗号化する「エンベロープ暗号化」で保護されています。誰が、どこで KEK を管理するかによって選択肢が分かれます。
・顧客管理の暗号鍵(CMEK): 顧客が Cloud KMS(ソフトウェア鍵または Cloud HSM の鍵)で KEK を管理します。鍵マテリアルは Google のインフラ内にあります。
・顧客指定の暗号鍵(CSEK): 顧客が鍵を API リクエストごとに渡す方式で、Cloud Storage と Compute Engine でのみサポートされ、BigQuery では使えません。
・鍵のインポート: オンプレミスなどで生成した鍵マテリアルを Cloud KMS(ソフトウェアまたは Cloud HSM)にインポートして使う方式で、インポート後は鍵マテリアルが Google 側に存在します。
・Cloud External Key Manager(Cloud EKM): KEK を Google Cloud の外部にある、サポート対象の外部鍵管理システム(Fortanix、Futurex、Thales などのパートナー製品)で保持し、Google Cloud は暗号化・復号のたびに外部鍵マネージャーに鍵の利用を要求します。鍵マテリアルは外部システムに置かれたまま Google に送られることはなく、顧客はいつでも外部鍵マネージャー側で Google Cloud からのアクセスを取り消せます。取り消せば Google を含め誰もデータを復号できなくなります。BigQuery と Cloud Storage は、Cloud KMS の CMEK 統合を通じて Cloud EKM の鍵を利用できます。
②要件と制約語の整理
・マスター暗号鍵の鍵マテリアルが、オンプレミスの認定済み暗号ハードウェアから「決して外に出ない」。
・クラウド プロバイダに依存せず、データへのアクセスを「一方的に取り消せる」。
・対象サービスは BigQuery と Cloud Storage。
③正解の理由
D の Cloud EKM は、鍵マテリアルを Google Cloud の外(オンプレミスの HSM と統合した外部鍵マネージャー)に保持したまま、BigQuery と Cloud Storage の暗号化に使えます。顧客が外部鍵マネージャー側で鍵へのアクセスを止めればデータは復号できなくなるため、クラウド プロバイダとは独立してアクセスを一方的に取り消せます。2つの要件をどちらも満たすのは EKM だけです。
【誤りの選択肢】
A:CMEK の鍵マテリアルは Cloud KMS(Google のインフラ)内に保存されるため、「鍵マテリアルがオンプレミスのハードウェアから外に出ない」という要件に反します。鍵の無効化は顧客が操作できますが、鍵そのものはクラウド プロバイダ側に存在するため、プロバイダから独立した取り消しとは言えません。
B:CSEK は BigQuery でサポートされていないため、BigQuery の要件を満たせません。また CSEK でも鍵はリクエストごとに Google に送られ、処理中は Google 側で使用されるため、鍵が外に出ないという要件にも合いません。
C:鍵のインポートは、オンプレミスの鍵マテリアルを Cloud KMS にコピーする方式です。インポートした時点で鍵マテリアルがオンプレミスのハードウェアの外(Google Cloud)に出てしまうため、規制要件に真っ向から反します。
【参考】
Cloud External Key Manager | Cloud Key Management ServiceCloud External Key Manager のリファレンス アーキテクチャ | Cloud Key Management Service