
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 mucho tiempo para enviar correos electrónicos cifrados y firmados, basado en estándares públicos de Internet. Regularmente nos encontramos con requerimientos para S/MIME, particularmente de industrias reguladas como la banca, la salud y las finanzas. A menudo se requiere S/MIME al comunicarse entre empresas y agencias gubernamentales, por ejemplo.
Otro estándar de correo seguro, PGP (llamado humorísticamente "Pretty Good Privacy"), se usa más para comunicaciones seguras de persona a persona. Es menos popular ahora porque las versiones para consumidores de clientes web de correo electrónico populares como Gmail y Outlook/Hotmail no pueden mostrar correos cifrados. 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 consideran que vale la pena, a pesar de las recientes divulgaciones 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 nada trivial que a menudo requiere el apoyo de un equipo de TI o un recurso similar. Para las organizaciones que operan infraestructura de correo electrónico local, implementar S/MIME requiere consideraciones adicionales para plataformas como PowerMTA y Momentum, que cubrimos en nuestra guía de S/MIME para correo electrónico seguro en instalaciones locales. Sin embargo, hay enfoques automatizados para agilizar este proceso, como recoger claves públicas de destinatarios mediante 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 soluciones comerciales de compañías como los socios de Bird Virtru y Echoworkx entran en juego, facilitando la seguridad para el envío de correos comerciales de persona a persona (consulte nuestro cómo hacer de Bird/Echoworkx para obtener más información).
Dicho esto, profundicemos un poco más en el viejo S/MIME y veamos qué podemos hacer con él.
¿Por qué debería I preocuparme?
La versión corta:
El cifrado te da privacidad en los mensajes.
La firma te da autenticación (del remitente), no repudio de origen y comprobaciones de integridad del mensaje.
S/MIME funciona de manera diferente que 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 de entrega de correo moderno como SparkPost ya utilizan "TLS oportunista" para asegurar el transporte del mensaje desde el servidor de envío al servidor receptor.
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 forzar que el mensaje sea seguro hasta el final. Puedes echar un vistazo a qué proveedores de correo dicen soportar TLS y cuáles realmente lo hacen. Suponiendo que el servidor del destinatario soporte TLS, tu mensaje se asegura de la siguiente manera:

TLS asegura las conversaciones entre servidores de correo (por eso se llama Seguridad de la Capa de Transporte). MIME (incluyendo S/MIME) se ocupa del contenido del mensaje y su tratamiento, y se puede considerar como parte de la "Capa de Presentación".
S/MIME asegura el contenido del mensaje hasta el final ("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 ninguna "persona en el medio" 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 al 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 hace legible.
Algunas advertencias de S/MIME que debes tener en cuenta:
El cifrado de S/MIME tiene el efecto secundario de impedir el escaneo de mensajes entrantes basado en el servidor para detectar malware porque la carga del mensaje está en forma cifrada y por lo tanto no es identificable.
Ten en cuenta que los encabezados del mensaje (De:, A:, Asunto: etc.) no están cifrados, por lo que el contenido de la línea de asunto debe ser creado 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 del remitente tiene un certificado adjunto que, al igual que el certificado de un sitio web seguro, se puede rastrear hasta una autoridad emisora. Hay una descripción completa del proceso de firma aquí.
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 del origen. Considera una situación donde se utiliza un mensaje de correo para aprobar un contrato. El destinatario recibe el contrato en un mensaje del remitente. Si el remitente luego intenta decir, "No, nunca te envié ese mensaje", entonces el mensaje recibido muestra que de hecho se utilizó el certificado del remitente.
Integridad del mensaje
El proceso de firma crea una huella del mensaje fuente original (conocida como un resumen del mensaje), cifra el resumen usando la clave privada del remitente y la incluye en el mensaje entregado. El cliente de correo del destinatario puede ver si el cuerpo del mensaje ha sido manipulado.
Quizás podrías decir: "¡Pensé que DKIM me daba comprobaciones de integridad del mensaje!" Bueno, sí, DKIM proporciona comprobaciones de integridad del cuerpo del mensaje y encabezado del mensaje – garantías contra la manipulación. Sin embargo, el fallo de DKIM (o su ausencia) normalmente no hará que el mensaje entrante sea marcado como completamente inválido, …a menos que una política DMARC de `p=reject` esté en uso (más sobre DMARC aquí). DKIM es un factor de muchos utilizados por el ISP para la asignación confiable de la reputación a un dominio y es, por supuesto, una parte esencial de tu pila de mensajería.
Tu cliente de correo te mostrará con prominencia si un mensaje S/MIME falla en las comprobaciones de firma:

Resumen: de extremo a extremo (S/MIME) vs de servidor a servidor (DKIM, DMARC, TLS)
S/MIME es una capacidad de la 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), por lo que, por ejemplo, alice@bigcorp.com y bob@bigcorp.com necesitarían tener diferentes certificados. En contraste, DKIM valida que el correo proviene del dominio que firma. DKIM es un tema en sí mismo; este artículo es un buen lugar para comenzar.
La configuración de DKIM y DMARC es realizada por tu administrador de correo electrónico (trabajando en el servidor de correo y 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 habitual de Gmail muestra firmas de correo entrante (ver abajo), pero no está configurado para mantener tu llave privada para leer mensajes cifrados. Incluso si eso fuera posible a través de complementos de terceros, subir tu llave 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 para consumidores de cuentas Microsoft Outlook/Hotmail te alerta sobre la presencia de una firma S/MIME, pero no te da acceso completo para ver o verificar el certificado.

Correo electrónico de negocio alojado
Para organizaciones con correo alojado, Microsoft Office 365 y G Suite Enterprise tienen soporte S/MIME.
Clientes de correo de Outlook
Microsoft Outlook basado en cliente (p. ej., 2010 para Windows) funciona:

Hacer clic en los íconos te da 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ás buscando un cliente gratuito, Mozilla Thunderbird es una buena opción. Está disponible en PC, Mac y Linux, y soporta S/MIME en todos estos. Así es como se ve un mensaje en Mac. El icono de "sobre sellado" indica que el mensaje está firmado, y el candado indica que estaba cifrado.

Hacer clic en el sobre/candado muestra información sobre el mensaje:

Thunderbird tiene su propio almacén de llaves, al cual se accede de maneras similares en cada plataforma:
Mac a través de Preferencias / Avanzado / Certificados / Administrar Certificados
PC: menú (“hamburguesa” arriba a la derecha), Avanzado / Certificados / Administrar Certificados
Linux: menú (“hamburguesa” arriba a la derecha), Preferencias / Avanzado / Administrar Certificados
Correo en Mac
Correo en Mac también soporta S/MIME. Depende de tu llavero de Mac para mantener tus llaves.

Correo en iOS
Primero, importa el certificado de tu cuenta de correo de esta manera, luego puedes ver correos electrónicos firmados y cifrados con S/MIME. No realmente se ven diferentes en la pantalla de visualización.



Android
Algunos dispositivos y aplicaciones soportan S/MIME; hay mucha variedad disponible. Samsung tiene una guía.
Finalmente…
Esa es nuestra rápida visión general de los usos prácticos de S/MIME. Si deseas obtener tus propios certificados de correo, hay una lista de proveedores aquí. He encontrado que Comodo funciona bien (gratis para uso no comercial – ábrelo en Firefox, no en Chrome).
En la parte 2, exploraremos cómo aplicar la firma y encriptación S/MIME a mensajes que entregas a través de SparkPost.
Lectura adicional
Microsoft tiene un buen artículo introductorio sobre S/MIME aquí.
Para más información sobre la vulnerabilidad EFAIL y cómo se ha abordado, este es el sitio definitivo. Otras explicaciones fáciles de seguir están aquí y aquí.