¿Quién necesita un superordenador? Desentrañando claves RSA de baja seguridad en tiempo récord
Hace poco me topé con una historia fascinante sobre cómo un equipo internacional de investigadores logró factorizar por primera vez una clave RSA de 512 bits. Esta hazaña, que antes solo se veía en novelas de ciencia ficción, se llevó a cabo usando un superordenador junto con cientos de otros equipos y tomó nada menos que siete meses. Pero, ¿qué tiene que ver eso con una empresa de energía como GivEnergy? Pues descubre cómo lidiaron con este problema de ciberseguridad y lo que significa para nosotros.
La evolución del descifrado de claves
Antes de continuar, quizás te preguntes, ¿por qué es tan relevante que se rompiera una clave RSA de 512 bits? La respuesta es que este tipo de clave, aunque podría parecer segura por su complejidad numérica, en realidad es bastante vulnerable con la tecnología actual. En 2009, un grupo de entusiastas rompió estas claves en apenas tres semanas para proteger el firmware de las calculadoras de Texas Instruments. Ya en 2015, investigadores lograron lo mismo usando la computación en la nube de Amazon a un coste de unos 70€ y en solo cuatro horas.
Así que, a medida que la capacidad de procesamiento aumenta, los recursos necesarios para descomponer estas claves son cada vez menores.
Un error humano común
Volvamos a GivEnergy, una joven startup que apostó su seguridad en claves RSA de 512 bits, algo fácil de romper hoy en día. Pero realmente, la culpabilidad no recae totalmente sobre los ingenieros que hicieron esta elección. Según Castellucci, un investigador de seguridad, el problema proviene de las bibliotecas de código en las que los desarrolladores confían para implementar procesos criptográficos complejos. Estos desarrolladores no tienen por qué ser expertos criptógrafos, y las bibliotecas a menudo permiten el uso de claves menos seguras.
Para ponerlo en perspectiva con algo actual, OpenSSL, una de las bibliotecas de código criptográfico más utilizadas, todavía permite el uso de claves de 512 bits. Aunque afortunadamente, el mundo Python eliminó recientemente esta opción.
Una carrera contra el tiempo
En 2019, un equipo logró factorizar una clave RSA de 795 bits, el tamaño más grande hasta el momento. A fecha de hoy, aún no hay informes confirmados de que una clave de 1024 bits haya sido factorizada. No obstante, según un profesor de la Universidad de California en San Diego, no hay barreras técnicas reales para que esto suceda; únicamente se necesita el esfuerzo de ingeniería y la financiación adecuadas.
De hecho, anticipando esto, el Instituto Nacional de Estándares y Tecnología de Estados Unidos dejó de permitir su uso en 2013 y ya planea desestimar las claves de 2048 bits para 2031. Microsoft también ha dado pasos similares este mismo año en relación con Windows.
Superando desafíos con ingenio
Castellucci, el investigador detrás de este descubrimiento para GivEnergy, explicó que ni siquiera tuvieron acceso a la clave pública que aseguraba el acceso de administrador. En cambio, solo tenían un JWT (JSON Web Token) firmado por la clave. Sin embargo, utilizando algunas técnicas algebraicas y ejecutando procesos computacionales eficientes, lograron encontrar lo que buscaban con éxito.
¡Y todo gracias a una herramienta específica que les ayudó a descifrar el módulo correcto, permitiéndoles crear una llave privada y firmar un token que imitara el de los administradores de GivEnergy!
Las lecciones aprendidas
Al final, Castellucci elogió a GivEnergy por abordar rápidamente el problema y solucionarlo el día después de ser notificados. Además, aseguraron que el uso de dicha clave débil no había sido explotado maliciosamente según el análisis de registros del sistema.
Esta experiencia nos enseña un crucial principio en ciberseguridad: mantener actualizadas las bibliotecas de código y no confiar ciegamente en tecnologías disponibles sin evaluar su seguridad.
Y con esto, me despido recordándote que la ciberseguridad es un campo en constante cambio donde las amenazas evolucionan tan rápido como la tecnología que usamos para combatirlas. Si quieres saber más sobre cómo proteger tus sistemas, echa un vistazo a nuestro artículo sobre ciberseguridad. ¡Mantente siempre informado y seguro!


