Cloudflare представи разпределен генератор на произволни числа

Компания Cloudflare представени услуга Лигата на ентропията, за осигуряване на функционирането на който е сформиран консорциум от няколко организации, заинтересовани от предоставянето на висококачествени случайни числа. За разлика от съществуващите централизирани системи, League of Entropy не разчита на един източник и използва ентропия за генериране на произволна последователност, получени от няколко несвързани генератора, контролирани от различни участници в проекта. Поради разпределения характер на проекта компрометирането или подправянето на един или два от източниците няма да доведе до компрометиране на крайното произволно число.

Трябва да се отбележи, че генерираните произволни числа са класифицирани като публично достъпни последователности, които не могат да се използват за генериране на ключове за криптиране и в области, където произволното число трябва да се пази в тайна. Услугата има за цел да предоставя произволни числа, които не могат да бъдат предвидени предварително, но веднъж генерирани, тези числа стават публично достъпни, включително за проверка на надеждността на минали случайни стойности.

Публичните произволни числа се генерират на всеки 60 секунди. Всяко число е свързано със собствен пореден номер (кръглен), чрез който по всяко време и от всеки участващ сървър можете да получите веднъж генерираната стойност. Такива произволни числа могат да се използват в разпределени системи, криптовалути и блокчейни, в които различни възли трябва да имат достъп до един генератор на произволни числа (например при генериране на доказателство за свършена работа), както и при провеждане на различни лотарии и за генериране на произволни проби в процеса на одитиране на изборите за преминаване.

Да работите с услугата и да разположите свои собствени възли предложено инструменти Дранд, написан на Go и пуснат под лиценза на MIT. Drand работи под формата на фонов процес, който комуникира с външни генератори, участващи в разпределената мрежа, и колективно генерира обобщена произволна стойност. Обобщената стойност се генерира с помощта на методите прагова криптография и билинейно спрежение. Генерирането на обобщена произволна стойност може да се извърши в системата на потребителя без участието на централизирани агрегатори.

Drand може да се използва и за доставяне на локално генерирани частни произволни числа на клиенти. За предаване на случайно число се използва схемата за криптиране ECIES, в рамките на която клиентът генерира частен и публичен ключ. Публичният ключ се прехвърля на сървъра от Drand. Случайното число е криптирано с помощта на дадения публичен ключ и може да бъде видяно само от клиента, който притежава частния ключ. За достъп до сървърите можете да използвате помощната програма „drand“ (например „drand get public group.toml“, където group.toml е списък с възли за анкетиране) или уеб API (например можете да използвате „ curl https://drand.cloudflare.com /api/public" или достъп от JavaScript с помощта на библиотеката DrandJS). Метаданните на заявката се изпращат във формат TOML, а отговорът се връща в JSON.

В момента пет компании и организации са се присъединили към инициативата League of Entropy и предоставят достъп до своите генератори на ентропия. Участниците, включени в проекта, се намират в различни държави и използват различни методи за получаване на ентропия:

  • облачно пламък, LavaRand, произволни стойности се формират въз основа на непредвидими потоци течност лава лампи, чиито изображения се предоставят като входна ентропия за CSPRNG (генератор на криптографски защитени псевдослучайни числа);
  • EPFL (Ecole Polytechnique Federale de Lausanne), URand,
    използва се стандартен локален генератор /dev/urandom, който използва въвеждане от клавиатурата, движение на мишката, трафик потоци и т.н. като източници на ентропия.

  • Университет на Чили, UChile, мрежа от сеизмични сензори се използва като източник на ентропия, както и данни от радиопредаване, активност в Twitter, промени в блокчейна на Ethereum и домашен хардуерен RNG генератор;
  • Kudelski Security, ChaChaRand, предоставя CRNG (генератор на криптографски случайни числа), базиран на шифъра ChaCha20;
  • Protocol Labs, InterplanetaryRand, произволни данни се извличат от уловители на шум и се комбинират с Linux PRNG и генератор на псевдослучайни числа, вграден в процесора.

В момента независими участници са пуснали 8 обществени точки за достъп до API, чрез които можете да разберете както текущото обобщено произволно число (например „curl https://drand.cloudflare.com/api/public“), така и да определите стойност в определен момент в миналото („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

Източник: opennet.ru

Добавяне на нов коментар