El hash criptográfico SHA-1 ha sido oficialmente roto

Hace pocos días fue anunciado que un equipo de investigación de ciencias de la computación y matemática de Google y CWI  han roto oficialmente el algoritmo de hash SHA-1 lo que significa que su uso en sistemas de cómputo es peligroso e inseguro.

Una función hash, dentro de la programación y la criptografía es la implementación de un algoritmo que resume el valor de una entrada específica. Normalmente existe una entrada que se trata de una cadena y la salida es otra cadena pero con longitud fija que es generada mediante un cálculo.

Existen muchas funciones hash estándar dentro de los lenguajes de programación, siendo usadas para sumas de verificación, compresión de texto y almacenamiento de contraseñas. Algunos de los más usados son MD5, SHA-2, SHA-256, SHA-3 y por supuesto SHA1.

¿Cómo ha sido roto?

El equipo Google y CWI usó un método de ataque basado en colisiones. En criptografía y computación, un “collision attack“ es un método que consiste en tratar de generar dos idénticas salidas con diferentes entradas, produciendo así una irregularidad en el resultado.

Para realizar este ataque, por supuesto es necesario contar con un equipo específico para ello. Por ejemplo es necesario ejecutar 9,223,372,036,854,775,808 cálculos con SHA-1 (en serio), lo cual requiere no un GPU potente, sino múltiples GPU ejecutando el ataque por muchísimo tiempo.
El equipo de Google y CWI fue capaz de generar, a partir de 2 archivos PDF diferentes el mismo hash SHA-1 como salida.

¿Por qué es importante?

Por el gran uso que actualmente se le da a este algoritmo de hash a pesar de haber sido deprecado hace años, precisamente por debilidades encontradas en ataques teóricos.

SHA-1 es usado en la industria criptográfica para verificación de integridad de archivos, y protección de datos dentro de plataformas de software, tales como transacciones de tarjetas de crédito, repositorios de software y actualizaciones.

GIT

Todos conocemos GIT, el popular sistema de control de versiones. Es uno de los sistemas que se ven afectados. El core de GIT está implementado usando precisamente este hash para la verificación de commits y archivos dentro de un repositorio. Teóricamente, según los resultados de este estudio es posible generar dos commits diferentes con el mismo hash, generando una incongruencia en el código almacenado. Por supuesto, para realizar ésto es necesario que algún atacante desarrolle la colisión contra un repositorio específico.

Ya está ocurriendo

Aunque parezca improbable que existan colisiones, está pasando con SVN, otro popular sistema de control de versiones que usa SHA-1. Google ha confirmado colisiones dentro del repositorio SVN de Webkit. Google ya está haciendo actualizaciones en sus productos, Chrome verificará que los certificados SSL no usen este hash y estará deprecado en el envío de archivos en Gmail y Drive.

Más Información

Si quieres más información sobre esta noticia puedes visitar el sitio oficial donde se explica con una interesante infografía todo el asunto.
Si eres especialista en ciencias de la computación puedes leer el paper aquí.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s