构建自定义密钥服务以启用客户端加密功能

您可以使用自己的加密密钥来加密贵组织的数据, 而不是使用 Google Workspace 提供的加密方式。使用 Google Workspace 客户端加密功能 (CSE) 时,文件加密会在 然后再将数据存储在云端硬盘的云端存储空间中。这样, Google 服务器无法访问您的加密密钥,因此无法解密 数据。有关详情,请参阅 客户端加密功能简介

借助此 API,您可以控制用于保护数据的顶级加密密钥 自定义外部密钥服务创建外部密钥服务后 使用此 API,Google Workspace 管理员可以连接到该 API 并启用客户端加密功能 为用户带来良好的体验

重要术语

下面列出了 Google Workspace Client-side Encryption API 中使用的常用术语:

客户端加密功能 (CSE)
在将数据存储在 云端存储服务这可以防止存储空间读取文件 提供商。了解详情
密钥访问控制列表服务 (KACLS)
使用此 API 控制加密访问权限的外部密钥服务 存储在外部系统中的密钥。
身份提供方 (IdP)
一项服务,可在用户加密文件或访问之前进行身份验证 加密文件。

加密与解密

数据加密密钥 (DEK)
Google Workspace 在浏览器客户端中用于加密数据的密钥 本身。
密钥加密密钥 (KEK)
您的服务中用于加密数据加密密钥 (DEK) 的密钥。

访问权限控制机制

访问控制列表 (ACL)
可以打开或读取文件的用户或群组列表。
身份验证 JSON Web 令牌 (JWT)
不记名令牌(JWT:RFC 7516) (由身份合作伙伴 (IdP) 颁发),用于证明用户的身份。
授权 JSON Web 令牌 (JWT)
不记名令牌(JWT:RFC 7516) 用于验证调用方是否有权加密或解密资源。
JSON 网络密钥集 (JWKS)
一个只读端点网址,指向用于验证的公钥列表 JSON Web 令牌 (JWT)。
边界
对身份验证令牌和授权令牌执行的其他检查 KACLS 内进行访问权限控制。

客户端加密流程

管理员为其组织启用 CSE 后,为其启用了 CSE 功能的用户 可以选择使用 Google Workspace 创建加密文档 协作内容创建工具(如 Google 文档和表格),或为文件加密 例如 PDF 文件

用户加密文档或文件后:

  1. Google Workspace 在客户端浏览器中生成 DEK,以加密 内容。

  2. Google Workspace 将 DEK 和身份验证令牌发送给您的第三方 使用您提供给 Google Workspace 组织的管理员。

  3. 您的 KACLS 使用此 API 加密 DEK,然后发送经过混淆处理的 将 DEK 加密回 Google Workspace。

  4. Google Workspace 将经过混淆处理的加密数据存储在云端。 只有有权访问 KACLS 的用户才能访问数据。

有关详情,请参阅加密和解密文件

后续步骤