¿DKIM? No te estamos hablando en marciano, este concepto dentro del email es mucho más viejo de lo que tú piensas. En este artículo te lo vamos a compartir, tomando en cuenta las enseñanzas de nuestro máster Javi Burgos.
Y bueno, ¿Qué es exactamente DKIM?
Originalmente fue desarrollado por Yahoo para que el destinatario de un email pudiese validar que el origen del mismo fuese el que indicaba la cabecera del email. La evolución de esta tecnología dio como fruto DKIM, las siglas para «DomainKeys Identified Mail».
Vamos a entender al DKIM como un mecanismo de autenticación de correo electrónico que permite a una organización responsabilizarse del envío de un mensaje. Aunque se parece, no hay que confundirlo con el SPF.
El DKIM está formado por una clave privada en los servidores, que se usa para cifrar la cabecera de los mensajes enviados; en paralelo, cifra una clave pública alojada en los DNS del dominio del enviador, la cual posteriormente es recuperada por los destinatarios para verificar el correo y así saber a ciencia cierta que el mensaje es genuino y proviene del dominio que dice que lo envía.
En sí, el gran valor agregado del DKIM es que ataca las posibles falsificaciones de contenidos de las que hace uso el SPAM. Por ejemplo, un mensaje de spam puede falsear el campo «From:» de las cabeceras de un mensaje diciendo que el origen es usuario@ejemplo.com, cuando realmente no proviene de esa dirección.
Diferencias con el SPF y sus inconvenientes
No hay que confundir al DKIM con el SPF. La mayor diferencia entre estos es que el DKIM cifra cada mensaje de manera independiente y por lo tanto no se usa un valor único en un registro DNS para la validación del mail.
Lo malo, es que esto tiene una contrapartida, ya que el DKIM consume una gran cantidad de recursos en los servidores origen y destino, ya que se realiza un cifrado y descifrado de cada uno de los emails enviados y recibidos.
Otro inconveniente es que la clave de cifrado es diferente para cada dominio que se use a la hora de enviar, por lo cada dominio que se use para enviar emails debe tener definida una clave diferente en su registro DNS.
Ejemplificando
Para tener una mayor consciencia de lo qué «es el DKIM», imaginemos que tenemos configurado en nuestra herramienta MITTUM un dominio con DKIM: selecting.es
Si realizamos un envío con este dominio, obtenemos la siguiente cabecera:
Delivered-To: javier.burgos@elogia.net Received: by 10.202.225.7 with SMTP id y7csp2515999oig; Mon, 14 Mar 2016 05:15:06 -0700 (PDT) X-Received: by 10.28.229.132 with SMTP id c126mr16607036wmh.72.1457957706525; Mon, 14 Mar 2016 05:15:06 -0700 (PDT) Return-Path: <info@selecting.es> Received: from p221.pmkt0.com (p221.pmkt0.com. [213.229.189.221]) by mx.google.com with ESMTP id x8si18145540wmg.33.2016.03.14.05.15.06 for <javier.burgos@elogia.net>; Mon, 14 Mar 2016 05:15:06 -0700 (PDT) Received-SPF: pass (google.com: domain of info@selecting.es designates 213.229.189.221 as permitted sender) client-ip=213.229.189.221;Authentication-Results: mx.google.com; spf=pass (google.com: domain of info@selecting.es designates 213.229.189.221 as permitted sender) smtp.mailfrom=info@selecting.es; dkim=pass header.i=@selecting.es; dmarc=pass (p=NONE dis=NONE) header.from=selecting.es Received: from [127.0.0.1] (mailer.ibrands.es [213.229.186.30]) by p221.pmkt0.com (Postfix) with ESMTP id DD3A3340034 for <javier.burgos@elogia.net>; Mon, 14 Mar 2016 13:15:02 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=selecting.es; s=elogia.net; t=1457957702; bh=7P0LD4k0skKvTNf5V46LuO/jJgzcBS2wLY6xdZLlPTk=; h=Subject:Date:Reply-To:To:From:List-Unsubscribe:List-Id; b=cnpEEYDiFEBzoBHtrPOOhgToIYSMr7Ih4fyCVPVEAvgnTTwprk1ys7CWQqOBKnJmR EEzIbF+a3uFbu16clqRYnAW9F5V5B7GVSsuJNFEDnaSNlUUT8Sz9l71a+sIkMdPWop adoosjGj0+BP/Guk/J2M2ze+uxkgYApI0HWuPxd8=
Para verificar si el dominio de envío es el correcto, el cliente de email verificará en el registro DNS la clave pública para realizar la comprobación:
DKIM Record for elogia.net._domainkey.selecting.esk=rsa;t=s;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDAL+Aq4090biVBqfhy6odxAn
IMWsKW3h9EbAJrpxg4DP2eUzq+RaI+a18QIJdlQh8NKPSIGdT3eMWXwORQFeNRj2Z0TXXjTqgl
WNCQtzDneh+TO3EFC0kA1uiBcCwPeNtTMt3QzBe712+41BUI123YPr+Zpy4MO7LBP9FCmhD59w
IDAQAB
This is a valid DKIM key record
Por cierto, si te sirve, una página donde se puede ver dicho registro es: http://dkimcore.org/tools/keycheck.html. Para efectos de este ejemplo, usamos como selector elogia.net y como dominio a comprobar selecting.es.
¿Te queda más claro el concepto del DKIM ahora? Comparte tu opinión.
Imagen: ShutterStock