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 desencriptador para desencriptar archivos y mensajes de correo electrónico con encriptación 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 similar. Después de la desencriptación, puedes convertir estos archivos 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 files.
  • Si exportas mensajes de la CSE de Gmail desde Google Vault, debes hacerlo en formato MBOX. El desencriptador no puede procesar exportaciones en formato PST.
  • La utilidad de desencriptador 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 desencriptador no puede desencriptar mensajes (incluidos todos los mensajes en un subproceso) encriptados sin certificados S/MIME (E2EE de Gmail) en otra organización.

Requisitos del sistema

  • Microsoft Windows versión 10 o 11 de 64 bits
  • macOS 12 (Monterey) o versiones posteriores (se admiten procesadores Apple e Intel)
  • Linux x86_64

Descarga el desencriptador

Abre el archivo o el 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á el KACLS; de lo contrario, el KACLS rechazará los intentos del desencriptador de desencriptar el contenido exportado.

Requisitos

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

  • Un ID de cliente de OAuth que puedan 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 de desencriptador. Este ID de cliente debe ser diferente de los IDs de cliente establecidos en la Consola del administrador de Google para las aplicaciones web, de escritorio y para dispositivos móviles de la CSE.
  • El secreto de cliente de OAuth asociado con el ID de cliente, si tu IdP es Google. No necesitas el secreto de cliente si usas un IdP de terceros.
  • La dirección de correo electrónico de la cuenta de usuario que se autentica en el KACLS para la desencriptación de exportación. Puede ser tu propia cuenta o una cuenta especial que hayan configurado tus administradores. Debes acceder como este usuario cuando ejecutes la utilidad de desencriptador, por lo que es probable que necesites la contraseña de la cuenta.

Extremos de KACLS

La configuración de 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 exportación. Por lo general, el administrador de 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
  • CSE de Drive: 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 según sea necesario desde Gmail.

Para permitir que el desencriptador solicite los certificados S/MIME de cualquier usuario de tu organización, debes pasar una credencial de cuenta de servicio en 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 Gmail: Configura S/MIME para la encriptación del cliente.

Nota: Esta configuración no es obligatoria si desencriptas mensajes con encriptación del cliente desde la herramienta de exportación de datos o mensajes encriptados desde 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 mensajes con encriptación del cliente que usan S/MIME si se cumple alguna de las siguientes condiciones:

Para garantizar la desencriptación de mensajes con encriptación del cliente con certificados S/MIME, puedes hacer lo siguiente:

  • Desencriptar de inmediato los mensajes exportados desde Vault mientras los certificados sigan disponibles
  • Usar 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 privilegedunwrap y privilegedprivatekeydecrypt de KACLS. La configuración de OAuth no cambiará con frecuencia, por lo que puedes crear un archivo de configuración que contenga tu configuración de OAuth para evitar tener que configurarla cada vez que ejecutes el desencriptador. Para obtener detalles sobre las marcas de archivos de configuración, consulta las marcas de creación de configuración y las 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 desencriptador. Si no creas un archivo de configuración, puedes pasar las marcas de OAuth en la línea de comandos a 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 de cliente de OAuth en el flujo de otorgamiento de código de autorización.

En Windows

En macOS o Linux

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

Desencripta archivos y correos electrónicos de la CSE

La utilidad de desencriptador opera sobre archivos de exportación descomprimidos.

  1. Después de crear una exportación en la herramienta de exportación de datos o 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: Usa un archivo de configuración preparado sin la credencial de la cuenta de servicio

En Windows

En macOS o Linux

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

En Windows

En macOS o Linux

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

En Windows

En macOS o Linux

Marcas del 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

Marca 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

Marca Descripción
-action decrypt Opcional. Especifica que el modo de la utilidad es desencriptar archivos de la CSE. Este es el modo predeterminado.
-email <email_address> Opcional. La dirección de correo electrónico que se puede propagar previamente en la pantalla de autenticación del IdP que se abre en el navegador.
-issuer <uri> Obligatorio, a menos que esté en el archivo de configuración. 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 Conéctate con el proveedor de identidad para la encriptación del cliente.
-client_id <oauth_client_id> Obligatorio, a menos que esté en el archivo de configuración. Un ID de cliente de OAuth del IdP especificado en la marca -issuer. Para obtener más información, consulta Conéctate con el proveedor de identidad para la encriptación del cliente.
-client_secret <oauth_client_secret> Opcional, aunque algunos IdPs pueden requerirlo. La parte del secreto de 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. 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 la 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 la CSE exportado, el desencriptador desencriptará solo ese archivo. Si no es un archivo de la CSE, el desencriptador te solicitará que te autentiques en el IdP, pero no desencriptará ningún archivo.

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

Opcional. La cantidad de trabajadores de desencriptación paralelos. Si no usas esta marca, el desencriptador usa de forma predeterminada la cantidad de núcleos de procesador y subprocesos informados por el sistema operativo.

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

-config <file>

Opcional. 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 desencriptas archivos. Para obtener más información, consulta las marcas de creación de configuración y las marcas de actualización de configuración a continuación.

Los valores de las marcas que estableces en la línea de comandos tienen prioridad sobre los valores de la 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 cuenta de servicio en todo el dominio. Cuando se especifica, la desencriptación 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 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 formato JSON, que contiene texto legible por humanos.

Marca 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 una advertencia.
-email <email_address>
-discovery_uri <uri>
-client_id <oauth_client_id>
-client_secret <oauth_client_secret>
-pkce
-nopkce
Opcional. Los valores de las marcas especificadas se guardarán en el archivo de configuración para volver a usarlos.

Marcas de actualización de configuración

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

Marca Descripción
-action updateconfig Obligatorio. Anula el modo de ejecución predeterminado para ejecutar el modo de actualización de archivos de configuración.
-config file Obligatorio. 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

Todo opcional. Se sobrescriben los valores de las marcas que especificas en la línea de comandos; 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 desencriptador.

Marcas informativas

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

Marca 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 la CSE. Si especificas un archivo, la utilidad proporciona información solo para ese archivo.

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

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