Agentes de IA trabajando bajo supervisión humana permitieron a Google DeepMind identificar dos formas de reducir el costo de ataque de los criptosistemas RSA de 1024 bits. Este trabajo, realizado con criptógrafos de la UC San Diego y del Inria, indica que los ataques contra el RSA-1024 heredado requieren menos cómputo de lo que se suponía hasta ahora.
- Los agentes de IA de DeepMind hallaron dos formas de atacar RSA de 1024 bits con menos cómputo.
- El primer ataque afecta a las firmas PKCS#1 v1.5 cuando el atacante controla gran parte del bloque.
- El segundo factoriza varias claves de 1024 bits a menor costo, pero no se ha implementado.
- Las claves de 2048 bits o más siguen siendo seguras.
RSA es un sistema de cifrado de clave pública, cuya solidez se basa en la dificultad de descomponer un número grande en factores primos. Pushmeet Kohli, vicepresidente de Google DeepMind y director científico de Google Cloud, quiere relativizar el alcance de estos resultados: «En la práctica, estos resultados solo conciernen a los sistemas RSA de 1024 bits obsoletos, y los protocolos de cifrado modernos, que utilizan casi universalmente claves de 2048 bits o más, siguen siendo seguros».
Firmas digitales y relleno
El primer descubrimiento concierne a las firmas digitales y al relleno, esos datos preestablecidos que muchos estándares de firma añaden a un mensaje para llevarlo a un tamaño de bloque fijo. Se sabía que este mecanismo complicaba la falsificación, pero su eficacia frente a un atacante que pudiera elegir lo que se firma era poco clara. DeepMind estableció que todo depende de la parte del bloque firmado que controla el atacante. Como explica Pushmeet Kohli, «una vez que controlan aproximadamente la mitad del bloque o más, el relleno ya no aporta ninguna protección».
Según el artículo científico que acompaña este trabajo, esto afecta al formato PKCS#1 v1.5, utilizado por la interfaz de firma PKCS#11 de dispositivos criptográficos como los módulos de seguridad de hardware (HSM, por «hardware security modules»).
En una prueba realizada en un entorno aislado, los agentes relanzaron un ataque por falsificación ya publicado en un estudio académico, sobre la misma clave de 1024 bits. El tiempo de cálculo del procesador se dividió por 3,5. La primera falsificación requirió 391 años-núcleo de procesador, frente a los 1.380 del estudio original.
Dos agentes de IA diseñaron, ejecutaron y corrigieron el cálculo de falsificación en menos de cuatro días, con unos 20 mensajes del investigador humano, en su mayoría aprobaciones. La clave no fue factorizada, una operación que la fuente estima en 500.000 a 1 millón de años-núcleo de procesador. Cuando el atacante controla una parte más reducida del bloque, por ejemplo un hash de 32 bytes, la falsificación es más difícil. DeepMind dice no obstante haber encontrado un algoritmo que, según sus estimaciones teóricas, es aproximadamente 1.600 veces mejor que el método anterior más eficaz contra las claves de 1024 bits.
Factorización de varias claves
El segundo descubrimiento concierne a la factorización de muchas claves RSA del mismo tamaño. Un atacante puede entonces repartir el costo de un único cálculo inicial importante sobre el conjunto de estas claves. Los agentes de DeepMind elaboraron un algoritmo que, en promedio, hace que la factorización de cada clave de 1024 bits adicional sea aproximadamente 30 veces menos costosa que el mejor enfoque anterior. Esta estimación teórica supone sin embargo un cálculo inicial tan costoso como la factorización de una sola clave, y el método no ha sido implementado.
Los investigadores subrayan que el ataque sobre las firmas no permite recuperar la clave privada. Requiere previamente unos 4.000 millones de peticiones de firma y no funciona contra los dispositivos que hashean los mensajes internamente. «En conjunto, estos resultados muestran que, en una nueva era de las matemáticas y del cálculo asistido por IA, no podemos considerar la dificultad criptográfica como una hipótesis fija», concluye Pushmeet Kohli. Añade: «Utilizar la IA para probar rigurosamente nuestras hipótesis anteriores permitirá garantizar que el cifrado moderno siga siendo seguro».
