🦆

【PCSE試験対策】暗号化についてまとめておく

2025/01/12に公開

なぜ作成したのか

PCSE(Google Cloud Professional Cloud Engineer)の受験勉強で暗号化の部分をもうすこし整理しておきたい気持ち

参考

Google Cloudの暗号化

暗号化の基本概念

  • データ暗号化: データを保護するためにアルゴリズムを使用して変換し、不正アクセスを防止。

    • 対称鍵暗号: 同じ鍵で暗号化・復号化を行う(例: AES)。
    • 非対称鍵暗号: 公開鍵で暗号化し、秘密鍵で復号化(例: RSA)。
  • 暗号化の適用場所

    • 保存時の暗号化 (Encryption at Rest): データをディスクに保存する前に暗号化。
    • 転送時の暗号化 (Encryption in Transit): データをネットワーク経由で送信中に暗号化。

Google Cloudにおける暗号化の主要な方法

保存時の暗号化 (Encryption at Rest)

  • デフォルト暗号化:

    • Google Cloudはすべてのデータをデフォルトで保存時に暗号化。
    • 使用される技術: AES-256。
  • 顧客管理暗号鍵 (CMEK):

    • ユーザーがCloud KMS (Key Management Service)で管理する暗号鍵を指定。
    • 主な適用サービス: Cloud Storage, BigQuery, Compute Engineなど。
  • 顧客供給暗号鍵 (CSEK):

    • ユーザーが独自に作成し、Google Cloudに提供する鍵を使用。

転送時の暗号化 (Encryption in Transit)

  • Google Cloudは転送時のデータをTLS(Transport Layer Security)で保護。
  • サービス間の通信でも暗号化が自動的に行われる。

Key Management Service (KMS)

Google Cloud KMSは暗号鍵を安全に作成、管理、使用するサービス。

  • 機能:

    • 鍵の作成、削除、回転(定期的な更新)。
    • 鍵の使用制限(IAMポリシーと統合)。
    • 鍵の監査とロギング(Cloud Audit Logsと統合)。
  • 鍵の種類:

    • 対称鍵: 高速な暗号化・復号化。
    • 非対称鍵: デジタル署名や認証に使用。

Cloud HSM(Hardware Security Module)

  • 高度なセキュリティが必要な場合、Google Cloudはハードウェアセキュリティモジュール(HSM)を提供。
  • 例: FIPS 140-2 Level 3に準拠。

関連するGoogle Cloudサービス

  • Cloud Storage: 保存時にデータが自動的に暗号化。
  • BigQuery: クエリ実行結果も暗号化。
  • Compute Engine: 永続ディスク、スナップショットが暗号化。
  • Cloud SQL: デフォルトで保存時の暗号化が適用。

暗号化のベストプラクティス

  1. CMEKを活用する:
    • データに対する鍵管理の制御を強化。
  2. 鍵の回転を自動化:
    • 定期的な鍵の更新でセキュリティを向上。
  3. 監査ログを有効化:
    • Cloud Audit Logsで暗号鍵の使用状況を追跡。
  4. 転送時の暗号化を徹底:
    • 外部との通信でもTLSを適用。

暗号化方式とユースケース

セキュリティ要求レベル 暗号化種別 特徴 鍵の管理主体 HSM利用 ユースケース 適用サービス・技術
最高 クライアントサイド暗号化 (CSE) データをアップロードする前に、クライアント側で暗号化。
クラウドプロバイダーには暗号化済みデータのみが保存される。
利用者が完全に管理 任意 - 法規制が厳しい業界(金融、医療)。
- プライバシーデータの厳重管理が必要。
- Cloud Storage with CSEK
- 独自ソリューション(GPG、AESライブラリなど)
非常に高い サーバーサイド暗号化 (CMEK with HSM) 利用者が管理する鍵をHSMで生成・保護。クラウドはその鍵を使用してデータを暗号化。 利用者が鍵を管理 必須 - 高度な鍵管理要件(鍵の保管、生成がハードウェアで管理される)。
- 政府規制、重要インフラなど。
- Cloud HSM
- Cloud Storage, BigQuery, Compute Engine with CMEK
高い サーバーサイド暗号化 (CMEK) 暗号鍵を利用者がCloud KMSで管理。Google Cloudはその鍵を使用してデータを暗号化。 利用者が鍵を管理 オプション - 鍵管理の制御を利用者が保持したい場合。
- 暗号鍵のライフサイクルを規定したい場合。
- Cloud KMS
- Cloud Storage, BigQuery, Persistent Disks with CMEK
中~高 サーバーサイド暗号化 (CSEK) 利用者が提供する鍵を用いてGoogle Cloudがデータを暗号化。鍵はGoogleに保存されない。 利用者が鍵を管理 不可 - 利用者が鍵をローカルで管理したい場合。
- Google Cloudへの信頼度を分散したい場合。
- Cloud Storage, BigQuery, Persistent Disks with CSEK
中程度 サーバーサイド暗号化 (デフォルト) Google Cloudが暗号鍵を自動管理し、データを暗号化。ユーザーは暗号鍵の管理を行わない。 Google Cloudが管理 不可 - 暗号化要件があるが鍵管理の負担を避けたい場合。
- 一般的なクラウド利用シナリオ。
- デフォルトで適用(Cloud Storage, BigQuery, Compute Engineなど)
低い 転送時の暗号化 (Encryption in Transit) データが転送中に暗号化される。通常、TLSプロトコルを使用。 Google Cloudが管理 不可 - クラウド間またはユーザーとクラウド間のデータ通信。 - HTTPS, TLS 1.2/1.3
- Cloud Load Balancing, Cloud Storage, BigQueryなど

GitHubで編集を提案

Discussion