Ipinakilala ng Cloudflare ang isang distributed random number generator

Cloudflare Company ipinakita serbisyo Liga ng Entropy, upang matiyak ang operasyon kung saan nabuo ang isang consortium ng ilang organisasyon na interesado sa pagbibigay ng mataas na kalidad na mga random na numero. Hindi tulad ng mga kasalukuyang sentralisadong sistema, ang League of Entropy ay hindi umaasa sa iisang pinagmulan at gumagamit ng entropy upang makabuo ng random na pagkakasunud-sunod, natanggap mula sa ilang hindi nauugnay na generator na kinokontrol ng iba't ibang kalahok ng proyekto. Dahil sa likas na katangian ng proyekto, ang pagkompromiso o pakikialam sa isa o dalawa sa mga pinagmumulan ay hindi hahantong sa kompromiso ng panghuling random na numero.

Dapat tandaan na ang mga random na numero na nabuo ay inuri bilang mga sequence na magagamit sa publiko na hindi magagamit upang makabuo ng mga encryption key at sa mga lugar kung saan ang random na numero ay dapat panatilihing lihim. Ang serbisyo ay naglalayong magbigay ng mga random na numero na hindi maaaring mahulaan nang maaga, ngunit sa sandaling nabuo, ang mga numerong ito ay magiging available sa publiko, kabilang ang para sa pagsuri sa pagiging maaasahan ng mga nakaraang random na halaga.

Ang mga pampublikong random na numero ay nabuo bawat 60 segundo. Ang bawat numero ay nauugnay sa sarili nitong sequence number (round), kung saan sa anumang oras at mula sa anumang kalahok na server maaari mong makuha ang minsang nabuong halaga. Ang ganitong mga random na numero ay maaaring gamitin sa mga distributed system, cryptocurrencies at blockchains, kung saan ang iba't ibang mga node ay dapat magkaroon ng access sa isang random na generator ng numero (halimbawa, kapag bumubuo ng patunay ng trabaho), gayundin kapag nagsasagawa ng iba't ibang mga lottery at para sa pagbuo ng random. mga sample sa panahon ng proseso ng pag-audit.mga halalan.

Upang magtrabaho kasama ang serbisyo at mag-deploy ng sarili mong mga node iminungkahi mga kasangkapan Drand, nakasulat sa Go at inilabas sa ilalim ng lisensya ng MIT. Ang Drand ay tumatakbo sa anyo ng isang proseso sa background na nakikipag-ugnayan sa mga panlabas na generator na nakikilahok sa ipinamamahaging network at sama-samang bumubuo ng isang summary na random na halaga. Ang halaga ng buod ay nabuo gamit ang mga pamamaraan threshold cryptography и bilinear conjugation. Ang pagbuo ng isang summary random na halaga ay maaaring isagawa sa system ng user nang walang paglahok ng mga sentralisadong aggregator.

Magagamit din ang Drand para maghatid ng mga lokal na nabuong pribadong random na numero sa mga kliyente. Upang magpadala ng random na numero, ginagamit ang ECIES encryption scheme, kung saan ang kliyente ay bumubuo ng pribado at pampublikong key. Ang pampublikong susi ay inilipat sa server mula sa Drand. Ang random na numero ay naka-encrypt gamit ang ibinigay na pampublikong key at maaari lamang tingnan ng kliyente na nagmamay-ari ng pribadong key. Upang ma-access ang mga server, maaari mong gamitin ang "drand" utility (halimbawa, "drand get public group.toml", kung saan ang group.toml ay isang listahan ng mga node na ipo-poll) o ang Web API (halimbawa, maaari mong gamitin ang " curl https://drand.cloudflare.com /api/public" o pag-access mula sa JavaScript gamit ang library DrandJS). Ipinapadala ang metadata ng kahilingan sa format na TOML, at ibinabalik ang tugon sa JSON.

Sa kasalukuyan, limang kumpanya at organisasyon ang sumali sa inisyatiba ng League of Entropy at nagbibigay ng access sa kanilang mga generator ng entropy. Ang mga kalahok na kasama sa proyekto ay matatagpuan sa iba't ibang bansa at gumagamit ng iba't ibang pamamaraan para sa pagkuha ng entropy:

  • cloudflare, LavaRand, mga random na halaga ay nabubuo batay sa hindi mahuhulaan na daloy ng likido lava lamp, mga larawan kung saan ibinibigay bilang input entropy para sa CSPRNG (Cryptographically Secure PseudoRandom Number Generator);
  • EPFL (Ecole Polytechnique Federale de Lausanne), URand,
    isang karaniwang lokal na generator /dev/urandom ang ginagamit, na gumagamit ng keyboard input, paggalaw ng mouse, daloy ng trapiko, atbp. bilang mga pinagmumulan ng entropy.

  • Unibersidad ng Chile, UChile, ang isang network ng mga seismic sensor ay ginagamit bilang isang mapagkukunan ng entropy, pati na rin ang data mula sa mga broadcast sa radyo, aktibidad sa Twitter, mga pagbabago sa Ethereum blockchain at isang homemade hardware RNG generator;
  • Ang Kudelski Security, ChaChaRand, ay nagbibigay ng CRNG (Cryptographic Random Number Generator) batay sa ChaCha20 cipher;
  • Ang Protocol Labs, InterplanetaryRand, ang random na data ay kinukuha mula sa mga noise catcher at pinagsama sa Linux PRNG at isang pseudo-random number generator na binuo sa CPU.

Sa kasalukuyan, ang mga independiyenteng kalahok ay naglunsad ng 8 pampublikong access point sa API, kung saan maaari mong malaman ang kasalukuyang summary random na numero (halimbawa, “curl https://drand.cloudflare.com/api/public”) at matukoy ang halaga sa isang tiyak na sandali sa nakaraan ("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

Pinagmulan: opennet.ru

Magdagdag ng komento