Llegamos a ustedes gracias a:



Reportajes y análisis

¿Qué sigue para el cifrado si el algoritmo RSA no funciona?

[26/04/2021] ¿Y si en la capa de seguridad de Internet apareciera una gran grieta de la noche a la mañana? ¿Y si la fractura se adentrara profundamente en los fundamentos matemáticos de los algoritmos criptográficos? Aparentemente, eso fue lo que sucedió a principios de marzo, cuando apareció un artículo con una conclusión tentadora en el resumen: "Esto destruye el criptosistema RSA.

Si la afirmación resulta correcta, es posible que una buena parte de los datos cifrados en reposo o en movimiento no estén seguros. El primer problema fue que nadie sabía si el autor tenía razón. El segundo problema, aún mayor, era que nadie estaba seguro de lo que debería hacer el mundo si dichas afirmaciones resultaran ciertas.

En el momento de escribir este artículo, los matemáticos todavía están deliberando sobre la primera pregunta, pero otros están abordando la segunda pregunta y comenzando a esbozar planes sobre qué hacer si aparece una debilidad catastrófica de la nada. Están esforzándose en encontrar una base más sólida, construida a partir de múltiples algoritmos implementados con protocolos que simplifican el cambio.

Algunos criptógrafos buscan reemplazos de RSA porque el algoritmo es solo un algoritmo de cifrado que puede ser vulnerable a las nuevas máquinas que explotan los efectos cuánticos en la electrónica. El mundo debe ser más ágil, argumentan, porque existen muchas grietas potenciales que podrían aparecer.

Factorizar números grandes

El artículo se llama "Fast Factoring Integers by SVP Algorithms y fue escrito por Claus Schnorr, de 77 años, un criptógrafo respetado que se retiró de la Universidad Johann Wolfgang Goethe en el 2011. Él es conocido, en parte, por un esquema de firma digital que lleva su nombre. Fue patentado por primera vez en 1988 y algunas monedas digitales lo utilizan de forma modificada porque es eficiente y produce firmas cortas. Las cadenas de bloques para Polkadot, Kusama y Zilliqa son solo tres ejemplos. Se basa en la presunta insolubilidad del problema de logaritmos discretos debido a su fuerza.

RSA es un algoritmo diferente con una historia más larga y una adopción más amplia, al menos en el pasado. Depende de la complejidad de factorizar números grandes. El enfoque recientemente publicado de Schnorr, que ha evolucionado en una serie de artículos publicados en los últimos años, reformula el problema de factorizar números grandes como un problema para lo que los matemáticos a veces llaman la búsqueda del vector correcto en una red multidimensional definida por números mucho más pequeños.

Sin embargo, su artículo es en gran parte teórico y eso deja a muchos preguntándose si una implementación real en software cumpliría con estas afirmaciones. Varias personas han circulado desafíos que son grandes números construidos como claves RSA. Cualquiera que pueda atacar RSA puede probarlo fácilmente publicando los factores para el número. Hasta ahora, nadie ha logrado una demostración pública tan concreta, y algunos de los que lo han intentado han anunciado que no podrían hacer funcionar el algoritmo.

Arreglar las debilidades de RSA

Arreglar los problemas que surgen de un ataque recién descubierto no es nada nuevo. Las empresas de software envían periódicamente actualizaciones que corrigen las debilidades y solicitan abiertamente informes de errores para animar a las personas a informar de los problemas que encuentran. Pero el artículo de Schnorr, si se corrobora, expondría las debilidades en la base de un protocolo, y no hay una sola corporación que asuma la responsabilidad del protocolo.

Una empresa, también llamada RSA, comparte bastante historia con el algoritmo, pero las patentes han expirado, y ahora la mayoría de las implementaciones de RSA utilizadas en Internet no provienen de ellos. Muchas de las bibliotecas populares son de código abierto y las mantiene una comunidad.

Para empeorar las cosas, la debilidad, si existe, no se puede solucionar con unas pocas líneas de código nuevo, como muchos agujeros o errores. Cualquier solución puede tardar años en aparecer porque se necesita tiempo para probar e implementar cualquier algoritmo nuevo.

Simplemente cambiar a un nuevo algoritmo puede no ser tan difícil porque muchos paquetes de cifrado soportan opciones para usar diferentes algoritmos con diferentes longitudes de clave. Un desafío más profundo puede ser actualizar la infraestructura de autenticación que mantiene la jerarquía de certificados utilizada para validar las claves públicas. La versión actual de los principales navegadores viene con certificados raíz de las diferentes autoridades de certificación y muchos dependen de RSA.

Reemplazar los certificados raíz en los navegadores (y otras herramientas) requiere el envío de nuevas versiones, algo que puede ser complicado porque los certificados raíz son muy poderosos. Algunos ataques, por ejemplo, implican la inserción de certificados falsos que avalan a los atacantes, lo que les permite hacerse pasar por otros sitios. En el momento de redactar este documento, los certificados de algunas de las principales autoridades de certificación como Verisign, Amazon, GoDaddy y Entrust se basan en el algoritmo RSA.

Preguntas cuánticas

