← RFC Reference

DANE — Autenticación basada en DNS para SMTP TLS

Standards Track Transport Security Published March 2026
ELI5: Cuando visitas un sitio web, tu navegador confía en cientos de Autoridades de Certificación para respaldar la identidad del sitio. DANE permite que el propietario de un dominio elimine intermediarios: "Aquí está el certificado exacto (o CA) que usa mi servidor de correo — lo publiqué en mi DNS, firmado con DNSSEC, para que puedas verificarlo tú mismo." Sin necesidad de confiar en una CA.

Por Qué Existe

SMTP con STARTTLS tiene dos problemas fundamentales:

  1. Sin autenticación. Un servidor de envío no tiene forma confiable de verificar que el certificado TLS del servidor receptor sea legítimo. SMTP no usa el modelo de confianza de CA de la web — históricamente, la mayoría de servidores de correo usaban certificados autofirmados, así que los remitentes aprendieron a aceptar cualquiera.
  2. Ataques de degradación. Un atacante en la red activa puede eliminar el anuncio STARTTLS de la respuesta EHLO, forzando entrega en texto plano.

MTA-STS (RFC 8461) resuelve estos problemas usando HTTPS y la Web PKI. DANE los resuelve usando DNSSEC y registros TLSA. Los dos enfoques son complementarios: DANE es criptográficamente más fuerte (sin necesidad de confianza en CA), mientras que MTA-STS es más fácil de implementar (sin DNSSEC requerido).

Cómo Funciona

DANE para SMTP (definido en RFC 7672, basándose en la especificación DANE base en RFC 6698) funciona en tres pasos:

Paso 1: Zona Firmada con DNSSEC

La zona DNS del dominio receptor — y la zona del objetivo MX — deben estar firmadas con DNSSEC. Esto es innegociable. Sin DNSSEC, un atacante podría falsificar registros TLSA, haciendo DANE peor que inútil.

Paso 2: Publicar Registros TLSA

El dominio publica registros TLSA para cada puerto SMTP del host MX. Un registro TLSA vincula un certificado TLS (o su clave pública, o su CA) a un servicio específico.

; Formato de registro TLSA: _puerto._protocolo.nombrehost TLSA uso selector tipo-coincidencia datos _25._tcp.mail.example.com. IN TLSA 3 1 1 a]b2c3d4e5f6...sha256hash...

Campos del Registro TLSA

Campo Valores Descripción
Uso 0 — Restricción de CA (PKIX-TA)
1 — Restricción de certificado (PKIX-EE)
2 — Aseveración de ancla de confianza (DANE-TA)
3 — Certificado emitido por dominio (DANE-EE)
Cómo se usan los datos del certificado para validación.
Selector 0 — Certificado completo
1 — SubjectPublicKeyInfo
Qué parte del certificado coincide.
Tipo de coincidencia 0 — Coincidencia exacta
1 — SHA-256
2 — SHA-512
Cómo se representan los datos.

Paso 3: El Remitente Valida

Cuando un servidor de envío compatible con DANE entrega correo a example.com:

  1. Resuelve registros MX para example.com con validación DNSSEC.
  2. Para cada host MX (p. ej., mail.example.com), busca _25._tcp.mail.example.com TLSA con validación DNSSEC.
  3. Si existen registros TLSA validados con DNSSEC: se conecta, realiza STARTTLS y valida el certificado del servidor contra los datos TLSA.
  4. Si la validación falla: no entrega. El mensaje se pone en cola para reintentar.
  5. Si no existen registros TLSA (o DNSSEC no está implementado): retrocede a TLS oportunista como antes.

Detalles Técnicos Clave

Configuración TLSA Recomendada

Para servidores SMTP, RFC 7672 recomienda DANE-EE(3) SPKI(1) SHA-256(1):

_25._tcp.mail.example.com. IN TLSA 3 1 1 <sha256-de-clave-pública>

Esta es la opción más robusta porque:

Generar un Registro TLSA

# Extrae el hash SHA-256 de la clave pública del servidor
openssl x509 -in server.crt -noout -pubkey | \
  openssl pkey -pubin -outform DER | \
  openssl dgst -sha256 -hex
(stdin)= 2a9f8e3b1c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f

# El registro TLSA resultante:
_25._tcp.mail.example.com. IN TLSA 3 1 1 2a9f8e3b1c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f

DANE vs. MTA-STS

DANE MTA-STS
Modelo de confianza DNSSEC (sin necesidad de CAs) Web PKI (certificados emitidos por CA)
Requiere DNSSEC Sí (requisito duro) No
Certificados autofirmados Compatibles (uso 3) No compatibles
Seguridad en primer uso Seguro desde el primer uso Confiar en primer uso (TOFU)
Barrera de implementación DNSSEC (significativa) Alojamiento HTTPS (bajo)
Adopción Fuerte en NL, DE, CZ; limitada en otro lugar Ampliamente compatible

Errores Comunes

Impacto en Entregabilidad

Related RFCs