DKIM: qué es DomainKeys y cómo se configura

Todos los servidores de correo electrónico intentan bloquear los correos con un remitente falso. Los estafadores simulan direcciones de remitentes de confianza y conocidos por el receptor para colar, por ejemplo, un virus troyano o para convencer al receptor a facilitar información sensible (phishing).

Uno de los métodos para comprobar la autenticidad del remitente es DKIM, un concepto con el cual se verifican los correos con firma digital. DKIM es el acrónimo de DomainKeys Identified Mail.

El DKIM que se usa hoy en día se creó en el año 2004 como un proyecto colaborativo de un consorcio de empresas. DKIM reúne los conceptos antiguos del DomainKeys de Yahoo y el Identified Internet Mail de Cisco y de aquí se tomaron precisamente las siglas DKIM: DK = DomainKeys, IM = Identified Internet Mail.

Dominios web baratos

Dominios tan originales como tus ideas.

Registra tu dominio con IONOS y disfruta de las funciones integrales que tenemos para ofrecerte.

Correo incluido
Certificado SSL
Asistencia 24/7

El funcionamiento de DKIM

DKIM se basa en la comunicación entre los servidores receptor y emisor del correo electrónico –el usuario final no tiene constancia de nada.

Dicho de forma muy general, el servidor de correo emisor añade una firma digital al correo y el servidor receptor la comprueba. Para ello, consulta la clave pública asignada a la firma en el servidor de correo electrónico que figura como remitente.

Si la clave pública no encaja con la firma, puede deberse a varias causas:

  • El correo electrónico no ha sido enviado por el servidor de correo que aparece en el encabezado del correo, sino por otro servidor fraudulento.
  • El correo electrónico ha sufrido modificaciones en su trayecto desde el servidor de correo electrónico “auténtico” hasta el receptor. Es posible que un hacker haya interceptado el correo, lo haya modificado y lo haya vuelto a enviar.

Los componentes técnicos de DKIM

Para entender DKIM, merece la pena echar un ojo a los distintos “componentes” que forman el concepto.

Hashing

Un algoritmo transforma el contenido del correo en una secuencia de caracteres denominada valor hash. Este valor se añade al encabezado del correo electrónico.

Nota

El hashing sigue el mismo principio que la cifra de verificación de un comprobante de pago, en el que se calcula un valor a partir del número de referencia y se añade a este como última cifra.

Si el receptor resuelve el valor hash del correo recibido con el mismo algoritmo, tendría que obtener la misma secuencia de caracteres que la que aparece en el encabezado del correo electrónico. Si el valor hash no coincide, el receptor sabe que el correo electrónico ha sido modificado.

Codificación asimétrica

Para que el receptor pueda estar seguro de que el valor hash proviene realmente del emisor original, se requiere otra medida: la firma digital.

El método de firma usado para verificar al remitente es la codificación asimétrica. Esta se basa en una pareja de claves: lo que se codifica con la clave A solo se puede decodificar con la clave B. Una de las claves se mantiene en secreto (“clave privada”) y la otra se publica (“clave pública”).

Consejo

Puedes consultar información detallada en este artículo general sobre procedimientos de codificación.

La secuencia sería la siguiente:

  1. El remitente encripta el valor hash calculado con la clave privada.
  2. Luego, añade el valor hash codificado al encabezado del correo electrónico (“firma”).
  3. El receptor consulta la clave pública del servidor remitente en el servidor de nombres de dominio y la usa para decodificar la firma.
  4. Ahora vuelve a calcular el valor hash que ha decodificado: si el valor resultante coincide con el descifrado, está todo en orden.

Entrada TXT en el servidor de nombres

Para que los servidores de correo receptores puedan consultar la clave pública del emisor, dicha clave debe publicarse como TXT Resource Record en la zona DNS del dominio.

La entrada DKIM contiene los siguientes elementos:

  • La versión, a menudo codificada con v=DKM1.
  • El algoritmo de codificación; siempre es RSA (k=rsa).
  • La clave pública (p=); se trata de una secuencia larga de caracteres.
  • El selector; este elemento varía según el proveedor. Ejemplo: default._domainkey o k1._domainkey

Por norma general, el registro DKIM solo se puede consultar a partir del encabezado del correo electrónico, ya que, para hacerlo, no solo se requiere el nombre del dominio, sino también el selector, y este normalmente no se conoce o cuesta mucho tiempo averiguarlo.

Crear un registro DKIM

Para crear un registro DKIM, debes generar una pareja de claves RSA y almacenarla en el lugar correcto del servidor. La mayoría de proveedores de servicios de correo electrónico se encargan de esta tarea por ti.

Puedes generar un registro a mano para entender mejor cómo funciona DKIM. Existen diferentes herramientas gratuitas en internet, p. ej., el DKIM Record Generator de EasyDMARC. Introduce un selector cualquiera en la parte superior (ejemplo: k1) y un dominio cualquiera en el lado derecho. El generador emite una clave privada y una clave pública. La clave privada (private key) debe almacenarse en el servidor de correo electrónico (esta tarea solo la puede realizar tu proveedor de servicios de correo electrónico), la clave pública se almacena en el registro DKIM.

Comprobar el registro DKIM

Puedes comprobar si realmente se puede acceder públicamente al registro DKIM mediante un comprobador DKIM, p. ej., con el DKIM Record Lookup de EasyDMARC.

Lo más sencillo es que te envíes un correo a tu propia dirección y revises el encabezado. Allí aparecerá la entrada “DKIM Signature”:

Consejo

Si copias el encabezado en una herramienta de análisis de encabezados, podrás consultar información detallada de este.

Archivero E-Mail

¡Nunca más perderás un e-mail! Con IONOS, puedes activar la archivación automática de tus correos electrónicos en unos pocos clics. 

Archivación automática
Centros de datos europeos
Máxima protección de datos

¡No te vayas! ¡Tenemos algo para ti!
Consigue tu dominio .mx un año gratis.

Introduce el dominio que deseas en la barra de búsqueda para comprobar su disponibilidad.
12 meses desde $0/año
después $700/año