encryption - matematica - preimagen en un grafico
¿Alguna investigación publicada indica que los ataques de preimagen en MD5 son inminentes? (3)
Continúo leyendo en SO que MD5 está roto, roto, obsoleto y que nunca debe usarse. Eso me enoja
El hecho es que los ataques de colisión en MD5 ahora son bastante fáciles. Algunas personas tienen ataques de colisión hasta un arte e incluso pueden usarlas para predecir las elecciones .
Encuentro la mayoría de los ejemplos MD5 "breakness" menos interesantes. Incluso el famoso hack de certificado de CA fue un ataque de colisión que significa que es demostrable que la parte generó los certificados GOOD y EVIL al mismo tiempo. Esto significa que si la CA MALA encontró su camino en la naturaleza, es demostrable que se filtró de la persona que tenía la buena CA y, por lo tanto, era confiable.
Lo que sería mucho más preocupante es una preimage o un segundo ataque de preimagen.
¿Qué tan probable es un ataque de preimagen en MD5? ¿Hay alguna investigación actual que indique que es inminente? ¿El hecho de que MD5 es vulnerable a los ataques de colisión hace que sea más probable que sufra un ataque de preimagen?
Criptográficamente hablando, la resistencia a la imagen previa de MD5 ya se ha roto, vea este documento de Eurocrypt 2009 . En este contexto formal, "roto" significa ataques más rápidos que la fuerza bruta, es decir, ataques que tienen una complejidad de menos de (2 ^ 128) / 2 en promedio. Sasaki y Aoki presentaron un ataque con una complejidad de 2 ^ 123.4 que es de lejos solo teórico, pero cada ataque práctico se basa en un ataque teórico menos potente, por lo que incluso un salto teórico arroja serias dudas sobre su seguridad a mediano plazo. Lo que también es interesante es que reutilizan una gran cantidad de investigaciones que se han dedicado a ataques de colisión en MD5. Eso ilustra muy bien el punto de Accipitridae de que el margen de seguridad de MD5 en la resistencia a la imagen previa se ha ido con los ataques de colisión.
Otra razón por la cual el uso de MD5 en 2009 ha sido y ahora el uso de SHA1 es fuertemente desaconsejado para cualquier aplicación es que la mayoría de las personas no entienden de qué propiedad exacta depende la seguridad de su caso de uso. Desafortunadamente, usted demostró mi punto en su pregunta al afirmar que el ataque CA de 2008 no se basó en una falla de resistencia a la colisión, como ha señalado caf.
Para complicarlo un poco, cada vez que una CA (de confianza) firma un certificado, también firma posiblemente datos maliciosos que provienen de un cliente en forma de una solicitud de firma de certificado (CSR). Ahora, en la mayoría de los casos, todos los datos que se van a firmar se pueden calcular previamente a partir de la CSR y algunas condiciones externas. Esto tiene el efecto secundario fatal de que el estado en que estará la función hash, cuando se trata de hash, los datos no confiables que salen de la CSR son completamente conocidos por el atacante, lo que facilita un ataque de colisión. Por lo tanto, un atacante puede precalcular una CSR que forzará a la CA a realizar operaciones de hash y firmar datos que tengan una colisión con un certificado de sombra conocido solo por el atacante. La CA no puede verificar las condiciones previas del certificado oculto que normalmente verificaría antes de firmarlo (por ejemplo, que el nuevo certificado no pretende ser un certificado raíz), ya que solo tiene acceso a la CSR legítima que los atacantes proporcionaron. En términos generales, una vez que tienes ataques de colisión y una parte de tus datos es controlada por un atacante, ya no sabes qué más estarás firmando junto a los datos que ves.
En criptografía, las recomendaciones generalmente no se hacen al predecir el futuro, ya que es imposible hacerlo. Más bien, los criptógrafos intentan evaluar lo que ya se conoce y publica. Para ajustar futuros ataques potenciales, los criptosistemas generalmente se diseñan de modo que haya algún margen de seguridad. Por ejemplo, las claves criptográficas generalmente se eligen un poco más de lo estrictamente necesario. Por la misma razón, se evitan los algoritmos una vez que se encuentran las debilidades, incluso si estas debilidades son solo certificatorias.
En particular, RSA Labs recomendó abandonar MD5 para firmas ya en 1996 después de que Dobbertin encontró colisiones en la función de compresión. Las colisiones en la función de compresión no implican que existan colisiones en la función hash, pero no podemos encontrar colisiones para MD5 a menos que podamos encontrar colisiones para su función de compresión. Por lo tanto, RSA Labs decidió que ya no confiaban en la resistencia a la colisión de MD5.
Hoy, estamos en una situación similar. Si estamos seguros de que una función hash es resistente a colisiones, también podemos estar seguros de que la función hash es resistente a las imágenes. Pero MD5 tiene debilidades significativas. De ahí que muchos criptógrafos (incluidas personas como Arjen Lenstra) piensen que MD5 ya no tiene el margen de seguridad necesario para usar incluso en aplicaciones que solo se basan en la resistencia a la preimagen y, por lo tanto, recomiendan no usarla más. Los criptógrafos no pueden predecir el futuro (por lo tanto, no busque documentos que lo hagan), pero pueden recomendar precauciones razonables contra posibles ataques. Recomendar no usar MD5 nunca más es una de esas precauciones razonables.
No lo sabemos
Este tipo de avance tiende a aparecer "de repente": alguien realiza un avance teórico y encuentra un método que es 2 ^ 10 (o lo que sea) mejor que el mejor anterior.
Parece que los ataques de preimagen podrían estar un poco lejos; un documento reciente afirma una complejidad de 2 ^ 96 para una preimagen en una versión reducida de 44 rondas de MD5. Sin embargo, esta no es una cuestión de probabilidad sino más bien si alguien es lo suficientemente inteligente como para dar ese paso final y llevar la complejidad del trato real a un margen realista.
Dicho esto, dado que los ataques de colisión ya son muy reales ( un minuto en una computadora portátil típica ) y los ataques de preimagen podrían estar a la vuelta de la esquina, se considera prudente cambiar a algo más fuerte ahora, antes de que sea demasiado tarde.
Si las colisiones no son un problema para usted, es posible que tenga tiempo de esperar para que la competencia NIST SHA-3 presente algo nuevo. Pero si tiene la potencia de procesamiento y los bits de sobra, usar SHA-256 o similar es probablemente una precaución prudente.