Solo Gmail: Configura S/MIME para la encriptación del cliente

Ediciones compatibles con esta función: Frontline Plus, Enterprise Plus, Education Standard y Education Plus. Comparar tu edición

Para usar S/MIME con la encriptación del cliente (CSE) de Google Workspace para Gmail, debes habilitar la API de Gmail y otorgarle acceso a toda tu organización. Luego, para cada usuario, debes usar la API de Gmail para subir un certificado (clave pública) de S/MIME (Extensiones de Correo de Internet de Propósitos Múltiples/Seguro) y metadatos de clave privada a Gmail. Si usas un servicio de claves de encriptación, también deberás encriptar (o "unir") los metadatos de la clave privada de los usuarios con tu servicio de claves.

En cualquier momento, puedes cambiar a un servicio de claves diferente subiendo nuevos certificados S/MIME y metadatos de claves privadas encriptados por tu nuevo servicio.

Requisitos

Para completar los pasos de configuración de S/MIME para los usuarios, necesitas lo siguiente:

  • Privilegios de administrador avanzado para la Cuenta de Google de tu organización, que necesitas para proporcionar acceso a todo el dominio a la API de Gmail.
  • Acceso a las herramientas del servicio de claves de encriptación de tu organización o a su personal de asistencia.
  • Experiencia de trabajo con APIs y secuencias de comandos de Python

Acerca de S/MIME

S/MIME es un protocolo estándar de la industria ampliamente aceptado para firmar y encriptar digitalmente los mensajes de correo electrónico con el objetivo de garantizar su integridad y seguridad. La CSE de Gmail se basa en el estándar S/MIME 3.2 del IETF para enviar y recibir datos MIME seguros. S/MIME requiere que los remitentes y los destinatarios de los correos electrónicos tengan certificados X.509 que Gmail considere confiables.

Nota: Como alternativa, puedes usar S/MIME sin la capa adicional de encriptación y privacidad que proporciona la CSE. Usa esta alternativa solo si no necesitas evitar que los servidores de Google desencripten tus datos con la CSE. Para obtener más detalles, consulta Activa S/MIME alojado para la encriptación de mensajes.

Antes de comenzar

Asegúrate de haber completado los siguientes pasos:

  1. Elige un servicio de claves.
  2. Conéctate a tu proveedor de identidad (IdP).
  3. Configura tu servicio de claves externo o la encriptación de claves de hardware.
  4. Asigna un servicio de claves o una encriptación de claves de hardware a unidades organizativas o grupos.

    Si usas varios servicios de claves, asegúrate de que estén asignados a las unidades organizativas o los grupos de configuración adecuados.

Configura la API de Gmail

Nota: El uso de las APIs requiere conocimientos de programación.

Paso 1: Habilita la API de Gmail

  1. Crea un proyecto de GCP nuevo. Para obtener más detalles, consulta Crea y administra proyectos.

    Toma nota del ID del proyecto: Lo usarás para otorgarle a la API acceso a todo el dominio.

  2. Ve a la Consola de APIs de Google y habilita la API de Gmail para el proyecto nuevo. Para obtener más detalles, consulta Habilita una API en tu proyecto de Google Cloud.

Paso 2: Crea una cuenta de servicio para todo el dominio

  1. En la consola de Google Cloud, ve a la página Cuentas de servicio y crea una cuenta de servicio para todo el dominio. Para obtener más información, consulta Crea y administra cuentas de servicio.
  2. Crea una clave privada de cuenta de servicio y guárdala en un archivo JSON en tu sistema local, como svc_acct_creds.json. Este archivo contiene las credenciales que usarás cuando configures Gmail para los usuarios. Para obtener más información, consulta Crea y administra claves de cuentas de servicio.

Paso 3: Otorga acceso a la API de Gmail en todo el dominio

En este paso, usarás la cuenta de servicio que creaste para otorgar a la API de Gmail acceso de edición a todos tus usuarios.

  1. Sigue las instrucciones para Controlar el acceso a la API con la delegación de todo el dominio.
  2. Ingresa lo siguiente cuando se te solicite:

    ID de cliente: Es el ID de cliente de la cuenta de servicio creada en el paso 2 anterior.

    Permisos de OAuth: gmail.settings.readonly y gmail.settings.basic o gmail.settings.sharing

Activa la CSE de Gmail para los usuarios

