Puestos

Claves de Dominio Correo Identificado (DKIM) es un método de autenticación de correo electrónico que permite a una organización asumir la responsabilidad de un mensaje enviado. Utiliza la criptografía de clave pública para "firmar" digitalmente los correos electrónicos, demostrando a los destinatarios que el mensaje fue enviado por el propietario del dominio. Los receptores pueden cotejar la firma con la clave pública publicada de su dominio para verificar la firma.

Este artículo examinará DKIM en detalle y le dará una visión general de cómo funciona este método de autenticación de correo electrónico.

¿Qué es la firma DKIM?

DKIM son las siglas de DomainKeys Identified Mail. Es un sistema de autenticación de correo electrónico que proporciona integridad y no repudio mediante el uso de firmas criptográficas. Junto con DMARC puede ayudar a crear una sólida infraestructura de protección contra la falsificación para sus correos electrónicos.

El protocolo DKIM crea una firma criptográfica para cada mensaje enviado a los destinatarios, así como una firma de dominio que se añade a la cabecera del mensaje.

Esta firma es utilizada por el receptor para verificar que el mensaje fue realmente enviado por el propietario del dominio y no por otra persona. También verifica que el mensaje no ha sido manipulado a lo largo de su recorrido desde el emisor hasta el receptor.

Si no coincide, entonces

  1. El mensaje fue alterado durante la transmisión, o
  2. El mensaje se envía en nombre de otra persona que tiene acceso a la clave privada del servidor emisor

En estos casos de firmas no coincidentes, DKIM impedirá que esos correos se entreguen a sus destinatarios porque no podrán validarlos como mensajes legítimos de su marca.

¿Cómo funciona una firma DKIM?

Las firmas DKIM funcionan insertando una firma digital en la cabecera de un correo electrónico. Esta firma puede ser verificada por el servidor receptor y utilizada para determinar si un correo electrónico ha sido manipulado o no durante el tránsito.

DKIM utiliza la criptografía de clave pública, que se basa en un par de claves: una privada y otra pública. La clave pública se distribuye a cualquiera que la quiera, mientras que la clave privada se mantiene en secreto (normalmente por el propietario).

Cuando usted firma un correo electrónico utilizando DKIM, su clave privada se utiliza para crear un hash del contenido del mensaje y luego encripta ese hash con la clave pública del receptor. Este hash cifrado se inserta en la cabecera del mensaje, donde puede ser validado por el receptor.

Las claves de la firma DKIM

Las firmas DKIM se generan utilizando dos claves criptográficas, una pública y otra privada. La clave pública se publica en DNS, mientras que la clave privada se mantiene en secreto.

Cuando se firma un correo electrónico, la clave privada se utiliza para generar un hash del mensaje. Este hash se encripta con la clave pública y se envía junto con el propio mensaje.

Cuando el destinatario recibe esta información, utiliza su clave privada para descifrar el hash y verificar que coincide con el contenido original del mensaje.

Las partes de la firma DKIM

Una firma DKIM consta de dos partes: una cabecera y el cuerpo. La cabecera contiene información sobre la identidad del remitente, incluyendo su dirección de correo electrónico y su clave pública. El cuerpo contiene el mensaje real que se envió.

  1. Para calcular una firma DKIM, primero se toma un hash MD5 de su nombre de dominio (por ejemplo, "ejemplo.com"), que es su clave pública.
  2. A continuación, concatena su nombre de dominio con un hash SHA1 (por ejemplo, "sha1(ejemplo.com)") y lo añade al mensaje original que se envió.
  3. A continuación, toma otro hash MD5 de esta cadena combinada (por ejemplo, "md5(sha1(ejemplo.com))") y lo adjunta como cabecera al principio de su mensaje antes de enviarlo para su entrega.

Pasos de la firma DKIM

