Extrait de l'émission CPU release Ex0093 : Histoires de la cryptographie, 3ème partie : Des espions et des ondes.
On l'a déjà expliqué, ce qui détermine la solidité
d'une clé de chiffrement est la difficulté à la prédire. À cette fin, sa construction doit être le fruit du hasard, d'un hasard particulièrement rigoureux. Un bon hasard nécessite un générateur de nombre aléatoire dont la qualité principale est l'impossibilité de pouvoir prédire quel nombre est sorti après un autre.
En fait, le choix de ce générateur ne peut être confié au hasard.
On peut donc exclure la forme des nuages, le nombre d'étoiles dans un carré de ciel ou le dessin du marc de café au fond des tasses. Je ne donne que des exemples fantaisistes. Tiens, toi, plutôt que ronchonner, prends plutôt les dés qui sont sur ce paquet de cartes… on va jouer !
Si vous lancez un dé… et que vous obtenez un 3, la fois suivante que vous lancez ce dé, vous aurez toujours la même probabilité, une chance sur 6, d'obtenir un 3. Seulement les défauts dudit dé, la manière de le lancer, sa surface de réception peuvent influencer sur cette probabilité, au point qu'elle ne soit plus uniforme pour chaque chiffre. Au début du XXème siècle, les services qui demandaient beaucoup de nombres aléatoires, principalement l'armée, la diplomatie et les services secrets qui avaient besoin de générer une quantité importante de clés de chiffrement, employaient des équipes qui tiraient des nombres au hasard, parfois au dé, et les consignaient dans de grands cahiers, remplis de tableaux de jets de dés…
Mais il arrivait que les personnes qui généraient ces suites de nombres fassent des corrections
sur les résultats sortis, soit par zèle ou soit involontairement. Des modifications qui induisaient un biais et donc une faiblesse.
Les premières recherches sur un tirage de clés de chiffrement parfaitement
dû au hasard date de la première guerre mondiale aux États-Unis. Mais on est restés sur des dispositifs actionnés par des humains, ou des relevés de résultats par ces mêmes humains, donc risquant des erreurs.
Puis on est passé sur l'écoute des radiations émises par des matériaux radioactifs. En effet, la désintégration des atomes instables se fait au hasard, et n'est pas influencée par la température ou des conditions chimiques. Si vous avez un compteur Geiger et du plutonium militaire, et l'équipement de sécurité adéquat (security first !), vous pouvez vérifier cette absence de variation en mettant le plutonium dans le frigo, puis dans le four… de votre pire ennemi.
Dans le cas d'usage, le travail consiste à mesurer le temps entre deux désintégrations mesurées.
Mais nous avons alors plusieurs inconvénients :
- Il faut une mesure du temps très précise, avec un décompte capable de discerner deux événements à un intervalle ultra-court, sinon on perdra forcément des désintégrations qui sont très rapprochés, donc une introduction d'un biais dans les valeurs mesurées ;
- Sur une écoute longue, on notera quand même une décroissance du rayonnement en fonction de la demi-vie du matériau. Soit la période d'écoute ne dépasse pas quelques mois, soit on a un matériau à la double vie qui se mesure en milliers d'années ;
- Le produit utilisé demande forcément des précautions d'emploi draconiennes, ce qui veut dire monter un laboratoire extrêmement bien équipé et blindé pour la sécurité du personnel ;
- Et bien évidemment, il faut blinder correctement l'appareillage électronique pour qu'il ne soit pas détruit par la radioactivité, ou que celle-ci induise de faux décomptes dans les câbles électriques.
En 1955, un laboratoire privé associé à l'armée américaine, la RAND Corporation publie un livre « A million random digits with 100,000 normal deviates » (« Un million de chiffres aléatoires avec 100 000 déviés normaux »). Cette somme de 600 pages est issue de l'observation d'un dispositif électronique de leur invention, basé sur la comparaison entre une fréquence instable et une fréquence stable.
Techniquement, c'est le premier livre à transcrire un bruit blanc électrique.
[Note : C'est une pure coïncidence, RAND Corporation n'a aucun rapport avec le mot anglais random
, hasard
, et la signification du RAND était initialement recherche et développement
]
Une telle base de nombre aléatoires permit à de nombreux chercheurs d'avoir une source fiable de nombres tirés au hasard, ce qui se révéla utile en statistiques, sociologie, sciences physiques et biologie.
Ce livre a été ré-édité durant les années 2000s, avec une préface de l'équipe dirigeante actuelle de RAND Corporation. Outre son intérêt historique, les commentaires sur la page Amazon sont aussi à lire pour le LOL.
De nos jours, il existe parfois un circuit spécialisé dans le processeur, un true random number generator (TRNG), qui remplace les solutions logicielles avec leurs algorithmes pseudo-aléatoires, dites PRNG, lesquels peuvent se retrouver prévisibles. Nous verrons dans un prochain épisode que l'écriture d'un algorithme PRNG peut même devenir un acte de sabotage aux répercutions politiques.
Parmi les solutions complètement space
, l'opérateur de datacenters Cloudflare a par exemple monté un mur de lampes à lave, non seulement pour décorer l'entrée de leur siège social, mais surtout pour générer l'entropie de ses clés de chiffrement à partir d'une webcam filmant l'ensemble. Le va-et-vient dans le hall introduit suffisamment de perturbation dans ces lampes pour les rendre moins prévisibles. Overkill, soit, mais totalement déco.
Texte : DaScritch
Sonore complémentaire : BBC sound effects
Image : LavaRand, le mur de lampes à laves à l'accueil du siège social de Cloudflare, détail, © Martin J. Levy, with his kindly authorization