¿Qué es DKIM (DomainKeys Identified Mail)?

DKIM, abreviatura de DomainKeys Identified Mail, es un método de autenticación de correo que adjunta una firma criptográfica a cada mensaje saliente. La firma permite al servidor receptor confirmar que el correo fue realmente autorizado por el dominio de envío y que su contenido no se alteró por el camino.

Definición

DomainKeys Identified Mail es uno de los tres pilares de la autenticación de correo moderna, trabajando junto a SPF y DMARC. Mientras que SPF responde a la pregunta de si un mensaje vino de un servidor autorizado, DKIM responde a dos preguntas algo distintas. Confirma que el mensaje fue aprobado por alguien que controla el dominio de envío, y confirma que nadie manipuló el mensaje después de enviarlo.

DKIM lo consigue con criptografía de clave pública. El dominio de envío guarda una clave privada que se mantiene en secreto en su infraestructura de correo, y publica una clave pública correspondiente en el Domain Name System para que cualquiera la lea. Cuando el dominio envía un mensaje, su servidor de correo usa la clave privada para generar una firma digital sobre partes seleccionadas del correo y añade esa firma al mensaje como una cabecera oculta. Cuando el mensaje llega, el servidor receptor obtiene la clave pública del DNS y la usa para comprobar la firma. Como solo el poseedor de la clave privada podría haber producido una firma que la clave pública valida, una comprobación DKIM superada es una prueba sólida de que el mensaje es auténtico e íntegro.

Cómo funciona

DKIM se apoya en un par de claves criptográficas. Se genera una clave privada para el dominio y se almacena de forma segura en el sistema de correo de envío, y la clave pública correspondiente se publica como un registro DNS TXT. Ese registro se ubica en un lugar especial construido a partir de una etiqueta llamada selector, en la forma selector._domainkey.yourdomain.com. El selector existe para que un dominio pueda publicar varias claves a la vez, lo que resulta útil para asignar una clave aparte a cada servicio de envío y para rotar claves de forma segura con el tiempo.

Cuando el dominio envía un mensaje, su servidor de correo selecciona qué partes del correo proteger. Esto siempre incluye el cuerpo del mensaje y un conjunto elegido de campos de cabecera, normalmente From, To, Subject, Date y otros. El servidor calcula un hash del cuerpo y un hash sobre las cabeceras elegidas, luego usa la clave privada para firmar esos datos, produciendo la firma. Todo esto se registra en una nueva cabecera llamada DKIM-Signature, que se añade al mensaje. Esa cabecera lleva el dominio firmante en una etiqueta d=, el selector en una etiqueta s=, la lista de cabeceras firmadas en una etiqueta h=, el hash del cuerpo en una etiqueta bh= y la propia firma en una etiqueta b=.

En el lado receptor, el servidor lee la cabecera DKIM-Signature, toma el dominio y el selector y busca el registro de clave pública correspondiente en el DNS. Luego recalcula el hash del cuerpo y el hash de las cabeceras usando exactamente las mismas cabeceras listadas en h=, y usa la clave pública para verificar que la firma en b= coincide con esos datos recalculados. Si se usó la clave privada correcta y ningún contenido firmado se cambió en tránsito, la firma se valida y DKIM pasa. Si se modificó alguna cabecera firmada o el cuerpo, los hashes ya no coinciden y la comprobación falla. Una consecuencia práctica es que la firma solo cubre las cabeceras explícitamente listadas, y solo sigue siendo válida mientras los sistemas de correo intermedios no alteren las partes firmadas del mensaje.

Por qué importa para la entregabilidad del correo

DKIM es una señal de confianza fuerte y persistente para los proveedores de correo. Una firma DKIM válida de forma constante le indica a un proveedor que un dominio real respalda el correo y está dispuesto a responder por él, lo que ayuda a ese correo a ganarse un lugar en la bandeja de entrada. Igual de importante, DKIM tiene una cualidad de la que carece SPF. Como la firma viaja dentro del propio mensaje en lugar de depender del servidor que se conecta, DKIM suele sobrevivir al reenvío de correo, mientras que SPF a menudo se rompe cuando se reenvía un mensaje. Eso hace de DKIM la más duradera de las dos comprobaciones a lo largo de rutas de entrega complejas.

