miércoles, 24 de agosto de 2011

El cifrado AES, ¿está roto o no?

Un equipo de investigadores ha encontrado la primera vulnerabilidad en el estándar de cifrado AES reduciendo la longitud efectiva de la clave en 2 bits. Esto implica que las longitudes habituales de 128, 192 y 256 bits se han visto reducidas a 126, 190 y 254 bits. ¿Significa que está roto?

AES (Advanced Encryption Standard) es en realidad el algoritmo Rijndael, que pasó a ser un estándar de cifrado aprobado por el gobierno de los Estados Unidos en 2003 para cifrar información clasificada. En su versión de 128 bits está permitido para información "Secreta" mientras que para información "Top Secret" requiere claves de 192 o 256 bits. De hecho, fue el primero algoritmo público usado para cifrar información "Top Secret" gubernamental.

Andrey Bodgdanov de la universidad católica de Leuven, Christian Rechberger del ENS de París y Dmitry Khovratovich del departamento de investigación de Microsoft ya apuntan que el ataque no tiene una gran relevancia práctica. Aunque el descubrimiento es considerado un avance importante en la investigación de la seguridad del algoritmo AES, puesto que la experiencia dice que en ciertos algoritmos, se avanza "despacio" hasta romperlo. Esta vulnerabilidad ha sido confirmada por los desarrolladores de AES, Joan Daemen y Vincent Rijmen.

Los investigadores emplearon un ataque Meet-in-the-Middle, una aproximación que ha sido principalmente empleada con algoritmos de hashing, combinándolo con un ataque "Biclique". Este método ha permitido a los investigadores calcular la clave de un par texto plano/texto cifrado más rápidamente que empleando un ataque de fuerza bruta en el espacio total de la llave. O sea, se ha reducido el número de claves que deben ser probadas. La fuerza bruta total con clave de 128 bits serían 2^128 posibilidades. Con este ataque serían necesarias "solo" 2^126.

En el sentido estrictamente académico, en algoritmo está "roto" puesto que se ha reducido (aunque sea en 2 bits) el espacio de claves necesario para calcular la clave por fuerza bruta. Sin embargo, "roto" no significa que no pueda ser usado con seguridad todavía. Por ejemplo, un ataque contra una llave de 128 bits requiere diez millones de años empleando un parque de un billón de equipos probando cada uno de ellos un billón de claves. Al reducir en dos bits dicha clave, el tiempo se reduciría a 3 millones de años.

Hasta 2005, el único ataque que se conocía contra AES contemplaba una reducción del número de rondas de cifrado, o sea, una modificación en su implementación "artificial" que no suele encontrarse habitualmente. Los detalles del ataque fueron presentados en la conferencia CRYPTO 2011 y pueden ser descargados desde la web de investigación de Microsoft.


Borja Luaces
bluaces@hispasec.com

Sergio de los Santos
ssantos@hispasec.com
Twitter: @ssantosv


Más información:

Biclique cryptanalysis of the full AES
https://research.microsoft.com/en-us/projects/cryptanalysis/aes.aspx

No hay comentarios:

Publicar un comentario en la entrada