Ok Google, publica tus claves privadas DKIM





Internet era un lugar peligroso incluso en sus mejores años. A veces, los arquitectos de Internet encontraron formas de mitigar las amenazas, a veces fallaron. Sin embargo, la situación se repite constantemente cuando una gran empresa de Internet encuentra una solución que realmente empeora la situación para casi todos. Hoy quiero hablar de uno de esos casos y también de cómo una gran empresa como Google podría encontrar una forma de solucionarlo.



Esta publicación cubre el correo identificado con claves de dominio (DKIM), un pequeño protocolo anti-spam inofensivo que de alguna manera se ha convertido en un monstruo. Mi solicitud es simple, se puede resumir de la siguiente manera:



Estimado Google: implemente la rotación y publicación periódicas de sus claves privadas DKIM. Esto hará que Internet sea mucho más seguro, ya que los delincuentes perderán un fuerte incentivo para robar y filtrar correos electrónicos. La solución no le costará casi nada y sacará la herramienta más poderosa de las manos de los ladrones.



Esta es la version corta. A continuación se presenta información más detallada.



¿Qué es este DKIM y cómo protege mi correo electrónico?



El correo electrónico se creó en los días en que Internet todavía se llamaba ARPANET . Fueron días mucho más tranquilos, cuando las medidas de seguridad modernas y, para ser honesto, la idea misma de que Internet necesitaría seguridad, seguía siendo un futuro lejano de ciencia ficción.



Los primeros protocolos de correo electrónico (como SMTP) funcionaban sobre la base de un sistema de confianza. Los correos electrónicos pueden haber llegado a su servidor de correo directamente desde el servidor de correo del remitente o transmitidos a través de intermediarios. Sea como fuere, si la carta dice que vino de tu amiga Alice, entonces crees que es de Alice. ¿Por qué alguien alguna vez mentiría sobre esto?



La adopción generalizada del correo electrónico ha demostrado que esta actitud ha fracasado estrepitosamente. En solo unos años, los internautas han aprendido que hay muchas personas que están dispuestas a mentir sobre quiénes son. La mayoría de ellos eran spammers de correo electrónico que estaban encantados de que SMTP les permitiera hacerse pasar por casi cualquier remitente: su amiga Alice, su jefe, la oficina de impuestos, el amistoso príncipe nigeriano. Sin un mecanismo confiable para evitar que se envíe este tipo de correo no deseado, el correo electrónico ha demostrado ser terriblemente vulnerable a la suplantación de identidad.



Para crédito de los proveedores de correo electrónico, rápidamente se dieron cuenta de que el correo electrónico sin autenticación de remitente es inherentemente inutilizable. Para filtrar correctamente los correos electrónicos, necesitabanal menos verifique de qué servidor proviene el correo electrónico. Esta propiedad tiene un nombre técnico y se denomina autorización de origen .



La solución al problema de autorizar la fuente, como casi el resto de arreglos de protocolos básicos de Internet, fue como reparar con cinta adhesiva. Se ha solicitado a los proveedores de servicios de correo que conecten una nueva extensión criptográfica (opcional) llamada Correo identificado con claves de dominio , o DKIM. DKIM hornea firmas digitales en cada correo electrónico enviado por el servidor de correo . Cuando el servidor de correo del destinatario recibe una carta firmada por DKIM que indica que, por ejemplo, proviene de Google, primero utiliza el Sistema de nombres de dominio.(DNS) encuentra la clave pública de Google. El destinatario ahora puede verificar la firma para asegurarse de que el mensaje sea auténtico y sin modificaciones, ya que la firma está asociada con el contenido y la mayoría de los encabezados. Este conocimiento se puede utilizar como entrada para filtrar el spam. (Dichas garantías son proporcionadas por un protocolo similar llamado ARC.)



Por supuesto, tal solución no es ideal. Dado que DKIM es opcional, los intermediarios malintencionados pueden quitar las firmas DKIM de una carta para convencer a los destinatarios de que nunca se firmó con DKIM. Un protocolo similar, llamado DMARC , usa DNS para permitir que los remitentes de correo comuniquen sus preferencias, lo que obliga averificar las firmas de sus correos electrónicos. El uso de estos dos protocolos juntos, en esencia, debería eliminar por completo la suplantación de identidad en Internet.





Un ejemplo de una firma DKIM para uno de los correos electrónicos automatizados que recibí hoy.



¿Cuál es el problema con DKIM / ARC / DMARC y qué es "desafío"?



Como medida antispam, DKIM, ARC y DMARC no tienen ningún problema particular. La parte complicada es que la firma DKIM tiene un efecto secundario inesperado que se extiende más allá de la tarea de filtrado de spam original. En resumen:



DKIM ofrece una garantía de por vida de la autenticidad de los correos electrónicos, que cualquiera puede usar para autenticar criptográficamente correos electrónicos robados incluso años después de que fueron enviados.



Esta nueva función de no revocación no estaba pensada originalmente como un objetivo de DKIM. Los diseñadores no lo planearon, nadie discutió si sería una buena idea y la mayoría se sorprendió. Peor aún, esta característica inesperada ha tenido consecuencias muy graves: nos hace más vulnerables a la extorsión y el chantaje.



Para comprender cuál es el problema, vale la pena considerar los objetivos de DKIM.



El objetivo principal de DKIM era evitar la falsificación de cartas por parte de los spammers durante la transmisión . Esto significa que los servidores receptores deben realmente ser capaz de verificar que el correo electrónico fue enviado desde el servidor de correo de origen reclamado, incluso si el correo electrónico pasa por muchos servidores que no se confía en el camino.



Sin embargo, una vez completada la transferencia de correo, el destino DKIM está completo. Es decir, la garantía de autenticidad solo debe mantenerse por un corto período de tiempo. Dado que las cartas suelen tardar solo unos minutos en recibirse (en raras ocasiones, horas), la garantía de autenticidad no debeduran años y estas firmas no deben exponerse a los usuarios. Sin embargo, así es como sucede.



Hasta hace poco, nadie pensaba en ello. De hecho, las primeras configuraciones DKIM sonaban como una broma de mal gusto: los proveedores de servicios de correo eligieron claves de firma DKIM que eran muy fáciles de piratear para un atacante motivado. En 2012, el investigador de seguridad Zachary Harris descubrió que Google y muchas otras empresas estaban utilizando RSA de 512 bits para la firma DKIM. Demostró que esas claves en equipos de nube alquilados se pueden descifrar en cuestión de horas y luego se pueden utilizar para falsificar cartas de Larry y Sergey.



Las reacciones de Google y otros proveedores de correo electrónico ante esta vergüenza de "Larry y Sergei" no son difíciles de predecir. Sin pensar en las implicaciones, rápidamente fortalecieron las claves, escalandolas a RSA de 1024 bits o 2048 bits. Esto evitó la manipulación, pero sin darse cuenta convirtió el protocolo antispam inocuo en un sello de autenticidad criptográfica de por vida que se puede utilizar para validar cualquier volcado de correo electrónico, sin importar cómo terminó en manos del verificador.



Estás loco, nadie usa DKIM para autenticar correos electrónicos.



Sin embargo, el sello de autenticación DKIM ha sido ampliamente utilizado por la prensa, principalmente en el contexto de piratería de correos electrónicos de políticos. Es real, importante y significativo.



El ejemplo más famoso, que al mismo tiempo provocó una seria polémica: en 2016, Wikileaks publicó un conjunto de cartas robadas de la cuenta de Google de John Podest . Dado que la fuente de estas cartas era turbia , WikiLeaks enfrentó la abrumadora tarea de verificar la autenticidad de estos mensajes. DKIM se ha convertido en una solución elegante: cada carta publicada en las páginas de Wikileaks indica públicamente el estado de confirmación de las firmas DKIM adjuntas . El sitio también proporciona una página de recursos útil para los periodistas que explica cómo DKIM demuestra la realidad de las letras.



Sin embargo, la historia de DKIM no terminó con las cartas de Podestà. En 2017, ProPublica usó DKIM para verificar la autenticidad de las cartas supuestamente enviadas al crítico por el abogado personal del presidente Trump, Mark Kasovitz. En 2018, Associated Press volvió a utilizarlo para autenticar correos electrónicos filtrados que vinculaban a un abogado ruso con Donald Trump Jr. Y sucedió nuevamente este año, cuando los destinatarios de la supuesta "computadora portátil Hunter Biden" entregaron una carta de 2015 a Rob Graham para la verificación de DKIM para superar el escepticismo de los periodistas sobre sus fuentes.



Alguien puede decir que la verificación DKIM no es importante y que puede creer o no creer en las cartas filtradas solo por su contenido. Sin embargo, el hecho de que numerosas organizaciones de noticias hayan optado por confiar en DKIM demuestra claramente cuán errónea es esta suposición. Las organizaciones de noticias, incluido Wikileaks, admiten implícitamente que las fuentes controvertidas de recibir correos electrónicos generan dudas, probablemente tan fuertes que hacen imposible una publicación convincente en una organización de noticias nacional. DKIM le permite solucionar este problema y eliminar dicha interferencia.



The Associated Press incluso publicó una herramienta de verificación DKIM .



En resumen, el protocolo antispam, originalmente diseñado para proporcionar identificación a corto plazo de cartas que se mueven entre servidores de correo, ha cambiado de propósito (sin la más mínima discusión o consentimiento de los usuarios de correo comercial), convirtiéndose en una herramienta que brinda autenticación criptográficamente innegable de cada una de sus cartas entrantes o salientes. Este es un excelente recurso para periodistas, piratas informáticos y chantajistas.



Pero él no da ninguna ventaja a usted .



¿Qué puedes hacer al respecto?



DKIM nunca fue diseñado para la autenticación de correo electrónico a largo plazo. Las garantías de seguridad que proporciona son importantes, pero solo deben durar unas pocas horas (posiblemente días) desde el momento en que el servidor de correo transmite la carta. El hecho mismo de que DKIM todavía pueda usarse para demostrar la autenticidad de un correo electrónico robado, escrito en 2015 , es esencialmente un fracaso: el resultado del mal uso y la mala configuración por parte de los proveedores de correo electrónico que tuvieron que pensar con la cabeza.



Afortunadamente, existe una solución sencilla.



DKIM permite a los proveedores "rotar" o reemplazar periódicamente las claves utilizadas para firmar los correos electrónicos salientes. La frecuencia de esta rotación está ligeramente limitada por el almacenamiento en cachéInfraestructura DNS, pero estas restricciones no son muy estrictas. Incluso un gran proveedor como Google puede cambiar fácilmente las claves de firma al menos cada pocas semanas sin interferir con la transmisión del correo. Cambiar claves como esta es una buena práctica de todos modos y es parte de la solución.



Por supuesto, simplemente reemplazar los pares de claves DKIM por sí solo no resolverá nada: los evasores en Internet están archivando constantemente las claves DKIM públicas. De hecho, esto es exactamente lo que se confirmó en 2020 mediante una carta a un buzón de correo de Google desde 2015: la clave que usó Google para firmar correos electrónicos DKIM en ese período de hace mucho tiempo (de 2012 a 2016 se usó la misma clave, en serio, Google, ¡Qué lío!) ya no se utiliza, pero se ha almacenado en caché en muchos lugares de Internet.



La solución a este problema requiere solo un pequeño elemento adicional: Google tiene que publicar un subconjunto de los pares de claves con la clave secreta después de la rotación y el retiro. La empresa debe publicar esta clave secreta en un lugar público de fácil acceso para que cualquiera pueda usarla para falsificar correos electrónicos antiguos sospechosos de cualquier usuario de Google. La disponibilidad pública de la clave de firma de Google haría que cualquier nueva filtración de correo electrónico fuera criptográficamente discutible. Dado que cualquier extraño puede falsificar las firmas DKIM, se vuelven prácticamente inútiles como prueba de autenticidad.



(Aquellos con sus propios servidores de correo pueden hacer esto automáticamente con este excelente script ).



Google puede poner en marcha este proceso ahora mismo liberando sus antiguas claves privadas de 2016. Dado que su secreto hoy literalmente no tiene ningún propósito de seguridad que no sea la confirmación por parte de un tercero del correo filtrado, no hay razón para mantener estos valores en secreto. Simplemente colóquelos.



(Un lector paranoico también podría considerar la posibilidad de que atacantes motivados ya hayan robado claves privadas DKIM antiguas de Google.... En última instancia, las claves de firma DKIM no son las "joyas reales" del ecosistema de Google, por lo que Google difícilmente se esfuerza por mantenerlas seguras. En este caso, mantener las claves en secreto por parte de Google simplemente crea una situación en la que ciertos actores pueden falsificar cartas con impunidad).



¡Pero la autenticación DKIM es una gran cosa! ¿No queremos poder comprobar el correo filtrado de los políticos?



Las implementaciones modernas de DKIM causan problemas porque fomentan un tipo específico de delito: el robo de cartas privadas para su uso en campañas públicas de chantaje y extorsión. En los últimos años, ha resultado que esta función se ha utilizado principalmente de una manera que muchas personas encuentran aceptable, ya sea porque se adapta a las preferencias de sus seguidores o porque los políticos "atrapados" se lo merecen.



Pero a la gente buena también le pasan cosas malas. Si crea un mecanismo que estimula la delincuencia, tarde o temprano se cometerá un delito en su contra.



Los proveedores de correo electrónico como Google han tomado la decisión (a menudo sin preguntar a sus clientes) que cualquiera que obtenga la contraseña de correo electrónico de un cliente o la suplante de un empleado de la empresa puede proporcionar una prueba criptográficamente innegable que se puede mostrar a cualquiera para demostrar la autenticidad de los resultados crímenes. Quizás tal prueba sea innecesaria para las tareas del criminal. Pero definitivamente tiene valor. Eliminar tal posibilidad es una bendición en su forma más pura.



El hecho de que tenga que discutir sobre esto me entristece mucho.



Marcas de tiempo, criptografía mejorada y otras objeciones formales



Cada vez que menciono la idea de publicar claves secretas antiguas, recibo un montón de objeciones formales de personas con muy buenos comentarios . Pero están pensando en un modelo de amenaza más serio que el que solemos enfrentar.



La objeción más común es que la publicación de claves privadas solo funcionará si se recibieron cartas firmadas después de la publicación de las claves privadas. Según esta lógica, que es correcta, cualquier carta robada y publicada antes de la publicación de la clave privada DKIM es innegable. Por ejemplo, si alguien hackea su cuenta e inmediatamente comienza a publicar correos electrónicos que recibe en tiempo real, entonces su verificabilidad criptográfica aún es posible.



Alguien incluso sugirió la posibilidad de un ataque inteligente en el que los destinatarios (o piratas informáticos que tienen acceso constante a su cuenta de correo electrónico) utilizan un servicio público de sellado de tiempo, como blockchain, para "sellar" de forma segura cualquier correo electrónico que reciban con la hora de recepción. Esto permite a dichos destinatarios demostrar que firmaron la carta antes de publicar la clave DKIM secreta: verificación y jaque mate.



Este es un gran truco teórico inteligente, pero es esencialmente irrelevante para nuestro tema en el sentido de que aborda un modelo de amenaza más fuerte. El problema más crítico con DKIM hoy es que las firmas DKIM residen dentro de su buzón archivado. Esto significa que un pirata informático que pirateó mi cuenta de Gmail hoy podrá demostrar las firmas DKIM en los correos electrónicos que he enviado / recibido.hace años . La publicación de DKIM privados antiguos solucionará instantáneamente este problema. La solución al problema teórico de un "hacker en tiempo real" puede esperar su turno.



Otra objeción que escucho a veces es que la autenticación criptográfica es una característica útil . Y bajo ciertas condiciones, estoy de acuerdo con eso. El problema con DKIM es que a ningún cliente se le ha preguntado si desea esta función por defecto en su cuenta de correo comercial . Si las personas desean verificar criptográficamente sus cartas, entonces se puede utilizar un conjunto conveniente de herramientas para este propósito .



Además, está la cuestión de si será posible resolver el problema del desafío DKIM con la ayuda de una nueva criptografía. Como criptógrafo, estoy muy entusiasmado con esto. De hecho, mis coautores Mike Specter y Sanu Park y yo escribimos recientemente un artículo sobre cómo podría funcionar una solución a largo plazo para el problema de DKIM. (Mike escribió una excelente publicación sobre esto ). No afirmaré que nuestra solución sea necesariamente la mejor, pero espero que inspire a alguien a investigar más.



Sin embargo, a veces la más simple es la mejor solución. Y en este momento, Google, como el mayor proveedor de servicios de correo electrónico comercial, puede tener un gran impacto (y proteger a sus clientes de futuras filtraciones) de una manera muy simple. Y es un misterio para mí por qué la empresa todavía no ha hecho esto.






Publicidad



Un servidor virtual de VDSina con protección contra ataques DDoS le permitirá alojar cualquier proyecto: ¡todo funcionará sin problemas y con un alto tiempo de actividad! Puede elegir los parámetros del servidor usted mismo utilizando un configurador conveniente.






All Articles