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

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

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

重要な用語

Google Workspace クライアントサイド暗号化 API で使用される一般的な用語を以下に示します。

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

暗号化と復号

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

アクセス制御

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

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

管理者が組織で CSE を有効にすると、CSE が有効になっているユーザーは、Google Workspace の共同コンテンツ作成ツール(ドキュメントやスプレッドシートなど)を使用して暗号化されたドキュメントを作成したり、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 にアクセスできるユーザーのみです。

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

次のステップ