Articulo de referencia

Correo electrónico identificado por DomainKeys

DomainKeys Identified Mail ( DKIM ) es un método de autenticación de correo electrónico que permite a una persona, rol u organización propietaria del dominio firmante reclamar c...

DomainKeys Identified Mail ( DKIM ) es un método de autenticación de correo electrónico que permite a una persona, rol u organización propietaria del dominio firmante reclamar cierta responsabilidad por un mensaje al asociar el dominio con el mensaje.

El receptor puede comprobar que un correo electrónico que afirma provenir de un dominio específico fue autorizado por el propietario de dicho dominio. [ 1 ] Esto se logra mediante la adición de una firma digital , vinculada a un nombre de dominio, a cada mensaje de correo electrónico saliente. El sistema receptor puede verificar esto consultando la clave pública del remitente publicada en el DNS . Una firma válida también garantiza que algunas partes del correo electrónico (posiblemente incluyendo archivos adjuntos ) no han sido modificadas desde que se agregó la firma. [ 2 ] Por lo general, las firmas DKIM no son visibles para los usuarios finales y son agregadas o verificadas por la infraestructura en lugar de por los autores y destinatarios del mensaje.

DKIM es un estándar de Internet . [ 3 ] Está definido en RFC 6376 , de septiembre de 2011, con actualizaciones en RFC 8301 , RFC 8463 , RFC 8553 y RFC 8616 .

Descripción general

La necesidad de una identificación validada por correo electrónico surge porque, de lo contrario, las direcciones y el contenido falsificados se crean fácilmente y se utilizan ampliamente en el spam , el phishing y otros fraudes por correo electrónico. Por ejemplo, un estafador puede enviar un mensaje que afirma provenir de sender@example.com , con el objetivo de convencer al destinatario de que lo acepte y lo lea; sin embargo, a los destinatarios les resulta difícil determinar si deben confiar en este mensaje. Los administradores de sistemas también deben lidiar con quejas sobre correos electrónicos maliciosos que parecen haberse originado en sus sistemas, pero que en realidad no lo hicieron. [ 4 ]

DKIM permite firmar un mensaje y que el firmante ( la organización autora ) comunique qué correo electrónico considera legítimo. No previene ni revela directamente comportamientos abusivos.

DKIM también proporciona un proceso para verificar un mensaje firmado. Los módulos de verificación suelen actuar en nombre de la organización receptora , posiblemente en cada salto .

Todo esto es independiente de los aspectos de enrutamiento del Protocolo simple de transferencia de correo (SMTP), ya que opera sobre el mensaje RFC 5322 (el encabezado y el cuerpo del correo transportado), no sobre el "sobre" SMTP definido en RFC 5321. Por lo tanto, las firmas DKIM sobreviven al reenvío básico a través de múltiples agentes de transferencia de mensajes .

Detalles técnicos

Firma

La organización firmante puede ser un gestor directo del mensaje, como el autor, el agente de envío de correo , el sitio web o cualquier otro intermediario en la ruta de tránsito, o un gestor indirecto, como un servicio independiente que presta asistencia a un gestor directo.

Los módulos de firma insertan uno o más DKIM-Signature:campos de encabezado, posiblemente en nombre de la organización autora o del proveedor de servicios de origen. La especificación permite a los firmantes elegir qué campos de encabezado firman, pero el From:campo siempre debe estar firmado. [ 5 ] [ 6 ] El campo de encabezado resultante consta de una lista de tag=valuepartes como en el ejemplo siguiente:

Firma DKIM: v=1; a=rsa-sha256; d= example.net ; s=brisbane; c=relaxed/simple; q=dns/txt; i=foo@eng.example.net ; t=1117574938; x=1118006938; l=200; h=from:to:subject:date:keywords:keywords; z=From: foo@eng.example.net |To: joe@example.com | Subject:demo=20run|Date:July=205,=202005=203:44:08=20PM=20-0700; bh=MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=; b=dzdVyOfAKCdLXdJOc9G2q8LoXSlEniSbav+yuU4zGeeruD00lszZ VoG4ZHRNiYzR 

donde las etiquetas utilizadas son:

  • v (obligatorio), versión
  • un algoritmo de firma (obligatorio)
  • d (obligatorio), Identificador de dominio de firma (SDID)
  • s (obligatorio), selector
  • c (opcional), algoritmo(s) de canonicalización para el encabezado y el cuerpo
  • q (opcional), método de consulta predeterminado
  • i (opcional), Identificador de agente o usuario (AUID)
  • t (recomendado), marca de tiempo de la firma
  • x (recomendado), tiempo de caducidad
  • l (opcional), longitud del cuerpo
  • h (obligatorio), campos de encabezado: lista de aquellos que han sido firmados
  • z (opcional), campos de encabezado: copia de los campos y valores de encabezado seleccionados.
  • bh (obligatorio), hash del cuerpo
  • b (obligatorio), firma de los encabezados y del cuerpo

Los más relevantes son b para la firma digital real del contenido (encabezados y cuerpo) del mensaje de correo electrónico, bh para el hash del cuerpo (opcionalmente limitado a los primeros l octetos del cuerpo), d para el dominio de firma y s para el selector.

