Cloudflare wprowadził generator rozproszonych liczb losowych

Firma Cloudflare представила usługa Liga Entropii, dla zapewnienia funkcjonowania którego powstało konsorcjum kilku organizacji zainteresowanych dostarczaniem wysokiej jakości liczb losowych. W przeciwieństwie do istniejących scentralizowanych systemów, League of Entropy nie opiera się na jednym źródle i wykorzystuje entropię do generowania losowej sekwencji, otrzymane z kilku niepowiązanych ze sobą generatorów kontrolowanych przez różnych uczestników projektu. Ze względu na rozproszony charakter projektu naruszenie lub ingerencja w jedno lub dwa źródła nie doprowadzi do naruszenia ostatecznej liczby losowej.

Należy zaznaczyć, że wygenerowane liczby losowe klasyfikowane są jako sekwencje publicznie dostępne, których nie można wykorzystać do wygenerowania kluczy szyfrujących oraz w obszarach, w których liczba losowa musi być utrzymywana w tajemnicy. Usługa ma na celu dostarczanie liczb losowych, których nie można przewidzieć z góry, ale po wygenerowaniu liczby te stają się publicznie dostępne, m.in. w celu sprawdzenia wiarygodności przeszłych wartości losowych.

Publiczne liczby losowe generowane są co 60 sekund. Każdy numer jest powiązany z własnym numerem sekwencyjnym (okrągłym), dzięki któremu w dowolnym momencie i z dowolnego uczestniczącego serwera możesz uzyskać raz wygenerowaną wartość. Takie liczby losowe można wykorzystać w systemach rozproszonych, kryptowalutach i blockchainach, w których różne węzły muszą mieć dostęp do jednego generatora liczb losowych (np. przy generowaniu dowodu wykonanej pracy), a także podczas przeprowadzania różnych loterii i generowania losowych próbki w procesie audytu wyborów pasażowych.

Aby pracować z usługą i wdrażać własne węzły proponowane narzędzia Dranda, napisany w Go i wydany na licencji MIT. Drand działa w formie procesu w tle, który komunikuje się z zewnętrznymi generatorami uczestniczącymi w sieci rozproszonej i wspólnie generuje sumaryczną wartość losową. Wartość sumaryczna generowana jest za pomocą metod kryptografia progowa и koniugacja dwuliniowa. Generowanie sumarycznej wartości losowej może odbywać się w systemie użytkownika bez udziału scentralizowanych agregatorów.

Drand może być również używany do dostarczania klientom prywatnych liczb losowych generowanych lokalnie. Do przesłania liczby losowej wykorzystywany jest schemat szyfrowania ECIES, w ramach którego klient generuje klucz prywatny i publiczny. Klucz publiczny jest przesyłany na serwer z Drand. Liczba losowa jest szyfrowana przy użyciu podanego klucza publicznego i może być przeglądana tylko przez klienta posiadającego klucz prywatny. Aby uzyskać dostęp do serwerów, możesz użyć narzędzia „drand” (na przykład „drand get public group.toml”, gdzie group.toml to lista węzłów do odpytywania) lub interfejsu API sieci Web (na przykład możesz użyć „ curl https://drand.cloudflare.com /api/public” lub dostęp z JavaScript za pomocą biblioteki DrandJS). Metadane żądania są wysyłane w formacie TOML, a odpowiedź jest zwracana w formacie JSON.

Obecnie do inicjatywy League of Entropy dołączyło pięć firm i organizacji, które zapewniają dostęp do swoich generatorów entropii. Uczestnicy projektu znajdują się w różnych krajach i stosują różne metody uzyskiwania entropii:

  • Rozbłysk chmur, LavaRand, wartości losowe uformowany w oparciu o nieprzewidywalny napływ płynu lampy lawowe, których obrazy są dostarczane jako entropia wejściowa dla CSPRNG (Kryptograficznie bezpieczny generator liczb pseudolosowych);
  • EPFL (Ecole Polytechnique Federale de Lausanne), URand,
    używany jest standardowy generator lokalny /dev/urandom, który wykorzystuje wprowadzanie danych z klawiatury, ruch myszy, przepływ ruchu itp. jako źródła entropii.

  • Uniwersytet Chile, UChile, jako źródło entropii wykorzystywana jest sieć czujników sejsmicznych, a także dane z audycji radiowych, aktywności na Twitterze, zmian w blockchainie Ethereum oraz domowego, sprzętowego generatora RNG;
  • Kudelski Security, ChaChaRand, udostępnia CRNG (Cryptographic Random Number Generator) oparty na szyfrze ChaCha20;
  • Protocol Labs, InterplanetaryRand, losowe dane są wyodrębniane z łapaczy szumów i łączone z Linux PRNG i generatorem liczb pseudolosowych wbudowanym w procesor.

Obecnie niezależni uczestnicy uruchomili 8 publicznych punktów dostępu do API, za pośrednictwem których można poznać zarówno aktualną sumaryczną liczbę losową (np. „curl https://drand.cloudflare.com/api/public”), jak i określić wartość w pewnym momencie w przeszłości („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

Źródło: opennet.ru

Dodaj komentarz