Ir al contenido principal

¿Qué es un registro DKIM? La guía completa

Por CaptainDNS
Publicado el 18 de febrero de 2026

Esquema del funcionamiento de un registro DKIM en el DNS
TL;DR
  • Un registro DKIM es un registro DNS TXT que publica la clave pública que permite verificar la firma criptográfica de un email
  • El servidor de envío firma cada mensaje con su clave privada, el servidor de recepción verifica la firma a través del DNS
  • Las etiquetas esenciales son v=DKIM1 (versión), k=rsa o k=ed25519 (algoritmo) y p= (clave pública codificada en Base64)
  • RSA 2048 bits es el estándar actual, Ed25519 es más rápido pero todavía no está soportado en todas partes
  • DKIM por sí solo no protege contra el spoofing: hay que combinarlo con DMARC para verificar la alineación del dominio

Estás configurando la autenticación de email de tu dominio y te encuentras con DKIM. Sabes que es importante, pero los términos "firma criptográfica", "selector" y "clave pública DNS" siguen siendo confusos. Esta guía lo aclara todo.

DKIM (DomainKeys Identified Mail) es un protocolo de autenticación de email definido por la RFC 6376. Permite al servidor de recepción verificar que el contenido de un mensaje no ha sido alterado entre el envío y la recepción, y que el dominio que aparece en el campo From: ha autorizado dicho envío.

Esta guía cubre el funcionamiento completo: el ciclo de firma, la estructura del registro DNS, las etiquetas disponibles, la elección entre RSA y Ed25519, la articulación con DMARC y la rotación de claves. Tanto si eres administrador de sistemas, responsable de marketing o desarrollador, tendrás todas las claves para configurar y mantener DKIM correctamente.

¿Qué es DKIM? El principio en 30 segundos

DKIM se basa en un mecanismo de criptografía asimétrica (clave pública/clave privada). El servidor de envío posee una clave privada que utiliza para firmar cada email saliente. La clave pública correspondiente se publica en el DNS como registro TXT, accesible para cualquier servidor de recepción.

Cuando llega un email, el servidor de recepción:

  1. Lee la cabecera DKIM-Signature para identificar el dominio (d=) y el selector (s=)
  2. Construye la consulta DNS: <selector>._domainkey.<dominio>
  3. Recupera la clave pública desde el registro TXT
  4. Verifica que la firma corresponda al contenido del mensaje

Si la firma es válida, el mensaje queda autenticado. En caso contrario, falla la verificación DKIM.

Cómo funciona DKIM: el ciclo completo

Paso 1: Firma por el servidor de envío

Cuando un usuario envía un email desde captaindns.com, el servidor de envío realiza tres operaciones:

  1. Selecciona las cabeceras a firmar: From, To, Subject, Date, Message-ID (definidas por la etiqueta h=)
  2. Calcula un hash del cuerpo del mensaje (algoritmo SHA-256, almacenado en bh=)
  3. Firma el hash con la clave privada RSA o Ed25519, y añade la cabecera DKIM-Signature al mensaje

Este es un ejemplo de cabecera DKIM-Signature:

DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
  d=captaindns.com; s=google; t=1739800000;
  h=from:to:subject:date:message-id;
  bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
  b=AuUoFEfDxTDkHlLXSZEpZj79LICEps6eda7W3deTVFOk...

Paso 2: Verificación por el servidor de recepción

El servidor de recepción extrae d=captaindns.com y s=google de la cabecera, y luego consulta el DNS:

dig TXT google._domainkey.captaindns.com +short

Resultado:

"v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOC..."

A continuación, utiliza la clave pública (p=) para verificar la firma (b=). Si el hash recalculado coincide, la verificación es exitosa.

Esquema del ciclo de firma y verificación DKIM

Anatomía de un registro DKIM

El registro DKIM se publica como un registro DNS TXT en la dirección <selector>._domainkey.<dominio>.

Formato DNS completo

google._domainkey.captaindns.com  IN  TXT  "v=DKIM1; k=rsa; t=s; p=MIIBIjANBgkq..."

Las etiquetas obligatorias

EtiquetaFunciónValoresEjemplo
v=Versión del protocoloDKIM1 (único valor válido)v=DKIM1
p=Clave pública codificada en Base64Cadena Base64p=MIIBIjANBgkq...

La etiqueta p= es el núcleo del registro. Si está vacía (p=), significa que la clave ha sido revocada. El servidor de recepción tratará entonces cualquier firma que utilice este selector como inválida.

Las etiquetas opcionales

EtiquetaFunciónValores posiblesPor defecto
k=Algoritmo de la claversa, ed25519rsa
t=Flagsy (test), s (strict)ninguno
h=Algoritmos de hash aceptadossha256, sha1todos
s=Tipo de servicioemail, ** (todos)
n=Notas legibles por humanosTexto libreninguno

