DKIM explicado: qué es, cómo funciona y cómo configurarlo
Guía completa de DKIM: comprueba tu registro DKIM, entiende los selectores, genera claves y soluciona errores de autenticación. Incluye herramienta.
Cada día, miles de millones de emails recorren internet. Sin una forma de verificar que un mensaje provenga realmente del dominio que dice ser, los atacantes pueden falsificar la dirección "From" y suplantar a marcas de confianza. DKIM (DomainKeys Identified Mail) resuelve este problema añadiendo una firma criptográfica a cada email saliente, lo que permite a los servidores de correo receptores verificar que el mensaje no ha sido manipulado y que se originó genuinamente en tu dominio.
En esta guía vamos a desglosar exactamente cómo funciona DKIM, repasaremos el proceso de configuración paso a paso y cubriremos los errores más comunes con los que se topa la gente.
¿Qué es DKIM?#
DKIM es un estándar de autenticación de email definido en el RFC 6376. Permite que un dominio emisor se haga responsable de un mensaje firmándolo con una firma digital. El servidor receptor puede entonces consultar la clave pública del remitente en DNS y verificar la firma.
En esencia, DKIM responde a una pregunta: ¿Fue este email enviado realmente por el dominio de la firma y no ha sido alterado en tránsito?
DKIM no previene por sí solo el spam ni el phishing. Más bien proporciona un componente básico que otros sistemas, en particular DMARC, utilizan para tomar decisiones de política sobre el correo no autenticado.
Cómo funciona DKIM: el proceso de firma#
DKIM se basa en criptografía de clave pública. Esto es lo que ocurre cuando se envía un email desde un dominio con DKIM habilitado:
1. Generación del par de claves#
El propietario del dominio genera un par de claves RSA (o Ed25519):
- Clave privada: se almacena de forma segura en el servidor de correo. Esta clave firma los mensajes salientes.
- Clave pública: se publica como un registro TXT en DNS. Los servidores receptores la usan para verificar las firmas.
2. Firma del mensaje#
Cuando un email sale del servidor de correo emisor, el módulo DKIM realiza lo siguiente:
- Canonicaliza las cabeceras y el cuerpo: DKIM normaliza los espacios en blanco y los saltos de línea para que pequeños cambios de formato durante el tránsito no rompan la firma. Los dos modos de canonicalización son "simple" (estricto) y "relaxed" (tolerante a cambios de espacios).
- Calcula el hash del cuerpo del mensaje: se calcula un hash SHA-256 del cuerpo canonicalizado. Este hash se coloca en la etiqueta
bh=(body hash) de la cabecera de firma. - Firma cabeceras seleccionadas: el módulo selecciona cabeceras específicas para incluir en la firma (From, To, Subject, Date y otras). Calcula un hash sobre estas cabeceras canonicalizadas más la propia cabecera DKIM-Signature (sin el valor
b=), y luego cifra ese hash con la clave privada. - Inserta la cabecera DKIM-Signature: la firma resultante, junto con sus metadatos, se añade como cabecera
DKIM-Signatureal email.
3. Verificación de la firma#
Cuando el email llega al servidor receptor:
- El servidor extrae la cabecera
DKIM-Signature. - Lee las etiquetas
d=(dominio) ys=(selector) para determinar dónde encontrar la clave pública. - Consulta DNS un registro TXT en
{selector}._domainkey.{domain}. - Usa la clave pública para descifrar la firma y compararla con su propio hash de cabeceras y cuerpo.
- Si los hashes coinciden, la verificación DKIM pasa. Si no, falla.
Anatomía de una cabecera DKIM-Signature#
Aquí tienes un ejemplo de cabecera DKIM-Signature:
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=example.com; s=google;
h=from:to:subject:date:message-id;
bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
b=AuUoFEfDxTDkHlLXSZEpZj79LICEps6eda7W3deTVFOk...
Las etiquetas clave son:
- v=1: versión de DKIM (siempre 1).
- a=rsa-sha256: el algoritmo de firma. RSA con SHA-256 es el más habitual.
- c=relaxed/relaxed: método de canonicalización para cabeceras/cuerpo. "relaxed/relaxed" es el más tolerante y el más recomendado.
- d=example.com: el dominio firmante. Es el dominio que asume la responsabilidad del mensaje.
- s=google: el selector. Indica al verificador qué clave pública debe consultar.
- h=from:to:subject:date:message-id: la lista de cabeceras incluidas en la firma.
- bh=...: el hash en Base64 del cuerpo canonicalizado.
- b=...: la propia firma codificada en Base64.
Entendiendo los selectores DKIM#
Un selector es una etiqueta que apunta a una clave pública concreta en tu DNS. La ruta completa de consulta DNS es:
{selector}._domainkey.{domain}
Por ejemplo, si tu dominio es example.com y tu selector es google, el servidor receptor consulta:
google._domainkey.example.com
¿Por qué existen los selectores?#
Los selectores permiten que un dominio tenga varias claves DKIM al mismo tiempo. Esto es útil para:
- Rotación de claves: puedes publicar una clave nueva con un selector nuevo, actualizar tu servidor de correo para firmar con ella y luego eliminar el registro DNS antiguo, todo sin ningún hueco en la autenticación.
- Varios servicios de correo: si envías email a través de Google Workspace, SendGrid y Mailchimp, cada servicio puede tener su propio selector y par de claves. Google podría usar
google, SendGrid podría usars1y Mailchimp podría usark1. - Pruebas: puedes desplegar una clave de prueba con un selector independiente antes de cambiar el tráfico de producción.
Nombres de selector comunes por proveedor#
Distintos proveedores de email usan diferentes selectores por defecto:
| Proveedor | Selectores comunes |
|---|---|
| Google Workspace | google |
| Microsoft 365 | selector1, selector2 |
| SendGrid | s1, s2, sendgrid |
| Mailchimp | k1, k2, k3 |
| Zoho | s1, s2, zoho |
| Amazon SES | amazonses |
| Postmark | postmark |
| Mailgun | mailgun |
Guía de configuración de DKIM paso a paso#
Paso 1: genera tu par de claves DKIM#
Si usas un servicio de email gestionado (Google Workspace, Microsoft 365, etc.), normalmente el proveedor genera las claves por ti. Solo tienes que publicar la clave pública que te facilita.
Si gestionas tu propio servidor de correo, genera un par de claves RSA de 2048 bits:
openssl genrsa -out dkim-private.pem 2048
openssl rsa -in dkim-private.pem -pubout -out dkim-public.pem
La clave privada se queda en tu servidor. La clave pública va al DNS.
Paso 2: elige un selector#
Elige un nombre de selector descriptivo. Algunas opciones habituales son default, mail, dkim o un nombre basado en una fecha como jan2026 para hacer un seguimiento fácil de la rotación. Evita selectores que revelen detalles internos de la infraestructura.
Paso 3: publica el registro TXT en DNS#
Crea un registro TXT en {selector}._domainkey.tudominio.com con tu clave pública. El valor del registro tiene este aspecto:
v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA...
Las etiquetas del registro DNS son:
- v=DKIM1: identifica este registro como una clave DKIM. Ten en cuenta que, según el RFC 6376, la etiqueta
v=se recomienda pero no es obligatoria. - k=rsa: el tipo de clave (RSA es el valor por defecto y se puede omitir).
- p=...: la clave pública en Base64. Si esta etiqueta está vacía (
p=), significa que la clave ha sido revocada.
Importante: muchos proveedores de DNS tienen un límite de caracteres en los registros TXT. Una clave de 2048 bits genera una cadena larga. Si tu proveedor lo permite, publica el valor completo. Si no, algunos proveedores permiten dividir el valor en varias cadenas dentro de un único registro TXT.
Paso 4: configura tu servidor de correo#
La configuración depende de tu setup:
- Google Workspace: ve a la Consola de administración, luego Aplicaciones, después Google Workspace, luego Gmail, y finalmente "Autenticar correo". Google te facilita el valor del registro TXT y el selector. Lo publicas en DNS y haces clic en "Iniciar autenticación".
- Microsoft 365: ve al portal Microsoft 365 Defender, luego Políticas, y luego DKIM. Activa la firma DKIM para tu dominio. Microsoft te facilita dos registros CNAME para publicar.
- Postfix con OpenDKIM: instala
opendkim, configura la tabla de firma, la tabla de claves y los hosts de confianza. Apunta al fichero de tu clave privada.
Paso 5: verifica tu configuración#
Después de publicar el registro DNS, espera a que se propague (normalmente entre 5 y 60 minutos, pero hasta 48 horas según tu TTL). Luego envía un email de prueba y revisa las cabeceras.
También puedes verificar tu configuración DKIM al instante con el Email Health Checker gratuito de Nova Uptime. Escanea automáticamente más de 50 selectores comunes para detectar tu configuración DKIM y te ofrece un informe detallado del estado de la autenticación de tu email.
Errores comunes con DKIM#
1. Longitud de clave demasiado corta#
Una clave RSA de 1024 bits se considera débil y puede ser rechazada por algunos receptores. Usa siempre claves de 2048 bits. Algunos proveedores ya soportan claves de 4096 bits, aunque los límites de tamaño de los registros DNS pueden hacer que sean difíciles de publicar.
2. Errores de formato en el registro DNS#
Espacios en blanco extra, comillas que faltan o saltos de línea en el valor del registro TXT son la causa más frecuente de fallos en DKIM. Verifica siempre el contenido exacto del registro después de publicarlo.
3. Olvidar firmar con servicios de terceros#
Si envías email a través de una plataforma de marketing, un servicio de email transaccional o un CRM, cada servicio necesita su propia configuración DKIM. Un email enviado a través de SendGrid no se firmará con tu clave de Google Workspace. Tienes que configurar DKIM por separado para cada servicio de envío.
4. No rotar las claves#
Las claves DKIM deberían rotarse periódicamente (cada 6 a 12 meses es una cadencia razonable). Usa selectores para que la rotación sea transparente: publica una clave nueva con un selector nuevo, cambia tu configuración de firma, verifica que funciona y luego elimina el registro DNS del selector antiguo.
5. Firmar muy pocas cabeceras#
Como mínimo, incluye siempre la cabecera From en la firma. La mayoría de implementaciones también incluyen To, Subject, Date y Message-ID. Firmar más cabeceras proporciona mayor protección frente a manipulaciones, pero puede aumentar el riesgo de que la firma se rompa por procesamiento legítimo del correo. La cabecera From es obligatoria según la especificación de DKIM.
6. Usar canonicalización "simple"#
El modo de canonicalización "simple" es muy estricto con los espacios en blanco y el formato. Si cualquier servidor intermedio (lista de correo, servicio de reenvío) hace incluso cambios menores en cabeceras o cuerpo, la firma se romperá. Usa "relaxed/relaxed" salvo que tengas una razón concreta para no hacerlo.
Cómo se relaciona DKIM con SPF y DMARC#
DKIM es una de las tres capas de un sistema de autenticación de email:
- SPF (Sender Policy Framework): especifica qué direcciones IP están autorizadas a enviar email en nombre de tu dominio. Comprueba el remitente del sobre (MAIL FROM), no la cabecera "From" visible.
- DKIM: verifica criptográficamente que el contenido del mensaje no ha sido alterado y está autorizado por el dominio firmante.
- DMARC (Domain-based Message Authentication, Reporting, and Conformance): une SPF y DKIM. Comprueba que el dominio de la cabecera "From" visible se alinea con el dominio que pasó SPF o DKIM, y especifica qué hacer con los mensajes que fallan (none, quarantine o reject).
Para que DMARC pase, SPF o DKIM deben pasar y alinearse con el dominio "From". Esto significa que DKIM es especialmente importante cuando SPF por sí solo podría fallar, como cuando se reenvía email (el reenvío rompe SPF porque cambia la IP emisora, pero las firmas DKIM sobreviven al reenvío intactas).
Cómo comprobar tu configuración DKIM#
Consultar manualmente DNS para obtener registros DKIM es tedioso, porque necesitas saber el nombre exacto del selector y no hay una forma estándar de descubrir selectores.
El Email Health Checker de Nova Uptime resuelve esto escaneando automáticamente más de 50 selectores comunes en los principales proveedores de email. Comprueba tus registros MX, SPF, DKIM y DMARC en una sola pasada y te da una puntuación de 0 a 100 con una nota.
La herramienta es completamente gratis, no requiere registro y proporciona recomendaciones accionables si encuentra algún problema con tu configuración DKIM.
Puntos clave#
- DKIM usa criptografía de clave pública para firmar emails, demostrando que vienen de tu dominio y no han sido alterados.
- El sistema de selectores permite múltiples claves para rotación y para varios servicios de envío.
- Usa siempre claves RSA de 2048 bits con canonicalización "relaxed/relaxed".
- Configura DKIM por separado para cada servicio que envíe email en tu nombre.
- DKIM funciona junto con SPF y DMARC. Los tres deberían estar configurados para una autenticación de email completa.
- Usa el Email Health Checker de Nova Uptime para verificar tu configuración DKIM y obtener un informe completo de autenticación de email.
Tener DKIM bien configurado es una de las cosas más impactantes que puedes hacer por la entregabilidad de tu email. Un mensaje firmado correctamente le dice a los servidores receptores que eres un remitente legítimo que se toma en serio la seguridad del email, y eso suma muchísimo a la hora de llegar a la bandeja de entrada.
Preguntas frecuentes#
¿Cómo compruebo mi registro DKIM?#
Usa una herramienta gratuita de comprobación DKIM para consultar tu registro DKIM. Introduce tu dominio y la herramienta escanea automáticamente más de 50 selectores comunes para encontrar tu configuración DKIM. También puedes comprobarlo manualmente con dig TXT selector._domainkey.tudominio.com si conoces el nombre de tu selector.
¿Qué es un selector DKIM?#
Un selector DKIM es una etiqueta que identifica qué par de claves DKIM se usa para firmar. Aparece en la cabecera DKIM-Signature de los emails firmados como s=selector. Selectores comunes son google, selector1, default, s1 y k1. Cada proveedor de email usa nombres de selector distintos, y por eso la detección automática de selectores resulta tan útil.
¿Qué herramienta puedo usar para comprobar el registro DKIM de mi email?#
El DKIM Checker gratuito de Nova Uptime escanea tu dominio en busca de registros DKIM automáticamente. Detecta selectores, valida la clave pública y comprueba el cumplimiento del RFC 6376. Para una auditoría completa de autenticación de email que incluya SPF, DKIM, DMARC y blacklists, usa el Email Health Checker.
¿Es DKIM obligatorio para la entrega de email?#
A partir de 2026, Gmail y Yahoo exigen DKIM para remitentes de gran volumen. Incluso para remitentes de bajo volumen, los emails sin DKIM tienen más probabilidades de acabar en spam. DKIM también es necesario para la alineación de DMARC, que cada vez es más obligatoria para el email empresarial.
¿Qué pasa si DKIM falla?#
Si la verificación DKIM falla, el servidor receptor consulta tu política DMARC. Con p=none, el email se entrega con normalidad. Con p=quarantine, va a spam. Con p=reject, se bloquea. Incluso sin DMARC, un fallo en DKIM aumenta la probabilidad de filtrado por spam.
Lecturas relacionadas#
- Búsqueda y detección de selectores DKIM: cómo funciona el descubrimiento automático de selectores DKIM
- Configuración y validación de registros DKIM: configuración DKIM paso a paso
- Guía completa de SPF, DKIM y DMARC: cómo trabajan juntos los tres protocolos
- Fundamentos de entregabilidad de email: por qué la autenticación importa para llegar a la bandeja de entrada
- DKIM Checker gratuito: valida tus registros DKIM al instante
Monitor Your Website Before It Goes Down
Get uptime monitoring, SSL tracking, domain expiry alerts, and email health checks. Free plan — no credit card required.
Start Monitoring FreeArtículos relacionados
Guía de Configuración DKIM: Setup Completo Paso a Paso
Configura DKIM en 20 minutos: encuentra el selector, genera claves y publica DNS. Validador DKIM gratis. Obligatorio en Gmail desde feb. de 2026.
Detección del Selector DKIM Explicada — Encuentra Tu Registro DKIM
¿No sabes tu selector DKIM? Detección automática gratis en 50+ proveedores. Comprueba Google, Mailgun, SendGrid o Microsoft 365 en segundos.
SPF, DKIM y DMARC: la guía completa de autenticación de email
Guía sobre los tres pilares de la autenticación de email. Cómo SPF, DKIM y DMARC trabajan juntos para proteger tu dominio y la entrega en bandeja de entrada.