¿Qué es DKIM?
DKIM es un método de autenticación de correo electrónico que permite al servidor receptor verificar si un correo electrónico fue enviado y autorizado por el propietario del dominio del correo electrónico. El correo electrónico recibe una firma digital, que es un encabezado añadido al mensaje y asegurado con cifrado.
Si un correo electrónico está firmado con una firma válida de DomainKeys Identified Mail (DKIM), se garantiza que ni el cuerpo del mensaje ni los archivos adjuntos han sido modificados desde que fueron enviados por primera vez hasta que llegan a tu bandeja de entrada. Esto significa que cuando tu receptor verifica una firma DKIM válida, podrá verificar la integridad de todas las partes del mensaje. Los usuarios finales no pueden ver las firmas DKIM; la validación se realiza a nivel de servidor.
Historia de DKIM.
El estándar DomainKeys Identified Mail (DKIM) fue desarrollado en 2007 por una coalición de organizaciones que incluyen AOL, Google, Microsoft y Yahoo!, con el fin de abordar el problema del spoofing de correo electrónico. DKIM utiliza criptografía de clave pública para verificar que un mensaje de correo electrónico no ha sido manipulado durante el tránsito y que realmente proviene del dominio del remitente pretendido. Logra esto añadiendo una firma digital a cada mensaje de correo electrónico que puede ser utilizada para verificar la autenticidad del mensaje.
En 2012, el Internet Engineering Task Force (IETF) publicó DomainKeys Identified Mail como un estándar oficial (RFC 6376). Desde entonces, ha sido ampliamente adoptado por proveedores de servicios de correo electrónico (ESPs) y otras organizaciones como una forma de garantizar la seguridad y la integridad de los mensajes de correo electrónico.
Cómo funciona DKIM
Cada mensaje de correo electrónico firmado con DKIM contiene un campo de encabezado llamado DomainKeys Identified Mail-Signature que incluye la siguiente información:
- El nombre de dominio del remitente
- Un selector para la clave DKIM utilizada para firmar el mensaje (por ejemplo, «dkim» o «20170914»)
- El algoritmo de firma utilizado (por ejemplo, «rsa-sha256»)
- Una firma criptográfica generada utilizando la clave privada del remitente
Cuando se recibe un mensaje, el servidor de correo receptor puede utilizar la información en el campo de encabezado DKIM-Signature para verificar la autenticidad del mensaje. Para hacer esto, necesitará recuperar la clave pública correspondiente al selector y al dominio del remitente desde un registro DNS (conocido como registro TXT). Una vez que tiene la clave pública, puede utilizarla para verificar la firma del mensaje y asegurarse de que el mensaje no ha sido manipulado.
¿Por qué usar DKIM?
DKIM es una herramienta importante para combatir el spoofing de correo electrónico, que es un tipo de ataque cibernético que implica enviar correos electrónicos que parecen provenir de un remitente legítimo pero que en realidad provienen de una fuente diferente. El spoofing de correo electrónico puede ser utilizado con diversos propósitos maliciosos, como ataques de phishing o la propagación de malware.
DomainKeys Identified Mail puede ayudar a proteger a los destinatarios de ataques de spoofing de correo electrónico al verificar la autenticidad de cada mensaje de correo electrónico. Al verificar que cada mensaje no ha sido manipulado y que proviene del dominio del remitente pretendido, DKIM puede ayudar a garantizar que los destinatarios no sean engañados por correos electrónicos falsificados.
Además de proteger a los destinatarios del spoofing de correo electrónico, DKIM también puede ayudar a mejorar la entregabilidad del correo electrónico de una organización. Esto se debe a que muchos ESPs utilizan DomainKeys Identified Mail para verificar
Sintaxis del encabezado DKIM
Firma DKIM: v=1; a=rsa-sha256; c=simple/simple; d=skysnag.com;
s=brisbane;
t=1217574938; bh=KWSe46TZS2+p7aR67F1kVb6nXyo4=;
h=Received:Mime-Version:Date:Message-ID:Subject:From:To:Content-Type;
[email protected];
b=dzdVyOfAKCdLXdJOc9G2q8LoXSlEniSbav+yuU4zGeeruW+s4U4VgFyL2ckaVzRp
SeAgiU6p4T+YGmJ3fWZA4kZBVTBQ5VVq3kR5YDw7x5fg+oZ6+V1R+nYZ4pZBXNK3+
qkjxqhw4kXlBYjYwvSpYrcYTtYC1Q4E1dWotZHUZSo=
Los campos en el encabezado DKIM-Signature se definen de la siguiente manera:
Etiqueta | Descripción |
V | Versión. La versión actual es 1. |
a | El algoritmo de firma utilizado. Este documento define únicamente el algoritmo rsa-sha256. |
c | El algoritmo o algoritmos de canonicalización de la firma utilizados. Este documento define dos algoritmos de canonicalización de firma: «Sencillo» y «relajado». |
d | El dominio de firma. El dominio del remitente del mensaje. |
s | El selector. Una cadena que identifica el registro de clave pública de DomainKeys Identified Mail asociado con el dominio de firma. |
t | Marca de tiempo de la firma. La marca de tiempo de la firma es el número de segundos desde el 1 de enero de 1970 que representa cuándo se calculó la firma. |
bh | El hash del cuerpo. Un hash del cuerpo del mensaje. |
h | El campo de encabezados de la firma. Una lista separada por dos puntos que identifica los campos de encabezado presentados al algoritmo de firma. |
i | La identidad de la firma. Una cadena que se utiliza para indicar el alcance de control que tiene el firmante sobre el mensaje. (Esto puede ser utilizado, por ejemplo, por un usuario corporativo para afirmar que está actuando dentro del ámbito de sus derechos y responsabilidades laborales). |
z | El campo de encabezados finales de la firma. Una lista separada por dos puntos que identifica los campos de encabezado que aparecen después de la firma, es decir, los encabezados finales de la firma. |
b | Los datos de la firma. Una firma se genera mediante el algoritmo especificado en la etiqueta «a«. |
x | Una marca de tiempo de caducidad de la firma. |
En resumen, el encabezado DKIM-Signature se utiliza para firmar mensajes para la verificación DKIM. El encabezado incluye la versión de DomainKeys Identified Mail que se está utilizando, el algoritmo utilizado para generar el hash, la postura de canonicalización para el dominio emisor, el selector para la clave pública DKIM, el dominio de correo electrónico que firmó el mensaje, la identidad del firmante, el valor de un hash del cuerpo y la firma criptográfica de toda la información anterior.
Verificación DKIM.
La verificación de DKIM comienza asegurándose de que el número de versión cumpla con la especificación de DomainKeys Identified Mail, que la identidad del dominio del remitente coincida con el dominio establecido en la firma, y que «h=» etiqueta contiene el campo de encabezado From. Si todo esto se verifica, el servidor receptor intenta recuperar la clave pública para el dominio remitente utilizando las etiquetas «d=» y «s=«.
También puedes usar nuestra herramienta gratuita de verificación de registros DKIM para verificar y validar tu registro.
La clave pública se utiliza para descifrar el hash cifrado que se envió junto con el mensaje. Luego, el servidor de correo receptor calcula su propio hash del mensaje. Si los dos hashes coinciden, se permite el paso del mensaje.
¿DKIM previene el spoofing?
DKIM por sí solo no previene el spoofing. DKIM y DMARC trabajan juntos para prevenir el spoofing. DomainKeys Identified Mail utiliza criptografía de clave pública para firmar mensajes con una clave privada. La firma se verifica luego con una clave pública que se obtiene de los registros DNS del remitente del mensaje. Esto garantiza que solo el propietario de la clave privada pueda enviar mensajes que parezcan provenir del dominio del remitente del mensaje. DMARC utiliza los resultados de las verificaciones de DKIM y SPF para determinar si un mensaje debe entregarse o no. Si DKIM o SPF fallan, DMARC puede instruir al servidor de correo receptor a rechazar, poner en cuarentena o entregar el mensaje.
El papel de DKIM en la entregabilidad
La principal ventaja de usar DomainKeys Identified Mail es que te ayuda a autenticar tu correo electrónico. Al autenticar tu correo electrónico, estás indicando a tus destinatarios que el mensaje proviene realmente de ti y no de otra persona. Esto es importante porque ayuda a mejorar la entregabilidad de tu correo electrónico.
Cuando tu correo electrónico está autenticado, es más probable que se entregue en la bandeja de entrada en lugar de en la carpeta de spam. Esto se debe a que la autenticación es uno de los factores que los proveedores de servicios de Internet (ISPs) utilizan para determinar si un correo electrónico debe entregarse en la bandeja de entrada o no.
Otra ventaja de usar DomainKeys Identified Mail es que puede ayudarte a evitar los filtros de spam. Esto se debe a que muchos filtros de spam utilizan DomainKeys Identified Mail para determinar si un correo electrónico es spam o no. Si un correo electrónico no está autenticado, es más probable que se marque como spam.
Finalmente, usar DKIM puede ayudarte a construir una mejor reputación con los proveedores de servicios de Internet (ISPs). Esto se debe a que los ISPs a menudo utilizan DKIM para determinar la reputación del remitente.
Relación entre SPF, DKIM y DMARC
SPF y DMARC se utilizan para autenticar los remitentes de correo electrónico. DKIM se utiliza para autenticar mensajes de correo electrónico.
SPF verifica la dirección IP del remitente para asegurarse de que coincida con la dirección IP autorizada para enviar correos electrónicos al dominio del remitente.
DKIM utiliza firmas criptográficas para autenticar mensajes de correo electrónico. La firma se añade al encabezado del mensaje, y el destinatario puede utilizar la firma para verificar que el mensaje no fue modificado durante el tránsito y que fue enviado por un remitente autorizado.
DMARC verifica los resultados de autenticación de SPF y DomainKeys Identified Mail (DKIM) para un mensaje, y determina si el mensaje debe entregarse, ponerse en cuarentena o ser rechazado según las políticas configuradas por el remitente.
Cómo configurar una clave DKIM
La configuración para DomainKeys Identified Mail es la misma independientemente del proveedor de servicios de correo electrónico (ESP) o servidor de correo que utilices. Necesitas tener una clave privada almacenada de manera segura, y debes compartir la clave pública en los registros DNS de tu dominio. Al igual que con SPF, DKIM utiliza registros DNS TXT con un formato especial.
Es considerado una práctica recomendada rotar regularmente tus claves DKIM. El estándar DKIM recomienda rotar las claves cada trimestre, y también recomienda revocar las claves DKIM antiguas como parte del proceso de rotación. La forma más sencilla de gestionarlo es añadiendo nuevas claves y eliminando las antiguas de tus registros DNS unos días después. Skysnag es uno de los pocos ESPs que facilita esta gestión al mantener activa tu antigua clave privada mientras se propaga tu nueva clave pública.
La mejor manera de asegurar el correo electrónico de tu dominio es utilizando DomainKeys Identified Mail en combinación con SPF y DMARC. Para obtener más información sobre cómo estos protocolos trabajan juntos para proteger tu dominio, consulta nuestras otras guías.
Conclusión
La solución automatizada de DKIM de Skysnag te ayuda a inspeccionar y verificar tus registros DKIM mientras examina el origen y el contenido de los mensajes de correo electrónico en un esfuerzo por reducir la cantidad de spam, phishing y otros correos electrónicos dañinos. Junto con esto, el software automatizado de Skysnag asegura que tus registros DKIM estén configurados correctamente. Empieza con Skysnag y regístrate para una prueba gratuita hoy mismo.
Compruebe el cumplimiento de la seguridad DMARC de su dominio
Implemente DMARC, SPF y DKIM en días - no en meses
Skysnag ayuda a los ingenieros ocupados a implementar DMARC, responde a cualquier configuración incorrecta de SPF o DKIM, lo que aumenta la entregabilidad del correo electrónico y elimina la suplantación de correo electrónico y la suplantación de identidad.