criptografía

About Speed Hashing

Hace unos días atrás Jeff Atwood, el autor del famoso blog Coding Horror menciona mi trabajo de de 2005 sobre las colisiones de MD5: Eduardo Diaz has described a scheme by which two programs could be packed into two archives with identical MD5 hash. A special “extractor” program turn one archive into a “good” program and the other into an “evil” one. Aparte de que me honra la mención, y el autobombo :), hay dos cosas que me gustaría comentar sobre ese post.

¡Bisiesto!

29 de febrero de 2012, un proceso de validación se negó a funcionar correctamente hoy en mi trabajo. Esencialmente el bug era el siguiente: un programa debía confrontar con una fecha anterior a 10 años atrás. La solución que el programador implementó consiste simplemente en restar 10 al año. Así, para calcular una fecha anterior a 10 años simplemente le resta 10 al año, obteniendo la fecha imaginaria: 29 de febrero de 2002.

Seguridad y oportunidad

En 2005 publiqué una prueba de concepto que mostraba lo vulnerable que es MD5 para ser usado como “firma digital”, en 2007 Peter Selinger basándose en mi trabajo crea un mecanimos para automatizar el proceso de generar firmas falsas. En 2009 comenté que la vulnerabilidad seguía ahí. Y estamos en 2012 y aún MD5 está disponible y sigue siendo usado para generar claves y como mecanismo de firma electrónica. Incluso todavía sigue siendo recomendado por instituciones gubernamentales como mecanismo de verificación de integridad de archivos.

MD5: las vulnerabilidades siguen ahí

En 2005 escribí una prueba de concepto aprovechando la vulnerabilidad de MD5 ( Busindre ha explicado mucho mejor que yo, en español, mi prueba de concepto), en realidad la prueba de concepto tomaba las ideas expuestas por Dan Kaminsky en su ahora bastante famoso paper MD5 To Be Considered Harmful Someday. Hace unos días un grupo de investigadores europeos publicaron otra prueba de concepto igual de interesante, en un paper irónicamente llamado: MD5 considered harmful today.

Mi mayor aporte a la seguridad informática

Escribo este artículo con orgullo y preocupación. Orgullo por el impacto que logró mi trabajo y preocupación porque, bueno ya van a ver porque. El año 2005 escribí un artículo en codeproject donde mostré un esquema práctico que explotaba una de las vulnerabilidades encontradas en ese tiempo al algoritmo MD5. El artículo alcanzó notoriedad al ser destacado en Slashdot, y en Kriptópolis. Mi artículo original está en inglés y hay un (muy breve) resumen en este mismo blog.

Cripto Biometria

La conjunción de Biometría con Criptografía ha dado un nuevo paso con la publicación del paper Fuzzy Vault for Fingerprints por U. Uludag, S. Pankanti y A. Jain. del Michigan State University Biometrics Research Group. Esencialmente el algoritmo oculta una llave de 128 bits en una nueva estructura, el fuzzy vault, un almacén virtual que no contiene la llave en sí, sino que los coeficientes de un polinomio, que sólo puede ser reconstruido con la adquisición de las minucias de las huellas.

Usando one-way hash

En codeproject, escribí sobre este tema, voy a empezar escribir sobre lo mismo, pero en cristiano (como decía mi abuelita), en este blog. La razón, es que hay muchas malas implementaciones y aplicaciones de de la criptografía, y como mucha documentación está en inglés, muchos programadores no tienen un acceso fácil a estos temas (aprendan inglés muchachos). La crísis de las funciones de hash Se puede leer sobre la crisis de populares funciones de hash en toda la internet, esto debido a los recientes descubrimientos en el campo de la criptología, por ejemplo, en el sitio del Gurú Bruce Schneier, se ha dado una interesante discusión sobre los resultados que permiten “quebrar” los algoritmos como MD5 y SHA-1.

¿Integrar o Desarrollar?

“Nuestro rol es entregar herramientas y no poner un centro de desarrollo de software en Chile” Yo soy desarrollador de software, no integrador. Cada vez que leo integrar leo esclavitud tecnologica. Debemos ser siempre los subordinados de la tecnología norte americana?

Adios a SHA-1

Schneierda más detalles sobre el ataque de Wang, al algoritmo SHA-1. Claramente estamos ante una crísis de las funciones de Hash. El resultado de wang, muestra que pueden llegar a un ataque de complejidad 2^63, el problema es que ya estamos en condiciones de atacar problemas de complejidad 2^64. Los papers pueden leerse aquí: “Efficient Collision Search Attacks on SHA-0” “Finding Collisions in the Full SHA-1Collision Search Attacks on SHA1”