¿Qué es DKIM y cómo funciona?
DKIM (DomainKeys Identified Mail) es un método de autenticación de correo que permite al remitente firmar criptográficamente cada mensaje saliente. El servidor de correo receptor verifica esta firma con una clave pública publicada en el DNS del remitente. Una firma DKIM válida demuestra dos cosas: que el mensaje procede realmente del dominio indicado y que no se alteró en tránsito.
A diferencia de SPF, que comprueba la IP de envío frente a una lista permitida, DKIM funciona adjuntando una firma digital al propio mensaje. Por eso la verificación DKIM sobrevive al reenvío de correo, donde SPF suele fallar porque la IP del servidor de reenvío no figura en el registro SPF original.
El formato del registro DNS DKIM
Un registro DKIM es un registro DNS TXT publicado en un subdominio concreto: selector._domainkey.yourdomain.com. El selector es una etiqueta que eliges: los valores habituales son mail, google, s1 o default. El valor del registro empieza por v=DKIM1; k=rsa; p= seguido de tu clave pública codificada en base64.
La clave privada se mantiene en secreto en tu servidor de correo o la gestiona tu proveedor de correo. La clave pública es lo que publicas en DNS. Los servidores receptores usan la clave pública para verificar las firmas creadas con la clave privada: el patrón clásico de criptografía de clave pública.
Dónde encontrar tu clave pública DKIM
Tu clave pública DKIM la genera tu proveedor de correo cuando activas la firma DKIM. Así es como la encuentras en los proveedores más habituales:
- Google Workspace: consola de administración → Apps → Google Workspace → Gmail → Autenticar correo. Genera una clave nueva y copia el valor del registro TXT.
- Microsoft 365: centro de administración de Exchange → Protección → DKIM. Activa DKIM para tu dominio y copia los registros CNAME (Microsoft usa CNAME, no registros TXT directos).
- Mailchimp: Cuenta → Dominios → Verificar un dominio. Mailchimp te proporciona el valor del registro TXT DKIM para añadirlo a tu DNS.
- SendGrid: Configuración → Autenticación del remitente → Autenticación de dominio. SendGrid genera por ti el registro TXT DKIM completo.
- Servidor propio (Postfix, Exim): usa opendkim-genkey para generar un par de claves. El archivo de la clave pública contiene el valor del registro TXT.
Buenas prácticas de DKIM
Usa una longitud de clave de 2048 bits siempre que sea posible: las claves de 1024 bits se consideran débiles y algunos sistemas de correo pueden marcarlas. Rota las claves DKIM periódicamente (al menos una vez al año) para limitar la exposición si una clave se ve comprometida. Conserva la clave anterior en DNS unos días después de rotar para que los mensajes en tránsito puedan verificarse.
DKIM por sí solo no protege la cabecera From visible. Para completar la autenticación de correo, añade una política DMARC que alinee los resultados DKIM con el dominio From. Una lista de correo limpia también importa: incluso el correo autenticado acaba en spam si rebota de forma repetida. Usa verificación de correo para eliminar direcciones no válidas, o verifica listas grandes con verificación masiva de correos.