debianopenssl
Clés privées vulnérables au bogue Debian OpenSSL (CVE-2008-0166)
En 2008, un bogue dans le paquet OpenSSL de Debian et d'Ubuntu a conduit à des clés privées prévisibles.
Bien que le nombre de clés soit limité, quelques considérations sont nécessaires pour créer une liste
appropriée de toutes les clés plausiblement affectées. Ce dépôt contient les clés utilisées pour la
liste de blocage dans l'outil badkeys.
Notes sur le bogue Debian OpenSSL :
- Les clés dépendent de l'identifiant de processus (PID). Les PID valides vont de 0 à 32767. Les clés
créées avec le PID 0 sont peu probables, mais elles sont incluses. Sur les plateformes 64 bits, il est
possible de configurer le noyau pour autoriser des PID plus grands, mais cela est peu probable.
- Les clés de l'outil en ligne de commande openssl et de ssh-keygen d'OpenSSH sont différentes.
- Les clés générées avec les commandes genrsa et req d'openssl sont identiques.
- openssl crée des clés différentes selon que le fichier .rnd est présent ou absent
dans le répertoire personnel.
- Sans le fichier .rnd, les versions anciennes (ex. 0.9.8c d'etch) et récentes (ex. 0.9.8g de lenny)
d'openssl produisent des clés différentes.
- ssh-keygen ne crée pas de clés RSA de 512 bits (768 est la taille minimale).
- openssl permet de modifier la valeur de l'exposant à 3, mais cela ne change pas le
module. Par conséquent, seules les clés avec la valeur d'exposant par défaut sont incluses. Lors de la
création d'une liste de blocage, il est donc recommandé de vérifier le module et non la
clé complète.
- ssh-keygen ne prend en charge que les clés DSA de taille 1024 bits.
- La génération de clés DSA avec openssl est un processus en deux étapes (d'abord la génération des paramètres,
puis la clé), donc le nombre de clés possibles est beaucoup plus grand. Elles ne sont pas
considérées ici car l'utilisation de clés DSA en SSL/TLS n'a jamais été courante.
- Les clés créées sur les architectures big endian PowerPC, SPARC et HPPA sont identiques.
- Les clés créées sur MIPS sont différentes. Cependant, vu l'utilisation rare de cette plateforme, elles
ne sont pas considérées.
- Les clés à courbe elliptique / ECDSA sont supportées par openssl, mais pas par openssh. Un grand
nombre de courbes possibles sont supportées, mais seules les courbes NIST P-256 et P-384 sont
couramment utilisées dans les certificats TLS.
Ce dépôt inclut actuellement :
- Clés RSA de 1024, 2048, 3072 et 4096 bits.
- Clés DSA de 1024 bits (openssh uniquement).
- Clés ECDSA avec les courbes P-256 et P-384 (openssl uniquement).
- Créées avec des PID de 0 à 32767.
- Clés créées avec openssl et ssh-keygen (répertoires ssl/ssh).
- Clés créées sur les architectures little endian 32 bits (x86) et 64 bits (amd64) et les architectures
big endian 32 bits courantes (PowerPC/SPARC/HPPA).
- Les trois variantes d'openssl (avec/sans .rnd, versions anciennes/nouvelles).
Il n'inclut pas les tailles de clés inhabituelles, les valeurs de PID non standard, les valeurs
d'exposant non standard, les clés créées sur MIPS, ni les clés DSA créées avec openssl.
La structure des répertoires est :
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
...
liens