En esta guía, se describe el funcionamiento de la encriptación y desencriptación con la API de encriptación del cliente de Google Workspace.
Debes incluir en la lista de entidades permitidas todos los servicios de proveedor de identidad (IdP) que usan los usuarios que comparten archivos encriptados. Por lo general, puedes encontrar los detalles del IdP necesarios en su archivo .well-known de acceso público; de lo contrario, comunícate con el administrador de Google Workspace de la organización para obtener los detalles de su IdP.
Encripta datos
Cuando un usuario de Google Workspace solicita guardar o almacenar datos encriptados del cliente (CSE), Google Workspace envía una solicitud wrap
a tu URL de extremo de KACLS para la encriptación. Además de las verificaciones de seguridad opcionales, como el perímetro y las verificaciones basadas en reclamos de JWT, tus KACLS deben realizar los siguientes pasos:
Valida al usuario solicitante.
- Valida el token de autenticación y el token de autorización.
- Verifica que los tokens de autorización y autenticación sean para el mismo usuario. Para ello, busca una coincidencia que no distinga mayúsculas de minúsculas en las reclamaciones de correo electrónico.
- Verifica que la reclamación
role
en el token de autorización sea de "escritor" o "actualizador". - Verifica que la reclamación
kacls_url
en el token de autorización coincida con la URL de KACLS actual. Esta verificación permite detectar posibles servidores intermediarios configurados por usuarios con información privilegiada o administradores de dominio fraudulentos. - Realiza una verificación perimetral con reclamos de autenticación y autorización.
Encripta las siguientes partes con un algoritmo de encriptación autenticado:
- Clave de encriptación de datos (DEK)
- Los valores
resource_name
yperimeter_id
del token de autorización - Datos sensibles adicionales
Registra la operación, incluido el usuario que la originó, el
resource_name
y el motivo que se pasó en la solicitud.Muestra un objeto binario opaco para que Google Workspace almacene junto con el objeto encriptado y se envíe tal como está en cualquier operación de separación de claves posterior. También puedes mostrar una respuesta de error estructurada.
- El objeto binario debe contener la única copia de la DEK encriptada. Se pueden almacenar datos específicos de la implementación en él.
Desencripta datos
Cuando un usuario de Google Workspace solicita abrir datos con encriptación del cliente (CSE), Google Workspace envía una solicitud unwrap
a tu URL de extremo de KACLS para su desencriptación. Además de las verificaciones de seguridad opcionales, como las verificaciones de perímetro y basadas en reclamos de JWT, tus KACLS deben realizar los siguientes pasos:
Valida al usuario solicitante.
- Valida el token de autenticación y el token de autorización.
- Verifica que los tokens de autorización y autenticación sean para el mismo usuario. Para ello, busca una coincidencia que no distinga mayúsculas de minúsculas en las reclamaciones de correo electrónico.
- Verifica que la reclamación
role
en el token de autorización sea de "lector" o "escritor". - Verifica que la reclamación
kacls_url
en el token de autorización coincida con la URL de KACLS actual. Esto permite detectar posibles servidores intermediarios configurados por usuarios con información privilegiada o administradores de dominio fraudulentos.
Desencripta las siguientes partes con un algoritmo de encriptación autenticado:
- Clave de encriptación de datos (DEK)
- Los valores
resource_name
yperimeter_id
del token de autorización - Datos sensibles adicionales
Comprueba que coincidan el
resource_name
en el token de autorización y el BLOB desencriptado.Realiza una verificación perimetral con reclamaciones de autenticación y autorización.
Registra la operación, incluido el usuario que la originó, el
resource_name
y el motivo que se pasó en la solicitud.Muestra la DEK separada o una respuesta estructurada de error.