
S/MIME es un método consolidado de envío de correos electrónicos cifrados y firmados, basado en estándares públicos de Internet. Nos encontramos regularmente con requisitos para S/MIME, especialmente de industrias reguladas como la banca, la salud y las finanzas.
S/MIME es un método establecido desde hace tiempo para enviar correos electrónicos cifrados y firmados, basado en estándares públicos de Internet. Regularmente nos encontramos con requisitos para S/MIME, especialmente de industrias reguladas como la banca, la salud y las finanzas. S/MIME a menudo es requerido al comunicarse entre negocios y agencias gubernamentales, por ejemplo.
Otro estándar de correo seguro, PGP (divertidamente llamado "Pretty Good Privacy"), se utiliza más para comunicaciones seguras de persona a persona. Es menos popular ahora porque las versiones para consumidores de clientes de correo web populares como Gmail y Outlook/Hotmail no pueden mostrar correo cifrado. Esa es una razón por la cual mucha comunicación de persona a persona que requiere privacidad se ha trasladado a plataformas como WhatsApp (y muchas otras) que ofrecen cifrado nativo de extremo a extremo.
Tanto PGP como S/MIME requieren un cliente de correo que pueda usar claves y certificados. Muchos clientes de escritorio y móviles, incluidos Apple Mail, Microsoft Outlook y Mozilla Thunderbird, cumplen con los requisitos, al igual que las versiones empresariales de algunos clientes web como Microsoft Office 365. Configurar las claves requiere trabajo, pero muchas organizaciones aún lo consideran valioso, a pesar de las recientes revelaciones de vulnerabilidades que requieren soluciones para bloquear la carga de contenido remoto.
S/MIME ha existido desde 1995 y ha pasado por varias revisiones; la versión actual está cubierta por RFC 5751. Requiere intercambio de claves públicas, una tarea no trivial que a menudo requiere el apoyo de un equipo de TI o recurso similar. Para las organizaciones que ejecutan infraestructura de correo electrónico en las instalaciones, la implementación de S/MIME requiere consideraciones adicionales para plataformas como PowerMTA y Momentum, que cubrimos en nuestra guía sobre S/MIME para correo seguro en las instalaciones. Sin embargo, hay enfoques automatizados para simplificar este proceso, como recoger claves públicas de los destinatarios a través de sistemas basados en correo electrónico que pueden simplificar la gestión de claves para flujos de correo electrónico generados por aplicaciones. Aquí es donde entran en juego soluciones comerciales de empresas como los socios de SparkPost Virtru y Echoworkx, haciendo la seguridad más fácil para el correo empresarial de persona a persona (vea nuestro manual de SparkPost/Echoworkx para más información).
Dicho esto, profundicemos un poco más en el viejo y sencillo S/MIME y veamos qué podemos hacer con él.
¿Por qué debería I preocuparme?
La versión corta:
La encriptación te brinda privacidad de mensajes.
Firmar te ofrece autenticación (del remitente), no repudio de origen y verificaciones de integridad del mensaje.
S/MIME funciona de manera diferente a DKIM y DMARC y puede coexistir con ellos.
Privacidad
Si tus mensajes no contienen nada personal, privado o legalmente importante, probablemente no necesitarás pensar en S/MIME. Los sistemas modernos de entrega de correo electrónico como SparkPost ya usan “TLS oportunista” para asegurar el transporte de mensajes desde el servidor de envío al servidor del destinatario.
La parte “oportunista” significa, sin embargo, que si el servidor de envío no puede negociar una conexión segura, enviaremos el correo en texto plano. Esto no es adecuado si deseas garantizar que el mensaje sea seguro en todo momento. Puedes echar un vistazo a qué proveedores de buzones de correo afirman soportar TLS y cuáles realmente lo hacen. Suponiendo que el servidor del destinatario soporte TLS, tu mensaje se asegura de esta manera:

