クライアントサイド暗号化用のカスタム鍵サービスを構築する

Google Workspace が提供する暗号化を使用する代わりに、独自の暗号鍵を使用して組織のデータを暗号化できます。Google Workspace クライアントサイド暗号化(CSE)では、ファイルの暗号化はクライアントのブラウザで処理されてから、ドライブのクラウドベース ストレージに保存されます。これにより、Google サーバーは暗号鍵にアクセスできないため、データを復号できません。詳しくは、クライアントサイド暗号化についてをご覧ください。

この API を使用すると、カスタム外部鍵サービスを使用してデータを保護する最上位の暗号鍵を制御できます。この API を使用して外部鍵サービスを作成すると、Google Workspace 管理者はその鍵サービスに接続して、ユーザーに対して CSE を有効にできます。

重要な用語

以下は、Google Workspace Client-side Encryption API で使用される一般的な用語の一覧です。

クライアントサイド暗号化(CSE)
クラウドベースのストレージに保存する前にクライアントのブラウザで処理される暗号化。これにより、ストレージ プロバイダからファイルが読み取られないように保護できます。詳細
鍵アクセス制御リストサービス(KACLS)
この API を使用して、外部システムに保存されている暗号鍵へのアクセスを制御する外部鍵サービス。
ID プロバイダ(IdP)
ファイルを暗号化したり、暗号化されたファイルにアクセスしたりする前に、ユーザーを認証するサービス。

暗号化と復号

データ暗号鍵(DEK)
データ自体を暗号化するためにブラウザ クライアントの Google Workspace が使用する鍵。
鍵暗号鍵(KEK)
データ暗号鍵(DEK)の暗号化に使用するサービスの鍵。

アクセス制御

アクセス制御リスト(ACL)
ファイルを開く、または読み取ることができるユーザーまたはグループのリスト。
Authentication JSON Web Token(JWT)
ユーザーの ID を証明するために ID パートナー(IdP)によって発行される署名なしトークン(JWT: RFC 7516)。
Authorization JSON Web Token(JWT)
呼び出し元にリソースの暗号化または復号の権限が付与されていることを確認するために Google が発行する署名なしトークン(JWT: RFC 7516)。
JSON Web Key Set(JWKS)
JSON Web Token(JWT)の検証に使用される公開鍵のリストを指す、読み取り専用エンドポイント URL。
境界
アクセス制御のために KACLS 内の認証トークンと認証トークンに対して実行される追加のチェック。

クライアントサイド暗号化のプロセス

管理者が組織で CSE を有効にすると、CSE が有効になっているユーザーは、Google Workspace の共同編集可能なコンテンツ作成ツール(Google ドキュメントやスプレッドシートなど)を使用して暗号化されたドキュメントを作成するか、Google ドライブにアップロードするファイル(PDF など)を暗号化するかを選択できます。

ユーザーがドキュメントまたはファイルを暗号化した後:

  1. Google Workspace は、コンテンツを暗号化するための DEK をクライアント ブラウザで生成します。

  2. Google Workspace は、Google Workspace 組織の管理者に指定した URL を使用して、暗号化のために DEK と認証トークンをサードパーティの KACLS に送信します。

  3. KACLS はこの API を使用して DEK を暗号化し、難読化して暗号化された DEK を Google Workspace に返します。

  4. Google Workspace は、難読化および暗号化されたデータをクラウドに保存します。KACLS にアクセスできるユーザーのみがデータにアクセスできます。

詳しくは、ファイルの暗号化と復号をご覧ください。

次のステップ