Cloudflare a prezentat un generator distribuit de numere aleatoare

Compania Cloudflare a prezentat serviciul Liga Entropiei, pentru a asigura funcționarea căreia a fost format un consorțiu din mai multe organizații interesate în furnizarea de numere aleatoare de calitate. Spre deosebire de sistemele centralizate existente, Liga Entropiei nu se bazează pe o singură sursă și folosește entropia pentru a genera o secvență aleatorie, obținută de la mai mulți generatoare nesusținute între ele, controlate de diferiți participanți la proiect. Datorită caracterului distribuit al proiectului, compromiterea sau falsificarea uneia sau două dintre surse nu va duce la compromiterea numărului aleatoriu final.

Trebuie menționat că numerele aleatoare generate sunt de tipul secvențelor publice, care nu pot fi folosite pentru generarea cheilor de criptare și în domeniile în care numărul aleatoriu trebuie să rămână secret. Serviciul este destinat furnizării de numere aleatoare, care nu pot fi prezise în avans, dar după generare, aceste numere devin publice, inclusiv pentru verificarea validității valorilor aleatoare anterioare.

Numerele aleatoare publice sunt generate la fiecare 60 de secunde. Fiecare număr este legat de numărul său de secvență (round), pe baza căruia, în orice moment și de pe orice server participant, se poate obține valoarea generată cândva. Astfel de numere aleatoare pot fi folosite în sisteme distribuite, criptovalute și blockchain-uri, unde diferite noduri trebuie să aibă acces la un generator comun de numere aleatoare (de exemplu, pentru formarea dovezii de lucru efectuat), precum și în desfășurarea diferitelor loterii și pentru generarea de mostre aleatoare în procesul de audit al alegerilor.

Pentru a lucra cu serviciul și pentru a desfășura noduri proprii sub licența MIT. Instrumentul utilizează metode de învățare automată, împreună cu analiza statică și dinamică a codului JavaScript. Se afirmă că utilizarea învățării automate a permis îmbunătățirea semnificativă a preciziei în identificarea codului pentru identificarea ascunsă și a identificat cu 26% mai multe scripturi problematice un instrumentar Drand, scris în limbajul Go și furnizat sub licența MIT. Drand rulează sub formă de proces de fundal, care se conectează la generatoare externe participante în rețeaua distribuită și formează în mod colectiv o valoare aleatoare sintetică. Valoarea sintetică este generată folosind metodele criptografiei prin prag și asocierea biliniară. Generarea unei valori aleatoare sintetice poate fi efectuată pe sistemul utilizatorului fără implicarea agregatorilor centralizați.

Drand poate fi utilizat pentru a livra clienților numere aleatorii private generate local. Pentru transmiterea unui număr aleatoriu se folosește schema de criptare ECIES, în cadrul căreia clientul generează o cheie privată și o cheie publică. Cheia publică este transmisă serverului Drand. Numărul aleatoriu este criptat folosind această cheie publică și poate fi vizualizat doar de clientul care deține cheia privată. Pentru a accesa serverele se poate folosi utilitarul "drand" (de exemplu, "drand get public group.toml", unde group.toml este lista de noduri pentru interogare) sau Web API (de exemplu, se poate utiliza "curl https://drand.cloudflare.com/api/public" sau este posibil să se apeleze din JavaScript folosind biblioteca DrandJS). Metadatele cererii sunt trimise în format TOML, iar răspunsul este furnizat în JSON.

În prezent, cinci companii și organizații s-au alăturat inițiativei League of Entropy, care au pus la dispoziție acces la generatoarele lor de entropie. Participanții incluși în proiect se află în diferite țări și folosesc metode diferite pentru obținerea entropiei:

  • Cloudflare, LavaRand, valori aleatorii sunt formate pe baza fluxurilor de lichid imprevizibile din lămpile cu lava, imaginile acestora fiind utilizate ca entropie de intrare pentru CSPRNG (Generator de Numere Pseudo-Random Criptografic);
  • EPFL (Școala Politehnică Federală din Lausanne), URand,
    folosește generatorul local standard /dev/urandom, care utilizează ca surse de entropie input-ul de la tastatură, mișcarea mouse-ului, fluxurile de trafic etc.
  • Universitatea Chile, UChile, folosește o rețea de senzori seismici ca sursă de entropie, precum și date din eter, activitate pe Twitter, modificări în blockchain-ul Ethereum și un generator de numere aleatorii hardware realizat manual;
  • Kudelski Security, ChaChaRand, oferă CRNG (Generator de Numere Aleatorii Criptografic) bazat pe utilizarea cifrului ChaCha20;
  • Protocol Labs, InterplanetaryRand, extrage date aleatorii din captatori de zgomot și le combină cu Linux PRNG și generatorul de numere pseudo-aleatorii integrat în CPU.

În prezent, participanții independenți au lansat 8 puncte de acces publice la API, prin care se poate afla atât numărul aleatoriu agregat curent (de exemplu, "curl https://drand.cloudflare.com/api/public"), cât și se poate determina valoarea la un moment specific din trecut ("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

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster