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




