Cómo desencriptar archivos y correos electrónicos exportados con encriptación del cliente

Si tu organización usa la encriptación del cliente (CSE) de Google Workspace, puedes usar la utilidad de desencriptación para desencriptar archivos y mensajes de correo electrónico encriptados del cliente que exportes con la herramienta de exportación de datos o Google Vault. Puedes ejecutar el desencriptador desde una línea de comandos.

Cuando ejecutes el desencriptador, usarás marcas de línea de comandos para especificar la información de autenticación de tu proveedor de identidad (IdP), la ubicación de los archivos encriptados, la ubicación de salida de los archivos desencriptados y otras opciones. También puedes crear un archivo de configuración para guardar las marcas del desencriptador que usas con frecuencia.

Antes de comenzar

  • Cuando desencriptas un archivo de Documentos, Hojas de cálculo o Presentaciones de Google, el nombre del archivo termina con .gdoczip o un carácter similar. Después de descifrar los archivos, puedes convertirlos al formato de Microsoft Office con la herramienta de conversión de archivos. Para obtener más información, consulta Cómo convertir archivos de Google exportados y desencriptados a archivos de Microsoft Office.
  • Si exportas mensajes de CSE de Gmail desde Google Vault, debes hacerlo en formato MBOX. El desencriptador no puede procesar exportaciones en formato PST.
  • La utilidad de desencriptación puede desencriptar cualquier mensaje encriptado con certificados S/MIME. También puede desencriptar mensajes encriptados sin certificados S/MIME (es decir, mensajes que usan la encriptación de extremo a extremo (E2EE) de Gmail), si tus usuarios encriptaron los mensajes o el mensaje original en los subprocesos.
  • La utilidad de desencriptación no puede desencriptar mensajes (incluidos todos los mensajes de un hilo) encriptados sin certificados S/MIME (E2EE de Gmail) en otra organización.

Requisitos del sistema

  • Microsoft Windows, versión 10 u 11 de 64 bits
  • macOS 12 (Monterey) o versiones posteriores Se admiten procesadores Intel y Apple.
  • Linux x86_64

Descarga el desencriptador

Abre el archivo o volumen y extrae el ejecutable del desencriptador a un directorio o carpeta local.

Configura el acceso al servicio de claves

El desencriptador envía consultas a tu servicio de claves de encriptación, también llamado servicio de lista de control de acceso a claves (KACLS), que protege cada archivo o mensaje encriptado de tu exportación. Pídele al administrador de tu proveedor de identidad (IdP) y al administrador de tu servicio de claves de encriptación las credenciales que aceptarán los KACL. De lo contrario, los KACL rechazarán los intentos del desencriptador para desencriptar el contenido exportado.

Requisitos

Para configurar el acceso a KACLS, asegúrate de tener lo siguiente:

  • Un ID de cliente de OAuth que pueden usar las aplicaciones instaladas. El ID de cliente del desencriptador debe ser un ID de cliente que pueda usar el software de escritorio instalado y que sea específico de la utilidad del desencriptador. Este ID de cliente debe ser diferente de los que se configuran en la Consola del administrador de Google para las aplicaciones web, de escritorio y para dispositivos móviles del CSE.
  • El secreto del cliente de OAuth asociado con el ID de cliente, si tu IdP es Google No necesitas el secreto del cliente si usas un IdP externo.
  • La dirección de correo electrónico de la cuenta de usuario que se autentica en el KACLS para el descifrado de exportación. Puede ser tu propia cuenta o una cuenta especial que configuraron tus administradores. Deberás acceder como este usuario cuando ejecutes la utilidad de desencriptación, por lo que es probable que necesites la contraseña de la cuenta.

Extremos de KACLS

La configuración del KACLS debe permitir que la cuenta de usuario y el ID de cliente llamen a los extremos que se usan para la desencriptación de la exportación. Por lo general, el administrador del KACLS puede configurar esto por ti. El extremo de KACLS al que llama el desencriptador depende del tipo de contenido encriptado:

  • CSE de Calendario: privilegedunwrap
  • CSE de Documentos, CSE de Hojas de cálculo y CSE de Presentaciones: privilegedunwrap
  • Drive CSE: privilegedunwrap
  • CSE de Gmail (con certificados S/MIME): privilegedprivatekeydecrypt
  • CSE de Gmail (sin certificados S/MIME): privilegedunwrap

Configura el acceso a S/MIME de Gmail (opcional)

Si desencriptas mensajes de Gmail con encriptación del cliente que usan S/MIME desde Google Vault, el desencriptador debe llamar a la API pública de Gmail para descargar datos adicionales. Las exportaciones de Google Vault no incluyen los certificados S/MIME de cada usuario, por lo que el desencriptador los recupera automáticamente de Gmail según sea necesario.

Para permitir que el desencriptador solicite los certificados de S/MIME de cualquier usuario de tu organización, debes pasar una credencial de cuenta de servicio para todo el dominio al desencriptador. Para obtener detalles sobre cómo configurar esta cuenta de servicio y crear un archivo JSON que contenga la credencial privada de la cuenta de servicio, consulta Solo para Gmail: Configura S/MIME para la encriptación del cliente.

