Vous n'avez pas encore de notification

Page d'accueil

Options d'affichage

Abonné

Actualités

Abonné

Des thèmes sont disponibles :

Thème de baseThème de baseThème sombreThème sombreThème yinyang clairThème yinyang clairThème yinyang sombreThème yinyang sombreThème orange mécanique clairThème orange mécanique clairThème orange mécanique sombreThème orange mécanique sombreThème rose clairThème rose clairThème rose sombreThème rose sombre

Vous n'êtes pas encore INpactien ?

Inscrivez-vous !
CloudFlare présente la League of Entropy, pour obtenir des nombres aléatoires

Dans le cas présent, l'entropie peut être définie comme le niveau d'imprédictibilité d'un nombre aléatoire. En effet, il faut distinguer nombre aléatoire et nombre aléatoire… car ce n'est pas si évident d'avoir un nombre véritablement aléatoire.

CloudFlare, par exemple, utilise toute une panoplie de lampes à lave et une caméra servant d'entrée à un générateur de nombres pseudo-aléatoires. L'université du Chili utilise des mesures sismiques, etc. Chacun y va de sa sauce maison pour arriver au résultat souhaité.

Partant du principe qu'un mélange de nombres aléatoires est toujours plus aléatoire qu'un seul nombre, League of Entropy mélange cinq sources (Cloudflare, École polytechnique fédérale de Lausanne, Université du Chili, Kudelski Security et Protocol Labs) pour produire un résultat. La ligue est ouverte et de nouveaux membres peuvent venir rejoindre les rangs pour encore renforcer le caractère aléatoire et limiter le risque de dépendance à une poignée de sources.

Le nombre ainsi généré est affiché sur le site avec une mise à jour toutes les 60 secondes. Pourquoi 60 secondes ? « Sans raison particulière » affirme CloudFlare. Vous pouvez voir l'ensemble des précédents résultats, mais pas en choisir un au hasard.

La génération de clés de chiffrement repose sur l'utilisation de grands nombres aléatoires. Mais attention, les résultats affichés par la League of Entropy ne vous serviront à rien dans le cas présent : « les utilisateurs ne doivent PAS utiliser ces nombres générés aléatoirement pour leurs clés secrètes », car ils sont accessibles à tout le monde.

Pour autant, obtenir de vrais nombres générés aléatoirement et disponibles publiquement est très utile. Par exemple pour les élections lorsqu'il faut sélectionner au hasard des bureaux de vote, pour les tirages au sort, etc. Des détails sont donnés dans ce billet de blog. Des détails plus techniques sont également disponibles par ici.

La ligue utilise Drand (disponible sur GitHub, licence MIT) pour générer les nombres aléatoires annoncés publiquement, mais il est aussi possible d'utiliser un ou plusieurs nœuds de la ligue pour obtenir un nombre privé. De la documentation est disponible par ici.

22 commentaires
Avatar de 33A20158-2813-4F0D-9D4A-FD05E2C42E48 INpactien

