Todos los se­r­vi­do­res de correo ele­c­tró­ni­co intentan bloquear los correos con remitente falso. Uno de los métodos para comprobar la au­te­n­ti­ci­dad del remitente es DKIM (Do­mai­n­Ke­ys Ide­n­ti­fied Mail), un concepto con el cual se verifican los correos con firma digital.

¿Qué es DKIM?

DKIM (Do­mai­n­Ke­ys Ide­n­ti­fied Mail) se basa en la co­mu­ni­ca­ción entre los se­r­vi­do­res receptor y emisor de correo ele­c­tró­ni­co –el usuario final no tiene co­n­s­ta­n­cia de este pro­ce­di­mie­n­to. 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 ele­c­tró­ni­co que figura como remitente. Si la clave pública no encaja con la firma, puede deberse a varias causas:

  • El correo ele­c­tró­ni­co no ha sido enviado por el servidor de correo que aparece en el en­ca­be­za­do del correo, sino por otro servidor frau­du­le­n­to.

  • El correo ele­c­tró­ni­co ha sufrido mo­di­fi­ca­cio­nes en su trayecto desde el servidor de correo ele­c­tró­ni­co “auténtico” hasta el receptor. Es posible que un hacker haya in­te­r­ce­p­ta­do el correo, lo haya mo­di­fi­ca­do y lo haya vuelto a enviar.

¿Cómo funciona DKIM?

Para entender DKIM, merece la pena echar un vistazo a los distintos “co­m­po­ne­n­tes” que forman el concepto.

Hashing

Siguiendo un algoritmo de­te­r­mi­na­do, se calcula una cadena (el llamado valor hash) a partir del contenido de los correos ele­c­tró­ni­cos, para después añadir la cabecera del correo. Si el receptor resuelve el valor hash del correo recibido con el mismo algoritmo, tendría que obtener la misma secuencia de ca­ra­c­te­res que la que aparece en el en­ca­be­za­do del correo ele­c­tró­ni­co. Si el valor hash no coincide, el receptor sabe que el correo ele­c­tró­ni­co ha sido mo­di­fi­ca­do.

Nota

El hashing sigue el mismo principio que la cifra de ve­ri­fi­ca­ción de un co­m­pro­ba­n­te de pago, en el que se calcula un valor a partir del número de re­fe­re­n­cia y se añade a este como última cifra.

Co­di­fi­ca­ción asi­mé­tri­ca

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 el remitente es el cifrado asi­mé­tri­co, basado en una pareja de claves: lo que se codifica con la clave A solo se puede de­co­di­fi­car con la clave B. Mientras una de las claves se mantiene en secreto (“clave privada”), la otra se publica (“clave pública”).

Puedes consultar más in­fo­r­ma­ción en este artículo sobre métodos de en­cri­p­ta­do.

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 co­di­fi­ca­do al en­ca­be­za­do del correo ele­c­tró­ni­co (“firma”).
  3. El receptor consulta la clave pública del servidor remitente en el servidor de nombres de dominio y la usa para de­co­di­fi­car la firma.
  4. Ahora vuelve a calcular el valor hash que ha de­co­di­fi­ca­do: si el valor re­su­l­ta­n­te coincide con el de­s­ci­fra­do, está todo en orden.

Entrada TXT en el servidor de nombres

Para que los se­r­vi­do­res de correo re­ce­p­to­res puedan consultar la clave pública del emisor, dicha clave debe pu­bli­car­se como TXT Resource Record en la zona DNS del dominio. La entrada DKIM contiene los si­guie­n­tes elementos:

  • La versión, a menudo co­di­fi­ca­da con v=DKM1.
  • El algoritmo de co­di­fi­ca­ción; siempre es RSA (k=rsa).
  • La clave pública (p=); se trata de una secuencia larga de ca­ra­c­te­res.
  • El selector; este elemento varía según el proveedor. Ejemplo: default._domainkey o k1._domainkey
Imagen: Captura de pantalla de un registro DKIM
El registro DKIM es un TXT Resource Record.

Por norma general, el registro DKIM solo se puede consultar a partir del en­ca­be­za­do del correo ele­c­tró­ni­co, ya que, para hacerlo, no solo se requiere el nombre del dominio, sino también el selector, y este no­r­ma­l­me­n­te no se conoce o cuesta mucho tiempo ave­ri­guar­lo.

Crear una pareja de claves DKIM

Para co­n­fi­gu­rar DKIM para tus correos, lo primero que necesitas es un par de claves. Por norma general, puedes so­li­ci­tar­las a tu proveedor de correo. Si, por el contrario, operas tu propio servidor, puedes crear tú mismo las claves y entradas ne­ce­sa­rias.