Nota: Esta configuración no es necesaria si desencriptas mensajes con encriptación del cliente desde la herramienta de Exportación de datos o si desencriptas mensajes encriptados de Vault que no tienen certificados S/MIME.

El desencriptador no puede recuperar los certificados S/MIME de un usuario y, por lo tanto, no puede desencriptar los mensajes encriptados del cliente que usan S/MIME si se cumple alguna de las siguientes condiciones:

Para asegurarte de que se desencripten los mensajes con encriptación del cliente con certificados de S/MIME, puedes hacer lo siguiente:

  • Descifrar de inmediato los mensajes exportados de Vault mientras los certificados sigan disponibles
  • Usa la herramienta de exportación de datos para exportar mensajes. Estas exportaciones incluyen los certificados de cada usuario.

Primero, crea un archivo de configuración

El desencriptador usa OAuth y tu IdP para adquirir una credencial de autenticación que incluye en cada solicitud de privilegedunwrap y privilegedprivatekeydecrypt de KACLS. Tu configuración de OAuth no cambiará con frecuencia, por lo que puedes crear un archivo de configuración (config) que contenga tu configuración de OAuth para evitar tener que establecerla cada vez que ejecutes el desencriptador. Para obtener detalles sobre las marcas de los archivos de configuración, consulta las secciones Marcas de creación de configuración y Marcas de actualización de configuración a continuación.

Nota: Si bien este paso de configuración es opcional, se recomienda para simplificar el uso de la utilidad de desencriptación. Si no creas un archivo de configuración, puedes pasar las marcas de OAuth en la línea de comandos para cada ejecución del desencriptador. Si haces ambas cosas, los valores de las marcas que se pasan en la línea de comandos anulan los valores que se leen del archivo de configuración.

Ejemplo: Crea una configuración para el IDP de Google

En Windows

En macOS o Linux

Ahora puedes actualizar la configuración para agregar el secreto del cliente de OAuth en el flujo de concesión del código de autorización.

En Windows

En macOS o Linux

Si tu IdP no es de Google: No agregues el secreto de cliente, que solo necesita el IdP de Google. Muchos otros IdP rechazarán las solicitudes de autenticación cuando esté presente el secreto del cliente.

Desencripta archivos y correos electrónicos de CSE

La utilidad de desencriptación funciona con archivos de exportación descomprimidos.

  1. Después de crear una exportación en la herramienta de Exportación de datos o en Google Vault, descarga los archivos ZIP en tu computadora local.
  2. Descomprime los archivos en un directorio o carpeta local.
  3. Ejecuta el desencriptador en los archivos descomprimidos y guarda los archivos de texto sin formato desencriptados en un directorio diferente.

Ejemplo: Uso de un archivo de configuración preparado sin la credencial de la cuenta de servicio

En Windows

En macOS o Linux

Ejemplo: Uso de un archivo de configuración preparado con una credencial de cuenta de servicio

En Windows

En macOS o Linux

Ejemplo: No se usa un archivo de configuración ni una credencial de cuenta de servicio

En Windows

En macOS o Linux

Marcas de desencriptador

Una marca de desencriptador puede incluir 1 o 2 guiones iniciales. Por ejemplo, la marca para mostrar información de ayuda puede ser cualquiera de las siguientes:

-help

--help

Nota: Solo puedes usar guiones para las marcas, no barras (/).

Las marcas para los argumentos de cadena pueden incluir un signo igual o un espacio para especificar el argumento. Por ejemplo, las siguientes marcas son equivalentes:

-action=decrypt

-action decrypt

Marcas de ayuda

Marcar Descripción
-version Imprime la cadena de versión. Si te comunicas con el equipo de asistencia, asegúrate de proporcionar la versión del desencriptador que usas.
-help Imprime una pantalla de todas las marcas como referencia.
-logfile Especifica el archivo de salida en el que se escribirán los registros de ejecución. El texto [TIMESTAMP] en el nombre del archivo se reemplazará por la hora de inicio de la ejecución.

Marcas de desencriptación

Marcar Descripción
-action decrypt Opcional. Especifica que el modo de la utilidad es desencriptar archivos CSE. Este es el modo predeterminado.
-email <email_address> Opcional. Es la dirección de correo electrónico que podría completarse previamente en la pantalla de autenticación del IdP que se abre en el navegador.
-issuer <uri> Es obligatorio, a menos que se encuentre en el archivo de configuración. Es el URI de descubrimiento de la entidad emisora de OAuth para el IdP, como https://accounts.google.com. Para obtener más información, consulta Conecta tu proveedor de identidad para usar la encriptación del cliente.
-client_id <oauth_client_id> Es obligatorio, a menos que se encuentre en el archivo de configuración. Es un ID de cliente de OAuth del IdP especificado en la marca -issuer. Para obtener más información, consulta Conecta tu proveedor de identidad para usar la encriptación del cliente.
-client_secret <oauth_client_secret> Es opcional, aunque algunos IdP pueden requerirlo. Es la parte del secreto del cliente de OAuth que corresponde al ID de cliente especificado en la marca -client_id.
-pkce
-nopkce
Habilita o inhabilita PKCE (clave de prueba para el intercambio de código) en el flujo de otorgamiento de código de autorización. Si no se especifica ninguna marca, el desencriptador se habilita de forma predeterminada.
-input <directory_or_file>