Opcionalmente, se puede incluir un Identificador de Agente o Usuario (AUID). El formato consiste en una dirección de correo electrónico con una parte local opcional. El dominio debe ser igual o un subdominio del dominio firmante. La semántica del AUID se deja intencionadamente sin definir y el dominio firmante puede utilizarla para establecer un ámbito de responsabilidad más específico.

Tanto el encabezado como el cuerpo contribuyen a la firma. Primero, el cuerpo del mensaje se cifra, siempre desde el principio, posiblemente truncado a una longitud dada l (que puede ser cero). Segundo, los campos seleccionados del encabezado se cifran, en el orden dado por h . Los nombres de campo repetidos se comparan desde la parte inferior del encabezado hacia arriba, que es el orden en que Received:los campos se insertan en el encabezado. Un campo inexistente coincide con la cadena vacía, por lo que agregar un campo con ese nombre romperá la firma. El DKIM-Signature:campo de la firma que se está creando, con bh igual al hash del cuerpo calculado y b igual a la cadena vacía, se agrega implícitamente al segundo hash, aunque su nombre no debe aparecer en h ; si aparece, se refiere a otra firma preexistente. Para ambos hashes, el texto se canoniza de acuerdo con los algoritmos c relevantes. El resultado, después del cifrado con la clave privada del firmante y la codificación usando Base64, es b .

Además de la lista de campos de encabezado que figura en h , se puede proporcionar en z una lista de campos de encabezado (que incluya tanto el nombre del campo como el valor) presentes en el momento de la firma . Esta lista no tiene por qué coincidir con la lista de encabezados de h .

Los algoritmos, los campos y la longitud del cuerpo deben elegirse de manera que se garantice la identificación inequívoca del mensaje, permitiendo al mismo tiempo que las firmas sobrevivan a los cambios inevitables que se producirán durante la transmisión. No se implica la integridad de los datos de extremo a extremo. [ 2 ]

Verificación

Un servidor SMTP receptor que desea verificar utiliza el nombre de dominio y el selector para realizar una búsqueda DNS. [ 7 ] Por ejemplo, dada la firma de ejemplo anterior: la etiqueta d proporciona el dominio del autor que se verificará, example.net ; la etiqueta s el selector, brisbane . La cadena _domainkey es una parte fija de la especificación. Esto proporciona el registro de recursos TXT que se buscará como:

brisbane._domainkey.example.net

Tenga en cuenta que el selector y el nombre de dominio pueden estar en UTF-8 en el correo electrónico internacionalizado. [ 8 ] En ese caso, la etiqueta debe codificarse según IDNA antes de la búsqueda. Los datos devueltos por la consulta de este registro también son una lista de pares etiqueta-valor. Incluye la clave pública del dominio , junto con otros tokens y banderas de uso de clave (por ejemplo, desde una línea de comandos: nslookup -q=TXT brisbane._domainkey.example.net) como en este ejemplo:

"k=rsa; t=s; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDDmzRmJRQxLEuyYiyMg4suA2Sy MwR5MGHpP9diNT1hRiwUd/mZp1ro7kIDTKS8ttkI6z6eTRW9e9dDOxzSxNuXmume60Cjbu08gOyhPG3 GfWdg7QkdN6kR4V75MFlw624VY35DaXBvnlTJTgRg/EW72O1DiYVThkyCgpSYS8nmEQIDAQAB" 

Las etiquetas disponibles son: [ 3 ]

  • v (recomendado), versión (predeterminado DKIM1, debe ser la primera etiqueta si está presente)
  • h (opcional), algoritmos hash aceptables (por defecto todos)
  • k (opcional), tipo de clave (predeterminado rsa)
  • n (opcional), notas del administrador legibles por humanos
  • p (obligatorio), datos de clave pública (codificados en base64, o vacíos si la clave pública ha sido revocada)
  • s (opcional), tipo de servicio (predeterminado *, de lo contrario email)
  • t (opcional), indicadores de alternancia (lista separada por dos puntos, por defecto ninguno, puede incluir ypara probar DKIM sin rechazar verificaciones de firma fallidas y/o sque se recomienda para la estrictez del subdominio como se explica en el RFC)

También se puede utilizar un registro CNAME para apuntar a un registro TXT diferente, por ejemplo, cuando una organización envía correos electrónicos en nombre de otra.

El receptor puede usar la clave pública (valor de la etiqueta p ) para validar la firma del valor hash en el campo de encabezado y compararla con el valor hash del mensaje de correo electrónico recibido (encabezados y cuerpo). Si ambos valores coinciden, esto demuestra criptográficamente que el correo fue firmado por el dominio indicado y no ha sido manipulado durante la transmisión.

El fallo en la verificación de la firma no obliga al rechazo del mensaje. En cambio, se deben proporcionar a los procesos posteriores y anteriores las razones precisas por las que no se pudo comprobar la autenticidad del mensaje. Para ello, se puede enviar un mensaje FBL o añadir un Authentication-Results:campo de encabezado al mensaje, tal como se describe en la RFC 7001.

Patentar

DomainKeys estaba protegido por la patente estadounidense 6,986,049 , ahora vencida. Yahoo! licenció sus reivindicaciones de patente bajo un esquema de licencia dual: el Acuerdo de Licencia de Patentes de DomainKeys v1.2 [ 9 ] o la Licencia Pública General GNU v2.0 (y ninguna otra versión) . [ 10 ] [ 11 ]

Relación con SPF y DMARC

En esencia, tanto DKIM como SPF proporcionan diferentes medidas de autenticidad del correo electrónico. DMARC permite a una organización publicar una política que especifica qué mecanismo (DKIM, SPF o ambos) se emplea al enviar correos electrónicos desde ese dominio; cómo verificar el From:campo que se muestra a los usuarios finales; cómo debe el receptor gestionar los fallos, y un mecanismo de informes para las acciones realizadas conforme a dichas políticas. [ 12 ]

Ventajas

La principal ventaja de este sistema para los destinatarios de correo electrónico radica en que permite que el dominio firmante identifique de forma fiable un flujo de correo electrónico legítimo, lo que hace que las listas negras y blancas basadas en dominios sean más efectivas. [ 13 ] Es probable que esto también facilite la detección de ciertos tipos de ataques de phishing .

Existen algunos incentivos para que los remitentes de correo electrónico firmen los correos salientes:

  • Permite una gran reducción del trabajo administrativo en materia de abusos para los dominios habilitados para DKIM si los receptores de correo electrónico utilizan el sistema DKIM para identificar mensajes de correo electrónico falsificados que afirman provenir de ese dominio.
  • El propietario del dominio puede entonces centrar los esfuerzos de su equipo de lucha contra el abuso en sus propios usuarios que realmente están haciendo un uso inapropiado de ese dominio.

Utilizar con filtros de spam

DKIM es un método para etiquetar mensajes y no filtra ni identifica el spam por sí mismo. Sin embargo, su uso generalizado puede impedir que los spammers falsifiquen la dirección de origen de sus mensajes, una técnica que emplean habitualmente. Si se obliga a los spammers a mostrar un dominio de origen correcto, otras técnicas de filtrado pueden ser más eficaces. En particular, el dominio de origen puede incorporarse a un sistema de reputación para identificar mejor el spam. Por otro lado, DKIM facilita la identificación de correos que se sabe que no son spam y que, por lo tanto, no necesitan ser filtrados. Si un sistema receptor dispone de una lista blanca de dominios de envío legítimos, ya sea gestionada localmente o por certificadores externos, puede omitir el filtrado de correos firmados procedentes de esos dominios y, posiblemente, filtrar el resto de los correos de forma más rigurosa. [ 13 ]

Antiphishing

DKIM puede ser útil como tecnología antiphishing . Los remitentes de correo en dominios con alta incidencia de phishing pueden firmar sus correos para demostrar su autenticidad. Los destinatarios pueden interpretar la ausencia de una firma válida en correos de esos dominios como una señal de que probablemente se trate de un correo falsificado. La mejor manera de determinar qué dominios merecen este nivel de escrutinio sigue siendo una incógnita. DKIM solía tener una función opcional llamada ADSP que permitía a los autores que firmaban todos sus correos identificarse, pero fue relegada a estado histórico en noviembre de 2013. [ 14 ] En su lugar, se puede utilizar DMARC para el mismo propósito [ 15 ] y permite a los dominios autopublicar las técnicas (incluidas SPF y DKIM) que emplean, lo que facilita al receptor tomar una decisión informada sobre si un correo determinado es spam o no. [ 16 ] Por ejemplo, utilizando DMARC, eBay y PayPal publican políticas que establecen que todo su correo está autenticado y solicitan que cualquier sistema receptor, como Gmail , rechace cualquier correo que no lo esté. [ 17 ]

Compatibilidad

Debido a que se implementa utilizando registros DNS y un campo de encabezado RFC 5322 adicional, DKIM es compatible con la infraestructura de correo electrónico existente. En particular, es transparente para los sistemas de correo electrónico existentes que carecen de soporte para DKIM. [ 18 ]

Este enfoque de diseño también es compatible con otros servicios relacionados, como los estándares de protección de contenido S/MIME y OpenPGP . DKIM es compatible con el estándar DNSSEC y con SPF .

Sobrecarga de cálculo

DKIM requiere que se generen sumas de verificación criptográficas para cada mensaje enviado a través de un servidor de correo, lo que resulta en una sobrecarga computacional que no se requiere para la entrega de correo electrónico. Esta sobrecarga computacional adicional es un sello distintivo de los sellos postales digitales, lo que hace que el envío masivo de spam sea más costoso (computacionalmente). [ 19 ] Esta faceta de DKIM puede parecer similar a hashcash , excepto que la verificación del lado del receptor es una cantidad insignificante de trabajo, mientras que un algoritmo típico de hashcash requeriría mucho más trabajo.

No repudiabilidad

La función de no repudio de DKIM impide que los remitentes (como los spammers) nieguen de forma creíble haber enviado un correo electrónico. Ha resultado útil para medios de comunicación como WikiLeaks , que ha podido aprovechar las firmas del cuerpo de DKIM para demostrar que los correos electrónicos filtrados eran auténticos y no habían sido manipulados. [ 20 ] En la práctica, es difícil verificar muchos correos electrónicos antiguos debido a la rotación de claves y a la dificultad de encontrar las claves originales antes de la rotación, ya que no se publican en ningún sitio. Una forma de verificar correos electrónicos antiguos es utilizar archivos que recopilan firmas y selectores de correos electrónicos existentes y que pueden recuperar claves públicas caducadas a partir de pares de firmas realizadas con la misma clave. [ 21 ]

