La société Cloudflare un service , pour garantir le fonctionnement duquel un consortium composé de plusieurs organisations intéressées à fournir des nombres aléatoires de qualité a été formé. Contrairement aux systÚmes centralisés existants, la Ligue d'Entropie ne s'appuie pas sur une seule source et utilise pour générer une séquence aléatoire l'entropie, à partir de plusieurs générateurs non liés entre eux, contrÎlés par différents participants au projet. Grùce à la nature distribuée du projet, la compromission ou la falsification d'une ou deux des sources ne conduira pas à la compromission du nombre aléatoire final.
Il convient de noter que les nombres alĂ©atoires gĂ©nĂ©rĂ©s appartiennent Ă la catĂ©gorie des sĂ©quences publiquement accessibles, qui ne peuvent pas ĂȘtre utilisĂ©es pour gĂ©nĂ©rer des clĂ©s de cryptage et dans des domaines oĂč le nombre alĂ©atoire doit rester secret. Le service vise Ă fournir des nombres alĂ©atoires qui ne peuvent pas ĂȘtre prĂ©vus Ă l'avance, mais aprĂšs leur gĂ©nĂ©ration, ces nombres deviennent publiquement accessibles, y compris pour vĂ©rifier l'authenticitĂ© des valeurs alĂ©atoires prĂ©cĂ©dentes.
Des nombres alĂ©atoires publics sont gĂ©nĂ©rĂ©s toutes les 60 secondes. Chaque nombre est associĂ© Ă son numĂ©ro de sĂ©quence (round), permettant d'obtenir Ă tout moment et depuis n'importe quel serveur participant une valeur gĂ©nĂ©rĂ©e prĂ©cĂ©demment. De tels nombres alĂ©atoires peuvent ĂȘtre utilisĂ©s dans des systĂšmes distribuĂ©s, des cryptomonnaies et des blockchains, oĂč diffĂ©rents nĆuds doivent avoir accĂšs Ă un gĂ©nĂ©rateur de nombres alĂ©atoires unique (par exemple, lors de la formation d'une preuve de travail), ainsi que lors de divers tirages au sort et pour former des Ă©chantillons alĂ©atoires dans le cadre d'un audit des Ă©lections.
Pour interagir avec le service et dĂ©ployer vos propres nĆuds outils , Ă©crit en langage Go et fourni sous licence MIT. Drand s'exĂ©cute sous la forme d'un processus de fond qui se connecte aux gĂ©nĂ©rateurs externes participant au rĂ©seau distribuĂ© et forme collectivement une valeur alĂ©atoire agrĂ©gĂ©e. La valeur agrĂ©gĂ©e est gĂ©nĂ©rĂ©e en utilisant des mĂ©thodes et . La gĂ©nĂ©ration de la valeur alĂ©atoire agrĂ©gĂ©e peut ĂȘtre rĂ©alisĂ©e sur le systĂšme de l'utilisateur sans recourir Ă des agrĂ©gateurs centralisĂ©s.
Drand peut Ă©galement ĂȘtre utilisĂ© pour fournir aux clients des nombres alĂ©atoires privĂ©s gĂ©nĂ©rĂ©s localement. Pour la transmission d'un nombre alĂ©atoire, le schĂ©ma de cryptage ECIES est utilisĂ©, dans lequel le client gĂ©nĂšre une clĂ© privĂ©e et une clĂ© publique. La clĂ© publique est transmise au serveur avec Drand. Le nombre alĂ©atoire est chiffrĂ© Ă l'aide de cette clĂ© publique et ne peut ĂȘtre visualisĂ© que par le client qui possĂšde la clĂ© privĂ©e. L'utilitaire « drand » peut ĂȘtre utilisĂ© pour accĂ©der aux serveurs (par exemple, « drand get public group.toml », oĂč group.toml est la liste des nĆuds Ă interroger) ou via Web API (par exemple, vous pouvez utiliser « curl https://drand.cloudflare.com/api/public » ou accĂ©der via JavaScript Ă l'aide de la bibliothĂšque ). Les mĂ©tadonnĂ©es de la requĂȘte sont envoyĂ©es au format TOML, et la rĂ©ponse est dĂ©livrĂ©e en JSON.
à l'heure actuelle, cinq entreprises et organisations ont rejoint l'initiative League of Entropy, fournissant un accÚs à leurs générateurs d'entropie. Les participants au projet proviennent de différents pays et utilisent diverses méthodes pour obtenir de l'entropie :
- Cloudflare, , des valeurs aléatoires basées sur des flux liquidess imprévisibles dans , dont les images sont fournies comme entrée d'entropie pour le CSPRNG (Cryptographically Secure PseudoRandom Number Generator) ;
- EPFL (Ăcole polytechnique fĂ©dĂ©rale de Lausanne), URand,
utilise un générateur local standard /dev/urandom, qui s'appuie sur des sources d'entropie telles que la saisie au clavier, le mouvement de la souris, les flux de trafic, etc. - Université du Chili, , utilise un réseau de capteurs sismiques comme source d'entropie, ainsi que des données de radiofréquence, d'activité sur Twitter, de modifications de la blockchain Ethereum et d'un générateur RNG matériel fait maison ;
- Kudelski Security, ChaChaRand, fournit un CRNG (Cryptographic Random Number Generator) basé sur l'utilisation du chiffrement ChaCha20 ;
- Protocol Labs, InterplanetaryRand, extrait des données aléatoires de capteurs de bruit et les combine avec le PRNG Linux et le générateur de nombres pseudo-aléatoires intégré au CPU.
à ce jour, huit points d'accÚs API publics ont été lancés par des participants indépendants, permettant de connaßtre à la fois le nombre aléatoire agrégé actuel (par exemple, « curl https://drand.cloudflare.com/api/public ») et de déterminer la valeur à un moment donné dans le passé (« curl https://drand.cloudflare.com/api/public?round=1234 ») :
- https://drand.cloudflare.com:443
- https://random.uchile.cl:8080
- https://drand.cothority.net:7003
- https://drand.kudelskisecurity.com:443
- https://drand.lbarman.ch:443
- https://drand.nikkolasg.xyz:8888
- https://drand.protocol.ai:8080
- https://drand.zerobyte.io:8888
Source : opennet.ru
