¿Qué es un registro DKIM? La guía completa
Por CaptainDNS
Publicado el 18 de febrero de 2026

- 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=rsaok=ed25519(algoritmo) yp=(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:
- Lee la cabecera
DKIM-Signaturepara identificar el dominio (d=) y el selector (s=) - Construye la consulta DNS:
<selector>._domainkey.<dominio> - Recupera la clave pública desde el registro TXT
- 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:
- Selecciona las cabeceras a firmar:
From,To,Subject,Date,Message-ID(definidas por la etiquetah=) - Calcula un hash del cuerpo del mensaje (algoritmo SHA-256, almacenado en
bh=) - Firma el hash con la clave privada RSA o Ed25519, y añade la cabecera
DKIM-Signatureal 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.

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
| Etiqueta | Función | Valores | Ejemplo |
|---|---|---|---|
v= | Versión del protocolo | DKIM1 (único valor válido) | v=DKIM1 |
p= | Clave pública codificada en Base64 | Cadena Base64 | p=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
| Etiqueta | Función | Valores posibles | Por defecto |
|---|---|---|---|
k= | Algoritmo de la clave | rsa, ed25519 | rsa |
t= | Flags | y (test), s (strict) | ninguno |
h= | Algoritmos de hash aceptados | sha256, sha1 | todos |
s= | Tipo de servicio | email, * | * (todos) |
n= | Notas legibles por humanos | Texto libre | ninguno |
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 cabeceraFrom:debe coincidir exactamente con el dominiod=de la firma (sin subdominios).
Ejemplo completo descifrado
selector1._domainkey.captaindns.com IN TXT "v=DKIM1; k=rsa; t=s; h=sha256; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA..."
| Elemento | Significado |
|---|---|
selector1._domainkey.captaindns.com | Ubicación DNS (selector selector1, dominio captaindns.com) |
v=DKIM1 | Protocolo DKIM versión 1 |
k=rsa | Clave RSA |
t=s | Modo strict (sin subdominios) |
h=sha256 | Acepta únicamente SHA-256 |
p=MIIBIj... | Clave pública RSA 2048 bits codificada en Base64 |

RSA vs Ed25519: ¿qué clave elegir?
La RFC 8463 (2018) introdujo el soporte de Ed25519 como alternativa a RSA para DKIM.
| Criterio | RSA 2048 | RSA 4096 | Ed25519 |
|---|---|---|---|
| Tamaño de la clave pública | ~392 caracteres | ~736 caracteres | ~44 caracteres |
| Tamaño de la firma | 256 octetos | 512 octetos | 64 octetos |
| Rendimiento de verificación | Rápido | Medio | Muy rápido |
| Seguridad | Sólida (2030+) | Muy sólida | Muy sólida |
| Soporte proveedores | Universal | Universal | Parcial (Google, Fastmail) |
| Compatibilidad DNS | OK | Puede superar 255 octetos TXT | OK |
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:
| Modo | Comportamiento | Ejemplo |
|---|---|---|
| Relaxed (por defecto) | El dominio d= puede ser un subdominio del From: | d=mail.captaindns.com válido para From: contact@captaindns.com |
| Strict | El 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 clave | Frecuencia mínima | Recomendación |
|---|---|---|
| RSA 1024 | Inmediato | Migrar a 2048 bits |
| RSA 2048 | Cada 6 meses | Cada 3 meses |
| RSA 4096 | Cada 12 meses | Cada 6 meses |
| Ed25519 | Cada 12 meses | Cada 6 meses |
Procedimiento paso a paso
- Generar un nuevo par de claves con un nuevo selector (ej:
s202602) - Publicar la nueva clave pública en el DNS:
s202602._domainkey.captaindns.com - Esperar la propagación DNS (24-48 horas)
- Configurar el servidor de envío para que utilice el nuevo selector
- Verificar que los emails salientes estén firmados con el nuevo selector
- Revocar la clave antigua publicando
p=(vacío) en el antiguo registro DNS - 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
| Error | Síntoma | Solución |
|---|---|---|
| Clave 1024 bits | Warning en Google/Yahoo | Migrar a RSA 2048 bits |
Etiqueta p= vacía | DKIM fail: key revoked | Republicar la clave pública o usar un nuevo selector |
| Selector no encontrado | DKIM fail: no key for signature | Verificar el DNS, la propagación y la ortografía del selector |
| Clave pública truncada | DKIM fail: bad RSA signature | Verificar que el registro TXT no esté cortado (límite 255 octetos por cadena) |
v=DKIM1 ausente | Algunos servidores ignoran el registro | Incluir siempre v=DKIM1 como primera etiqueta |
Cabecera From no firmada | DMARC falla a pesar de DKIM válido | Añadir from en la etiqueta h= de la firma |
| Modo test olvidado | t=y sigue activo en producción | Retirar t=y una vez validado DKIM |
Plan de acción recomendado
- Verificar lo existente: utiliza un DKIM Checker para analizar tus registros DKIM actuales
- Inventariar tus selectores: identifica todos los selectores activos en tu dominio con una herramienta de descubrimiento automático
- Verificar el tamaño de las claves: toda clave inferior a 2048 bits debe ser reemplazada
- Configurar DMARC: publica un registro DMARC con
adkim=r(relaxed) para empezar, luego pasa a strict (adkim=s) cuando todo esté estable - 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 delFrom: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
- Cómo encontrar tu selector DKIM: 4 métodos: extraer el selector desde las cabeceras, la consola admin, el DNS o una herramienta automática
- DKIM fail: todas las causas y cómo corregirlas (próximamente)