Detalle de los flags t=:

  • t=y: modo test. Los servidores de recepción no deben penalizar un fallo DKIM. Útil durante el despliegue inicial.
  • t=s: modo strict. El dominio de la cabecera From: debe coincidir exactamente con el dominio d= de la firma (sin subdominios).

Ejemplo completo descifrado

selector1._domainkey.captaindns.com  IN  TXT  "v=DKIM1; k=rsa; t=s; h=sha256; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA..."
ElementoSignificado
selector1._domainkey.captaindns.comUbicación DNS (selector selector1, dominio captaindns.com)
v=DKIM1Protocolo DKIM versión 1
k=rsaClave RSA
t=sModo strict (sin subdominios)
h=sha256Acepta únicamente SHA-256
p=MIIBIj...Clave pública RSA 2048 bits codificada en Base64

Anatomía de un registro DKIM con todas las etiquetas

RSA vs Ed25519: ¿qué clave elegir?

La RFC 8463 (2018) introdujo el soporte de Ed25519 como alternativa a RSA para DKIM.

CriterioRSA 2048RSA 4096Ed25519
Tamaño de la clave pública~392 caracteres~736 caracteres~44 caracteres
Tamaño de la firma256 octetos512 octetos64 octetos
Rendimiento de verificaciónRápidoMedioMuy rápido
SeguridadSólida (2030+)Muy sólidaMuy sólida
Soporte proveedoresUniversalUniversalParcial (Google, Fastmail)
Compatibilidad DNSOKPuede superar 255 octetos TXTOK

Recomendaciones

  • RSA 2048: opción por defecto. Soportado por todos los proveedores y servidores. Suficiente para la seguridad actual.
  • RSA 4096: para organizaciones con requisitos de seguridad elevados. Atención a los límites de tamaño de los registros TXT (puede requerir varias cadenas de 255 octetos).
  • Ed25519: recomendado en doble firma (Ed25519 + RSA 2048) para la transición. Los servidores que no soportan Ed25519 ignorarán la firma y utilizarán la firma RSA.

No sigas usando RSA 1024 bits. Google, Microsoft y Yahoo consideran las claves de 1024 bits como débiles desde 2024.

DKIM y DMARC: el vínculo esencial

DKIM autentica el contenido de un mensaje, pero no verifica que el dominio que aparece en el From: sea legítimo. Ese es el papel de DMARC.

Alineación DKIM

DMARC verifica que el dominio d= de la firma DKIM corresponda al dominio del From:. Existen dos modos:

ModoComportamientoEjemplo
Relaxed (por defecto)El dominio d= puede ser un subdominio del From:d=mail.captaindns.com válido para From: contact@captaindns.com
StrictEl dominio d= debe coincidir exactamente con el From:d=captaindns.com obligatorio para From: contact@captaindns.com

El modo de alineación DKIM se configura en el registro DMARC con la etiqueta adkim:

_dmarc.captaindns.com  IN  TXT  "v=DMARC1; p=reject; adkim=s; rua=mailto:dmarc@captaindns.com"

¿Por qué DKIM solo no es suficiente?

Sin DMARC, un atacante puede enviar un email con un From: contact@captaindns.com firmando con su propio dominio DKIM (d=attacker.com). La firma DKIM será válida, pero el destinatario verá un remitente falso. DMARC bloquea este escenario exigiendo la alineación entre el dominio From: y el dominio d=.

Rotación de claves DKIM: por qué y cómo

¿Por qué rotar las claves?

Una clave DKIM utilizada durante demasiado tiempo presenta riesgos:

  • Compromiso: cuanto más tiempo está expuesta una clave, más vulnerable es a los ataques
  • Cumplimiento normativo: ciertos estándares (PCI DSS, SOC 2) exigen una rotación regular
  • Buenas prácticas: Google recomienda una rotación trimestral

Frecuencia recomendada

Tamaño de claveFrecuencia mínimaRecomendación
RSA 1024InmediatoMigrar a 2048 bits
RSA 2048Cada 6 mesesCada 3 meses
RSA 4096Cada 12 mesesCada 6 meses
Ed25519Cada 12 mesesCada 6 meses

Procedimiento paso a paso

  1. Generar un nuevo par de claves con un nuevo selector (ej: s202602)
  2. Publicar la nueva clave pública en el DNS: s202602._domainkey.captaindns.com
  3. Esperar la propagación DNS (24-48 horas)
  4. Configurar el servidor de envío para que utilice el nuevo selector
  5. Verificar que los emails salientes estén firmados con el nuevo selector
  6. Revocar la clave antigua publicando p= (vacío) en el antiguo registro DNS
  7. Eliminar el antiguo registro después de 30 días (el tiempo necesario para que los emails en tránsito sean procesados)

Errores comunes en los registros DKIM

