Cloudflare predstavil distribuovaný generátor náhodných čísel

Spoločnosť Cloudflare представила služba Liga entropie, na zabezpečenie chodu ktorej vzniklo konzorcium viacerých organizácií, ktoré majú záujem poskytovať kvalitné náhodné čísla. Na rozdiel od existujúcich centralizovaných systémov sa League of Entropy nespolieha na jeden zdroj a používa entropiu na generovanie náhodnej sekvencie, prijaté z niekoľkých nesúvisiacich generátorov riadených rôznymi účastníkmi projektu. Vzhľadom na distribuovaný charakter projektu, kompromitácia alebo manipulácia s jedným alebo dvoma zdrojmi nepovedie ku kompromitácii konečného náhodného čísla.

Je potrebné poznamenať, že generované náhodné čísla sú klasifikované ako verejne dostupné sekvencie, ktoré nemožno použiť na generovanie šifrovacích kľúčov a v oblastiach, kde sa náhodné číslo musí uchovávať v tajnosti. Cieľom služby je poskytovať náhodné čísla, ktoré sa nedajú predvídať vopred, ale po vygenerovaní sa tieto čísla stanú verejne dostupnými, a to aj na kontrolu spoľahlivosti minulých náhodných hodnôt.

Verejné náhodné čísla sa generujú každých 60 sekúnd. Každé číslo je spojené s vlastným poradovým číslom (kolo), pomocou ktorého môžete kedykoľvek a z ktoréhokoľvek zúčastneného servera získať raz vygenerovanú hodnotu. Takéto náhodné čísla je možné použiť v distribuovaných systémoch, kryptomenách a blockchainoch, v ktorých musia mať rôzne uzly prístup k jedinému generátoru náhodných čísel (napríklad pri generovaní dokladu o vykonanej práci), ako aj pri realizácii rôznych lotérií a na generovanie náhodných čísel. vzorky v procese kontroly priechodných volieb.

Na prácu so službou a nasadenie vlastných uzlov navrhované nástrojov Drand, napísaný v Go a vydaný pod licenciou MIT. Drand beží vo forme procesu na pozadí, ktorý komunikuje s externými generátormi podieľajúcimi sa na distribuovanej sieti a spoločne generuje súhrnnú náhodnú hodnotu. Súhrnná hodnota sa generuje pomocou metód prahová kryptografia и bilineárna konjugácia. Generovanie súhrnnej náhodnej hodnoty je možné vykonať v systéme používateľa bez zapojenia centralizovaných agregátorov.

Drand možno použiť aj na doručovanie lokálne generovaných súkromných náhodných čísel klientom. Na prenos náhodného čísla sa používa šifrovacia schéma ECIES, v rámci ktorej si klient vygeneruje súkromný a verejný kľúč. Verejný kľúč sa prenáša na server z Drand. Náhodné číslo je zašifrované pomocou daného verejného kľúča a môže ho zobraziť iba klient, ktorý vlastní súkromný kľúč. Na prístup k serverom môžete použiť pomôcku „drand“ (napríklad „drand get public group.toml“, kde group.toml je zoznam uzlov, na ktoré sa má hlasovať) alebo webové rozhranie API (napríklad môžete použiť „ curl https://drand.cloudflare.com /api/public" alebo prístup z JavaScriptu pomocou knižnice DrandJS). Metadáta požiadavky sa odosielajú vo formáte TOML a odpoveď sa vracia vo formáte JSON.

V súčasnosti sa k iniciatíve League of Entropy pripojilo päť spoločností a organizácií, ktoré poskytujú prístup k svojim generátorom entropie. Účastníci projektu sa nachádzajú v rôznych krajinách a používajú rôzne metódy na získanie entropie:

  • mrak, LavaRand, náhodné hodnoty tvorené na základe nepredvídateľných prietokov tekutín lávové lampy, ktorých obrázky sú dodávané ako vstupná entropia pre CSPRNG (Cryptographically Secure PseudoRandom Number Generator);
  • EPFL (Ecole Polytechnique Federale de Lausanne), URand,
    používa sa štandardný lokálny generátor /dev/urandom, ktorý ako zdroje entropie využíva vstup z klávesnice, pohyb myši, dopravné toky atď.

  • čilská univerzita, UChile, ako zdroj entropie sa používa sieť seizmických senzorov, ako aj údaje z rozhlasového vysielania, aktivita na Twitteri, zmeny v blockchaine Ethereum a podomácky vyrobený hardvérový generátor RNG;
  • Kudelski Security, ChaChaRand, poskytuje CRNG (Cryptographic Random Number Generator) založený na šifre ChaCha20;
  • Protokol Labs, InterplanetaryRand, náhodné dáta sú extrahované z lapačov hluku a kombinované s Linux PRNG a generátorom pseudonáhodných čísel zabudovaným do CPU.

V súčasnosti nezávislí účastníci spustili 8 verejných prístupových bodov k API, prostredníctvom ktorých môžete zistiť aktuálne súhrnné náhodné číslo (napríklad „curl https://drand.cloudflare.com/api/public“) a určiť hodnotu v určitom okamihu v minulosti („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

Zdroj: opennet.ru

Pridať komentár