Líder en confianza digital para la era de la inteligencia artificial y la computación cuántica.   Descubra cómo Keyfactor lo Keyfactor posible.

  • Inicio
  • Blog
  • La ironía (y los peligros) de la aleatoriedad predecible

La ironía (y los peligros) de la aleatoriedad predecible

En la publicación de la conferencia IEEE, Factoring RSA Keys in the IoT Era, demostramos que muchos de los dispositivos IoT y de red utilizados actualmente emplean certificados digitales débiles que podrían exponerlos a ataques.

Nuestro equipo estudió millones de certificados digitales activos que se basan en el algoritmo RSA. Advertencia: descubrimos que 1 de cada 172 certificados son vulnerables a ataques debido a una deficiente generación de números aleatorios.

Aleatoriedad requerida

RSA es un algoritmo ampliamente adoptado que se utiliza para proteger desde el tráfico de Internet hasta los dispositivos IoT; sin embargo, a menudo puede parecer críptico, incluso para quienes lo utilizan a diario. No obstante, a un alto nivel, emplea un par de claves distintas, pero matemáticamente relacionadas —una clave pública y una clave privada— para cifrar datos y autenticar conexiones.

La generación de la clave pública implica la multiplicación de dos números primos grandes, generados aleatoriamente (conocidos como factores), un cálculo que es computacionalmente inviable de aplicar ingeniería inversa a partir del resultado.

Sin embargo, hay un inconveniente.

Si los números primos utilizados para crear las claves públicas no son verdaderamente aleatorios, es posible que exista un duplicado. Y si dos claves públicas comparten un factor común, solo se necesitan unos pocos microsegundos de computación y matemáticas sencillas para encontrar los otros factores y comprometer ambas claves.

Entonces, ¿cómo logramos romper casi un cuarto de millón de claves RSA?

Cómo desciframos las claves

En nuestros esfuerzos por monitorear y mejorar continuamente la seguridad de Internet, nos propusimos la misión de determinar exactamente cuán extendida está esta vulnerabilidad, y los resultados son asombrosos.

Nuestro equipo creó una base de datos de más de 75 millones de certificados digitales disponibles en Internet utilizando las capacidades de descubrimiento de SSL/TLS de la plataforma Keyfactor, combinadas con 100 millones de certificados producidos por el proyecto de registro de Transparencia de Certificados (CT) de Google. Después de analizar la base de datos en busca de factores compartidos, descubrimos que uno de cada 172 certificados digitales tiene claves RSA que comparten un factor con otro.

A partir de aquí, solo se necesitaron matemáticas sencillas para calcular los otros factores únicos, rompiendo eficazmente casi 250.000 claves RSA únicas. En muchos casos, estas claves vulnerables fueron utilizadas por múltiples certificados, a veces, incluso miles.

No es la primera vez

La industria conoce esta vulnerabilidad desde hace años. Varios estudios, de 2012 a 2016, han descubierto debilidades en la generación de números aleatorios, entonces, ¿qué hace que este estudio sea diferente?

Más claves, más riesgo

El número de claves RSA disponibles en Internet ha crecido exponencialmente, y con ello, el riesgo de compromiso. Ejecutar el algoritmo GCD contra un conjunto de datos más grande, extraído de Internet y de los registros CT de acceso público, aumenta las probabilidades de encontrar claves con un factor compartido.

Computación en la nube

Solo hay dos cosas que necesitamos para hacer esto de manera efectiva: (1) encontrar muchas claves públicas, y (2) un método eficiente para extraer y analizar claves a escala. La computación en la nube ha facilitado enormemente que un atacante acceda a los recursos que necesita para lograrlo. Utilizando una única máquina virtual de Microsoft Azure, con un costo de aproximadamente $3.000, nuestro equipo pudo romper casi 250.000 claves RSA en aproximadamente 18 horas. Hoy en día, este ataque no solo es posible, sino que es práctico y factible.

El auge del IoT

La mayoría de los certificados digitales vulnerables no se encontraron en sitios web de confianza pública, sino en dispositivos IoT integrados y appliances de red (routers, firewalls y switches). En muchos casos, pudimos rastrear los certificados hasta dispositivos IoT específicos.

A diferencia de la TI tradicional, incluidos servidores y laptops, los dispositivos IoT modernos tienen restricciones de diseño que les impiden producir claves altamente aleatorias. Estos dispositivos ligeros a menudo operan con muy poca energía y recursos computacionales requeridos para generar alta entropía (aleatoriedad estadística). El resultado son miles de dispositivos vulnerables a ataques.

Crítico para la vida y de alto riesgo

Muchos dispositivos IoT actuales incluyen elementos como dispositivos médicos, vehículos conectados y aeronaves comerciales.

Pensemos en un marcapasos. Está implantado en el cuerpo humano, tiene una potencia informática limitada, un ancho de banda intermitente, está en constante movimiento y tiene una duración de batería que podría durar entre 5 y 10 años. Generar claves altamente aleatorias no solo es un desafío, es fundamental para la salud y el bienestar humanos.

Se acerca la computación cuántica

No es el algoritmo RSA el que es inseguro, sino una generación de números aleatorios mal implementada. Dicho esto, cabe señalar que la computación cuántica podría amenazar con socavar muchos de los algoritmos en los que confiamos hoy, incluido RSA. El NIST predice que incluso las claves RSA de 8192 bits podrían ser vulnerables en la próxima década, a medida que continúan los avances en las computadoras cuánticas a gran escala.

Los fabricantes deben corregirlo

El hecho de que un cuarto de millón de claves RSA de los últimos cinco años sean vulnerables a este ataque, incluso para un atacante con recursos limitados, es sumamente preocupante. Grandes fracciones de estas claves residen en dispositivos IoT de próxima generación y dispositivos de red integrados que están siendo adoptados por empresas y consumidores hoy en día.

Entonces, ¿cuál es el curso de acción? Comienza en el diseño. Los fabricantes de dispositivos deben integrar la seguridad en sus dispositivos durante el diseño y desarrollo, y asegurar que el Software y la criptografía del dispositivo puedan actualizarse de forma segura durante todo su ciclo de vida.