Descubren cientos de claves RSA «short-sleeve» factorizables mediante polinomios

Fuentes: Factoring "short-sleeve" RSA keys with polynomials

Investigadores de seguridad, en colaboración con Hanno Böck del proyecto badkeys, han identificado una familia de claves RSA vulnerables que denominan «short-sleeve» porque los ceros no cubren por completo los «limbs» (fragmentos de bits) de los enteros grandes que componen la clave. El defecto provoca que ciertas regiones de cada limb queden sin inicializar, creando patrones regulares de ceros que pueden detectarse en la estructura de la clave pública.

El análisis, publicado en un extenso artículo técnico, explica cómo convertir el problema de factorizar estos módulos RSA en un problema de factorización de polinomios con coeficientes pequeños, mucho más sencillo. Explotando esa propiedad matemática, los autores recuperaron 603 claves RSA privadas y 74 claves DSA únicas a partir de escaneos de internet.

Los casos encontrados se agrupan en dos patrones. El primero aparece en certificados de organizaciones como Yahoo y Verizon, así como en dispositivos con software de NetApp; sus certificados ya han expirado y no se ha identificado el producto responsable. El segundo patrón se atribuye a un error de tipo (type mismatch) en el código de números enteros grandes de CompleteFTP, de EnterpriseDT: la función que rellena los limbs esperaba 64 bits de aleatoriedad por limb pero solo recibía 32, dejando la mitad superior a cero. El fallo afecta a claves RSA generadas con las versiones 10.0.0–12.0.0 (diciembre de 2016 a marzo de 2019) y a claves DSA de las versiones 10.0.0–23.0.4 (diciembre de 2016 a diciembre de 2023). EnterpriseDT ha publicado una herramienta para que los usuarios comprueben y regeneren sus claves.

El artículo detalla la base matemática del ataque: representar el módulo n como polinomio f_n(x) usando como base el tamaño de limb, factorizar f_n en f_p y f_q, y evaluar el resultado en 2^w para obtener los factores p y q. Esta correspondencia entre enteros y polinomios, además, subyace a algoritmos de referencia como el General Number Field Sieve. Los autores subrayan que vulnerabilidades similares pueden existir en otras implementaciones criptográficas y recomiendan adaptar los algoritmos de cribado a este tipo concreto de fallo.