Summary

  • Une suite de chiffres peut sembler parfaitement désordonnée tout en provenant d’une poignée de graines possibles. La RFC 1750 demandait de compter les possibilités ouvertes à l’attaquant, plutôt que les caractères imprimés par la machine.
  • Horloges, numéros de série et événements extérieurs offraient des sources de qualité très différente. La RFC 4086 a repris et élargi cette enquête sur l’origine de l’aléa en 2005.

Le cadenas est sophistiqué, la clé longue, l’algorithme célèbre. Dans l’atelier, pourtant, quelqu’un a réglé la machine sur l’heure du jour avant de lancer la fabrication. Le voleur ne s’attaque pas au cadenas. Il essaie les heures auxquelles l’atelier a pu ouvrir.

C’est le renversement proposé par la RFC 1750 de décembre 1994. Ses auteurs voyaient la cryptographie logicielle gagner les réseaux. Les mots de passe et les clés réclamaient des nombres que l’adversaire ne puisse prévoir. Or le générateur chargé de les produire n’était pas une source de surprise par le seul prestige de son nom. Il héritait des possibilités contenues dans son état initial.

La distinction tient dans un mot : imprévisibilité. Une suite pseudo-aléatoire peut réussir des examens statistiques et rester entièrement reproductible à partir de sa graine. La RFC donne l’exemple malicieux d’une table CRC publique : de bonnes propriétés apparentes, mais un secret inexistant pour qui possède la table. Les chiffres ne portent pas sur le front la méthode qui les a créés. Leur mine chaotique n’est pas un certificat.

L’horloge constituait une tentation très pratique. Elle était partout, et sa précision affichée pouvait descendre jusqu’à la microseconde. La RFC avertissait que les derniers chiffres d’une mesure ne représentent pas nécessairement des variations indépendantes : certaines configurations les répètent, d’autres les font avancer artificiellement. Deux machines de la même famille pouvaient même exposer des comportements différents. Une adresse Ethernet utilisée comme numéro matériel avait son propre défaut : ses champs révèlent souvent constructeur et structure de fabrication. La largeur d’un champ ne mesure pas sa part secrète.

Le document passe ensuite à des événements moins dociles : frappes au clavier, déplacement de la souris, arrivée des paquets. Une frappe a un rythme, mais un tampon logiciel peut cacher ce rythme à l’application. Les gestes peuvent se répéter. Un adversaire placé sur le réseau peut influer sur l’arrivée des paquets. La question n’était donc pas de dresser une liste d’objets réputés « aléatoires ». Il fallait observer ce que le programme pouvait effectivement recueillir et ce que l’adversaire pouvait anticiper ou provoquer.

La section la plus mordante vise l’illusion créée par un traitement compliqué. Prenons une excellente machine à produire des suites, puis donnons-lui l’heure comme graine. Si l’attaquant connaît approximativement l’instant de démarrage, il reproduira les sorties correspondant aux quelques horaires plausibles. On peut faire tourner l’algorithme plus longtemps : la liste des départs possibles ne grandit pas. Le processus transforme un petit carnet d’adresses en une encyclopédie d’apparence mystérieuse. Le carnet, lui, tient toujours dans la poche du voleur.

Les auteurs poussent le raisonnement avec une vaste archive USENET accessible aussi à l’adversaire. Prélever 32 octets dans ce stock ne cache pas tout le contenu de l’archive ; il cache essentiellement le point de prélèvement. Dans les conditions particulières de leur exemple, la RFC estime à environ 25 bits au maximum l’incertitude liée à cette position. Ce chiffre raconte une expérience intellectuelle de 1994, avec ses hypothèses précises. Il montre surtout pourquoi un entrepôt immense et public ne fabrique pas, à lui seul, un secret immense.

La sortie fiable exigeait alors plusieurs métiers distincts. Chercher des phénomènes physiques ou environnementaux difficiles à prévoir. Prélever leurs variations sans les effacer. Les mélanger de façon étudiée. Produire enfin les nombres nécessaires aux applications. Chaque étape devait transmettre quelque chose de réel à la suivante. La dernière pouvait multiplier les chiffres ; elle ne pouvait remonter le temps pour créer l’incertitude perdue au départ.

La RFC 4086, parue en juin 2005, a remplacé la RFC 1750. Elle a ajouté une discussion des oscillateurs en anneau, des réservoirs d’entropie et de générateurs alors présents dans les systèmes d’exploitation. Les machines et les pratiques évoluaient. Le contrôle décisif restait situé à l’entrée de la chaîne : avant d’admirer la clé, il fallait regarder qui avait ouvert l’atelier, avec quelle horloge et quels matériaux.