Introducción a DKIM:

  1. El primer paso es crear una clave privada, que se utiliza para firmar el mensaje.
  2. El segundo paso es crear una clave pública, que se utiliza al verificar la firma.
  3. El tercer paso es generar dos registros TXT de DNS: uno para la clave pública y otro para el nombre del selector.
  4. El cuarto paso es publicar estos registros en su archivo de zona DNS.

Pasos de la firma DKIM:

1. El remitente genera un mensaje con un identificador único llamado función hash criptográfica (normalmente SHA-256). Este identificador único se denomina campo de cabecera DKIM-Signature y contiene información sobre quién lo ha firmado y cuándo lo ha hecho.

2. El remitente añade al mensaje campos de cabecera adicionales que contienen información sobre:

  • el tiempo que se debe considerar válido el mensaje
  • la frecuencia con la que se debe volver a comprobar la validez de la firma
  • si las firmas deben ser validadas mediante un servicio externo como SPF (Sender Policy Framework)
  • qué claves se utilizaron para firmar este mensaje

3. Por último, los destinatarios que deseen verificar estas firmas utilizarán su copia de la clave pública del remitente a partir de sus registros DNS o de un servicio intermedio como SenderID o Mailgun, y luego la utilizarán para validar cualquier mensaje con cabeceras DKIM adjuntas.

Comprensión de las etiquetas utilizadas en la firma DKIM

Este es un ejemplo de cómo podría ser un registro de firma DKIM:

DKIM-Signature: v=1;

a=rsa-sha256;

s=jun2005.eng;

c=relajado/relajada;

d=ejemplo.com;

s=dkim;

t=1526555738;

bh=mhU6OJb5ldZf+z/pX9+0Nc4tj/lmyYHWbR8LgI2Q=;

h=To:From:Subject:Date:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding;

b=s1sdZCdX9vxocsMSlT7cOrYixl1g8wfkdzrVe7BGN6ZdPV9xu2A

v= Esta etiqueta nos indica la versión del DKIM.

a= Especifica el algoritmo utilizado por el firmante para generar su clave pública. Puede ser uno de los siguientes: RSA1_5, RSA-SHA1 o RSASSA-PSS. Si falta esta etiqueta, se asume RSA-SHA1.

c= Especifica el algoritmo de canonicalización utilizado para generar hashes a partir de los campos de cabecera, tal y como exige [BCP14]. Va seguido de una lista separada por comas de 1 o más algoritmos de canonicalización (por ejemplo, "c=relaxed"). Si se omite esta etiqueta, se asume una canonización relajada.

d= Especifica qué nombre de dominio debe utilizarse al generar las firmas de los mensajes enviados por este servidor (o por otro destinatario).

s= La etiqueta "s" es la cadena de selección, que es utilizada por un servidor receptor para determinar qué clave pública debe utilizarse para verificar la firma.

t= La etiqueta de marca de tiempo se utiliza para registrar cuándo se creó la firma y suele representarse como una marca de tiempo Unix (el número de segundos desde el 1 de enero de 1970).

bh= Esta etiqueta representa el hash del cuerpo, que es una versión encriptada del contenido de su mensaje (incluidas las cabeceras). Esto ayuda a evitar la manipulación de los mensajes después de que hayan sido firmados por DKIM y antes de que lleguen a sus destinatarios.

h= El valor hash de la cabecera contiene todas las cabeceras en su totalidad (incluidas las firmadas por Sender Policy Framework o DomainKeys Identified Mail), excepto las que se han excluido explícitamente incluyéndolas en una lista de exclusión. Este valor debe calcularse utilizando SHA-1 o MD5.

b= La etiqueta "b" es la representación codificada en base64 de una función hash criptográfica en el cuerpo canonizado del mensaje (es decir, después de eliminar la codificación MIME).

Generar una firma DKIM

  1. Generar una clave pública y privada.
  2. Generar una cabecera y un pie de página DKIM.
  3. Firme el contenido del correo electrónico con su clave privada utilizando el algoritmo seleccionado, por ejemplo, RSA-SHA256 o RSA-SHA512
  4. Comprime el mensaje utilizando el algoritmo seleccionado, por ejemplo, deflactar o ninguno.
  5. Inserte las cabeceras DKIM al principio del mensaje antes de cualquier cabecera MIME.
  6. Inserte el pie de página DKIM después de cualquier pie de página MIME.