ErrorSíntomaSolución
Clave 1024 bitsWarning en Google/YahooMigrar a RSA 2048 bits
Etiqueta p= vacíaDKIM fail: key revokedRepublicar la clave pública o usar un nuevo selector
Selector no encontradoDKIM fail: no key for signatureVerificar el DNS, la propagación y la ortografía del selector
Clave pública truncadaDKIM fail: bad RSA signatureVerificar que el registro TXT no esté cortado (límite 255 octetos por cadena)
v=DKIM1 ausenteAlgunos servidores ignoran el registroIncluir siempre v=DKIM1 como primera etiqueta
Cabecera From no firmadaDMARC falla a pesar de DKIM válidoAñadir from en la etiqueta h= de la firma
Modo test olvidadot=y sigue activo en producciónRetirar t=y una vez validado DKIM

Plan de acción recomendado

  1. Verificar lo existente: utiliza un DKIM Checker para analizar tus registros DKIM actuales
  2. Inventariar tus selectores: identifica todos los selectores activos en tu dominio con una herramienta de descubrimiento automático
  3. Verificar el tamaño de las claves: toda clave inferior a 2048 bits debe ser reemplazada
  4. Configurar DMARC: publica un registro DMARC con adkim=r (relaxed) para empezar, luego pasa a strict (adkim=s) cuando todo esté estable
  5. Planificar la rotación: anota en tu calendario una rotación trimestral de las claves DKIM

FAQ

¿Qué es un registro DKIM?

Un registro DKIM es un registro DNS de tipo TXT publicado en la dirección selector._domainkey.dominio.com. Contiene la clave pública que permite a los servidores de recepción verificar la firma criptográfica añadida a cada email saliente. Las etiquetas esenciales son v=DKIM1 (versión), k= (algoritmo) y p= (clave pública en Base64).

¿Cómo funciona la firma DKIM?

El servidor de envío calcula un hash SHA-256 de las cabeceras seleccionadas y del cuerpo del mensaje, y luego firma ese hash con su clave privada. La firma se añade en la cabecera DKIM-Signature. El servidor de recepción recupera la clave pública a través del DNS y verifica que la firma corresponda al contenido recibido.

¿Cuáles son las etiquetas de un registro DKIM?

Las etiquetas obligatorias son v=DKIM1 (versión) y p= (clave pública). Las etiquetas opcionales incluyen k= (algoritmo, rsa por defecto), t= (flags: y para test, s para strict), h= (algoritmos de hash aceptados), s= (tipo de servicio) y n= (notas).

¿Cuál es la diferencia entre RSA y Ed25519 para DKIM?

RSA 2048 es el estándar actual, soportado por todos los proveedores. Ed25519 produce firmas más cortas (64 octetos vs 256) y es más rápido, pero solo está soportado por algunos proveedores (Google, Fastmail). El mejor enfoque es la doble firma: Ed25519 + RSA 2048.

¿Cómo verificar un registro DKIM?

Utiliza el comando dig TXT selector._domainkey.dominio.com +short para consultar el DNS. Si se devuelve un registro TXT que contiene v=DKIM1 y p=, la clave pública está publicada. Para un análisis completo (tamaño de clave, sintaxis, validez), utiliza una herramienta de verificación DKIM en línea.

¿Por qué es importante la rotación de claves DKIM?

Una clave utilizada durante demasiado tiempo aumenta el riesgo de compromiso. Google recomienda una rotación trimestral. El procedimiento consiste en crear un nuevo selector con un nuevo par de claves, publicar la nueva clave en el DNS, cambiar el servidor de envío y luego revocar la clave antigua vaciando su etiqueta p=.

¿Cuál es la relación entre DKIM y DMARC?

DKIM autentica el contenido de un mensaje, DMARC verifica que el dominio de la firma DKIM (d=) corresponda al dominio del From:. Sin DMARC, un atacante puede firmar un email con su propio dominio mientras suplanta el From:. DMARC bloquea este escenario mediante la verificación de alineación.

Glosario

  • DKIM (DomainKeys Identified Mail): protocolo de autenticación de email que utiliza criptografía asimétrica para firmar los mensajes salientes y permitir a los destinatarios verificar su integridad.
  • Selector DKIM: identificador de texto (ej: google, selector1) que, combinado con el dominio, forma la dirección DNS de la clave pública (selector._domainkey.dominio).
  • Clave pública: parte del par criptográfico publicada en el DNS, utilizada por los servidores de recepción para verificar las firmas DKIM.
  • Alineación DKIM: verificación por DMARC de que el dominio d= de la firma DKIM corresponda al dominio del From: del email.
  • Ed25519: algoritmo de firma digital introducido por la RFC 8463 como alternativa a RSA para DKIM, que ofrece firmas más cortas y una verificación más rápida.
  • Rotación de claves: proceso de reemplazo regular de los pares de claves DKIM para limitar los riesgos de compromiso.

Genera tus claves DKIM en segundos: utiliza el Generador DKIM para crear un par de claves RSA 2048 o Ed25519 con el registro DNS listo para publicar.


Guías DKIM relacionadas

Fuentes

Artículos relacionados