Matthew D. Green considera que la no repudiación es una característica no deseada de DKIM, impuesta por comportamientos como los descritos anteriormente. De hecho, el protocolo DKIM contempla la caducidad. Cada firma incluye una etiqueta "x" opcional que establece un tiempo de caducidad formal; sin embargo, los verificadores pueden ignorarla. Además, los propietarios de dominios pueden revocar una clave pública eliminando sus datos criptográficos del registro, lo que impide la verificación de la firma a menos que alguien haya guardado previamente los datos de la clave pública. La rotación de claves DKIM se suele recomendar para minimizar el impacto de las claves comprometidas. Sin embargo, para deshabilitar definitivamente la no repudiación, se pueden publicar claves secretas caducadas, lo que permite a cualquiera generar firmas falsas, invalidando así la validez de las originales. [ 22 ] [ 23 ] [ 24 ]

Redacción comprobable

Por defecto, la publicación de un correo electrónico censurado no es verificable porque no se pueden construir los hashes del cuerpo DKIM. Sin embargo, aún se pueden verificar dichos correos electrónicos si el propietario crea una prueba de conocimiento cero de la firma DKIM en un subconjunto enmascarado de encabezados o texto del cuerpo, mientras que restringe las partes divulgadas para que coincidan con el mensaje firmado. Las implementaciones a menudo usan expresiones regulares o enmascaramiento para ocultar o mostrar contenido seleccionado. Esta prueba se puede proporcionar en lugar de una firma DKIM a terceros para que cualquiera pueda verificar la validez del correo electrónico. [ 25 ] Estas pruebas incluso se pueden generar localmente en el dispositivo de un usuario, de modo que la información censurada nunca se envíe a terceros. Se puede usar para crear foros de mensajes anónimos seguros con identidades privadas pero afiliaciones verificadas, como un Blind totalmente privado. También se puede usar cuando se necesita autenticar la afirmación de un remitente, pero el destinatario quiere permanecer anónimo.

Debilidades

El propio RFC identifica una serie de posibles vectores de ataque. [ 26 ]

Las firmas DKIM no incluyen el encabezado del mensaje, que contiene la ruta de retorno y los destinatarios. Dado que DKIM no intenta proteger contra direcciones incorrectas, esto no afecta su utilidad.

En 2013, durante el proceso de estandarización, se plantearon y refutaron varias preocupaciones. [ 27 ]

Una preocupación para cualquier solución criptográfica sería el abuso de la repetición de mensajes , que elude las técnicas que actualmente limitan el nivel de abuso desde dominios grandes. La repetición se puede inferir utilizando claves públicas por mensaje, rastreando las consultas DNS de esas claves y filtrando el elevado número de consultas debidas al envío de correos electrónicos a grandes listas de correo o a consultas maliciosas por parte de actores maliciosos.

Para una comparación de diferentes métodos que también abordan este problema, consulte la autenticación de correo electrónico .

Reenvío arbitrario

Como se mencionó anteriormente, la autenticación no es lo mismo que la prevención de abusos. Un usuario malintencionado de correo electrónico de un dominio de buena reputación puede redactar un mensaje malicioso, firmarlo con DKIM y enviarlo desde ese dominio a cualquier buzón de correo desde donde pueda recuperarlo como un archivo, para así obtener una copia firmada del mensaje. El uso de la etiqueta `l` en las firmas facilita aún más la manipulación de dichos mensajes. La copia firmada puede reenviarse a millones de destinatarios, por ejemplo, a través de una botnet , sin control alguno. El proveedor de correo electrónico que firmó el mensaje puede bloquear al usuario infractor, pero no puede detener la difusión de mensajes ya firmados. La validez de las firmas en dichos mensajes puede limitarse incluyendo siempre una etiqueta de tiempo de expiración en las firmas, o revocando una clave pública periódicamente o tras la notificación de un incidente. La eficacia de este escenario difícilmente puede limitarse filtrando el correo saliente, ya que esto implica la capacidad de detectar si un mensaje podría ser potencialmente útil para los spammers. [ 28 ]

Modificación del contenido

Actualmente, DKIM cuenta con dos algoritmos de canonización , simple y relajado , ninguno de los cuales es consciente de MIME . [ 29 ] Los servidores de correo pueden convertir legítimamente a un conjunto de caracteres diferente y, a menudo, documentan esto con campos de encabezado. Además, en ciertas circunstancias, los servidores tienen que reescribir la estructura MIME, alterando así el preámbulo , el epílogo y los límites de las entidades, cualquiera de los cuales rompe las firmas DKIM. Solo los mensajes de texto plano escritos en us-ascii , siempre que los campos de encabezado MIME no estén firmados, [ 30 ] gozan de la robustez que requiere la integridad de extremo a extremo.X-MIME-Autoconverted:

El proyecto OpenDKIM organizó una recopilación de datos que involucró a 21 servidores de correo y millones de mensajes. El 92,3 % de las firmas observadas se verificaron correctamente, una tasa de éxito que disminuye ligeramente (90,5 %) cuando solo se considera el tráfico de listas de correo. [ 31 ]

Anotaciones de listas de correo

