Google Cloud におけるデータ セキュリティ
Google Cloud Japan Team
※この投稿は米国時間 2022 年 7 月 20 日に、Google Cloud blog に投稿されたものの抄訳です。
データ セキュリティは、組織のセキュリティ対策の要です。暗号化がデータ セキュリティをコントロールする基本要素であることを踏まえ、Google Cloud には、保存データ、転送データ、さらには使用中のデータを暗号化するための複数のオプションが用意されています。ここでは、各オプションについてわかりやすくご説明します。
暗号化
保存データをデフォルトで暗号化
Google では、データ保護の取り組みの一環として保存データを暗号化し、暗号鍵への監査済みアクセス権が承認されているロールとサービスのみがアクセスできるようにしています。データはディスクに書き込まれる前に暗号化されます。その仕組みは次のとおりです。
データはまずチャンク化(断片に分割)され、それぞれのチャンクは独自のデータ暗号鍵で暗号化されます。
各データ暗号鍵は、鍵暗号鍵を使用してラップされます。その後、暗号化されたチャンクとラップされた暗号鍵は Google のストレージ インフラストラクチャに分散されます。
データのチャンクが更新されると、元の鍵を再利用せず、新しい鍵を使用してこのチャンクを暗号化します。
データの取得が必要な場合は、その逆のプロセスを繰り返します。その結果、攻撃者が個々の鍵を侵害したり、ストレージに物理的にアクセスしたりしても、オブジェクト内のすべてのデータチャンクを特定、取得し、関連する暗号鍵を取得する必要があるため、顧客データを判読できません。
転送データをデフォルトで暗号化
Google Cloud へのインターネットを介した通信には、適切に終端された TLS 接続が必要です。転送データを暗号化することで、ユーザーのサイトとクラウド プロバイダの間、または 2 つのサービスの間を移動する通信データが傍受された場合でも、そのデータのセキュリティが確保されます。この保護は、送信前のデータ暗号化、各エンドポイントの認証、到着時のデータ解読と検証により実現されます。たとえば、転送時のセキュリティを確保するための転送データの暗号化には Transport Layer Security(TLS)が、メール メッセージのセキュリティ確保には Secure/Multipurpose Internet Mail Extensions(S/MIME)がよく使用されます。
使用中のデータの暗号化: Confidential Computing
Confidential Computing は、処理中のデータを暗号化することで、メモリ内のデータの侵害や引き出しを防ぐ「3 つ目の軸」を追加します。使用中のデータの暗号化には Confidential VMs と Confidential GKE Node を使用します。これによって、Shielded VMs が提供する、ルートキットとブートキットに対する保護がさらに増強されます。
主なメモリ暗号化は、オンダイメモリ コントローラ内の専用のハードウェアで行われます。各コントローラには、パフォーマンスの高い AES エンジンが含まれています。AES エンジンは、データが DRAM に書き込まれるとき、またはソケット間で共有されるときに暗号化し、データが読み込まれるときに復号します。Google には暗号鍵へのアクセス権はありません。
保存データの暗号化オプション
デフォルトでの暗号化だけで十分な場合もありますが、Google Cloud では、顧客の信頼レベルとビジネスニーズに応じたその他のオプションも提供しています。
顧客指定の暗号鍵(CSEK)
最小限の信頼で運用する必要がある場合は、顧客指定の暗号鍵(CSEK)を使用することで、独自のルート オブ トラストを個別に維持し、API を介して鍵を使用時に Google Cloud に push することができます。これらの鍵は、特定の操作を実行するために必要な間、RAM に保存されます。
CSEK では、鍵の保護と紛失防止のための負担と責任はユーザーが負います。鍵を誤って削除したり紛失したりした場合、Google にはデータを復元する手段がありません。鍵の削除や紛失は犯しやすい間違いです。そのため、CSEK を使用する場合は、細心の注意を払うとともに、鍵をアプリケーションでの使用率に合わせて Google に push できるよう、独自の鍵配布システムに投資する必要があります。
鍵管理サービス(Cloud KMS)
もう 1 つのオプションは、鍵の完全な監査ロギングをはじめとした鍵オペレーションの制御を維持しつつ、グローバルにスケーラブルな鍵管理システムを活用できる Cloud Key Management Service です。このソリューションにより、鍵の可視性を制御しながら、独自の鍵配布システムを作成する必要性を軽減できます。
KMS では、Cloud KMS で作成および維持されている鍵が、Google のデフォルトの鍵暗号鍵に代わる鍵暗号鍵として使用されます。
ハードウェア セキュリティ モジュール(HSM)
オプションで、クラウドでホストされているハードウェア セキュリティ モジュールに鍵を保存することもできます。このサービスを利用すると、FIPS 140-2 レベル 3 の認定を受けた HSM のクラスタで暗号鍵をホストし、暗号オペレーションを実行できます。HSM クラスタは Google によって管理されるため、クラスタリング、スケーリング、パッチ適用などについて心配する必要はありません。Cloud HSM は Cloud KMS をフロントエンドとして使用するため、Cloud KMS によって提供されるすべての利便性と機能を活用できます。
Cloud External Key Manager(Cloud EKM)
Cloud EKM では、サポートされる外部鍵管理パートナー内で管理する暗号鍵を使用して、Google Cloud 内のデータを保護できます。仕組みは次のとおりです。
まず、サポートされる外部鍵管理パートナー システムで既存の鍵を作成または使用します。この鍵には一意の URI があります。
次に、外部の鍵管理パートナー システムで Google Cloud プロジェクトに鍵を使用するためのアクセス権を付与します。
Google Cloud プロジェクトでは、外部管理された鍵の URI を使用して Cloud EKM 鍵を作成します。
クラウド EKM 鍵と外部鍵管理パートナー鍵は連携してデータを保護します。外部鍵は Google に公開されません。
その他のデータ セキュリティ サービス
Google Cloud には、データの暗号化以外にも、データ セキュリティの確保に役立つ次のようなサービスがあります。
VPC Service Controls: マルチテナント サービスを分離することにより、データ引き出しのリスクを軽減します。
データ損失防止(DLP): 機密データを検出、分類、保護できます。これらのサービスについては、今後のブログでご説明します。
Google のさまざまなサービスにおいて、保存データの暗号化と転送データの暗号化がどのように機能するかの詳細については、ホワイトペーパーをご確認ください。
#GCPSketchnote をさらにご覧になるには、GitHub リポジトリをフォローしてください。同様のクラウド コンテンツについては、Twitter で @pvergadia をフォローしてください。thecloudgirl.dev もぜひご覧ください。
- Google、デベロッパー アドボケイト リード Priyanka Vergadia