← RFC Reference

RFC 8551: Especificación de Mensajes S/MIME 4.0

Standards Track Content Security Published March 2026
ELI5: [S/MIME 3.2](5751) cifró tu correo electrónico como ponerlo en una caja fuerte con una buena cerradura. S/MIME 4.0 reemplaza esa cerradura con una moderna que no solo mantiene el contenido secreto sino que también detecta si alguien intentó manipular la caja fuerte misma. Actualiza los algoritmos criptográficos a las mejores prácticas actuales: AES-GCM en lugar de AES-CBC, curvas elípticas junto con RSA, y SHA-256 como mínimo. Mismo concepto, matemáticas más sólidas.

Por qué existe

S/MIME 3.2 (RFC 5751, publicado 2010) fue sólido para su época, pero la criptografía avanza:

Cómo funciona

La estructura MIME y el empaquetamiento CMS siguen siendo los mismos que en S/MIME 3.2. Los cambios están en los algoritmos y capacidades negociadas entre remitente y destinatario.

Qué cambió de 3.2 a 4.0

Característica S/MIME 3.2 (RFC 5751) S/MIME 4.0 (RFC 8551)
Cifrado de contenido AES-128-CBC (DEBE) AES-128-GCM (DEBE)
Resumen para firma SHA-256 (DEBE) SHA-256 (DEBE)
Algoritmo de firma RSA (DEBE) ECDSA con P-256 (DEBE), RSA (DEBE)
Transporte de clave RSA (DEBE) ECDH con P-256 (DEBE), RSA-OAEP (DEBERÍA)
SHA-1 para firma Permitido (compatibilidad hacia atrás) Deprecado
Cifrado 3DES Permitido (compatibilidad hacia atrás) Deprecado
Protección de encabezados No considerado Mecanismo definido
EdDSA (Ed25519) No definido Referenciado mediante RFCs complementarios

Cifrado autenticado (AES-GCM)

El cambio más significativo es el paso de AES-CBC a AES-GCM como algoritmo obligatorio de cifrado de contenido:

Criptografía de curva elíptica

S/MIME 4.0 hace que ECDSA (para firma) y ECDH (para acuerdo de claves) sean obligatorios de implementar junto a RSA:

Algoritmo Curva Fortaleza RSA equivalente Tamaño de clave
ECDSA / ECDH P-256 (secp256r1) RSA-3072 256-bit
ECDSA / ECDH P-384 (secp384r1) RSA-7680 384-bit
ECDSA / ECDH P-521 (secp521r1) RSA-15360 521-bit

Las claves EC son dramáticamente más pequeñas que las claves RSA en niveles de seguridad equivalentes. Para correo electrónico, esto significa firmas más pequeñas y bloques de transporte de claves cifrados más pequeños, lo que reduce el tamaño del mensaje.

Protección de encabezados

S/MIME 4.0 define una forma de incluir copias protegidas de encabezados de correo electrónico (Asunto, De, Para, Fecha) dentro del cuerpo MIME firmado o cifrado. Los encabezados exteriores siguen siendo visibles para enrutamiento y visualización, pero las copias protegidas interiores permiten al destinatario verificar que los encabezados no fueron modificados en tránsito:

-- Dentro del cuerpo cifrado de S/MIME --
Content-Type: message/rfc822

Subject: Resultados trimestrales confidenciales
From: cfo@example.com
To: board@example.com
Date: Wed, 12 Mar 2025 09:00:00 -0400

(contenido del cuerpo cifrado...)

El cliente del destinatario compara los encabezados interiores con los exteriores y alerta si difieren.

Detalles técnicos clave

RSA-OAEP vs. RSA PKCS#1 v1.5

S/MIME 3.2 usaba RSA PKCS#1 v1.5 para transporte de claves. Este esquema de relleno es vulnerable a ataques de tipo Bleichenbacher. S/MIME 4.0 recomienda RSA-OAEP (Optimal Asymmetric Encryption Padding), que es probadamente seguro contra ataques de texto cifrado elegido. Los remitentes DEBERÍAN usar RSA-OAEP cuando el destinatario indica soporte mediante sus capacidades de S/MIME.

Atributo de capacidades de S/MIME

Al firmar un mensaje, el remitente incluye un atributo SMIMECapabilities listando los algoritmos que soporta. Los destinatarios usan esto para seleccionar los algoritmos mutuamente soportados más fuertes para respuestas cifradas. S/MIME 4.0 actualiza el orden de capacidades recomendado:

  1. AES-256-GCM
  2. AES-128-GCM
  3. AES-256-CBC (para compatibilidad hacia atrás)
  4. AES-128-CBC (para compatibilidad hacia atrás)

Compatibilidad hacia atrás

Los agentes de S/MIME 4.0 DEBEN ser capaces de recibir y procesar mensajes de S/MIME 3.2. Al enviar, deberían usar algoritmos de S/MIME 4.0 (AES-GCM, ECDSA) cuando las capacidades del destinatario indiquen soporte, y retroceder a algoritmos 3.2 en caso contrario. El atributo SMIMECapabilities conduce esta negociación.

Errores comunes

Impacto en entregabilidad

Related RFCs