DKIM es también un bloque de construcción de DMARC. DMARC pasa cuando SPF o DKIM pasan y el resultado se alinea con el dominio From visible, así que un mensaje DKIM correctamente firmado le da a un dominio una vía fiable hacia la alineación DMARC. Desde los requisitos para remitentes de 2024 de Google y Yahoo, se espera que los remitentes masivos se autentiquen con SPF y DKIM, y el correo que llega sin una firma DKIM válida tiene muchas más probabilidades de ser filtrado o rechazado. Una configuración DKIM correcta ha pasado de ser una buena práctica a ser una expectativa básica para cualquiera que envíe correo a escala.

Cómo lo gestiona VeriMails

DKIM y la verificación de correo protegen la entregabilidad desde dos direcciones distintas, y un programa de correo saludable necesita ambas. DKIM autentica los mensajes que envías, demostrando a los servidores receptores que el correo es genuino y no se ha alterado. La verificación de correo limpia la audiencia a la que envías, asegurándose de que cada dirección de tu lista es real y alcanzable. La autenticación sin una lista limpia sigue produciendo rebotes, y una lista limpia sin autenticación sigue pareciendo poco fiable, así que ambas funcionan como pareja.

VeriMails se concentra en el lado del destinatario de esa pareja. Cada dirección que envías pasa por validación de sintaxis, una consulta MX y DNS, un handshake SMTP en vivo, detección de catch-all, detección de direcciones desechables y detección basada en roles, lo que elimina las direcciones inválidas que de otro modo rebotarían y dañarían la reputación que tus registros DKIM, SPF y DMARC existen para defender. Para apoyar también el lado de la autenticación, VeriMails ofrece un generador de DKIM gratuito que crea un par de claves y el registro DNS que necesitas publicar. Puedes verificar una lista a través de la API REST o de una carga masiva de CSV, con categorías claras de entregabilidad para las decisiones de campaña. La verificación arranca en $0.0019 por email, con 10,000 créditos por $19 y planes anuales desde $12.50/month con facturación anual, y cada cuenta empieza con 100 créditos gratis, sin tarjeta de crédito, que nunca caducan.

Preguntas frecuentes

Una firma DKIM válida demuestra dos cosas. Primero, el mensaje fue autorizado por un servidor que posee la clave privada del dominio, así que la identidad del remitente es genuina. Segundo, las cabeceras y el cuerpo firmados no se cambiaron en tránsito, porque cualquier cambio rompería la comprobación criptográfica.
La clave pública se publica como un registro DNS TXT en un lugar especial construido a partir del selector y el dominio, en la forma selector._domainkey.yourdomain.com. La cabecera DKIM-Signature del mensaje nombra el selector para que el servidor receptor sepa exactamente qué registro de clave buscar.
Un selector es una etiqueta corta que permite a un dominio publicar más de una clave DKIM a la vez, por ejemplo una por servicio de envío o para la rotación de claves. El selector se incluye en la cabecera DKIM-Signature para que el receptor pueda encontrar el registro de clave pública correspondiente en el DNS.
DKIM autentica el correo que envías para que los receptores confíen en que no se ha falsificado ni alterado, mientras que la verificación de correo limpia la lista a la que envías para que solo escribas a direcciones reales. Ambas son necesarias para una entregabilidad sólida. VeriMails también ofrece un generador de DKIM gratuito para ayudarte a crear un par de claves.

Prueba VeriMails gratis

100 créditos gratuitos al registrarte. Sin necesidad de tarjeta de crédito. Pon en práctica la verificación de correo hoy mismo.

Empieza gratis
Sin necesidad de tarjeta de crédito. Los créditos nunca caducan.