D'après ce que j'en ai compris, le but ici n'est pas de fournir "simplement" des sources d'entropie supplémentaires (ce n'est, en soi, pas trop compliqué). Le but est de fournir des nombres "prouvablement" aléatoires, c'est-à-dire dérivés de plusieurs sources fiables.

Le protocole est ainsi que N sources réputées fournissent chacune un nombre aléatoire, et que de ces N sources on dérive un unique nombre aléatoire final qui possède deux caractéristiques fondamentales: d'une part il est démontrable que ce résultat final utilise l'entropie combinée des N sources, et d'autre part que même si un nombre restreint de sources se liguent entre elles pour fournir des valeurs biaisées, il leur est statistiquement impossible d'influer sur le résultat final.

Avatar de Jossy Abonné
Avatar de JossyJossy- 18/06/19 à 10:36:42

33A20158-2813-4F0D-9D4A-FD05E2C42E48, ton pseudo aussi a été généré aléatoirement ? :D

Avatar de vampire7 INpactien
Avatar de vampire7vampire7- 18/06/19 à 11:30:54

Pourquoi faire simple quand on peut faire compliqué ?

To retrieve and verify the latest random value using the experimental configuration, install Golang v1.11+, set your GOPATH, and execute:

go get -u github.com/dedis/drand
cd $GOPATH/src/github.com/dedis/drand
go build
./drand get public deploy/190604/group.toml

Ils auraient pas pu donner un fichier sur une adresse fixe à récupérer directement avec cURL ou Wget ?

Avatar de 33A20158-2813-4F0D-9D4A-FD05E2C42E48 INpactien

Oui.

C'est un UUID v4 ( reconnaissable au 4 dans -4F0D- ) donc contenant 122 bits aléatoires. Pas nécessairement "vraiment" aléatoires, mais qui contiennent quand même pas mal d'entropie... Je ne sais pas exactement combien (il a été généré par la fonction "generate GUID" d'un IDE Delphi 7 tournant sous Windows XP SP 2...) mais je ne me fais pas trop de souci quant à son unicité :-)

 
 

Avatar de 33A20158-2813-4F0D-9D4A-FD05E2C42E48 INpactien

Non, ils n'auraient pas pu faire plus simple. Le but n'est pas "bêtement" de générer une valeur aléatoire, mais bien de *prouver* que cette valeur est sans biais. Cette preuve ne peut être fournie qu'en donnant une implémentation du protocole, que tu peux vérifier.

Avatar de vampire7 INpactien
Avatar de vampire7vampire7- 18/06/19 à 12:19:00

Alors pourquoi afficher publiquement des valeurs ?

Le but ici n'est pas de prouver quoi que ce soit, c'est juste un mélange de plusieurs sources supposées être les meilleures sources d'entropie possibles. Or justement, on ne peut pas vérifier ces sources, on ne peut que se baser sur leur réputation.

Avatar de 33A20158-2813-4F0D-9D4A-FD05E2C42E48 INpactien

Ah bon ??? C'est marrant, ce n'est pas ce que je lis... Allez, je cite ta citation :

To retrieve and verify the latest random value using the experimental configuration, install Golang v1.11+, set your GOPATH, and execute: 
A ton avis, le "and verify" dans le texte, il veut dire quoi ?
 

Avatar de vampire7 INpactien
Avatar de vampire7vampire7- 18/06/19 à 14:08:35

Et le "retrieve", il veut dire quoi ?

Avatar de 33A20158-2813-4F0D-9D4A-FD05E2C42E48 INpactien

Woaw l'argument imparable. Scotché je suis, tu as tout compris.

Que tu le comprennes ou non est indifférent. Le système tel qu'il est décrit (et pour s'en convaincre il suffit de lire les documents - ce qui je l'admets requiert un minimum d'ouverture d'esprit) a pour intérêt principal la possibilité pour un auditeur de vérifier que le tirage n'a pas été biaisé par un des participants.

Je ne peux donc que te proposer de lire attentivement l'article de blog et d'essayer de le comprendre. Par exemple en s'attardant sur les mots "unbiasability" et "verifiability" qui sont d'une portée plus importante qu'une remarque sur le mot "retrieve" sur lequel tu sembles faire une fixation.

Évidemment que le protocole te permet de retrouver la valeur... personne n'affirme le contraire. Ca servirait à quoi un générateur aléatoire parfait, mais dont on ne pourrait pas retrouver les valeurs ? :reflechis:
 

Avatar de vampire7 INpactien
Avatar de vampire7vampire7- 18/06/19 à 18:00:28

Si la méthode t'intéresse plus que le résultat, c'est que tu n'en as pas réellement besoin.

J'ai développé une application de crypto pour laquelle il faut des nombres aléatoires. Alors le sujet m'intéresse sûrement au moins autant que toi. Je pourrais en écrire des pages, mais j'ai mieux à faire.

Il n'est plus possible de commenter cette actualité.
Page 1 / 3