Activa la CSE para Gmail en las unidades organizativas o los grupos. Para obtener más detalles, consulta Cómo activar o desactivar la encriptación del cliente.

Nota: En el caso de las unidades organizativas, puedes configurar que todos los correos electrónicos (redactados, respondidos y reenviados) se encripten de forma predeterminada. El usuario puede desactivar la encriptación si es necesario. Se requiere el complemento de Assured Controls o Assured Controls Plus.

Configura certificados S/MIME de CSE para los usuarios

Después de configurar la API de Gmail y activar la CSE de Gmail para los usuarios en la Consola del administrador, puedes configurar los certificados S/MIME de la CSE y los metadatos de la clave privada para los usuarios.

Paso 1: Prepara los certificados S/MIME y los metadatos de la clave privada

Para cada usuario que use la CSE de Gmail para enviar o recibir correos electrónicos, haz lo siguiente:

Con una autoridad certificadora (AC), genera un par de claves públicas y privadas de S/MIME con una cadena de certificados. El certificado de hoja de S/MIME debe incluir la dirección de Gmail principal del usuario como nombre de asunto o asunto de extensión de SAN.

Puedes realizar cualquiera de las siguientes acciones:

  • Usa un certificado raíz de la AC de confianza para Google: Para obtener una lista de certificados raíz, consulta Certificados de la AC de confianza para Gmail para S/MIME.
  • Usa una CA que no sea de confianza para Google: Por ejemplo, para usar tu propia CA, puedes agregar su certificado raíz en la Consola del administrador. Para obtener más información, consulta Cómo administrar certificados de confianza para S/MIME.

    Nota: Si usas una AC que no es de confianza para Google y los usuarios enviarán correos electrónicos encriptados del cliente fuera de tu organización, el receptor también debe confiar en la AC.

Paso 2: Une los certificados y los metadatos de la clave privada

Usa tu servicio de encriptación de claves para encriptar o "unir" los metadatos de las claves privadas de S/MIME. Para ello, comunícate con el servicio de llaves o sigue las instrucciones que te proporcione.

Si usas la encriptación de claves de hardware, asegúrate de omitir este paso y no empaquetar los metadatos de la clave privada para los usuarios que usarán la encriptación de claves de hardware. En este caso, no es necesario unir los metadatos porque las claves privadas de los usuarios para Gmail residen en sus tarjetas inteligentes. Se requiere el complemento de Assured Controls o Assured Controls Plus.

Paso 3: Sube los certificados S/MIME y los metadatos de la clave privada de los usuarios a Gmail

Usa la API de Gmail para subir la cadena de certificados de clave pública S/MIME y los metadatos de la clave privada de cada usuario a Gmail y establecerlos como las claves preferidas de los usuarios creando una identidad.

Nota: Debes usar la API de Gmail para subir certificados, no el cliente de Gmail. Además, ten en cuenta que, cuando activas la CSE para Gmail, se inhabilita la capacidad de subir certificados desde el cliente de Gmail.

Completa los siguientes pasos para cada usuario con el archivo de clave privada que descargaste cuando creaste una cuenta de servicio para todo el dominio para la autenticación:

  1. Sube la cadena de certificados y los metadatos de la clave privada con la llamada a la API de Gmail keypairs.create.
  2. Habilita el par de claves para la dirección de correo electrónico principal del usuario con la llamada a la API de Gmail identities.create.

    La llamada identities.create requiere el ID del par de claves que se devuelve en el cuerpo de la respuesta de la llamada keypairs.create.

    Nota: Habilitar el par de claves para la dirección de correo electrónico de un usuario:

    • Crea una identidad de CSE que esté autorizada para enviar correos electrónicos desde la cuenta del usuario.
    • Configura Gmail para que use los metadatos de la clave privada para firmar los correos electrónicos salientes con CSE.
    • Publica el certificado en un repositorio compartido de todo el dominio para que otros usuarios de CSE de tu organización puedan encriptar los mensajes que se envíen a este usuario.

Para completar estos pasos, usa una secuencia de comandos que interactúe con la API de Gmail. Puedes realizar cualquiera de las siguientes acciones:

  • Escribe tu propio guion.
  • Usa la secuencia de comandos de Python de ejemplo que proporciona Google. Para obtener instrucciones, consulta Usa la secuencia de comandos de Python de Google para subir los certificados y las claves unidas de los usuarios a Gmail más adelante en esta página.

    Nota: Esta secuencia de comandos se aplica solo a los usuarios que usarán un servicio de claves para encriptar el contenido de Gmail. Para los usuarios que usarán la encriptación de claves de hardware, deberás crear una secuencia de comandos diferente para subir los metadatos de su clave privada desencapsulada.

