Cloudflare je predstavio distribuirani generator slučajnih brojeva

Tvrtka Cloudflare predstavio usluga Liga Entropije, za čiji rad je formiran konzorcij nekoliko organizacija zainteresiranih za pružanje kvalitetnih nasumičnih brojeva. Za razliku od postojećih centraliziranih sustava, League of Entropy ne oslanja se na jedan izvor i koristi entropiju za generiranje slučajnog niza, primljeno iz nekoliko nepovezanih generatora kojima upravljaju različiti sudionici projekta. Zbog distribuirane prirode projekta, kompromitiranje ili petljanje s jednim ili dva izvora neće dovesti do kompromitiranja konačnog slučajnog broja.

Treba napomenuti da su generirani nasumični brojevi klasificirani kao javno dostupni nizovi koji se ne mogu koristiti za generiranje ključeva za šifriranje iu područjima gdje se nasumični broj mora držati u tajnosti. Usluga ima za cilj pružiti slučajne brojeve koji se ne mogu unaprijed predvidjeti, ali kada se generiraju, ti brojevi postaju javno dostupni, uključujući i za provjeru pouzdanosti prošlih slučajnih vrijednosti.

Javni nasumični brojevi generiraju se svakih 60 sekundi. Svaki broj povezan je s vlastitim sekvencijskim brojem (okruglim), pomoću kojeg u bilo kojem trenutku i s bilo kojeg sudjelujućeg poslužitelja možete dobiti jednom generiranu vrijednost. Takvi slučajni brojevi mogu se koristiti u distribuiranim sustavima, kriptovalutama i blockchainovima, u kojima različiti čvorovi moraju imati pristup jednom generatoru slučajnih brojeva (primjerice, prilikom generiranja dokaza o obavljenom poslu), kao i pri provođenju raznih lutrija i za generiranje slučajnih brojeva. uzoraka u postupku revizije prolaznosti izbora.

Za rad s uslugom i za postavljanje vlastitih čvorova zaprosio alata Drand, napisan u Go-u i objavljen pod licencom MIT-a. Drand radi u obliku pozadinskog procesa koji komunicira s vanjskim generatorima koji sudjeluju u distribuiranoj mreži i kolektivno generira sumarnu slučajnu vrijednost. Vrijednost sažetka generira se pomoću metoda kriptografija praga и bilinearna konjugacija. Generiranje slučajne vrijednosti sažetka može se izvesti na korisničkom sustavu bez uključivanja centraliziranih agregatora.

Drand se također može koristiti za dostavu lokalno generiranih privatnih nasumičnih brojeva klijentima. Za prijenos slučajnog broja koristi se shema šifriranja ECIES unutar koje klijent generira privatni i javni ključ. Javni ključ se prenosi na poslužitelj s Dranda. Nasumični broj šifriran je pomoću danog javnog ključa i može ga vidjeti samo klijent koji posjeduje privatni ključ. Za pristup poslužiteljima možete koristiti uslužni program drand (na primjer, "drand get public group.toml", gdje je group.toml popis čvorova za ispitivanje) ili Web API (na primjer, možete koristiti " curl https://drand.cloudflare.com /api/public" ili pristupite iz JavaScripta pomoću biblioteke DrandJS). Metapodaci zahtjeva šalju se u TOML formatu, a odgovor se vraća u JSON-u.

Trenutačno se pet tvrtki i organizacija pridružilo inicijativi League of Entropy i pružaju pristup svojim generatorima entropije. Sudionici uključeni u projekt nalaze se u različitim zemljama i koriste različite metode za dobivanje entropije:

  • plamen oblaka, LavaRand, slučajne vrijednosti formirana na temelju nepredvidivih dotoka tekućine lampe od lave, čije se slike isporučuju kao ulazna entropija za CSPRNG (Cryptographically Secure PseudoRandom Number Generator);
  • EPFL (Ecole Polytechnique Federale de Lausanne), URand,
    koristi se standardni lokalni generator /dev/urandom, koji kao izvore entropije koristi unos tipkovnice, pokret miša, tokove prometa itd.

  • Sveučilište u Čileu, UCile, mreža seizmičkih senzora koristi se kao izvor entropije, kao i podaci iz radijskih emisija, aktivnosti na Twitteru, promjene u Ethereum blockchainu i domaći hardverski RNG generator;
  • Kudelski Security, ChaChaRand, pruža CRNG (Cryptographic Random Number Generator) temeljen na ChaCha20 šifri;
  • Protocol Labs, InterplanetaryRand, nasumični podaci izvlače se iz hvatača buke i kombiniraju s Linux PRNG-om i generatorom pseudoslučajnih brojeva ugrađenim u CPU.

Trenutačno su neovisni sudionici pokrenuli 8 javnih pristupnih točaka API-ju, putem kojih možete saznati i trenutni sažetak slučajnog broja (na primjer, "curl https://drand.cloudflare.com/api/public") i odrediti vrijednost u određenom trenutku u prošlosti (“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

Izvor: opennet.ru

Dodajte komentar