Garantizar la validez de la firma DKIM

Se pueden tomar algunas medidas para garantizar que la firma DKIM sea válida:

  1. Determine si desea utilizar un algoritmo de firma DKIM tradicional o uno optimizado.
  2. Calcule un valor hash para la cabecera y el cuerpo de su mensaje (normalmente sería SHA-256).
  3. Elija un algoritmo de firma adecuado (como RSA o ECDSA).
  4. Verifique que su clave pública coincide con el selector que especificó anteriormente en el Paso 1 (esto se hace utilizando el DNS).
  5. Firme su mensaje utilizando su clave privada y almacénela como una cadena ASCII en formato Base64 dentro del encabezado de su mensaje de correo electrónico (además de colocarla en el DNS).

Verificación de una firma DKIM

La verificación de firmas DKIM es complicada. Requiere mucha experiencia para configurarla y mantenerla, y a menudo se utiliza junto con otros sistemas como SPF, que también son complicados.

Por ello, la mayoría de los vendedores de correo electrónico utilizan una herramienta de verificación de firmas DKIM, como un comprobador de registros DKIM para comprobar sus firmas DKIM. Esta herramienta comprueba las claves DKIM que se han añadido a un correo electrónico y las verifica con una base de datos pública. Si las claves son válidas y de confianza, el correo electrónico puede considerarse legítimo.

Esto es importante por varias razones: en primer lugar, asegura que sus correos electrónicos no sean marcados como spam por los ISPs o los clientes de los ISPs; en segundo lugar, le permite evitar que su dominio esté en la lista negra de otros dominios (esto se llama envenenamiento de dominio); finalmente, ayuda a asegurar que sus correos electrónicos no se vean atrapados en ningún tipo de ataque man-in-the-middle.

Conclusión

DKIM es una solución prometedora que permite a una organización validar la legitimidad de los correos electrónicos, especialmente los procedentes de remitentes externos. Cuando se aplica de forma coherente en un entorno de mensajería, proporciona a los destinatarios un alto grado de confianza en que un correo electrónico fue enviado por un representante autorizado del dominio del remitente. Sin embargo, es importante señalar que, aunque DKIM proporciona un mecanismo de verificación, no es suficiente para proteger contra los ataques de fraude por correo electrónico, como la suplantación de identidad y el phishing. Para ello, es necesaria una política DMARC de rechazo es obligatoria.

¿Necesita ayuda?

La autentificación del correo electrónico es una parte necesaria de la estrategia de marketing digital de cualquier empresa. Con tantos correos electrónicos que se envían y reciben cada día, es fácil que su marca se pierda en la confusión. Pero con los servicios de autenticación de correo electrónico de PowerDMARC, puede asegurarse de que sus correos electrónicos sean vistos por las personas adecuadas. 

Nuestra solución de autenticación de correo electrónico le ayudará:

  • Aumente la entregabilidad del correo electrónico verificando su nombre de dominio y su firma DKIM
  • Mejore su imagen de marca mostrando a los destinatarios que es una empresa legítima
  • Mejore la experiencia general del cliente asegurándose de que sólo vea mensajes legítimos de usted

Si ha intentado validar su registro DKIM con la búsqueda de registros DKIM, necesita especificar su selector DKIM. En este blog hablaremos de las distintas formas de encontrarlo para su dominio. DKIM, o DomainKeys Identified Mail es el protocolo estándar de autenticación de correo electrónico que hace uso de la criptografía para autenticar sus mensajes. DKIM existe en su DNS como un registro TXT de DNS que puede generar fácilmente utilizando nuestro generador de registros DKIM gratuito, y posteriormente publicado en el DNS de su dominio para configurar el protocolo para su dominio.

¿Qué es un selector DKIM?

