Cloudflare ieviesa izplatītu nejaušo skaitļu ģeneratoru

Uzņēmums Cloudflare uzrādīts pakalpojumu Entropijas līga, kura darbības nodrošināšanai izveidots vairāku kvalitatīvu nejaušo skaitļu nodrošināšanā ieinteresētu organizāciju konsorcijs. Atšķirībā no esošajām centralizētajām sistēmām, League of Entropy nepaļaujas uz vienu avotu un izmanto entropiju, lai ģenerētu nejaušu secību, saņemts no vairākiem nesaistītiem ģeneratoriem, kurus kontrolē dažādi projekta dalībnieki. Projekta izkliedētā rakstura dēļ viena vai divu avotu kompromitēšana vai manipulēšana neizraisīs galīgā nejaušā skaitļa kompromisu.

Jāņem vērā, ka ģenerētie nejaušie skaitļi tiek klasificēti kā publiski pieejamas sekvences, kuras nevar izmantot šifrēšanas atslēgu ģenerēšanai, un apgabalos, kur nejaušais skaitlis ir jātur noslēpumā. Pakalpojuma mērķis ir nodrošināt nejaušus skaitļus, kurus nevar iepriekš paredzēt, bet pēc ģenerēšanas šie skaitļi kļūst publiski pieejami, tostarp, lai pārbaudītu pagātnes nejaušo vērtību derīgumu.

Publiski nejauši skaitļi tiek ģenerēti ik pēc 60 sekundēm. Katrs numurs ir saistīts ar savu kārtas numuru (apaļo), pēc kura jebkurā laikā un no jebkura iesaistītā servera varat iegūt vienreiz ģenerēto vērtību. Šādus nejaušus skaitļus var izmantot sadalītās sistēmās, kriptovalūtās un blokķēdēs, kurās dažādiem mezgliem ir jābūt pieejamam vienam nejaušo skaitļu ģeneratoram (piemēram, ģenerējot apliecinājumu par paveikto darbu), kā arī veicot dažādas izlozes un nejaušības ģenerēšanai. paraugi caurbraukšanas vēlēšanu audita procesā.

Lai strādātu ar pakalpojumu un izvietotu savus mezglus ierosināts instrumenti Drand, rakstīts Go un izdots saskaņā ar MIT licenci. Drand darbojas fona procesa veidā, kas sazinās ar ārējiem ģeneratoriem, kas piedalās izplatītajā tīklā, un kolektīvi ģenerē nejaušas vērtības kopsavilkumu. Kopsavilkuma vērtība tiek ģenerēta, izmantojot metodes sliekšņa kriptogrāfija и bilineāra konjugācija. Summārās nejaušības vērtības ģenerēšanu var veikt lietotāja sistēmā, neiesaistot centralizētus agregatorus.

Drand var izmantot arī vietēji ģenerētu privātu nejaušu numuru piegādei klientiem. Lai pārsūtītu nejaušu skaitli, tiek izmantota ECIES šifrēšanas shēma, kuras ietvaros klients ģenerē privāto un publisko atslēgu. Publiskā atslēga tiek pārsūtīta uz serveri no Drand. Nejaušais numurs tiek šifrēts, izmantojot doto publisko atslēgu, un to var apskatīt tikai klients, kuram pieder privātā atslēga. Lai piekļūtu serveriem, varat izmantot utilītu “drand” (piemēram, “drand get public group.toml”, kur group.toml ir aptaujas mezglu saraksts) vai Web API (piemēram, varat izmantot “ curl https://drand.cloudflare.com /api/public" vai piekļūt no JavaScript, izmantojot bibliotēku DrandJS). Pieprasījuma metadati tiek nosūtīti TOML formātā, un atbilde tiek atgriezta JSON formātā.

Pašlaik iniciatīvai League of Entropy ir pievienojušies pieci uzņēmumi un organizācijas, kas nodrošina piekļuvi saviem entropijas ģeneratoriem. Projektā iekļautie dalībnieki atrodas dažādās valstīs un izmanto dažādas metodes entropijas iegūšanai:

  • mākoņu uzliesmojums, LavaRand, nejaušas vērtības tiek veidotas pamatojoties uz neparedzamu šķidruma ieplūdi lavas lampas, kura attēli tiek piegādāti kā CSPRNG (kriptogrāfiski droša pseidogadījuma skaitļu ģeneratora) ievades entropija;
  • EPFL (Ecole Polytechnique Federale de Lausanne), URand,
    tiek izmantots standarta lokālais ģenerators /dev/urandom, kas kā entropijas avotus izmanto tastatūras ievadi, peles kustību, satiksmes plūsmas utt.

  • Čīles Universitāte, UČīle, kā entropijas avots tiek izmantots seismisko sensoru tīkls, kā arī dati no radio raidījumiem, Twitter aktivitātes, izmaiņas Ethereum blokķēdē un paštaisīts aparatūras RNG ģenerators;
  • Kudelski Security, ChaChaRand, nodrošina CRNG (kriptogrāfisko nejaušo skaitļu ģeneratoru), kura pamatā ir ChaCha20 šifrs;
  • Protocol Labs, InterplanetaryRand, nejaušie dati tiek iegūti no trokšņu uztvērējiem un apvienoti ar Linux PRNG un pseidogadījuma skaitļu ģeneratoru, kas iebūvēts centrālais procesors.

Pašlaik neatkarīgi dalībnieki ir palaiduši 8 publiskos API piekļuves punktus, caur kuriem var uzzināt gan pašreizējo kopsavilkuma izlases numuru (piemēram, “curl https://drand.cloudflare.com/api/public”), gan noteikt vērtība noteiktā pagātnes brīdī (“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

Avots: opennet.ru

Pievieno komentāru