La cuestión de qué hacer con las posibles computadoras cuánticas es otra preocupación. La comunidad criptográfica ya está en el camino de buscar reemplazos que puedan resistir las máquinas cuánticas, un camino en el que comenzó hace varios años porque algunos temen que las computadoras puedan estar disponibles pronto. Esto amenazaría a algoritmos como RSA, porque uno de los algoritmos más conocidos para máquinas cuánticas, desarrollado por Peter Shor, puede factorizar números. Las máquinas actuales no son muy potentes y el número más grande que han factorizado es 21, pero muchos están planeando la posibilidad de que aparezcan modelos más potentes.

Este algoritmo no es la única amenaza porque factorizar números grandes es un desafío atractivo, en parte debido al valor económico. Un nuevo artículo de Élie Gouzien y Nicolas Sangouard, por ejemplo, utiliza un tipo especial de memoria cuántica. Su diseño, que también está lejos de realizarse, podría factorizar los números de 2048 bits utilizados en los certificados raíz basados en RSA en aproximadamente medio año.

Imaginar un nuevo criptosistema que no sea RSA

Resultados teóricos como este son la razón por la que, en el 2016, el National Institute of Standards and Technology (NIST) inició un concurso para identificar posibles reemplazos de RSA. Los participantes fueron examinados hasta llegar a 26 semifinalistas en el 2019 y siete finalistas en el 2020.El proceso de selección aún está abierto porque el comité también decidió traer ocho suplentes para estudiar. Esperan elegir un reemplazo en los próximos años, pero la pandemia puede retrasar este proceso.

Los finalistas se basan en tres enfoques matemáticos diferentes. Los que el anuncio del NIST llama los "algoritmos de propósito general más prometedores usan entramados y dependen de la dificultad de encontrar un elemento o vector en esta red. Hay tres esquemas de cifrado diferentes (CRYSTALS-KYBER, NTRU y SABRE) y dos algoritmos de firma diferentes (CRYSTALS-DILITHIUM y FALCON).

NIST también eligió un enfoque de firma más antiguo, desarrollado por Robert McEliece en 1978. Se basa en la dificultad de encontrar la solución correcta para un código general de corrección de errores. Estas construcciones matemáticas se utilizan normalmente en el almacenamiento y la transmisión de datos para recuperarse de errores, pero McEliece encontró una manera de cambiar su construcción, por lo que recuperarse del error fue difícil para todos, excepto para las personas que tenían la clave secreta correcta. El último finalista se conoce como código Rainbow y construye polinomios a partir de muchas variables que son difíciles de resolver para un atacante.

Se nombraron varios suplentes para fomentar más investigaciones sobre sus fundamentos. Algunos se basan en fundamentos matemáticos similares a los de los finalistas, pero algunos utilizan enfoques completamente diferentes. El SPHINCS +, por ejemplo, crea firmas a partir de valores hash.

Es posible que los nuevos reemplazos potenciales para RSA no se intercambien fácilmente con los existentes. Algunos son mucho más lentos y otros pueden no ofrecer las mismas opciones, tanto para generar firmas como para cifrar los datos. Muchos dependen de claves que son mucho más grandes y gran parte de la investigación activa se dedica a buscar variantes que utilicen claves más pequeñas. No es raro oír hablar de claves que pueden tener 500 kilobytes o más, sustancialmente más grandes que muchas de las claves actuales que pueden tener solo varios cientos de bytes.

Whitfield Diffie, un criptógrafo que ayudó a crear la criptografía de clave pública señala que las nuevas propuestas podrían requerir más computación para su configuración. "Probablemente, tendremos que hacer más almacenamiento en caché, afirma. "Si los sistemas postcuánticos son más costosos computacionalmente que los actuales, es posible que tenga que dedicar un minuto a la computación para negociar una clave con eBay o Amazon, digamos, el 2 de enero, conservarla todo el año y realizar la autenticación de manera clásica.

Los protocolos actuales suelen negociar una nueva clave para cada interacción. Ejecutar una generación de claves computacionalmente más costosa con menos frecuencia puede resultar en el mismo costo total de computación, afirma Diffie, pero a costa de "disminuir la función de forward secrecy y disminuir el valor probatorio de las firmas.

En la década de los años setenta, Martin Hellman, otro de los matemáticos originales que comenzó a explorar la criptografía de clave pública, sugiere que el mundo puede querer desarrollar nuevos protocolos que combinen varios algoritmos distintos. En lugar de depender simplemente de un algoritmo para crear la clave aleatoria destinada a cifrar algunos datos, el protocolo debe ejecutar varios algoritmos y combinar las claves de todos ellos en una clave (quizás a través de XOR, o posiblemente con una función unidireccional más elaborada).

Hellman ha estado pensando en cómo sobrevivir al colapso de un algoritmo durante más de una década. Agregar este tipo de seguridad a largo plazo evitaría el pánico potencial que podría resultar si un ataque sólido aparece de repente.

Pero incluso si las rupturas catastróficas no se producen, señala que incluso los incrementos más pequeños, construidos a partir de la evolución de los algoritmos para factorización (u otros ataques), pueden sumarse. Un buen plan para un colapso catastrófico también podría ayudar a defenderse del lento aumento de poder que evoluciona a lo largo de los años.

"Algunos datos que son secretos hoy en día deberían seguir siendo secretos dentro de 50 o 100 años, afirma Hellman. "Entonces, un avance tan lejano en el futuro tendría implicaciones peligrosas para los datos protegidos hoy.

Puede ver también:

Casos de éxito

Más »