Puede ver el selector DKIM de su dominio como una etiqueta "s=" en su cabecera de firma DKIM. Se trata de una variable de cadena que ayuda a apuntar a la clave pública DKIM en el DNS de su dominio al autenticar sus mensajes mediante el protocolo de autenticación DKIM. El MTA receptor autentifica sus mensajes salientes comparando la clave privada asignada a su correo electrónico con la clave pública de su DNS para comprobar la legitimidad del correo electrónico.

Su selector es un identificador único y tiene que ser diferente para los distintos servicios de intercambio de correo electrónico o proveedores que esté utilizando.

¿Cómo encontrar el selector DKIM utilizando el correo de prueba?

Puede encontrar su selector mediante los siguientes 3 pasos:

1) Envía un correo de prueba a tu cuenta de gmail
2) Haga clic en los 3 puntos junto al correo electrónico en su bandeja de entrada de gmail

3) Seleccione "mostrar original".

4) En la página "Mensaje original" navegue hasta el final de la página hasta la sección de firma DKIM e intente localizar la etiqueta "s=", el valor de esta etiqueta es su selector DKIM.

En el ejemplo anterior, s1 es mi selector DKIM. Este es uno de los métodos que puede utilizar para identificar y localizar el suyo.

Cómo encontrar el selector DKIM con PowerDMARC

Como alternativa, puede registrarse en PowerDMARC para estar en su prueba gratuita del analizador DMARC y habilitar los informes DMARC para su dominio. Aquí podrá localizar e identificar fácilmente los selectores DKIM para cada una de sus fuentes de envío en la vista de informes agregados de DMARC. De este modo, ya no tendrá que enviarse manualmente correos de prueba para buscarlos cada vez.

1) En el panel de control de PowerDMARC, vaya a DMARC aggregate reports y a la vista que desee. Para este ejemplo, estoy trabajando con la vista "Por fuente de envío".
2) Coloque en cascada la fila de la fuente de envío para la que desea ver su selector DKIM
3) Coloque en cascada la fila del nombre de host del remitente
4) Ahora podrá encontrar el selector bajo el cuadro de verificación DKIM, como se muestra a continuación:

Una vez que haya encontrado su selector DKIM puede realizar libremente la comprobación del registro DKIM para configurar los errores en su registro DKIM y resolver los problemas. Espero que este blog le haya ayudado a encontrar su selector DKIM. Obtenga su analizador DMARC gratuito hoy para implementar SPF, DKIM y DMARC sin errores para su dominio.

Antes de entrar en cómo configurar DKIM para su dominio, hablemos un poco de lo que es DKIM. DKIM, o DomainKeys Identified Mail, es un protocolo de autenticación de correo electrónico que se utiliza para verificar la autenticidad de los correos electrónicos salientes. El proceso implica el uso de una clave criptográfica privada generada por su servidor de correo que firma cada mensaje de correo electrónico saliente. Esto garantiza que los destinatarios puedan verificar que los correos electrónicos que reciben han sido enviados desde su servidor de correo y no son falsos. Esto puede mejorar la capacidad de entrega y ayudar a eliminar el spam. En pocas palabras, un correo electrónico procedente de un servidor de correo habilitado para DKIM contiene una firma digital o, más correctamente, una firma criptográfica, que puede ser validada por el servidor de correo electrónico del destinatario.

DKIM se creó combinando tecnologías existentes como DomainKeys (de Yahoo) y Identified Internet Mail (de Cisco). Se ha convertido en un método de autenticación ampliamente adoptado, que se conoce como DKIM y también está registrado como RFC (Request for Comments) por el IETF (Internet Engineering Task Force). Los principales ISP, como Google, Microsoft y Yahoo, crean una firma digital que se incrusta en la cabecera del correo electrónico saliente y validan el correo entrante con sus propias políticas.

En el blog vamos a profundizar en el mecanismo utilizado en DKIM para validar sus correos electrónicos y sus diversas ventajas, así como aprender a configurar DKIM para su propio dominio.

