Pregunta

Sigo leyendo en SO que el MD5 está roto, reventado, obsoleto y nunca se utilizará. 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 a un arte y pueden incluso usarlos para predecir elecciones .

Encuentro la mayoría de los ejemplos MD5 " brokeness " Menos interesante. Incluso el famoso hackeo de certificado de CA fue un ataque de colisión, lo que significa que es probable que la parte haya generado los certificados BUENO y MALO al mismo tiempo. Esto significa que si el CA CABAL se abrió camino en la naturaleza, es demostrable que se filtró de la persona que tenía el CA bueno y, por lo tanto, era de confianza.

Lo que sería mucho más preocupante es un preimage o segundo ataque de preimage.

¿Qué tan probable es un ataque de preimagen en MD5? ¿Hay alguna investigación actual para indicar que es inminente? ¿El hecho de que MD5 sea vulnerable a los ataques de colisión hace que sea más probable que sufra un ataque de preimagen?

¿Fue útil?

Solución

En la criptografía, las recomendaciones no se hacen generalmente prediciendo el futuro, ya que esto es imposible de hacer. Más bien los criptógrafos tratan de evaluar lo que ya se conoce y publica. Para ajustarse a posibles ataques futuros, los sistemas criptográficos se diseñan generalmente para que haya un margen de seguridad. P.ej. Las claves criptográficas generalmente se eligen un poco más de lo absolutamente necesario. Por la misma razón, los algoritmos se evitan una vez que se encuentran las debilidades, incluso si estas debilidades son solo certificativas.

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, los laboratorios RSA decidieron que ya no tienen confianza en la resistencia a la colisión de los MD5.

Hoy estamos en una situación similar. Si estamos seguros de que una función hash es resistente a las colisiones, también podemos estar seguros de que la función hash es resistente a la preimagen. Pero el MD5 tiene debilidades significativas. Por lo tanto, muchos criptógrafos (incluidas personas como Arjen Lenstra) piensan que el MD5 ya no tiene el margen de seguridad necesario para usarlo incluso en aplicaciones que solo dependen de la resistencia de preimagen y, por lo tanto, recomiendan no usarlo más. Los criptógrafos no pueden predecir el futuro (así que no busques documentos que hagan eso), pero pueden recomendar precauciones razonables contra posibles ataques. Recomendar no usar más MD5 es una de esas precauciones razonables.

Otros consejos

No lo sabemos.

Este tipo de avance tiende a venir 'de repente': alguien hace un avance teórico y encuentra un método que es 2 ^ 10 (o lo que sea) veces mejor que el mejor anterior.

Parece que los ataques de preimagen todavía pueden estar un poco lejos; un documento reciente reclama una complejidad de 2 ^ 96 para una preimagen en una reducida , Versión de 44 rondas de MD5. Sin embargo, esto 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 pueden (o no) estar a la vuelta de la esquina, se considera generalmente 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 para esperar a que competencia NIST SHA-3 para crear algo nuevo. Pero si tiene la capacidad de procesamiento y los bits de sobra, el uso de SHA-256 o similar es probablemente una precaución prudente.

Hablando criptográficamente, la resistencia de preimagen de MD5 ya está ya , consulte este documento de Eurocrypt 2009 . En este contexto formal " roto " significa más rápido que los ataques de fuerza bruta, es decir, los 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, con mucho, solo teórico, pero cada ataque práctico se basa en un ataque teórico menos potente, por lo que incluso una ruptura teórica arroja dudas graves sobre su medio. Seguridad a largo plazo. Lo que también es interesante es que reutilizan una gran cantidad de investigaciones sobre ataques de colisión en MD5. Eso ilustra muy bien el punto de Accipitridae de que el margen de seguridad del MD5 en la resistencia de la imagen previa ha desaparecido con los ataques de colisión.

Otra razón por la que el uso de MD5 en 2009 ha sido y ahora se desaconseja el uso de SHA1 para cualquier aplicación es que la mayoría de las personas no comprenden en qué propiedad exacta se basa la seguridad de su caso de uso. en. Desafortunadamente, demostró mi punto en su pregunta al afirmar que el ataque de CA en 2008 no se basó en una falla en la resistencia a la colisión, como lo señaló Caf.

Para elaborar un poco, cada vez que una CA (confiable) firma un certificado, también firma datos posiblemente maliciosos provenientes 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 en el que estará el estado de la función hash, cuando se va a 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 calcular previamente una CSR que forzará a la AC a realizar un hash y firmar datos que tengan una colisión con un certificado sombra que solo conoce el atacante. La CA no puede verificar las condiciones previas del certificado sombra que normalmente vería antes de firmarlo (por ejemplo, que el nuevo certificado no pretende ser un certificado raíz), ya que solo tiene acceso al CSR legítimo que proporcionaron los atacantes. En general, una vez que tiene ataques de colisión y una parte de sus datos está controlada por un atacante, ya no sabe qué otra cosa podría estar firmando junto a los datos que ve.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top