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

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

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

重要な用語

Google Workspace Client-side Encryption 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 Web Token(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 にアクセスできるユーザーのみがデータにアクセスできます。

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

次のステップ