¿Cómo configurar DKIM para proteger su dominio de la suplantación de identidad?

La firma DKIM es generada por el MTA y se almacena en el dominio de la lista. Después de recibir el correo electrónico, se puede verificar el DKIM utilizando la clave pública. DKIM como un mecanismo de autenticación que puede probar la identidad de un mensaje. Esta firma demuestra que el mensaje es generado por un servidor legítimo.

Esto es especialmente necesario ya que los ataques de falsificación de dominios están aumentando en los últimos tiempos.

¿Qué es una firma DKIM?

Para utilizar DKIM, debe decidir qué debe incluirse en la firma. Normalmente se trata del cuerpo del correo electrónico y de algunas cabeceras por defecto. No puede cambiar estos elementos una vez que están establecidos, así que elíjalos con cuidado. Una vez que haya decidido qué partes del correo electrónico se incluirán en la firma DKIM, estos elementos deben permanecer inalterados para mantener una firma DKIM válida.

No debe confundirse con el selector DKIM, la firma DKIM no es más que un consorcio de valores de cadena arbitrarios también conocidos como "valores hash". Cuando su dominio está configurado con DKIM, su servidor de correo electrónico remitente cifra este valor con una clave privada a la que sólo usted tiene acceso. Esta firma garantiza que el correo electrónico que envía no ha sido alterado o manipulado después de su envío. Para validar la firma DKIM, el receptor del correo electrónico realizará una consulta DNS para buscar la clave pública. La clave pública habrá sido proporcionada por la organización propietaria del dominio. Si coinciden, su correo electrónico se clasifica como auténtico.

¿Cómo configurar DKIM en 3 sencillos pasos?

Para implementar DKIM fácilmente con PowerDMARC todo lo que necesita hacer es generar su registro DKIM utilizando nuestro generador de registros DKIM gratuito. Su registro DKIM es un registro DNS TXT que se publica en las DNS de su dominio. A continuación, puede realizar una búsqueda gratuita de DKIM, utilizando nuestra herramienta de búsqueda de registros DKIM. Esta herramienta gratuita proporciona una comprobación de DKIM con un solo clic, asegurando que su registro DKIM no tiene errores y es válido. Sin embargo, para generar el registro, primero debe identificar su selector DKIM.

¿Cómo identifico mi selector DKIM?

Una pregunta común que suelen plantear los propietarios de dominios es ¿cómo puedo encontrar mi DKIM? Para encontrar su selector DKIM, todo lo que tiene que hacer es:

1) Envía un correo de prueba a tu cuenta de gmail 

2) Haz clic en los 3 puntos que aparecen junto al correo electrónico en tu bandeja de entrada de Gmail

3) Seleccione "mostrar original". 

4) En la página "Mensaje original" navegue hasta el final de la página hasta la sección de firma DKIM e intente localizar la etiqueta "s=", el valor de esta etiqueta es su selector DKIM. 

DMARC y DKIM

Una pregunta común que puede hacerse a menudo es si la implementación de DKIM es suficiente. La respuesta es no. Mientras que DKIM le ayuda a cifrar sus mensajes de correo electrónico con una firma criptográfica para validar la legitimidad de sus remitentes, no proporciona una manera para que los receptores de correo electrónico respondan a los mensajes que fallan DKIM. Aquí es donde entra en juego DMARC.

Domain-Based Message Authentication, Reporting and Conformance (DMARC) es un protocolo de autenticación de correo electrónico que ayuda a los propietarios de dominios a tomar medidas contra los mensajes que no superan la autenticación SPF/DKIM. Esto, a su vez, minimiza las posibilidades de ataques de suplantación de dominio y BEC. DMARC, junto con SPF y DKIM, puede mejorar la entregabilidad del correo electrónico en un 10% a lo largo del tiempo y aumentar la reputación de su dominio.

Regístrese en PowerDMARC hoy mismo y aproveche su prueba gratuita del analizador DMARC.