Los problemas podrían agravarse cuando el software de filtrado o reenvío modifica un mensaje. Sin precauciones específicas implementadas por el remitente, la adición de un pie de página, operada por la mayoría de las listas de correo y muchas soluciones antivirus centrales , invalidará la firma DKIM. Una posible solución es firmar solo un número determinado de bytes del cuerpo del mensaje. Esto se indica mediante la etiqueta `l` en el encabezado de la firma DKIM . Cualquier elemento que exceda la longitud especificada del cuerpo del mensaje no se tiene en cuenta al calcular la firma DKIM. Esto no funciona para mensajes MIME. [ 32 ]

Otra solución alternativa es incluir en la lista blanca a los reenviadores conocidos; por ejemplo, mediante SPF . Para otra solución alternativa, se propuso que los reenviadores verificaran la firma, modificaran el correo electrónico y luego volvieran a firmar el mensaje con un encabezado Sender:. [ 33 ] Sin embargo, esta solución tiene su riesgo con los mensajes firmados por terceros reenviados que se reciben en receptores SMTP que admiten el protocolo ADSP RFC 5617. Por lo tanto, en la práctica, el servidor receptor todavía tiene que incluir en la lista blanca los flujos de mensajes conocidos .

La Cadena de Recepción Autenticada (ARC) es un sistema de autenticación de correo electrónico diseñado para permitir que un servidor de correo intermedio, como un servicio de lista de correo o de reenvío, firme los resultados de autenticación originales de un correo electrónico. Esto permite que un servicio receptor valide un correo electrónico cuando los registros SPF y DKIM del correo electrónico se invalidan debido al procesamiento de un servidor intermedio. [ 34 ] ARC se define en el RFC 8617, publicado en julio de 2019, como "Experimental". [ 35 ]

Vulnerabilidad de clave corta

En octubre de 2012, Wired informó que el matemático Zach Harris detectó y demostró una vulnerabilidad de suplantación de identidad de correo electrónico con claves DKIM cortas para el google.comdominio corporativo, así como para otros dominios de alto perfil. Afirmó que la autenticación con claves de 384 bits se puede vulnerar en tan solo 24 horas "en mi portátil", y las claves de 512 bits, en aproximadamente 72 horas con recursos de computación en la nube. Harris descubrió que muchas organizaciones firman correos electrónicos con claves tan cortas; las vulneró todas y notificó a las organizaciones sobre la vulnerabilidad. Afirma que las claves de 768 bits podrían vulnerarse con acceso a una gran capacidad de procesamiento, por lo que sugiere que la firma DKIM debería utilizar claves de más de 1024 bits.

Wired afirmó que Harris informó, y Google confirmó, que comenzaron a usar claves más largas poco después de su revelación. Según la RFC 6376, la parte receptora debe poder validar firmas con claves que oscilen entre 512 y 2048 bits; por lo tanto, el uso de claves más cortas de 512 bits podría ser incompatible y debe evitarse. La RFC 6376 también establece que los firmantes deben usar claves de al menos 1024 bits para claves de larga duración, aunque no se especifica la duración. [ 36 ]

Historia

DKIM surgió en 2004 de la fusión de dos esfuerzos similares: "Enhanced DomainKeys" de Yahoo y "Identified Internet Mail" de Cisco . [ 37 ] [ 38 ] Esta especificación fusionada ha sido la base de una serie de especificaciones y documentos de soporte de la IETF que finalmente dieron como resultado STD 76 , actualmente RFC 6376. [ 39 ] "Identified Internet Mail" fue propuesto por Cisco como un estándar de autenticación de correo basado en firmas, [ 40 ] [ 41 ] mientras que DomainKeys fue diseñado por Yahoo [ 42 ] [ 43 ] para verificar el dominio DNS de un remitente de correo electrónico y la integridad del mensaje .

Aspectos de DomainKeys, junto con partes de Identified Internet Mail, se combinaron para crear DomainKeys Identified Mail (DKIM). [ 42 ] [ 44 ] [ 45 ] Entre los proveedores que marcan tendencia al implementar DKIM se encuentran Yahoo , Gmail , AOL y FastMail . Cualquier correo electrónico de estas organizaciones debería llevar una firma DKIM. [ 42 ] [ 46 ] [ 47 ] [ 48 ]

Las discusiones sobre las firmas DKIM que se transmiten a través de flujos de correo indirectos, formalmente en el grupo de trabajo DMARC, tuvieron lugar justo después de que las primeras adopciones del nuevo protocolo causaran estragos en el uso habitual de las listas de correo . Sin embargo, ninguno de los cambios propuestos para DKIM fue aprobado. En su lugar, se modificó el software de las listas de correo. [ 49 ]

En 2017, se lanzó otro grupo de trabajo, DKIM Crypto Update (dcrup), con la restricción específica de revisar técnicas de firma. [ 50 ] El RFC 8301 se publicó en enero de 2018. Prohíbe SHA-1 y actualiza los tamaños de clave (de 512–2048 a 1024–4096). [ 51 ] El RFC 8463 se publicó en septiembre de 2018. Agrega un algoritmo de curva elíptica al RSA existente . El tipo de clave agregado es suficientemente fuerte a la vez que presenta claves públicas cortas, más fáciles de publicar en DNS. [ 52 ]k=ed25519

Desarrollo

