Компания Cloudflare услуга , за осигуряване на работата на която е създадена консорциум от няколко организации, заинтересовани в предоставянето на качествени случайни числа. В отличие от съществуващите централизирани системи, Лигата на ентропията не разчита на един източник и използва за генериране на случайна последователност ентропия, от няколко несвързани помежду си генератори, контролирани от различни участници в проекта. Благодарение на разпределителния характер на проекта, компрометирането или подлога на един или двама от източниците няма да доведе до компрометиране на крайната случайна стойност.
Следва да се отбележи, че генерираните случайни числа попадат в категорията на публично достъпните последователности, които не могат да се използват за генериране на крипто ключове и в области, в които случайното число трябва да бъде държано в тайна. Услугата е насочена към предоставяне на случайни числа, които не могат да бъдат предвидени предварително, но след генериране тези числа стават публично достъпни, включително за проверка на достоверността на минали случайни стойности.
Публичните случайни числа се генерират на всеки 60 секунди. Всяко число е свързано със своя номер на последователността (round), чрез който по всяко време и от всеки сървър-участник може да се получи генерираните по-рано стойности. Подобни случайни числа могат да се прилагат в разпределителни системи, криптовалути и блокчейни, в които различни възли трябва да имат достъп до единен генератор на случайни числа (например при формирането на доказателство за извършена работа), а също така и при провеждането на различни лотарии и за формиране на случайни извадки в процеса на одит на изборите.
За работа с услугата и за разгръщане на собствени възли инструменти , написан на езика Go и предоставен под лицензия MIT. Drand функционира като фонов процес, който се свързва с участващите в разпределената мрежа външни генератори и колективно формира обща случайна стойност. Общата стойност се генерира с използването на методи и . Генерирането на общата случайна стойност може да бъде извършено на системата на потребителя без ангажиране на централизирани агрегатори.
Drand може също да се използва за доставка на локално генерирани частни случайни числа на клиентите. За предаване на случайно число се прилага схема на шифроване ECIES, в рамките на която клиентът генерира частен и публичен ключ. Публичният ключ се предава на сървъра с Drand. Случайното число се шифрова с използване на този публичен ключ и може да бъде прегледано само от клиента, притежаващ частния ключ. За достъп до сървърите може да се използва утилитата "drand" (например, "drand get public group.toml", където group.toml е списък на възлите за запитване) или Web API (например, може да се използва "curl https://drand.cloudflare.com/api/public" или да се прави запитване от JavaScript с помощта на библиотека ). Метаданните на запитването се изпращат във формат TOML, а отговорът идва в JSON.
В момента в инициативата League of Entropy участват пет компании и организации, които предоставят достъп до своите генератори на ентропия. Включените в проекта участници са от различни държави и използват различни методи за получаване на ентропия:
- Cloudflare, , случайни стойности на база непредсказуеми потоци течност в , изображенията на които се подават като входна ентропия за CSPRNG (Криптографски сигурен псевдослучаен генератор на числа);
- EPFL (Федерална политехническа школа Лозана), URand,
използва локален генератор /dev/urandom, който използва клавиатурен вход, движение на мишката, потоци трафик и т.н. като източници на ентропия. - Чилийски университет, , като източник на ентропия използва мрежа от сеизмични датчици, а също така данни от радио ефир, активности в Twitter, промени в блокчейна на Ethereum и собствен генератор на случайни числа RNG;
- Kudelski Security, ChaChaRand, предоставя CRNG (Криптографски генератор на случайни числа) на базата на прилагането на шифъра ChaCha20;
- Protocol Labs, InterplanetaryRand, случайните данни се извлекат от шумозасмукатели и се комбинират с Linux PRNG и вграден в CPU генератор на псевдослучайни числа.
В момента независими участници са започнали 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
