jueves, 17 de febrero de 2005

SHA-1 roto

Buscando información entorno a la noticia de la ruptura del algoritmo SHA-1, he encontrado otro Web interesante, Red Segura que comentó ya en agosto del año pasado que en la 24º Conferencia Internacional Anual de Criptología realizada en Sta. Bárbara, (California) los investigadores Chinos Xiaoyun Wang , Dengguo Feng , Xuejia Lai y Hongbo Yu presentaron una ponencia en la que muestran colisiones en el algoritmo MD5. Días antes, un grupo de investigadores Franceses liderados por Antoine Joux descubrió colisiones en el algoritmo SHA-0.
Fuente: Red Segura - Hora de Buscarle Reemplazo a SHA-1

En dicho artículo ya se planteaba la necesidad de buscar un sustituto a nuestro tan utilizado algoritmo SHA-1 que se emplea como algoritmo de HASH en certificados digitales y el protocolo SSL.

En concreto para explicar que es SHA-1 y obtenido de la Wikipedia:
Fuente:Algoritmo SHA.

"La familia SHA (Secure Hash Algorithm, Algoritmo de Hash Seguro) es un sistema de funciones hash criptográficas relacionadas de la Agencia Nacional de Seguridad estadounidense y publicadas por el National Institute of Standards and Technology (NIST). El primer miembro de la familia fue publicado en 1993 es oficialmente llamado SHA. Sin embargo, hoy día, no oficailmente se le llama SHA-0 para evitar confusiones con sus sucesores. Dos años más tarde el primer sucesor de SHA fue publicado con el nombre de SHA-1. Existen cuatro variantes más que se han publicado desde entonces cuyas diferencias se basan en un diseño algo modificado y rangos de salida incrementados: SHA-224, SHA-256, SHA-384, y SHA-512 (todos ellos son referidos como SHA-2)."


También en este sentido comentan también preocupados por los resultados mostrados en la conferencia el Prof. Manel Medina y Abraham Pasamar que detallan la amenaza de ruptura del SHA-1.
Fuente: Futura ruptura del SHA-1.

"Un par de investigadores han conseguido reducir la complejidad de SHA-0 de 80 a 40 bits, esto equivale a decir que su eficacia teórica se ha reducido a menos que la de MD5. SHA-1 es una versión mejorada de SHA-0, por lo que podemos imaginar que SHA-1 seguirá los mismos pasos, y que en unos 5 años se podrá conseguir generar un mensaje o documento con un determinado hash SHA-1. De hecho, se ha conseguido generar mensajes con un código hash igual al de otro, generado con 80 bits, en vez de los 160 del SHA-1 usado normalmente.
De momento podemos estar relativamente tranquilos, pues aún no se ha conseguido falsificar una firma-e basada en SHA-1 de 160 bits. Según estos investigadores, para romper el SHA-0 completo se ha requerido un supercomputador de BULL de 256 procesadores durante unos 9 años de proceso, pero al supercomputador que está instalando IBM en la UPC (Barcelona) sólo le costaría del orden de 1 año. Un coste demasiado elevado para preocuparnos.
Lo verdaderamente preocupante es que las herramientas de firma-e que se están empleando en la actualidad en navegadores y aplicaciones de comercio electrónico, sólo admiten dos algoritmos de hash: MD5, que ya ha sido comprometido, y SHA-1, que lo podría ser en breve, si algún criptoanalista tiene un “golpe de suerte”.
Por tanto, hay dos recomendaciones que deberíamos tener en cuenta para preservar nuestros documentos electrónicos:
1- exigir a nuestros proveedores de herramientas de firma-e la compatibilidad con algoritmos más seguros, por ejemplo: SHA-2 (más de
200bits, en vez de 160 de SHA-1), recomendado por NIST (FIPS180-2) y RIPEMD-160, el 2º algoritmo recomendado por ETSI en sus normas
(junto a SHA-1).
2- Ir refrescando paulatinamente las firmas de nuestros documentos y certificados de identidad electrónica con los nuevos algoritmos de hash,
para evitar la eventualidad de que SHA-1 se comprometa antes de que caduquen.
La adopción de la primera recomendación puede requerir unos 6 meses, pero la segunda requiere unos 2 o 3 años, si queremos evitar una renovación masiva de certificados “in extremis”. "


Pues bien, hoy en el blog de Schneier, que aparte de gurú de la seguridad es un reconocido criptografo comenta que han conseguido romper el algoritmo SHA-1, encontrando colisiones dentro de esta función hash.

Para el que no sepa que significa esto voy a tratar de explicarlo de forma sencilla e informal. Las funciones hash son funciones matemáticas de un único sentido que para un elemento consiguen una resultado resumen (hash) único. [F(fichero)=hash x]

Esto se utiliza en seguridad para verificar la integridad de la información. Si esta función es única, nos proporciona un doble servicio. Por un lado, podemos calcular un resumen finito y pequeño de un fichero, y por otro, dado que si un fichero no se ve alterado, el origen y el destino pueden hacer una misma función hash y comprobar resultados. Si son iguales, el fichero origen y destino son identicos.

Este mecanismo se utiliza para verificar la integridad en la firma digital, en intercambios de credenciales, etc.

Ello basandonos en la unidireccionalidad de la función, lo que hasta la fecha significaba que no era facil de encontrar una colisión. Ello significa de dada una función, no era sencillo encontrar dos elementos distintos que produjeran un mismo hash. Aunque no es una amenaza grave, si indica que debemos empezar a pensar en incrementar la longitud en bits del resumen (Hash) para mejorar este algoritmo. Ello supone que los certificados digitales empiecen a utilizar estos nuevos algoritmos y migrar los existentes a estas nuevas funciones mejoradas.

1 comentarios:

Anónimo dijo...

buena informacion!!! gracias por sus apotaciones!!!

 
;