Cloudflare hat einen verteilten Zufallszahlengenerator eingeführt

Cloudflare-Unternehmen präsentiert Service Liga der Entropie, um den Betrieb sicherzustellen, wurde ein Konsortium aus mehreren Organisationen gebildet, die an der Bereitstellung qualitativ hochwertiger Zufallszahlen interessiert sind. Im Gegensatz zu bestehenden zentralisierten Systemen verlässt sich League of Entropy nicht auf eine einzelne Quelle und nutzt Entropie, um eine zufällige Sequenz zu erzeugen. erhalten von mehreren unabhängigen Generatoren, die von verschiedenen Projektteilnehmern gesteuert werden. Aufgrund der verteilten Natur des Projekts führt die Kompromittierung oder Manipulation einer oder zweier Quellen nicht zu einer Kompromittierung der endgültigen Zufallszahl.

Es ist zu beachten, dass die generierten Zufallszahlen als öffentlich verfügbare Sequenzen eingestuft werden, die nicht zur Generierung von Verschlüsselungsschlüsseln verwendet werden können, und in Bereiche, in denen die Zufallszahl geheim gehalten werden muss. Der Dienst zielt darauf ab, Zufallszahlen bereitzustellen, die nicht im Voraus vorhergesagt werden können. Sobald sie jedoch generiert sind, werden diese Zahlen öffentlich verfügbar, auch um die Gültigkeit früherer Zufallswerte zu überprüfen.

Alle 60 Sekunden werden öffentliche Zufallszahlen generiert. Jeder Zahl ist eine eigene Sequenznummer (Runde) zugeordnet, über die Sie jederzeit und von jedem teilnehmenden Server aus den einmal generierten Wert erhalten können. Solche Zufallszahlen können in verteilten Systemen, Kryptowährungen und Blockchains verwendet werden, in denen verschiedene Knoten Zugriff auf einen einzigen Zufallszahlengenerator haben müssen (z. B. bei der Erstellung von Arbeitsnachweisen), sowie bei der Durchführung verschiedener Lotterien und zur Generierung von Zufallszahlen Proben im Prozess der Prüfung der Durchgangswahlen.

Um mit dem Dienst zu arbeiten und Ihre eigenen Knoten bereitzustellen vorgeschlagen Werkzeuge Drand, geschrieben in Go und veröffentlicht unter der MIT-Lizenz. Drand läuft in Form eines Hintergrundprozesses, der mit externen Generatoren kommuniziert, die am verteilten Netzwerk teilnehmen, und gemeinsam einen zusammenfassenden Zufallswert generiert. Der zusammenfassende Wert wird mithilfe der Methoden generiert Schwellenwertkryptographie и bilineare Konjugation. Die Generierung eines zusammenfassenden Zufallswerts kann auf dem System des Benutzers ohne die Beteiligung zentraler Aggregatoren durchgeführt werden.

Drand kann auch verwendet werden, um lokal generierte private Zufallszahlen an Clients zu liefern. Zur Übertragung einer Zufallszahl wird das ECIES-Verschlüsselungsschema verwendet, bei dem der Client einen privaten und öffentlichen Schlüssel generiert. Der öffentliche Schlüssel wird von Drand an den Server übertragen. Die Zufallszahl wird mit dem angegebenen öffentlichen Schlüssel verschlüsselt und kann nur von dem Client eingesehen werden, der den privaten Schlüssel besitzt. Um auf die Server zuzugreifen, können Sie das Dienstprogramm „drand“ (z. B. „drand get public group.toml“, wobei „group.toml“ eine Liste der abzufragenden Knoten ist) oder die Web-API (z. B. „drand get public group.toml“ verwenden) verwenden. curl https://drand.cloudflare.com /api/public“ oder Zugriff über JavaScript über die Bibliothek DrandJS). Anforderungsmetadaten werden im TOML-Format gesendet und die Antwort wird in JSON zurückgegeben.

Derzeit sind fünf Unternehmen und Organisationen der League of Entropy-Initiative beigetreten und bieten Zugang zu ihren Entropiegeneratoren. Die am Projekt beteiligten Teilnehmer sind in verschiedenen Ländern ansässig und verwenden unterschiedliche Methoden zur Gewinnung von Entropie:

  • Wolkenflare, LavaRand, Zufallswerte gebildet werden basierend auf unvorhersehbaren Flüssigkeitsströmen Lavalampen, deren Bilder als Eingabeentropie für CSPRNG (Cryptographically Secure PseudoRandom Number Generator) bereitgestellt werden;
  • EPFL (Ecole Polytechnique Federale de Lausanne), URand,
    Es wird ein standardmäßiger lokaler Generator /dev/urandom verwendet, der Tastatureingaben, Mausbewegungen, Verkehrsströme usw. als Entropiequellen verwendet.

  • Universität von Chile, UChileAls Entropiequelle wird ein Netzwerk seismischer Sensoren sowie Daten aus Radiosendungen, Twitter-Aktivitäten, Änderungen an der Ethereum-Blockchain und einem selbstgebauten Hardware-RNG-Generator verwendet.
  • Kudelski Security, ChaChaRand, bietet einen CRNG (Cryptographic Random Number Generator) basierend auf der ChaCha20-Chiffre;
  • Protocol Labs, InterplanetaryRand, Zufallsdaten werden aus Noise Catchern extrahiert und mit Linux PRNG und einem in die CPU integrierten Pseudozufallszahlengenerator kombiniert.

Derzeit haben unabhängige Teilnehmer 8 öffentliche Zugangspunkte zur API eingerichtet, über die Sie sowohl die aktuelle zusammenfassende Zufallszahl (z. B. „curl https://drand.cloudflare.com/api/public“) herausfinden als auch die bestimmen können Wert zu einem bestimmten Zeitpunkt in der Vergangenheit („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

Kommentar hinzufügen