Cloudflare introducerede en distribueret tilfældig talgenerator

Cloudflare Company fremlagde service Entropiens Liga, for at sikre driften af, et konsortium af flere organisationer, der er interesseret i at levere tilfældige tal af høj kvalitet, er blevet dannet. I modsætning til eksisterende centraliserede systemer er League of Entropy ikke afhængig af en enkelt kilde og bruger entropi til at generere en tilfældig sekvens, modtaget fra flere ikke-relaterede generatorer kontrolleret af forskellige projektdeltagere. På grund af projektets distribuerede karakter vil kompromittering eller manipulation med en eller to af kilderne ikke føre til kompromittering af det endelige tilfældige tal.

Det skal bemærkes, at de genererede tilfældige tal er klassificeret som offentligt tilgængelige sekvenser, der ikke kan bruges til at generere krypteringsnøgler og i områder, hvor det tilfældige tal skal holdes hemmeligt. Tjenesten har til formål at levere tilfældige tal, der ikke kan forudsiges på forhånd, men når de er genereret, bliver disse tal offentligt tilgængelige, herunder til at kontrollere pålideligheden af ​​tidligere tilfældige værdier.

Offentlige tilfældige tal genereres hvert 60. sekund. Hvert nummer er forbundet med sit eget sekvensnummer (runde), som du til enhver tid og fra enhver deltagende server kan få den en gang genererede værdi. Sådanne tilfældige tal kan bruges i distribuerede systemer, kryptovalutaer og blockchains, hvor forskellige noder skal have adgang til en enkelt tilfældig talgenerator (f.eks. når der genereres bevis for udført arbejde), såvel som når der udføres forskellige lotterier og til at generere tilfældige tal. stikprøver i færd med at auditere passagevalgene.

At arbejde med tjenesten og at implementere dine egne noder foreslog værktøjer Drand, skrevet i Go og udgivet under MIT-licensen. Drand kører i form af en baggrundsproces, der kommunikerer med eksterne generatorer, der deltager i det distribuerede netværk og tilsammen genererer en opsummerende tilfældig værdi. Opsummeringsværdien genereres ved hjælp af metoderne tærskelkryptering и bilineær konjugation. Genereringen af ​​en tilfældig oversigtsværdi kan udføres på brugerens system uden involvering af centraliserede aggregatorer.

Drand kan også bruges til at levere lokalt genererede private tilfældige numre til kunder. For at sende et tilfældigt tal bruges ECIES-krypteringsskemaet, inden for hvilket klienten genererer en privat og offentlig nøgle. Den offentlige nøgle overføres til serveren fra Drand. Det tilfældige nummer krypteres ved hjælp af den givne offentlige nøgle og kan kun ses af den klient, der ejer den private nøgle. For at få adgang til serverne kan du bruge "drand"-værktøjet (f.eks. "drand get public group.toml", hvor group.toml er en liste over noder, der skal polles) eller web-API'en (du kan f.eks. bruge " curl https://drand.cloudflare.com /api/public" eller få adgang fra JavaScript ved hjælp af biblioteket DrandJS). Anmodningsmetadata sendes i TOML-format, og svaret returneres i JSON.

I øjeblikket har fem virksomheder og organisationer tilsluttet sig League of Entropy-initiativet og giver adgang til deres entropigeneratorer. Deltagerne i projektet er placeret i forskellige lande og bruger forskellige metoder til at opnå entropi:

  • cloudflare, LavaRand, tilfældige værdier bliver dannet baseret på uforudsigelige væskestrømme lava lamper, hvoraf billeder leveres som input-entropi til CSPRNG (Cryptographically Secure PseudoRandom Number Generator);
  • EPFL (Ecole Polytechnique Federale de Lausanne), URand,
    der bruges en standard lokal generator /dev/urandom, som bruger tastaturinput, musebevægelser, trafikstrømme osv. som kilder til entropi.

  • Universitetet i Chile, UChile, et netværk af seismiske sensorer bruges som en kilde til entropi, såvel som data fra radioudsendelser, Twitter-aktivitet, ændringer til Ethereum blockchain og en hjemmelavet hardware RNG-generator;
  • Kudelski Security, ChaChaRand, leverer en CRNG (Cryptographic Random Number Generator) baseret på ChaCha20-chifferet;
  • Protocol Labs, InterplanetaryRand, tilfældige data udvindes fra støjfangere og kombineres med Linux PRNG og en pseudo-tilfældig talgenerator indbygget i CPU'en.

I øjeblikket har uafhængige deltagere lanceret 8 offentlige adgangspunkter til API'et, hvorigennem du kan finde ud af både det aktuelle tilfældige oversigtsnummer (f.eks. "curl https://drand.cloudflare.com/api/public") og bestemme værdi på et bestemt tidspunkt i fortiden ("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

Kilde: opennet.ru

Tilføj en kommentar