Solicitar las claves DKIM a tu proveedor de correo

La forma de solicitar las claves DKIM va a depender de tu proveedor de correo ele­c­tró­ni­co. Además, no todos los pro­vee­do­res ofrecen el mismo soporte para DKIM: algunos pro­vee­do­res ofrecen DKIM solo para empresas, otros pro­vee­do­res de dominios solo ofrecen claves de cierta longitud. No obstante, por norma general pueden so­li­ci­tar­se las claves DKIM a través de la co­n­fi­gu­ra­ción o de la consola de ad­mi­ni­s­tra­ción de tu proveedor de correo. En caso de duda, puedes contactar di­re­c­ta­me­n­te con la asi­s­te­n­cia al cliente.

Crea tu correo ele­c­tró­ni­co con IONOS
Descubre una forma nueva de usar tu e-mail
  • Escribe correos ele­c­tró­ni­cos perfectos con ayuda de la IA (opcional)
  • Dominio gratis más asesor personal
  • Pro­te­c­ción contra virus y spam

Crear la clave DKIM de forma manual

Para crear un registro DKIM, puedes también generar de forma manual el par de claves RSA necesario. En Internet puedes encontrar varias he­rra­mie­n­tas gratuitas para ello, como el generador de registros DKIM de EasyDMARC. Introduce un selector (ejemplo: k1) y el dominio deseado. A co­n­ti­nua­ción, se­le­c­cio­na la longitud de clave preferida.

El generador emite una clave privada y una clave pública. La clave privada debe al­ma­ce­nar­se en el servidor de correo (de lo que solo se puede encargar tu proveedor); la clave pública se introduce en el registro DKIM.

Crear un registro DKIM

Una vez generada una pareja de claves, puedes al­ma­ce­nar­las en el lugar correcto del servidor. La clave privada se almacena en el servidor de correo, mientras que la clave pública se co­rre­s­po­n­de con la entrada DNS de tu dominio. Si tu proveedor de correo ha creado el par de claves, la clave privada suele en­co­n­trar­se al­ma­ce­na­da.

Nota

Si gestionas un servidor de correo privado, deberás almacenar la clave privada. De­pe­n­die­n­do del software que uses como MTA (Mail Transfer Agent), el proceso puede tener una u otra apa­rie­n­cia.

Para publicar tu clave pública, debes in­tro­du­ci­r­la en tu dominio como un registro DNS TXT. Para hacerlo, sigue estos pasos:

  1. Accede al área de ad­mi­ni­s­tra­ción de tu dominio.
  2. Navega hasta los registros DNS.
  3. Crea un nuevo registro DNS de tipo “TXT”.
  4. Añade ahora tu nombre de host DKIM en el campo destinado a “Nombre de host”. Este se compone de selector y dominio y tiene el formato: selektor._domainkey.ejemplodedominio.es. En lugar de selektor y dominiodeejemplo.es, utiliza los valores co­rre­s­po­n­die­n­tes.
  5. En el campo value inserta la clave pública.
  6. Guarda la nueva entrada y espera hasta que el DNS recoja tus cambios (pueden tardar hasta 2-3 días.)

Comprobar el registro DKIM

Puedes comprobar si realmente se puede acceder pú­bli­ca­me­n­te al registro DKIM mediante un co­m­pro­ba­dor DKIM, p. ej., con el DKIM Record Lookup de EasyDMARC.

Como al­te­r­na­ti­va, puedes enviar un correo a tu propia dirección y revisar el en­ca­be­za­do. Allí aparecerá la entrada “DKIM Signature” siempre que DKIM se haya co­n­fi­gu­ra­do co­rre­c­ta­me­n­te:

Imagen: Captura de pantalla de un encabezado de correo electrónico con el recorte de la firma DKIM
En el en­ca­be­za­do de un correo ele­c­tró­ni­co se puede ver la firma DKIM.
Consejo

Si copias el en­ca­be­za­do de un correo ele­c­tró­ni­co en la he­rra­mie­n­ta de análisis de en­ca­be­za­dos de MXToolBox, podrás consultar in­fo­r­ma­ción detallada de este.

E-mail marketing
Crea ne­w­s­le­t­te­rs y aumenta tus ventas
  • Pla­n­ti­llas pro­fe­sio­na­les de edición fácil
  • Diseño intuitivo y funciones de IA
  • Correo ele­c­tró­ni­co fácil y conforme con el RGPD
Ir al menú principal