TLS asegura las conversaciones entre servidores de correo (lo que es por eso que se llama Seguridad de Capa de Transporte). MIME (incluyendo S/MIME) se ocupa del contenido del mensaje y su tratamiento, y puede considerarse como parte de la “capa de presentación”.
S/MIME asegura el contenido del mensaje en todo momento (“de extremo a extremo”) desde el origen del mensaje hasta el cliente de correo del destinatario, encapsulando el cuerpo del mensaje.

S/MIME cifra el cuerpo del mensaje con la clave pública del destinatario. El cuerpo no puede ser decodificado sin la clave privada del destinatario, ni siquiera por un “intermediario” como tu ISP, SparkPost, o el servidor de correo del destinatario.
La clave privada nunca se revela; se mantiene en posesión exclusiva del destinatario. El mensaje cifrado viaja por Internet hasta el servidor de correo receptor. Cuando llega a la bandeja de entrada del destinatario, se descifra (generalmente de forma automática) con su clave privada y se vuelve legible.
Algunos inconvenientes de S/MIME a tener en cuenta:
S/MIME cifrado tiene el efecto secundario de prevenir el escaneo de mensajes entrantes basado en servidores para malware porque la carga útil del mensaje está en forma cifrada y, por lo tanto, es inidentificable.
Ten en cuenta que los encabezados del mensaje (De:, Para:, Asunto:, etc.) no están cifrados, por lo que el contenido del asunto debe crearse teniendo eso en mente.
Firma – autenticación
S/MIME también proporciona al destinatario la capacidad de verificar que la identidad del remitente del mensaje es quien dice ser.
El correo electrónico del remitente tiene un certificado adjunto, que, al igual que el certificado en un sitio web seguro, se puede rastrear hasta una autoridad emisora. Para una descripción completa del proceso de firma, consulte el PDF del proceso de firma S/MIME.
Adoptaremos el enfoque de firmar primero el correo y luego cifrarlo, por lo que el proceso se ve así.

No repudio
Otro beneficio útil de la firma para el destinatario es el no repudio de origen. Considera una situación en la que un mensaje de correo electrónico se utiliza para aprobar un contrato. El destinatario recibe el contrato en un mensaje del remitente. Si el remitente intenta decir más tarde, “No, nunca te envié ese mensaje”, entonces el mensaje recibido muestra que realmente se utilizó el certificado del remitente.
Integridad del mensaje
El proceso de firma crea una huella digital del mensaje de origen en texto plano (conocido como resumen de mensaje), cifra el resumen usando la clave privada del remitente y lo incluye en el mensaje entregado. El cliente de correo del destinatario puede saber si el cuerpo del mensaje ha sido alterado.
Quizás puedas decir, “¡Pensé que DKIM me daba verificaciones de integridad del mensaje!” Bueno, sí, DKIM proporciona verificaciones de integridad del cuerpo del mensaje y del encabezado del mensaje – garantías anti-manipulación. Sin embargo, el fallo de DKIM (o su ausencia) no suele causar que el mensaje entrante sea marcado como completamente inválido… a menos que una política de DMARC de p=reject esté en acción (ver nuestra publicación del blog DMARC: Cómo Proteger tu Reputación de Correo Electrónico). DKIM es uno de muchos factores utilizados por el ISP para la asignación confiable de reputación a un dominio y es, por supuesto, una parte esencial de su pila de mensajería.
Tu cliente de correo te mostrará prominentemente si un mensaje S/MIME falla en las verificaciones de firma:

