debianopenssl
Claves privadas vulnerables al fallo de OpenSSL en Debian (CVE-2008-0166)
En 2008, un fallo en el paquete OpenSSL de Debian y Ubuntu provocó la generación de claves privadas predecibles.
Aunque el número de claves es limitado, se necesitan algunas consideraciones para crear una lista
adecuada de todas las claves potencialmente afectadas. Este repositorio contiene las claves utilizadas para la
lista de bloqueo en la herramienta badkeys.
Notas sobre el fallo de OpenSSL en Debian:
- Las claves dependen del ID de proceso (PID). Los PID válidos van de 0 a 32767. Las claves
creadas con el PID 0 son poco probables, pero se incluyen. En plataformas de 64 bits, es
posible configurar el kernel para permitir PID más grandes, pero es poco probable.
- Las claves de la herramienta de línea de comandos de openssl y las de ssh-keygen de OpenSSH son diferentes.
- Las claves generadas con los comandos genrsa y req de openssl son las mismas.
- openssl genera claves diferentes dependiendo de si un archivo
.rnd está presente o ausente
en el directorio home.
- Sin el archivo
.rnd, las versiones antiguas (p. ej., 0.9.8c de etch) y las más nuevas (p. ej., 0.9.8g de lenny)
de openssl producen claves diferentes.
- ssh-keygen no crea claves RSA de 512 bits (768 es el tamaño mínimo).
- openssl permite cambiar el valor del exponente a 3, pero esto no cambia el
módulo. Por lo tanto, solo se incluyen las claves con el valor de exponente predeterminado. Al
crear una lista de bloqueo, por lo tanto, se recomienda verificar el módulo y no la
clave completa.
- ssh-keygen solo admite claves DSA de 1024 bits.
- La generación de claves DSA con openssl es un proceso de dos pasos (primero generar los parámetros,
luego la clave), por lo tanto, el número de claves posibles es mucho mayor. No se
consideran aquí, ya que el uso de claves DSA en SSL/TLS nunca fue común.
- Las claves creadas en las arquitecturas big endian PowerPC, SPARC y HPPA son idénticas.
- Las claves creadas en MIPS son diferentes. Sin embargo, dado el uso poco frecuente de esa plataforma, no se
consideran.
- Las claves de curva elíptica / ECDSA son compatibles con openssl, pero no con openssh. Se admite una gran
cantidad de curvas posibles, pero solo las curvas NIST P-256 y P-384 se usan
comúnmente en certificados TLS.
Este repositorio incluye actualmente:
- Claves RSA de 1024, 2048, 3072 y 4096 bits.
- Claves DSA de 1024 bits (solo openssh).
- Claves ECDSA con las curvas P-256 y P-384 (solo openssl).
- Creadas con PID de 0 a 32767.
- Claves creadas tanto con openssl como con ssh-keygen (directorios ssl/ssh).
- Claves creadas en arquitecturas little endian de 32 bits (x86) y 64 bits (amd64) y arquitecturas
big endian de 32 bits (PowerPC/SPARC/HPPA) comunes.
- Las tres variaciones de openssl (con/sin .rnd, versiones antiguas/nuevas).
No incluye tamaños de clave inusuales, valores de PID no estándar, valores de exponente no estándar,
claves creadas en MIPS ni claves DSA creadas con openssl.
La estructura de directorios es:
rsa2048
ssl
le32
$pid-rnd.key
$pid-nornd-old.key
$pid-nornd-new.key
le64...
be32...
ssh
le32
$pid.key
le64...
be32...
rsa...
dsa1024
ssh
...
ecp256
ssl
...
enlaces