„Cloudflare“ pristatė paskirstytą atsitiktinių skaičių generatorių

Cloudflare kompanija pateiktas tarnyba Entropijos lyga, kurios veiklai užtikrinti buvo suformuotas kelių kokybiškų atsitiktinių skaičių teikimu suinteresuotų organizacijų konsorciumas. Skirtingai nuo esamų centralizuotų sistemų, League of Entropy nesiremia vienu šaltiniu ir naudoja entropiją atsitiktinei sekai generuoti, gavo iš kelių nesusijusių generatorių, valdomų skirtingų projekto dalyvių. Dėl paskirstyto projekto pobūdžio vieno ar dviejų šaltinių sukompromitavimas ar klastojimas nesukels kompromiso dėl galutinio atsitiktinio skaičiaus.

Pažymėtina, kad sugeneruoti atsitiktiniai skaičiai yra klasifikuojami kaip viešai prieinamos sekos, kurių negalima naudoti šifravimo raktams generuoti ir tose srityse, kuriose atsitiktinis skaičius turi būti laikomas paslaptyje. Paslauga siekiama pateikti atsitiktinius skaičius, kurių negalima iš anksto numatyti, tačiau sugeneruoti šie skaičiai tampa viešai prieinami, įskaitant praeities atsitiktinių verčių patikimumo patikrinimą.

Vieši atsitiktiniai skaičiai generuojami kas 60 sekundžių. Kiekvienas skaičius yra susietas su savo eilės numeriu (apvaliu), pagal kurį bet kuriuo metu ir iš bet kurio dalyvaujančio serverio galite gauti vieną kartą sugeneruotą vertę. Tokie atsitiktiniai skaičiai gali būti naudojami paskirstytose sistemose, kriptovaliutose ir blokų grandinėse, kuriose skirtingi mazgai turi turėti prieigą prie vieno atsitiktinių skaičių generatoriaus (pavyzdžiui, generuojant atlikto darbo įrodymą), taip pat vykdant įvairias loterijas ir generuojant atsitiktinius. atrankos rinkimų audito procese.

Dirbti su paslauga ir diegti savo mazgus pasiūlė įrankiai Drand, parašyta Go ir išleista pagal MIT licenciją. Drand veikia kaip foninis procesas, kuris bendrauja su išoriniais generatoriais, dalyvaujančiais paskirstytame tinkle, ir kartu generuoja suvestinę atsitiktinę vertę. Suvestinė reikšmė generuojama naudojant metodus slenkstinė kriptografija и bilinijinė konjugacija. Suvestinės atsitiktinės reikšmės generavimas gali būti atliktas vartotojo sistemoje nedalyvaujant centralizuotoms agregatoriams.

„Drand“ taip pat gali būti naudojamas vietoje sugeneruotų privačių atsitiktinių skaičių pristatymui klientams. Atsitiktiniam skaičiui perduoti naudojama ECIES šifravimo schema, kurios metu klientas generuoja privatų ir viešąjį raktą. Viešasis raktas perduodamas į serverį iš Drand. Atsitiktinis skaičius yra užšifruotas naudojant nurodytą viešąjį raktą ir jį gali peržiūrėti tik klientas, kuriam priklauso privatus raktas. Norėdami pasiekti serverius, galite naudoti programą „drand“ (pavyzdžiui, „drand get public group.toml“, kur group.toml yra apklausų mazgų sąrašas) arba žiniatinklio API (pavyzdžiui, galite naudoti „ curl https://drand.cloudflare.com /api/public“ arba pasiekite iš „JavaScript“ naudodami biblioteką DrandJS). Užklausos metaduomenys siunčiami TOML formatu, o atsakymas grąžinamas JSON formatu.

Šiuo metu penkios įmonės ir organizacijos prisijungė prie Entropijos lygos iniciatyvos ir suteikia prieigą prie savo entropijos generatorių. Į projektą įtraukti dalyviai yra skirtingose ​​šalyse ir naudoja skirtingus entropijos gavimo būdus:

  • debesų pliūpsnis, LavaRand, atsitiktinės reikšmės formuojasi pagrįstas nenuspėjamu skysčių srautu lavos lempos, kurių vaizdai pateikiami kaip CSPRNG (kriptografiškai saugus pseudoatsitiktinių skaičių generatorius) įvesties entropija;
  • EPFL (Ecole Polytechnique Federale de Lausanne), URand,
    naudojamas standartinis vietinis generatorius /dev/urandom, kuris kaip entropijos šaltinius naudoja klaviatūros įvestį, pelės judėjimą, eismo srautus ir kt.

  • Čilės universitetas, UČilė, seisminių jutiklių tinklas naudojamas kaip entropijos šaltinis, taip pat radijo transliacijų, Twitter veiklos, Ethereum blokų grandinės pakeitimų ir savadarbio aparatūros RNG generatoriaus duomenys;
  • Kudelski Security, ChaChaRand, teikia CRNG (kriptografinį atsitiktinių skaičių generatorių), pagrįstą ChaCha20 šifru;
  • Protocol Labs, InterplanetaryRand, atsitiktiniai duomenys išgaunami iš triukšmo gaudyklių ir derinami su Linux PRNG bei pseudoatsitiktinių skaičių generatoriumi, įmontuotu į centrinį procesorių.

Šiuo metu nepriklausomi dalyviai yra paleidę 8 viešus API prieigos taškus, per kuriuos galite sužinoti dabartinį atsitiktinį skaičių (pvz., „curl https://drand.cloudflare.com/api/public“) ir nustatyti vertė tam tikru praeities momentu („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

Šaltinis: opennet.ru

Добавить комментарий