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 S/MIME (Extensiones de Correo de Internet de Propósitos Múltiples/Seguro) (clave pública) 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 clave privada de los usuarios con tu servicio de claves.

En cualquier momento, puedes cambiar a otro servicio de claves subiendo nuevos certificados S/MIME y metadatos de clave privada encriptados por tu nuevo servicio.

Requisitos

Para completar los pasos para configurar S/MIME para los usuarios, necesitas lo siguiente:

  • Privilegios de superadministrador 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 en el uso de 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 mensajes de correo electrónico para garantizar la integridad y la seguridad de los mensajes. 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 la 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 correspondientes.

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 nuevo proyecto de GCP. Para obtener más detalles, consulta Crea y administra proyectos.

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

  2. Ve a la Consola de API 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 detalles, 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 detalles, consulta Crea y administra claves de cuentas de servicio.

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

En este paso, usarás la cuenta de servicio que creaste para otorgar acceso de edición a la API de Gmail 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 del cliente: Es el ID del cliente de la cuenta de servicio creada en el Paso 2 anterior.

    Alcances de OAuth: gmail.settings.readonly y ya sea gmail.settings.basic o gmail.settings.sharing

Activa la CSE de Gmail para los usuarios

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

Nota: En el caso de las unidades organizativas, puedes configurar que todos los correos electrónicos (redacción, respuesta y reenvío) se encripten de forma predeterminada. El usuario puede desactivar la encriptación si es necesario. Requiere tener el complemento de Assured Controls o Assured Controls Plus.

Configura los 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 CSE y los metadatos de clave privada para tus usuarios.

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

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

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

Puedes hacer cualquiera de las siguientes acciones:

  • Usa un certificado raíz de CA en el que confíe Google: Para obtener una lista de los certificados raíz, consulta Certificados de CA en los que confía Gmail para S/MIME.
  • Usa una CA en la que Google no confíe: Por ejemplo, para usar tu propia CA, puedes agregar su certificado raíz en la Consola del administrador. Para obtener más detalles, consulta Administra certificados de confianza para S/MIME.

    Nota: Si usas una CA en la que Google no confía y los usuarios enviarán correos electrónicos con encriptación del cliente fuera de tu organización, el destinatario también debe confiar en la CA.

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

Usa tu servicio de claves de encriptación para encriptar o "unir" los metadatos de las claves privadas S/MIME. Comunícate con tu servicio de claves para hacerlo o sigue las instrucciones que te proporcionen.

Si usas la encriptación de claves de hardware, asegúrate de omitir este paso y no unir los metadatos de 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. Requiere tener el complemento de Assured Controls o Assured Controls Plus.

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

Usa la API de Gmail para subir la cadena de certificados S/MIME de clave pública y los metadatos de clave privada de cada usuario a Gmail, y configúralos como las claves preferidas para 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 la capacidad de subir certificados desde el cliente de Gmail se inhabilita cuando activas la CSE para 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 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 muestra 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 hace lo siguiente:

    • Crea una identidad de CSE que está autorizada para enviar correos electrónicos desde la cuenta del usuario.
    • Configura Gmail para usar los metadatos de clave privada para firmar el correo electrónico CSE saliente.
    • Publica el certificado en un repositorio compartido para todo el dominio, de modo que otros usuarios de CSE de tu organización puedan encriptar los mensajes enviados a este usuario.

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

  • Escribe tu propia secuencia de comandos.
  • Usa la secuencia de comandos de muestra de Python que proporciona Google. Para obtener instrucciones, consulta Usa la secuencia de comandos de Python de Google para subir los certificados de los usuarios y las claves unidas 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 sus metadatos de clave privada no unidos.

Después de subir los certificados, pueden tardar hasta 24 horas en estar disponibles en Gmail, aunque suele ser mucho más rápido.

(Opcional) Usa la secuencia de comandos de muestra de Python de Google para subir los certificados de los usuarios y las claves privadas unidas 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 alcances que puedes usar para otorgar acceso a todo el dominio a la API de Gmail (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 alcances o quitar el alcance que no usas de la secuencia de comandos.

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

Con una línea de comandos desde 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 unidas

  • Por ejemplo, puedes crear el directorio $root/wrapped_keys.
  • El nombre de archivo de cada clave privada unida 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 formato P7 PEM, por lo que puedes crear el directorio $root/p7pem_certs.
  • Asegúrate de que el archivo de certificado contenga la cadena completa a la autoridad certificadora (CA) 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 P7 PEM:

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 fácil de subir los pares de claves y las identidades 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 del 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 e identidades de CSE

Para asegurarte de que los usuarios tengan pares de claves e identidades válidos en Gmail, ejecuta los siguientes comandos para cada usuario:

list_keypair

list_identity

Cómo cambiar a otro servicio de claves para la CSE de Gmail

Si quieres cambiar a otro servicio de claves para la CSE de Gmail, repite los pasos 2 y 3 en Configura los certificados S/MIME de CSE para los usuarios anteriores, usando tu nuevo servicio de claves para unir 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 al correo electrónico encriptado con los certificados anteriores y los metadatos de 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 detalles, consulta Migra mensajes a Gmail como correos electrónicos con encriptación del cliente del cliente.