Resumen: de extremo a extremo (S/MIME) vs servidor a servidor (DKIM, DMARC, TLS)
S/MIME es una capacidad de capa de presentación que puede funcionar entre dos usuarios finales de correo electrónico (con certificados/llaves válidos) sin ninguna acción por parte del administrador de correo electrónico. S/MIME proporciona cifrado y firma y es personal para cada usuario.
S/MIME está vinculado a la dirección completa de envío (parte local y parte de dominio), así que, por ejemplo, alice@bigcorp.com y bob@bigcorp.com necesitarían tener certificados diferentes. En contraste, DKIM valida que el correo provenga del dominio firmante. DKIM es un tema completo en sí mismo; este artículo es un buen lugar para comenzar.
La configuración de DKIM y DMARC la realiza el administrador de correo electrónico (trabajando en el servidor de correo y los registros DNS). Una vez configurados, están activos para dominios, en lugar de usuarios individuales.
¿Cómo se relaciona esto con SparkPost?
¿Qué clientes soportan S/MIME?
Consumer Gmail
El cliente web estándar de Gmail muestra las firmas de correo entrante (vea a continuación), pero no está configurado para mantener su clave privada para leer mensajes cifrados. Incluso si eso fuera posible a través de complementos de terceros, cargar su clave privada no es una gran idea desde el punto de vista de la seguridad.

No pude hacer que Yahoo! Mail descifrara las firmas en los mensajes en absoluto.
La versión de consumidor de Microsoft Outlook/Hotmail le alerta de la presencia de una firma S/MIME, pero no le da acceso completo para ver o verificar el certificado.

Correo empresarial alojado
Para organizaciones con correo alojado, Microsoft Office 365 y G Suite Enterprise tienen soporte S/MIME.
Clientes de correo Outlook
Microsoft Outlook basado en cliente (por ejemplo, 2010 para Windows) funciona:

Hacer clic en los íconos le brinda más información:


En Outlook 2010 / Windows, el almacén de certificados se accede a través de Archivo / Opciones / Centro de confianza / Configuración del Centro de confianza / Seguridad de correo electrónico / Importar / Exportar.

Thunderbird – multiplataforma y gratuito
Si está buscando un cliente gratuito, Mozilla Thunderbird es adecuado. Está disponible en PC, Mac y Linux, y admite S/MIME en todas estas plataformas. Aquí es cómo se ve un mensaje en Mac. El ícono de “sobre sellado” indica que el mensaje está firmado, y el candado indica que fue cifrado.

Al hacer clic en el sobre/candado se muestra información sobre el mensaje:

Thunderbird tiene su propio almacén de claves, al que se accede de manera similar en cada plataforma:
Mac a través de Preferencias / Avanzado / Certificados / Administrar Certificados
PC: menú (“hamburguesa” en la esquina superior derecha), Avanzado / Certificados / Administrar Certificados
Linux: menú (“hamburguesa” en la esquina superior derecha), Preferencias / Avanzado / Administrar Certificados
Mac Mail
Mac Mail también admite S/MIME. Depende de tu llavero de Mac para almacenar tus claves.

iOS Mail
Primero, importe el certificado de la cuenta de correo electrónico de esta manera, luego podrá ver correos electrónicos firmados y cifrados S/MIME. Realmente no se ven diferentes en la pantalla de visualización.



Android
Algunos dispositivos y aplicaciones admiten S/MIME; hay mucha variedad ahí fuera. Samsung tiene una guía.
Finalmente…
Ese es nuestro breve resumen de los usos prácticos de S/MIME. Si deseas obtener tus propios certificados de correo, hay una lista de proveedores aquí. Encontré que Comodo funciona bien (gratis para uso no comercial – abre esto en Firefox, no en Chrome).
En la parte 2, exploraremos cómo aplicar la firma y cifrado S/MIME a los mensajes que envías a través de SparkPost.
Lectura adicional
Microsoft tiene un buen artículo introductorio sobre S/MIME en su documentación.
Para más información sobre la vulnerabilidad EFAIL y cómo se ha abordado, consulta el sitio oficial de EFAIL. Otras explicaciones fáciles de seguir están disponibles en la página wiki de EFAIL y en la entrada de blog de CipherMail EFAIL: ¿Cuál es vulnerable, PGP, S/MIME o tu cliente de correo?.