¿Qué es DKIM?
DKIM (DomainKeys Identified Mail) es un método de autenticación de correo electrónico definido en el RFC 6376. Utiliza criptografía asimétrica: una clave privada firma los mensajes salientes en su servidor de correo y una clave pública publicada en el DNS permite a cualquier servidor receptor verificar esa firma. Si el mensaje fue manipulado después de ser firmado, la firma se rompe.
A diferencia de SPF, DKIM autentica el contenido del mensaje en sí (encabezados y/o cuerpo), no solo la IP de envío. Esto lo hace resistente a escenarios de reenvío de correo donde la IP del remitente cambia.
¿Por qué necesita DKIM?
1Integridad del mensaje
Prueba que el cuerpo y los encabezados del correo no han sido modificados desde que salieron de su servidor.
2Sobrevive al reenvío
La firma está incrustada en el correo, no ligada a la IP de envío — permanece válida a través de repetidores.
3Requerido para DMARC
DMARC puede usar la alineación DKIM como base para decisiones de aprobación o rechazo.
4Impulso a la entregabilidad
Gmail, Outlook y otros valoran positivamente el correo firmado con DKIM en sus decisiones de filtrado.
Cómo funciona DKIM — paso a paso
Usted genera un par de claves pública/privada y configura su servidor de correo para usar la clave privada.
Publica la clave pública como un registro DNS TXT en `selector._domainkey.sudominio.com`.
Cuando envía un correo, el servidor de correo genera un hash de los encabezados seleccionados y del cuerpo, luego firma ese hash con la clave privada.
La firma se añade como un encabezado `DKIM-Signature` en el correo electrónico.
El servidor receptor lee el `DKIM-Signature`, obtiene la clave pública del DNS, descifra la firma y vuelve a calcular el hash del mensaje para comparar.
Una coincidencia significa que el mensaje es auténtico e inalterado. Una discrepancia indica manipulación o configuración incorrecta.
Registro DNS DKIM (clave pública)
v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADC...AQABCampos clave
v=DKIM1— identificador de versiónk=rsa— tipo de clave (rsa o ed25519)p=— clave pública codificada en base64h=— algoritmos de hash aceptables (sha256)s=— tipo de servicio (email o *)t=s— bandera de modo estrictoEncabezado DKIM-Signature (en el correo)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=sudominio.com; s=mail2024;
h=from:to:subject:date:message-id;
bh=47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=;
b=mY93xZ...Significado de los campos de la firma
Problemas comunes de DKIM
Modificación del cuerpo
Algunas listas de correo o escáneres de virus alteran el cuerpo, rompiendo el hash bh=.
Falta el registro DNS
Verifique que su registro TXT esté publicado y propagado antes de realizar envíos.
Selector incorrecto
El s= en la firma debe coincidir exactamente con el selector en el nombre del registro DNS.
Longitud de clave insuficiente
Use claves RSA de al menos 2048 bits. Las claves de 1024 bits se consideran inseguras y son rechazadas por algunos proveedores.
Preguntas Frecuentes
DKIM añade una firma digital a sus correos. Permite a los servidores verificar que el correo fue autorizado por el dueño del dominio y que el contenido no fue alterado en el tránsito.
Es una cadena única para localizar la clave pública en su DNS. Se encuentra en la configuración de su proveedor de correo (ESP) o en el encabezado 's=' de un correo enviado.
Puede ser por un selector incorrecto, falta de propagación del DNS o que el registro TXT se añadió al nivel de dominio equivocado.
Sí, es recomendable si usa varios servicios de correo. Cada uno usará un selector único para coexistir en su DNS sin conflictos.
Proporciona una capa de confianza. Una firma válida ayuda a construir su reputación de remitente, haciendo menos probable que sus correos sean bloqueados.
La clave privada firma los correos salientes en su servidor. La pública se publica en el DNS para que los servidores receptores verifiquen la firma.