(MC16) OpenTRNG:une initiative open-source de générateurs physiques de nombres vraiment aléatoires
Les générateurs de nombres vraiment aléatoires (en anglais True Random Number Generators) sont la pierre angulaire de la cybersécurité. Ils garantissent le caractère imprédictible des clés générées par les primitives cryptographiques, telles que le chiffrement et la signature. De nos jours, les TRNG sont confrontés à des attaques de plus en plus sophistiquées et sont contraints en termes de performances et consommation dictées par les applications (Smartcard, IoT, ICS, etc). L’émergence de la cryptographie post-quantique amène, elle aussi, des contraintes fortes.
Les TRNG sont composés de deux parties principales : la source d’entropie, basée sur un phénomène physique qui garantit l’imprédictibilité de l’aléa, et, la partie déterministe qui transforme l’aléa de la source d’entropie en un aléa de qualité cryptographique. Alors que cette deuxième partie déterministe se base sur des blocs cryptographiques standards, la source d’entropie est un élément complexe dans sa capacité à être maitrisée dans les composants électroniques. Dans le cadre des TRNG basés sur des anneaux oscillants, l’aléa généré s’exprime par les différents bruits intervenants dans les phénomènes physiques au niveau transistor. Afin de pouvoir garantir un niveau d’entropie minimal, il est nécessaire de pouvoir comprendre, modéliser et maîtriser ces phénomènes.
Fort de ce constat et soucieux de partager nos développements, nous présentons l’initiative OpenTRNG qui sera lancée au printemps 2024 et qui a pour objectif de fournir en open-source à la communauté les éléments disponibles dans la littérature scientifique. Ce projet se structure en quatre parties majeures : un émulateur d’oscillateurs en anneaux relié à un modèle de bruit réaliste, un émulateur de source d’entropie permettant de qualifier les blocs de description matériels, l’environnement pour embarquer le TRNG dans un composant FPGA ou ASIC et, les outils nécessaires pour caractériser les bruits mesurés dans let pour évaluer l’aléa généré.
Allez à la source