Saltar al contenido
ecdsa.com

Clave débil

Una clave más fácil de romper de lo que sugiere su tamaño, por un generador defectuoso, poca entropía, un defecto estructural o la reutilización entre equipos.
También se escribeweak keysROCADebian weak keysshared primes

Los fallos de entropía dominan los incidentes reales. El paquete OpenSSL de Debian (CVE-2008-0166, 2006–2008) inicializaba su RNG con poco más que el ID del proceso como semilla, así que solo existían unas 32.768 claves por tipo y tamaño de clave; algunas herramientas SSH todavía incluyen listas de bloqueo de esas claves. Los dispositivos que generaban claves justo después del arranque repetían o compartían primos: en 2012, Heninger y sus colegas factorizaron las claves RSA de alrededor del 0,5 % de los hosts TLS calculando el máximo común divisor (MCD) entre millones de módulos.

Fallos estructurales: ROCA (CVE-2017-15361) hizo factorizables las claves RSA de la biblioteca de Infineon por la estructura especial de sus primos, y afectó a tarjetas inteligentes, TPM y la tarjeta de identidad estonia; en 2022 se descubrió que una biblioteca comercial generaba primos tan próximos entre sí que el método de Fermat factoriza el módulo al instante (CVE-2022-26320). En las curvas elípticas, las claves débiles se deben a nonces sesgados y a una mala aleatoriedad más que a la propia clave.

Comprobaciones que puede ejecutar un verificador o una CA: listas de bloqueo de huellas digitales (Debian), la prueba de huella de ROCA, el MCD por lotes (batch GCD) frente a módulos conocidos, la factorización de Fermat para primos cercanos, un exponente público de al menos 65537 y tamaños mínimos. El comprobador de claves débiles ejecuta estas pruebas localmente.

Estándares y referencias

Todos los términos