¿Cuáles son las implicaciones de una colisión SHA-1 encontrada?

63

Google ha anunciado el descubrimiento de una colisión SHA-1 entre dos Archivos PDF con contenido distinto.

Si bien los hashes SHA-1 ya no están permitidos para las huellas digitales de certificados SSL / TLS, y otras medidas evitarían que las huellas digitales de certificados se manipulen de esta manera, ¿qué otros usos de SHA-1 se verían afectados?

Los autores del ataque mencionan los hashes GIT como una posibilidad, pero ¿existen otros usos comunes que no tengan mitigación además de actualizar a otra familia hash o un método SHA posterior?

Para las respuestas relacionadas con cómo se encontró esta colisión, consulte esta otra pregunta en Crypto.se

    
pregunta Matthew 23.02.2017 - 14:44
fuente

1 respuesta

45

Actualmente, dado el método de colisión específico utilizado, el impacto es bastante limitado. En particular, este método no permite que un atacante genere una colisión con un archivo existente, donde se ha proporcionado un hash SHA-1. No sería posible, por ejemplo, usar este método para generar un archivo ejecutable malicioso que coincida con la firma proporcionada en el sitio web de distribución legítima.

En teoría, sería posible que un atacante genere dos archivos ejecutables que tengan el mismo hash SHA-1, pero que realicen cosas diferentes cuando se ejecuten. De manera similar, sería posible generar múltiples imágenes ISO que tengan el mismo hash SHA-1. Sin embargo, en cada caso, otros valores de hash no coincidirán, y es común que los sitios de descarga proporcionen múltiples tipos de hash (por ejemplo, Ubuntu proporciona hashes MD5, SHA-1 y SHA256 para todas las descargas). Esto se puede ver con los archivos shattered-1.pdf y shattered-2.pdf:

# sha1sum shattered-1.pdf
38762cf7f55934b34d179ae6a4c80cadccbb7f0a  shattered-1.pdf

# md5sum shattered-1.pdf
ee4aa52b139d925f8d8884402b0a750c  shattered-1.pdf

# sha1sum shattered-2.pdf
38762cf7f55934b34d179ae6a4c80cadccbb7f0a  shattered-2.pdf

# md5sum shattered-2.pdf
5bd9d8cabc46041579a311230539b8d1  shattered-2.pdf

Es posible crear un tipo de archivo políglota que produzca los mismos valores hash tanto en SHA-1 como en MD5, pero esto no se ha demostrado y aún fallaría, dado, por ejemplo, un hash SHA-512 .

De forma similar, para cualquier sistema en el que se utilice un hash SHA-1 como identificador de archivo, puede ser posible obtener la mitad de un par de archivos en colisión en el sistema, y luego intercambiarlo por el otro. Un ejemplo de esto sería un sistema de respaldo que usara SHA-1 a nivel de archivo para determinar si los archivos se habían copiado correctamente. Sin embargo, sería difícil hacer un hash de todo el contenido de la copia de seguridad en este caso, ya que es poco probable que el archivo malicioso forme el prefijo para toda la copia de seguridad del archivo (es más probable que sea algo que identifique a todo el archivo como un copia de seguridad).

En general, por lo tanto, el anuncio de Google confirma principalmente lo que se sospechó por un tiempo: el SHA-1 es vulnerable a las colisiones, al igual que el MD5, pero encontrarlo requiere mucho esfuerzo y la mayoría de los perfiles realmente altos. los objetivos (como la generación de certificados de CA) tienen una mitigación en su lugar de las colisiones MD5 muy similares encontradas anteriormente. Los expertos han estado aconsejando pasar de SHA-1 por un tiempo, y este consejo sigue vigente.

Sin embargo, al igual que con MD5, esto no afecta particularmente el uso de HMAC-SHA1, ya que el método de combinación específico utilizado en la construcción de los valores HMAC hace que este tipo de colisión sea irrelevante.

    
respondido por el Matthew 23.02.2017 - 18:37
fuente

Lea otras preguntas en las etiquetas