Cloudflare hat einen verteilten Zufallszahlengenerator vorgestellt

Das Unternehmen Cloudflare präsentierte Dienst League of Entropy, für dessen Betrieb ein Konsortium mehrerer Organisationen gebildet wurde, die an der Bereitstellung hochwertiger Zufallszahlen interessiert sind. Im Gegensatz zu bestehenden zentralisierten Systemen verlässt sich die League of Entropy nicht auf eine einzige Quelle und nutzt zur Generierung der Zufallssequenz Entropie, die gewonnen wird aus mehreren nicht miteinander verbundenen Generatoren, die von verschiedenen Projektteilnehmern kontrolliert werden. Dank der verteilten Struktur des Projekts führt die Kompromittierung oder Fälschung einer oder zweier Quellen nicht zur Kompromittierung der endgültigen Zufallszahl.

Es ist wichtig zu beachten, dass die generierten Zufallszahlen zu den öffentlich zugänglichen Sequenzen gehören, die nicht für die Generierung von Verschlüsselungsschlüsseln und in Bereichen verwendet werden können, in denen Zufallszahlen geheim bleiben müssen. Der Dienst zielt darauf ab, Zufallszahlen bereitzustellen, die im Voraus nicht vorhersehbar sind, aber nach der Generierung öffentlich zugänglich werden, einschließlich der Überprüfung früherer Zufallswerte.

Öffentliche Zufallszahlen werden alle 60 Sekunden generiert. Jede Zahl ist mit ihrer Sequenznummer (Round) verknüpft, anhand derer man jederzeit und von jedem teilnehmenden Server auf einen früher generierten Wert zugreifen kann. Solche Zufallszahlen können in verteilten Systemen, Kryptowährungen und Blockchains verwendet werden, in denen verschiedene Knoten auf einen gemeinsamen Zufallszahlengenerator zugreifen müssen (zum Beispiel bei der Erstellung von Arbeitsnachweisen), sowie bei verschiedenen Lotterien und zur Bildung von Zufallsstichproben im Rahmen von Wahlprüfungen.

Zur Nutzung des Services und zur Bereitstellung eigener Knotenpunkte wurde angeboten ein Toolset Drand, entwickelt in Go und unter der MIT-Lizenz bereitgestellt. Drand läuft als Hintergrundprozess, der sich mit externen Generatoren in einem verteilten Netzwerk verbindet und gemeinsam einen konsolidierten Zufallswert bildet. Der konsolidierte Wert wird unter Verwendung von Methoden der Schwellencryptografie und der bilinearen Kopplung. Die Generierung des konsolidierten Zufallswerts kann auf dem System des Benutzers ohne die Einbindung zentralisierter Aggregatoren erfolgen.

Drand kann auch verwendet werden, um lokal generierte private Zufallszahlen an Kunden zu liefern. Für die Übertragung der Zufallszahl kommt ein ECIES-Verschlüsselungsverfahren zum Einsatz, bei dem der Kunde ein privates und ein öffentliches Schlüsselpaar generiert. Der öffentliche Schlüssel wird an den Drand-Server gesendet. Die Zufallszahl wird mit diesem öffentlichen Schlüssel verschlüsselt und kann nur vom Kunden, der den privaten Schlüssel besitzt, eingesehen werden. Der Zugriff auf die Server kann mit dem Dienstprogramm „drand“ erfolgen (z.B. „drand get public group.toml“, wobei group.toml die Liste der Knoten zum Abfragen ist) oder über die Web-API (z.B. kann „curl https://drand.cloudflare.com/api/public“ verwendet werden oder aufgerufen werden aus JavaScript unter Verwendung der Bibliothek DrandJS). Die Metadaten der Anfrage werden im TOML-Format gesendet, während die Antwort im JSON-Format erfolgt.

Derzeit haben sich fünf Unternehmen und Organisationen der Initiative League of Entropy angeschlossen, die Zugang zu ihren Entropie-Generatoren bieten. Die am Projekt beteiligten Teilnehmer befinden sich in verschiedenen Ländern und verwenden unterschiedliche Methoden zur Gewinnung von Entropie:

  • Cloudflare, LavaRand, Zufallswerte werden auf Basis unvorhersehbarer Flüssigkeitsströme in Lavalampen, deren Bilder als Eingabeentropie für CSPRNG (Cryptographically Secure PseudoRandom Number Generator) bereitgestellt werden;
  • EPFL (École Polytechnique Fédérale de Lausanne), URand,
    es wird der interne lokale Generator /dev/urandom verwendet, der Tastatureingaben, Mausbewegungen, Verkehrsströme usw. als Entropiequellen nutzt.
  • Universität Chile, UChile, als Entropiequelle wird ein Netzwerk aus seismischen Sensoren sowie Daten aus dem Funkverkehr, Twitter-Aktivitäten, Blockchain-Änderungen von Ethereum und einem selbstgebauten RNG-Hardwaregenerator verwendet;
  • Kudelski Security, ChaChaRand, bietet CRNG (Cryptographic Random Number Generator) auf Basis des ChaCha20-Algorithmus an;
  • Protocol Labs, InterplanetaryRand, Zufallsdaten werden aus Rauschfängern extrahiert und mit Linux PRNG sowie dem im CPU integrierten Zufallszahlengenerator kombiniert.

Derzeit gibt es von unabhängigen Akteuren 8 öffentliche API-Zugangspunkte, über die sowohl die aktuelle aggregierte Zufallszahl (z. B. „curl https://drand.cloudflare.com/api/public“) als auch eine Zufallszahl zu einem bestimmten Zeitpunkt in der Vergangenheit abgefragt werden kann („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

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster