Cyber Security Academy · Lección

Firma DKIM

Firme mensajes criptográficamente.

Lección 3 de 413 pasos

Firma DKIM es una lección gratuita de Cyber Security Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Cyber Security Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Cyber Security Academy incluye 4 lecciones en total.

Qué proporciona DKIM

DKIM (DomainKeys Identified Mail) añade una firma criptográfica al correo electrónico saliente. Un receptor puede verificar esa firma para confirmar dos aspectos:

  • El mensaje fue autorizado legítimamente por el dominio firmante
  • El contenido firmado no fue alterado durante el tránsito

Mientras SPF autoriza servidores, DKIM autentica el mensaje en sí, y esa firma sobrevive al reenvío.

Fundamentos de la criptografía de clave pública

DKIM se basa en la criptografía asimétrica. El propietario del dominio tiene un par de claves:

  • La clave privada se mantiene en secreto en el servidor de correo emisor y se utiliza para firmar
  • La clave pública se publica en DNS y cualquiera puede utilizarla para verificar

Como solo quien posee la clave privada puede producir una firma válida, una verificación correcta demuestra que el mensaje procede del dominio legítimo.

El proceso de firma

Cuando el servidor emisor envía un mensaje, calcula una firma sobre determinados encabezados y el cuerpo, y después añade un encabezado DKIM-Signature.

Steps on the sender side:
1. Select headers to sign (From, Subject, Date, ...)
2. Hash the message body
3. Build the DKIM-Signature header with those fields
4. Sign the hash with the private key
5. Attach the signature to the outgoing message

Anatomía de un encabezado DKIM-Signature

El encabezado DKIM-Signature contiene los parámetros que un receptor necesita para verificar la firma:

DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
  d=company.com;        domain that signed
  s=mail2024;           selector (which key)
  h=from:subject:date;  signed headers
  bh=base64bodyhash;    body hash
  b=base64signature     the signature itself

El selector y la clave pública en DNS

El selector (la etiqueta s=) indica a los receptores qué clave pública deben obtener. La clave se encuentra en una ubicación predecible de DNS:

Location:  <selector>._domainkey.<domain>

Example DNS TXT record:
mail2024._domainkey.company.com.  IN  TXT \
  "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBA..."

  p = the base64-encoded public key

El proceso de verificación

Al recibir el mensaje, el servidor verificador invierte el proceso:

  • Lee el dominio d= y el selector s= de la firma DKIM
  • Obtiene la clave pública de selector._domainkey.domain en DNS
  • Vuelve a calcular el hash del cuerpo y el hash de los encabezados
  • Utiliza la clave pública para verificar que la firma coincide

Si la firma es válida, DKIM se aprueba. Si el mensaje se modificó o se firmó con la clave incorrecta, falla.

El hash del cuerpo detecta alteraciones

El campo bh (hash del cuerpo) es lo que permite detectar alteraciones mediante DKIM. El emisor calcula el hash del cuerpo e incluye ese hash en los datos firmados.

Si alguien modifica el cuerpo del mensaje durante el tránsito, el hash que vuelva a calcular el receptor no coincidirá con el bh firmado y la verificación fallará. Así es como DKIM proporciona integridad, no solo autenticación del origen.

Canonicalización

Los servidores de correo suelen realizar pequeños cambios inofensivos, como volver a ajustar las líneas o modificar los espacios en blanco. Para evitar que estos cambios rompan firmas válidas, DKIM utiliza la canonicalización (la etiqueta c=).

  • simple — estricto; casi cualquier cambio rompe la firma
  • relaxed — tolera cambios en los espacios en blanco y en las mayúsculas y minúsculas de los encabezados

La mayoría de las implementaciones utiliza relaxed/relaxed para garantizar la fiabilidad en infraestructuras de correo diversas.

Los selectores permiten rotar las claves

Los selectores no son solo etiquetas: permiten realizar una rotación de claves segura. Debe reemplazar periódicamente las claves DKIM para limitar la exposición si alguna se filtra.

Proceso de rotación:

  • Genere un nuevo par de claves con un selector nuevo (por ejemplo, mail2025)
  • Publique la nueva clave pública en DNS
  • Cambie el firmante para que utilice el nuevo selector
  • Mantenga el selector antiguo en DNS hasta que se entregue el correo en tránsito y, después, elimínelo

Usar un selector nuevo evita que haya un intervalo durante el cual no se puedan verificar las firmas.

DKIM sobrevive al reenvío

A diferencia de SPF, DKIM sobrevive al reenvío. La firma viaja con el mensaje, por lo que, mientras no se modifiquen los encabezados ni el cuerpo firmados, un mensaje reenviado seguirá verificándose correctamente.

Esto complementa perfectamente la debilidad de SPF. Cuando se reenvía un mensaje, SPF puede fallar porque cambia la IP de conexión, pero DKIM puede seguir aprobándose, lo que permite que DMARC acepte el correo legítimo.

Limitaciones de DKIM

DKIM es potente, pero no es suficiente por sí solo:

  • Demuestra que un dominio firmó el mensaje, pero no exige que el dominio firmante coincida con el encabezado From visible; eso corresponde a la alineación de DMARC
  • Un atacante puede firmar mensajes con una clave DKIM válida de su propio dominio
  • Una clave privada filtrada permite a un atacante falsificar firmas válidas hasta que la clave se retire mediante una rotación

DKIM debe combinarse con DMARC para ofrecer una protección eficaz contra la suplantación.

Comprobación rápida

Compruebe cuánto entiende de DKIM.

Resumen

Ha aprendido cómo DKIM firma los mensajes:

  • DKIM añade una firma criptográfica que demuestra el origen y la integridad
  • Una clave privada firma el mensaje en el servidor; la clave pública se publica en DNS bajo un selector
  • El hash del cuerpo detecta alteraciones; la canonicalización tolera cambios inofensivos
  • Los selectores permiten una rotación de claves segura, y DKIM sobrevive al reenvío cuando SPF falla
  • DKIM sigue necesitando la alineación de DMARC para vincular la firma con el From visible

A continuación, relacionará SPF y DKIM mediante la política y los informes de DMARC.

Gratis para empezar

Aprende Cyber Security Academy con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
76
Lecciones
303

Preguntas frecuentes

¿La lección «Firma DKIM» es gratis?

Sí — el texto completo de «Firma DKIM» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Cyber Security Academy, actualiza a CoddyKit PRO. El curso de Cyber Security Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Firma DKIM»?

Firme mensajes criptográficamente. Practicas Cyber Security Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Cyber Security Academy?

No se requiere experiencia previa. Cyber Security Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Firma DKIM»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Cyber Security Academy?

Sí. Cada lección de Cyber Security Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Cómo funciona el spoofing de correo electrónico
  2. Registros SPF
  3. Firma DKIM
  4. Política y generación de informes DMARC
← Volver a Cyber Security Academy