El protocolo DomainKeys original fue diseñado por Mark Delany de Yahoo! y mejorado gracias a los comentarios de muchos otros desde 2004. Está especificado en el RFC histórico 4870, reemplazado por el RFC estándar 4871, Firmas de correo identificado por DomainKeys (DKIM); ambos publicados en mayo de 2007. Posteriormente, se recopilaron varias aclaraciones y conceptualizaciones, que se especificaron en el RFC 5672, de agosto de 2009, en forma de correcciones a la especificación existente. En septiembre de 2011, el RFC 6376 fusionó y actualizó estos dos últimos documentos, conservando la esencia del protocolo DKIM. También es posible la compatibilidad de clave pública con la versión anterior de DomainKeys.

DKIM fue creado inicialmente por un consorcio informal de la industria y posteriormente fue presentado para su mejora y estandarización al Grupo de Trabajo DKIM de la IETF , presidido por Barry Leiba y Stephen Farrell, con Eric Allman de sendmail , Jon Callas de PGP Corporation , Mark Delany y Miles Libbey de Yahoo !, y Jim Fenton y Michael Thomas de Cisco Systems como autores principales.

El desarrollo del código fuente de una biblioteca común está liderado por The OpenDKIM Project , siguiendo las adiciones de protocolo más recientes y bajo la licencia New BSD License . [ 53 ]

Aplicación

Los proveedores de correo electrónico exigen cada vez más a los remitentes que implementen la autenticación de correo electrónico para poder entregar correctamente los mensajes a los buzones de correo de sus usuarios.

En febrero de 2024, Google comenzó a exigir a los remitentes de correo masivo que autenticaran sus correos electrónicos con DKIM para entregar correctamente los correos electrónicos a los buzones de correo alojados por Google. [ 54 ] [ 55 ]

De manera similar, en febrero de 2024, Yahoo comenzó a exigir a los remitentes de correo masivo que implementaran SPF y DKIM para entregar correctamente los correos electrónicos a los usuarios de Yahoo. [ 56 ] [ 57 ]

Véase también