Obligatorio. Es el directorio de entrada o el archivo de exportación.

Si especificas un directorio, el desencriptador recorrerá de forma recursiva todo el árbol de directorios para encontrar todos los archivos de CSE exportados. Usa esta opción para desencriptar de forma masiva todos los archivos exportados de un archivo de exportación expandido.

Si especificas 1 archivo de CSE exportado, el desencriptador desencriptará solo ese archivo. Si no es un archivo de CSE, el desencriptador te pedirá que te autentiques en el IdP, pero no desencriptará ningún archivo.

-output <directory> Obligatorio. Directorio en el que se guardarán los archivos desencriptados.
-overwrite
-nooverwrite
Habilita o inhabilita el reemplazo de archivos de salida de texto no cifrado existentes. Si está inhabilitado (opción predeterminada), el desencriptador omitirá la desencriptación de los archivos de texto cifrado si el archivo de texto sin formato ya existe.
-workers <integer>

Opcional. Es la cantidad de trabajadores de desencriptación paralelos. Si no usas esta marca, el desencriptador usará de forma predeterminada la cantidad de núcleos de procesador y subprocesos múltiples que informa el sistema operativo.

Si tu computadora tiene problemas de rendimiento o recibes un error de procesamiento múltiple cuando descifras archivos, puedes establecer esta marca en 1 para inhabilitar el procesamiento paralelo.

-config <file>

Opcional. Es un archivo de configuración que contiene valores de marcas almacenados. Usa un archivo de configuración para evitar pegar las mismas marcas de línea de comandos cada vez que descifres archivos. Para obtener más información, consulta las marcas de creación de la configuración y las marcas de actualización de la configuración a continuación.

Los valores de las marcas que configures en la línea de comandos tendrán prioridad sobre los valores del archivo de configuración.

Nota: Si especificas un archivo en la configuración y no se encuentra, se produce un error.

-credential <file> Opcional. Especifica un archivo JSON que contenga una clave privada de la cuenta de servicio para todo el dominio. Cuando se especifica, el desencriptado de los mensajes de la CSE de Gmail consultará la API de Gmail para obtener los certificados S/MIME y los metadatos del servicio de lista de control de acceso a claves (KACLS) de cada usuario.

Marcas de creación de la configuración

Usa estas marcas para guardar las marcas de línea de comandos de desencriptación que se usan con frecuencia en un archivo de configuración para volver a usarlas. Un archivo de configuración tiene el formato JSON, que contiene texto legible para los usuarios.

Marcar Descripción
-action createconfig Obligatorio. Anula el modo de ejecución predeterminado para ejecutar el modo de creación de archivos de configuración.
-config file Obligatorio. Especifica el nombre del archivo de salida en el que deseas guardar la configuración. Si el archivo ya existe, se sobrescribirá sin mostrar una advertencia.
-email <email_address>
-discovery_uri <uri>
-client_id <oauth_client_id>
-client_secret <oauth_client_secret>
-pkce
-nopkce
Opcional. Todos los valores de marcas especificados se guardarán en el archivo de configuración para su reutilización.

Marcas de actualización de la configuración

Usa estas marcas para actualizar los valores de las marcas en un archivo de configuración.

Marcar Descripción
-action updateconfig Obligatorio. Anula el modo de ejecución predeterminado para ejecutar el modo de actualización del archivo de configuración.
-config file Obligatorio. Es el archivo de configuración que deseas actualizar. Si el archivo no existe, se produce un error.
-email <email_address>
-discovery_uri <uri>
-client_id <oauth_client_id>
-client_secret <oauth_client_secret>
-pkce
-nopkce

Todas son opcionales. Se reemplazan los valores de las marcas que especificas en la línea de comandos, y se conservan los demás valores de las marcas en la configuración. Para anular una marca almacenada, especifica un valor en blanco.

Nota: Si una edición daña el formato JSON, es probable que se produzca un error cuando uses la configuración en el descifrador.

Marcas informativas

Usa estas marcas para imprimir información legible sobre los archivos de CSE.

Marcar Descripción
-action info (Obligatorio) Anula el modo de ejecución predeterminado para ejecutar en modo informativo.
-input directory_or_file

(Obligatorio) Especifica el directorio de entrada o el archivo de exportación

Si especificas un directorio, la utilidad analiza de forma recursiva todo el árbol de directorios en busca de todos los archivos de exportación de CSE. Si especificas un archivo, la utilidad proporciona información solo para ese archivo.

Puedes repetir esta marca para especificar archivos o directorios de entrada adicionales. Ejemplo:

$ decrypter -action=info -input=file1.gcse -input=file2.gcse -input=file3.gcse