L’incident de la porte dérobée Dual EC DRBG
Revoyez le scandale du Dual EC DRBG compromis par une porte dérobée de la NSA et ce qu’il révèle des risques liés à la normalisation cryptographique.
L’incident de la porte dérobée Dual EC DRBG est une leçon Cryptology Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Cryptology Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Cryptology Academy comprend 4 leçons au total.
Qu'est-ce que Dual EC DRBG
Le générateur déterministe de bits aléatoires à courbe elliptique double (Dual EC DRBG) était l'un des quatre DRBG normalisés par NIST dans SP 800-90A (2006). Il génère des bits pseudoaléatoires à l'aide de deux points de courbe elliptique P et Q : à chaque étape, il calcule r_i = x(s_i * P) (la coordonnée x de la multiplication d'un point), puis s_{i+1} = x(r_i * P) met à jour l'état, et output = x(r_i * Q) génère les bits. Le générateur semblait légitime dans la notation universitaire. Il a été inclus dans NIST SP 800-90A, puis adopté par RSA Security comme valeur par défaut dans sa bibliothèque cryptographique BSAFE, ce qui l'a diffusé dans les logiciels d'entreprise et les logiciels gouvernementaux.
Les mathématiques de la porte dérobée
La porte dérobée de Dual EC DRBG exploite la relation entre P et Q. Si un adversaire connaît un scalaire secret e tel que Q = e * P, alors, à partir de n'importe quel bloc de sortie, il peut calculer : à partir de output = x(r * Q), retrouver par force brute la coordonnée y de r*Q, puis calculer r*P = (1/e) * (r*Q) mod n. À partir de r*P, il peut prédire toutes les sorties futures et retrouver l'état interne. La connaissance de e constitue la porte dérobée : elle équivaut au logarithme discret de Q par rapport à P. La norme NIST fournissait les valeurs P et Q sans expliquer comment elles avaient été choisies, ce qui rendait impossible de vérifier qu'elles avaient été générées aléatoirement sans mécanisme secret.
Première alerte universitaire : Shumow et Ferguson
En août 2007, Dan Shumow et Niels Ferguson ont présenté un article fondateur lors de la session Rump de CRYPTO, intitulé « On the Possibility of a Back Door in the NIST SP800-90 Dual Ec Prng ». Ils ont démontré formellement que, si une personne connaissait e (l'ECDLP de Q par rapport à P), elle pouvait prédire toute la sortie de Dual EC DRBG à partir d'environ 32 octets de sortie. Ils l'ont démontré à l'aide d'un exemple simplifié. Leur présentation a largement retenu l'attention de la communauté de la cryptographie. Bruce Schneier a écrit : « nous n'avons aucun moyen de savoir si la NSA peut lire la sortie de Dual_EC_DRBG ou non ». Malgré cet avertissement, Dual EC DRBG est resté dans la norme pendant six années supplémentaires.
Les documents de Snowden : confirmation
En septembre 2013, The New York Times, The Guardian et ProPublica ont publié des articles fondés sur des documents divulgués par Edward Snowden, révélant que la NSA avait secrètement introduit des vulnérabilités dans des normes cryptographiques. L'un des documents, intitulé « Sigint Enabling Project », décrivait un programme de 250 millions de dollars par an visant à « influencer secrètement » les normes et les produits de chiffrement. Bien que le document ne nomme pas explicitement Dual EC DRBG, la communauté de la cryptographie a largement conclu, en associant ce document à la démonstration mathématique de Shumow et Ferguson, que la NSA avait inséré la porte dérobée en choisissant P et Q selon une relation e connue, puis en gardant e secret tout en soumettant les constantes à NIST.
RSA Security et le contrat de 10 millions de dollars
Reuters a rapporté en décembre 2013 que la NSA avait versé 10 millions de dollars à RSA Security pour faire de Dual EC DRBG le générateur par défaut de la boîte à outils cryptographique BSAFE de RSA. RSA Security, alors une division d'EMC, distribuait BSAFE dans des logiciels d'entreprise utilisés par des institutions financières, des entreprises du secteur de la santé et des sous-traitants gouvernementaux. La déclaration de RSA Security niait avoir mis en œuvre sciemment une porte dérobée, tout en reconnaissant avoir accepté le contrat. Cette révélation a été particulièrement dommageable : BSAFE était commercialisé comme un produit de sécurité, et ses clients l'avaient précisément choisi pour ses garanties cryptographiques. Cet incident a gravement nui à la réputation de RSA Security et a entraîné des campagnes de boycott de la conférence RSA en 2014.
Réponse de NIST et retrait de la norme
À la suite des révélations de Snowden, NIST a pris plusieurs mesures. En septembre 2013, NIST a rouvert SP 800-90A aux commentaires du public et a déconseillé l'utilisation de Dual EC DRBG pendant l'examen. En avril 2014, NIST a publié SP 800-90A, révision 1, qui supprimait entièrement Dual EC DRBG : seuls Hash_DRBG, HMAC_DRBG et CTR_DRBG subsistaient. NIST a également lancé un examen de l'ensemble de ses normes et directives cryptographiques, en cherchant notamment à déterminer si l'influence de la NSA avait compromis d'autres normes. Le groupe de travail sur le processus des normes et directives cryptographiques de NIST a été créé pour accroître la transparence et la participation du public aux futurs efforts de normalisation.
Impact sur la confiance cryptographique
La porte dérobée de Dual EC DRBG a eu de profondes conséquences sur la confiance de la communauté de la cryptographie envers les organismes de normalisation. Elle a démontré qu'une agence nationale de renseignement était disposée à affaiblir délibérément des normes cryptographiques utilisées dans le monde entier, touchant non seulement les adversaires, mais aussi les alliés, les entreprises et les citoyens. Cet incident a accéléré l'adoption d'algorithmes ouverts et vérifiables, reposant sur des nombres sans artifice : Keccak, utilisé par SHA-3, emploie une méthode documentée pour ses constantes ; BLAKE2 et BLAKE3 dérivent leurs constantes des parties fractionnaires de constantes mathématiques ; Curve25519 utilise un nombre premier (2^255 - 19) choisi précisément pour être vérifiable. La génération vérifiable de paramètres de courbes elliptiques est devenue une pratique courante.
Nombres sans artifice
Le scandale de Dual EC DRBG a popularisé le concept de constantes « sans artifice » (NUMS) — des paramètres cryptographiques générés à partir de sources publiquement vérifiables et qui ne peuvent pas contenir de trappes secrètes. Exemples : SHA-2 utilise des valeurs de hachage initiales dérivées des racines carrées des 8 premiers nombres premiers ; ses constantes de tour proviennent des racines cubiques des 64 premiers nombres premiers. BLAKE2 dérive ses constantes des développements fractionnaires de pi et d'autres constantes mathématiques. Ed25519 utilise le nombre premier 2^255 - 19 ainsi qu'un point de base dont le logarithme discret par rapport à tout autre point est démontrablement inconnu ; ce point est choisi comme le hachage d'une chaîne. Ces pratiques permettent à chacun de vérifier que les constantes n'ont pas été choisies à partir de connaissances secrètes.
Dual EC dans des produits réels : incident Juniper
En décembre 2015, Juniper Networks a révélé que du code non autorisé était présent dans ScreenOS, son OS de pare-feu, depuis 2012. L'enquête a révélé deux portes dérobées : l'une remplaçait la constante Q de Dual EC DRBG par une valeur contrôlée par l'attaquant, ce qui permettait à l'attaquant connaissant le e correspondant de déchiffrer le trafic VPN ; l'autre se trouvait dans le mot de passe d'administration SSH. Le remplacement de Q dans Dual EC était particulièrement sophistiqué : Juniper utilisait déjà une valeur Q non standard, et l'attaquant l'a remplacée par la sienne, exploitant deux fois la structure de la trappe secrète de Dual EC. Cela a démontré que même les implémentations qui s'écartaient des valeurs P et Q de NIST pouvaient être attaquées par quiconque y introduisait son propre Q.
Leçons pour la normalisation cryptographique
L'incident de Dual EC DRBG enseigne plusieurs leçons. (1) Transparence : les paramètres cryptographiques doivent avoir des origines vérifiables ; les constantes dépourvues de documentation sur leur dérivation sont suspectes. (2) Conception des algorithmes : les algorithmes ne devraient pas présenter de structures susceptibles de dissimuler des trappes secrètes ; la relation entre Q et P dans Dual EC n'offre aucun avantage de sécurité par rapport à des conceptions de DRBG plus simples. (3) Conflits d'intérêts : les organismes de normalisation doivent gérer rigoureusement leurs conflits avec les agences de renseignement. (4) Examen par la communauté : les cryptographes universitaires doivent être habilités à soulever des préoccupations avant la publication des normes, et non après. (5) Vigilance lors du déploiement : les organisations doivent vérifier quels DRBG utilisent leurs bibliothèques cryptographiques et supprimer de manière proactive les options non recommandées.
Écosystème des DRBG après la porte dérobée
Après le retrait de Dual EC, l'écosystème recommandé des DRBG s'est recentré autour de Hash_DRBG, HMAC_DRBG et CTR_DRBG. La communauté des logiciels libres a également adopté des DRBG autres que ceux de NIST dans les contextes où les normes de NIST suscitent la méfiance : les RNG fondés sur ChaCha20, utilisés dans le noyau Linux depuis la version 5.17, dans OpenBSD et dans libsodium, sont largement considérés comme résistants aux portes dérobées, car ChaCha20 est un chiffrement de flux simple dépourvu de structures de trappe secrète. Fortuna, utilisé dans FreeBSD et les anciennes versions de macOS, est antérieur à SP 800-90A et demeure digne de confiance. L'incident de Dual EC a également ravivé l'intérêt pour les RNG matériels, notamment RDRAND, en tant que sources d'entropie ; RDRAND a toutefois lui aussi fait l'objet d'accusations concernant une possible insertion de porte dérobée, ce qui a conduit à recommander de le mélanger à l'entropie logicielle plutôt que de l'utiliser exclusivement.
Question sur la porte dérobée de Dual EC
Quelle relation mathématique permet la porte dérobée de Dual EC DRBG ?
Récapitulatif de la porte dérobée de Dual EC DRBG
Dual EC DRBG a été normalisé dans NIST SP 800-90A en 2006. En 2007, Shumow et Ferguson ont démontré que la connaissance de e (où Q=e*P) permet de prédire toute la sortie à partir de 32 octets. Les révélations de Snowden en 2013 ont confirmé l'influence de la NSA sur les normes cryptographiques. RSA Security aurait reçu 10 millions de dollars pour faire de Dual EC le générateur par défaut de BSAFE. NIST a retiré Dual EC de SP 800-90A, révision 1 (2014). L'incident Juniper de 2015 a montré que la trappe secrète avait été exploitée dans un produit réel. Leçons : constantes NUMS, dérivation transparente, gestion des conflits d'intérêts et processus d'audit postérieurs à la normalisation. Les RNG fondés sur ChaCha20 sont apparus comme une alternative fiable.
Questions Fréquemment Posées
La leçon « L’incident de la porte dérobée Dual EC DRBG » est-elle gratuite ?
Oui — le texte complet de « L’incident de la porte dérobée Dual EC DRBG » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Cryptology Academy, passe à CoddyKit PRO. Le cours Cryptology Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « L’incident de la porte dérobée Dual EC DRBG » ?
Revoyez le scandale du Dual EC DRBG compromis par une porte dérobée de la NSA et ce qu’il révèle des risques liés à la normalisation cryptographique. Tu pratiques Cryptology Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Cryptology Academy ?
Aucune expérience préalable n'est requise. Cryptology Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « L’incident de la porte dérobée Dual EC DRBG » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Cryptology Academy ?
Oui. Chaque leçon Cryptology Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- NIST SP 800-90A : normes DRBG
- Fonctionnement interne de Hash-DRBG, HMAC-DRBG et CTR-DRBG
- L’incident de la porte dérobée Dual EC DRBG
- Tester et valider les implémentations de RNG