Referencias

  1. Tony Hansen; Dave Crocker; Phillip Hallam-Baker (julio de 2009). Descripción general del servicio DomainKeys Identified Mail (DKIM) . IETF . doi : 10.17487/RFC5585 . RFC 5585. Consultado el 6 de enero de 2016. Los receptores que verifican correctamente una firma pueden usar información sobre el firmante como parte de un programa para limitar el spam, la suplantación de identidad, el phishing u otros comportamientos indeseables. DKIM no prescribe, por sí mismo, ninguna acción específica por parte del receptor; más bien, es una tecnología habilitadora para servicios que sí lo hacen.
  2. 1 2 Dave Crocker; Tony Hansen; Murray S. Kucherawy , eds. (septiembre de 2011). "Integridad de datos" . Firmas de correo identificado por DomainKeys (DKIM) . IETF . sec. 1.5. doi : 10.17487/RFC6376 . RFC 6376. Recuperado el 6 de enero de 2016. La verificación de la firma afirma que el contenido hash no ha cambiado desde que se firmó y no afirma nada más sobre "proteger" la integridad de extremo a extremo del mensaje. 
  3. 1 2 Crocker, D.; Hansen, T.; Kucherawy, M. (septiembre de 2011). "Firmas de correo identificado por DomainKeys (DKIM)" . Editor de RFC . ISSN 2070-1721 . Recuperado el 30 de marzo de 2020 . 
  4. Jason P. Stadtlander (16 de enero de 2015). "Suplantación de identidad por correo electrónico: explicación (y cómo protegerse)" . HuffPost . Consultado el 11 de enero de 2016 .
  5. Dave Crocker; Tony Hansen; Murray S. Kucherawy, eds. (julio de 2009). "Determinar los campos de encabezado a firmar" . Firmas de correo identificado por DomainKeys (DKIM) . IETF . sec. 5.4. doi : 10.17487/RFC6376 . RFC 6376. Recuperado el 6 de enero de 2016. El campo de encabezado From DEBE estar firmado (es decir, incluido en la etiqueta "h=" del campo de encabezado DKIM-Signature resultante). 
  6. Los módulos de firma utilizan la parte privada de un par de claves para realizar la firma y publican la parte pública en un registro DNS TXT, como se describe en la sección "Verificación" a continuación.
  7. Tenga en cuenta que en la gestión de claves DKIM no intervienen autoridades de certificación ni listas de revocación, y el selector es un método sencillo que permite a los firmantes añadir y eliminar claves cuando lo deseen; las firmas de larga duración con fines de archivo quedan fuera del alcance de DKIM.
  8. John Levine (junio de 2019). "DKIM y correo internacionalizado" . Autenticación de correo electrónico para correo internacionalizado . IETF . sec. 5. doi : 10.17487/RFC8616 . RFC 8616 . 
  9. "Yahoo! DomainKeys Patent License Agreement v1.1" . SourceForge . 2006. Consultado el 30 de mayo de 2010. Yahoo! DomainKeys Patent License Agreement v1.2
  10. Levine, John R. (25 de enero de 2010). "Divulgaciones de IPR, estaba recopilando preguntas sobre la renovación de la licencia" . Lista de correo ietf-dkim . Mutual Internet Practices Association. Archivado del original el 14 de septiembre de 2016. Recuperado el 30 de mayo de 2010. La referencia a la GPL me parece que solo cubre la antigua biblioteca Sourceforge DK, que creo que ya nadie usa. La patente, que es lo importante, está cubierta por una licencia separada que escribió Yahoo.
  11. Chen, Andy (26 de septiembre de 2011). "Declaración de Yahoo! Inc. sobre los derechos de propiedad intelectual relacionados con la RFC 6376" . Divulgación de derechos de propiedad intelectual . IETF . Consultado el 3 de octubre de 2011 .
  12. "Historia" . dmarc.org .
  13. 1 2 Falk, JD (17 de marzo de 2009). "Buscando la verdad en DKIM" . CircleID.
  14. Barry Leiba (25 de noviembre de 2013). "Cambiar el estado de ADSP (RFC 5617) a Histórico" . IETF . Consultado el 13 de marzo de 2015 .
  15. "Preguntas frecuentes - Wiki de DMARC" . El estándar DMARC establece en la Sección 6.7, "Consideraciones sobre la aplicación de políticas", que si se descubre una política DMARC, el receptor debe ignorar las políticas anunciadas por otros medios, como SPF o ADSP.
  16. "Agregar un registro DMARC - Ayuda del administrador de Google Apps" .
  17. "Acerca de DMARC - Ayuda para administradores de Google Apps" . Tu política puede ser estricta o flexible. Por ejemplo, eBay y PayPal publican una política que exige que todos sus correos electrónicos estén autenticados para que aparezcan en la bandeja de entrada de un usuario. De acuerdo con esta política, Google rechaza todos los mensajes de eBay o PayPal que no estén autenticados.
  18. Tony Hansen; Dave Crocker; Phillip Hallam-Baker (julio de 2009). Descripción general del servicio DomainKeys Identified Mail (DKIM) . IETF . doi : 10.17487/RFC5585 . RFC 5585. Consultado el 1 de julio de 2013 .
  19. Roic, Alessio (5 de julio de 2007). "Postmarking: ayudando en la lucha contra el spam". Archivado el 17 de julio de 2011 en Wayback Machine . Blog de Microsoft Office Outlook.
  20. "Verificación DKIM" . www.wikileaks.org . 4 de noviembre de 2016. Consultado el 7 de noviembre de 2016 .
  21. Gupta, Aayush; Thorlacius, Olof (5 de octubre de 2024). "El archivo de claves públicas DKIM: un millón de claves, un intento de hackeo y la verificación de antiguas filtraciones por primera vez" . Blog de correo electrónico de ZK . Recuperado el 20 de mayo de 2026 .
  22. Matthew D. Green (16 de noviembre de 2020). "Ok Google: por favor, publique sus claves secretas DKIM" . cryptographyengineering.com . Google.
  23. Ian Jackson (2022). "dkim-rotate - Principios de funcionamiento" . manpages.ubuntu.com . Ubuntu.
  24. "Claves de firma DKIM" . iecc.com . 10 de abril de 2023. Consultado el 27 de abril de 2023 .
  25. "Redactado — Prueba de correo electrónico anónimo con conocimiento cero" . Correo electrónico ZK . Consultado el 20 de mayo de 2026 .
  26. D. Crocker; T. Hansen; M. Kucherawy . "Consideraciones de seguridad" . Firmas de correo identificado por DomainKeys (DKIM) . IETF . sec. 8. doi : 10.17487/RFC6376 . RFC 6376 . 
  27. "Informe del IESG sobre la "Apelación de la decisión de aprobar el RFC6376"" . IETF.org . IETF. 30 de mayo de 2013. Archivado del original el 6 de septiembre de 2013.
  28. Jim Fenton (septiembre de 2006). "Reproducción de mensajes seleccionados" . Análisis de las amenazas que motivan el correo identificado por DomainKeys (DKIM) . IETF . sec. 4.1.4. doi : 10.17487/RFC4686 . RFC 4686. Consultado el 10 de enero de 2016 . 
  29. Ned Freed (con el acuerdo de John Klensin ) (5 de marzo de 2010). "Revisión de secdir del borrador draft-ietf-yam-rfc1652bis-03" . Lista de correo YAM . IETF . Consultado el 30 de mayo de 2010. El Grupo de Trabajo de DKIM optó por la simplicidad de la forma canónica en lugar de una forma canónica robusta frente a cambios de codificación. Fue su decisión de ingeniería y la tomaron.
  30. RFC 2045 permite que el valor de un parámetro sea un token o una cadena entre comillas, por ejemplo, en {{{1}}} las comillas se pueden eliminar legalmente, lo que rompe las firmas DKIM.
  31. Kucherawy, Murray (28 de marzo de 2011). "Informe de implementación de RFC4871" . IETF . Recuperado el 18 de febrero de 2012 .
  32. Murray S. Kucherawy (septiembre de 2011). DomainKeys Identified Mail (DKIM) y listas de correo . IETF . doi : 10.17487/RFC6377 . RFC 6377. Consultado el 10 de enero de 2016 .
  33. Eric Allman; Mark Delany; Jim Fenton (agosto de 2006). "Acciones del administrador de listas de correo" . Prácticas de firma del remitente DKIM . IETF . sec. 5.1. ID draft-allman-dkim-ssp-02 . Consultado el 10 de enero de 2016 . 
  34. "Descripción general de la cadena recibida autenticada" (PDF) . Consultado el 15 de junio de 2017 .
  35. K. Andersen; B. Long; S. Blank; M. Kucherawy . El protocolo Authenticated Received Chain (ARC) . IETF . doi : 10.17487/RFC8617/ . RFC 8617/ .
  36. Zetter, Kim (24 de octubre de 2012). "Cómo un correo electrónico de un reclutador de Google reveló una enorme brecha de seguridad en la red" . Wired . Consultado el 24 de octubre de 2012.
  37. "Preguntas frecuentes sobre DKIM" . DKIM.org . 16 de octubre de 2007. Consultado el 4 de enero de 2016. DKIM fue desarrollado por un consorcio industrial en 2004. Fusionó y mejoró DomainKeys, de Yahoo!, e Identified Internet Mail, de Cisco.
  38. Jim Fenton (15 de junio de 2009). "DomainKeys Identified Mail (DKIM) crece significativamente" . Cisco . Archivado del original el 24 de diciembre de 2014. Consultado el 28 de octubre de 2014 .
  39. "STD 76, RFC 6376 sobre firmas de correo identificado por DomainKeys (DKIM)" . IETF . 11 de julio de 2013. Consultado el 12 de julio de 2013. El RFC 6376 ha sido elevado a estándar de Internet.
  40. "Correo electrónico identificado por Internet: Un enfoque de firma de mensajes basado en la red para combatir el fraude por correo electrónico" . 26 de abril de 2006. Archivado del original el 27 de abril de 2006. Consultado el 4 de enero de 2016 .
  41. Jim Fenton; Michael Thomas (1 de junio de 2004). Correo electrónico de Internet identificado . IETF . ID draft-fenton-identified-mail-00 . Consultado el 6 de enero de 2016 .
  42. 1 2 3 Delany, Mark (22 de mayo de 2007). "Un pequeño paso para el correo electrónico, un gran salto para la seguridad en Internet". Archivado el 14 de marzo de 2013 en Wayback Machine . Blog corporativo de Yahoo!. A Delany se le atribuye ser el arquitecto jefe e inventor de DomainKeys.
  43. "Yahoo publica las especificaciones de DomainKeys" . DMNews.com . 19 de mayo de 2004.
  44. RFC 4870 ("Autenticación de correo electrónico basada en dominio mediante claves públicas anunciadas en el DNS (DomainKeys)"; obsoleto por RFC 4871).
  45. RFC 6376 ("Firmas de correo identificado por DomainKeys (DKIM)"; reemplaza a RFC 4871 y RFC 5672).
  46. Taylor, Brad (8 de julio de 2008). "Combatiendo el phishing con eBay y PayPal" . Blog de Gmail.
  47. "Tengo problemas para enviar mensajes en Gmail" . Entrada de la Ayuda de Gmail que menciona la compatibilidad con DKIM al enviar mensajes.
  48. Mueller, Rob (13 de agosto de 2009). "Todos los correos electrónicos salientes ahora se firman con DKIM". Archivado el 6 de octubre de 2011 en Wayback Machine . Blog de Fastmail.
  49. "Historial del Grupo DMARC" . IETF .
  50. "Actualización de criptografía DKIM (dcrup)" . IETF .
  51. Scott Kitterman (enero de 2018). Actualización del algoritmo criptográfico y el uso de claves para DomainKeys Identified Mail (DKIM) . IETF . doi : 10.17487/RFC8301 . RFC 8301 .
  52. John Levine (septiembre de 2018). Un nuevo método de firma criptográfica para correo identificado por DomainKeys (DKIM) . IETF . doi : 10.17487/RFC8463 . RFC 8463 .
  53. "OpenDKIM" .
  54. "Nuevas protecciones de Gmail para una bandeja de entrada más segura y con menos spam" . Google . 3 de octubre de 2023.
  55. "Los nuevos requisitos para la entrega de correo electrónico en Gmail - Valimail" . www.valimail.com . 3 de octubre de 2023.
  56. "Mejores prácticas para remitentes" . senders.yahooinc.com .
  57. "Lo que necesitas saber sobre los nuevos requisitos de envío masivo de Google y Yahoo" . www.sendamatic.net . 16 de enero de 2024. Consultado el 17 de septiembre de 2025 .

Lecturas adicionales

  • RFC 4686 Análisis de amenazas que motivan DomainKeys Identified Mail (DKIM) 
  • RFC 4871 Estándar propuesto para las firmas de correo identificado por DomainKeys (DKIM) 
  • RFC 5617 Prácticas de firma de dominio del autor (ADSP) de DomainKeys Identified Mail (DKIM) 
  • Descripción general del servicio DomainKeys Identified Mail (DKIM) según RFC 5585 
  • RFC 5672 RFC 4871 Firmas de correo identificado por DomainKeys (DKIM): actualización 
  • RFC 5863 Desarrollo, implementación y operaciones de DKIM 
  • RFC 6376 Borrador del estándar de firmas de correo identificado por DomainKeys (DKIM) 
  • RFC 6377 DomainKeys Identified Mail (DKIM) y listas de correo 
  • RFC 8301 Actualización del algoritmo criptográfico y el uso de claves para DomainKeys Identified Mail (DKIM) 
  • RFC 8463 Un nuevo método de firma criptográfica para correo identificado por DomainKeys (DKIM) 
  • Correo identificado por DomainKeys (DKIM)