Después de subir los certificados, pueden transcurrir hasta 24 horas para que estén disponibles en Gmail, aunque, por lo general, el proceso es mucho más rápido.

Opcional: Usa la secuencia de comandos de Python de ejemplo de Google para subir los certificados y las claves privadas unidas de los usuarios a Gmail

Para completar el paso 3 anterior, puedes usar la secuencia de comandos de Python que proporciona Google en lugar de escribir tu propia secuencia de comandos.

Nota: Esta secuencia de comandos solicita los 3 permisos que puedes usar para otorgar acceso a la API de Gmail en todo el dominio (que se mencionaron anteriormente en esta página): gmail.settings.readonly, gmail.settings.basic y gmail.settings.sharing. Para usar la secuencia de comandos, puedes habilitar los tres permisos o quitar de la secuencia de comandos el que no estés usando.

Descarga la secuencia de comandos

Descarga el paquete de secuencias de comandos de Python (.zip) en tu computadora (Mac, Linux o Windows) y extrae los archivos en tu directorio de trabajo.

Crea un entorno virtual y, luego, instala los módulos

En una línea de comandos de tu directorio de trabajo, ingresa los siguientes comandos:

Invoca la secuencia de comandos

Sube los certificados y las claves del usuario

Paso 1: Crea un directorio para almacenar todas las claves privadas empaquetadas

  • Por ejemplo, puedes crear el directorio $root/wrapped_keys.
  • El nombre de archivo de cada clave privada empaquetada debe ser la dirección de correo electrónico completa del usuario con la extensión .wrap. Por ejemplo: $root/wrapped_keys/user1@example.com.wrap
  • Asegúrate de que el archivo de clave privada unida tenga un objeto JSON con dos campos obligatorios:

Paso 2: Crea un directorio para almacenar todos los certificados

  • Los certificados deben estar en el formato PEM P7, por lo que puedes crear el directorio $root/p7pem_certs.
  • Asegúrate de que el archivo de certificado contenga la cadena completa hasta la autoridad de certificación (AC) raíz.
  • El nombre de archivo de cada certificado debe ser la dirección de correo electrónico completa del usuario con la extensión .p7pem. Por ejemplo: $root/p7pem_certs/user1@example.com.p7pem

Si tienes un archivo P7B, puedes usar el siguiente comentario de openssl para convertirlo al formato PEM P7:

Paso 3: Sube los pares de claves y las identidades de los usuarios

Para este paso, necesitarás el archivo JSON que contiene las credenciales de la cuenta de servicio, que guardaste en tu computadora en el Paso 2: Crea una cuenta de servicio anterior.

La forma más sencilla de subir las identidades y los pares de claves de los usuarios es ejecutar el comando insert. Ten en cuenta que cada comando debe tener un argumento, por ejemplo:

Como alternativa, puedes hacer lo siguiente para cada usuario:

  1. Ejecuta insert_keypair y toma nota del ID del par de claves.
  2. Ejecuta insert_identity con ese ID de par de claves.

También puedes obtener el ID del par de claves ejecutando el comando list_keypair.

Paso 4: Verifica que los usuarios tengan pares de claves y de identidades de CSE

Asegúrate de que los usuarios tengan pares de claves e identidades válidos en Gmail. Para ello, ejecuta los siguientes comandos para cada usuario:

list_keypair

list_identity

Cambia a otro servicio de claves para la CSE de Gmail

Si quieres cambiar a un servicio de claves diferente para la CSE de Gmail, repite los pasos 2 y 3 de la sección Configura certificados S/MIME de CSE para los usuarios que se encuentra más arriba, con tu nuevo servicio de claves para encriptar las claves privadas.

Nota: Subir certificados nuevos para los usuarios no migra el contenido al nuevo servicio de claves. Sin embargo, los usuarios pueden seguir accediendo a los correos electrónicos encriptados con los certificados anteriores y los metadatos de la clave privada unidos por el servicio de claves anterior.

Migra mensajes a Gmail como correos electrónicos con encriptación del cliente

Ahora que la CSE de Gmail está configurada, puedes importar mensajes de forma opcional. Para obtener más información, consulta Migra mensajes a Gmail como correos electrónicos con encriptación del cliente.