DKIM (Correo Identificado por Claves de Dominio)

Email y Seguridad
Un método de autenticación de correo que añade una firma digital a los correos salientes, permitiendo a los receptores verificar que el mensaje no fue alterado.
← Volver al Glosario

¿Qué es DKIM?

DKIM (Correo Identificado por Claves de Dominio) es un método de autenticación de correo que permite al servidor de envío firmar digitalmente los mensajes salientes. El servidor receptor puede entonces verificar esta firma usando una clave pública publicada en DNS, confirmando que el correo no ha sido modificado en tránsito y que realmente se originó del dominio indicado.

Cómo funciona DKIM

1. Generación de clave: El propietario del dominio genera un par de claves pública/privada

2. Publicación en DNS: La clave pública se publica como un registro TXT

3. Firma de mensaje: Los correos salientes se firman con la clave privada

4. Verificación de firma: El servidor receptor recupera la clave pública y verifica la firma

El proceso de firma

Cuando se envía un correo:

1. El servidor de correo calcula un hash de los encabezados y cuerpo del mensaje

2. El hash se encripta con la clave privada (creando la firma)

3. La firma se añade como un encabezado DKIM-Signature

4. El correo se transmite

El proceso de verificación

Cuando se recibe un correo:

1. El servidor extrae el encabezado DKIM-Signature

2. Encuentra el selector y dominio (s=selector; d=dominio.com)

3. Consulta DNS por el registro TXT selector._domainkey.dominio.com

4. Usa la clave pública para descifrar la firma

5. Calcula su propio hash del mensaje

6. Compara: coincidencia = pass, no coincidencia = fail

Formato del registro DKIM

Los registros DKIM son registros TXT en un subdominio específico:

selector._domainkey.ejemplo.com.    IN    TXT    "v=DKIM1; k=rsa; p=MIGfMA0..."

Componentes del registro

EtiquetaDescripciónEjemplo
vVersiónv=DKIM1
kTipo de clavek=rsa
pClave pública (base64)p=MIGfMA0GCSqG...
tBanderas (opcional)t=y (modo de prueba)
hAlgoritmos de hashh=sha256

Selectores

Los selectores permiten múltiples claves DKIM por dominio:

google._domainkey.ejemplo.com       # Google Workspace

s1._domainkey.ejemplo.com # Sendgrid

mailchimp._domainkey.ejemplo.com # Mailchimp

Cada servicio de correo proporciona su propio selector y clave.

Encabezado de firma DKIM

Una firma DKIM se ve así:

DKIM-Signature: v=1; a=rsa-sha256; d=ejemplo.com; s=google;

c=relaxed/relaxed; q=dns/txt;

h=from:to:subject:date:message-id;

bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;

b=AuUoFEfDxTDkHlLXSZEpZj79...

Campos clave:

Configuración de DKIM

Para Google Workspace

1. Ve a Consola de administración → Aplicaciones → Gmail → Autenticar correo

2. Genera clave DKIM (2048 bits recomendado)

3. Añade el registro TXT proporcionado por Google

4. Activa la firma DKIM

Para servicios de terceros

La mayoría de servicios de correo (SendGrid, Mailchimp, etc.) proporcionan:

1. Un registro CNAME a añadir (para su clave gestionada)

2. O un registro TXT con la clave pública

Ejemplo (SendGrid):

s1._domainkey.ejemplo.com    CNAME    s1.domainkey.sendgrid.net

Verificación de DKIM

Envía un correo de prueba a un servicio que muestre encabezados (Gmail muestra resultados de autenticación). Usando línea de comandos:
dig google._domainkey.ejemplo.com TXT
Usando DomScan:
curl "https://domscan.net/v1/health?domain=ejemplo.com"

# Reporta el estado DKIM basado en selectores comunes

Mejores prácticas de DKIM

Usa claves de 2048 bits

Las claves antiguas de 1024 bits son cada vez más vulnerables. La mayoría de proveedores ahora usan por defecto 2048 bits.

Rota las claves periódicamente

Rota las claves DKIM anualmente o después de incidentes de seguridad. Publica la nueva clave con nuevo selector antes de cambiar.

Firma encabezados importantes

Asegúrate de que From, To, Subject, Date y Message-ID se incluyan en las firmas.

No modifiques mensajes firmados

Los servidores de listas de correo o servicios de reenvío que modifican contenido romperán DKIM. Usa ARC (Cadena de Recepción Autenticada) para correo reenviado.

Limitaciones de DKIM

DKIM por sí solo no previene la suplantación—solo demuestra que un mensaje no fue alterado. Un dominio puede tener DKIM válido mientras los atacantes envían correo sin firmar suplantado. DMARC aborda esto especificando qué hacer con mensajes sin firmar.

Pon Este Conocimiento en Práctica

Usa la API de DomScan para comprobar disponibilidad de dominios, estado y mucho más.