Cloudflare таратылған кездейсоқ сандар генераторын ұсынды

Cloudflare компаниясы ұсынылған қызмет көрсету Энтропия лигасы, жұмысын қамтамасыз ету үшін жоғары сапалы кездейсоқ сандарды беруге мүдделі бірнеше ұйымдардың консорциумы құрылды. Қолданыстағы орталықтандырылған жүйелерден айырмашылығы, Энтропия лигасы бір көзге сүйенбейді және кездейсоқ тізбекті құру үшін энтропияны пайдаланады, алды әртүрлі жоба қатысушылары басқаратын бірнеше байланысты емес генераторлардан. Жобаның бөлінген сипатына байланысты бір немесе екі көзді бұзу немесе бұзу соңғы кездейсоқ санның бұзылуына әкелмейді.

Жасалған кездейсоқ сандар шифрлау кілттерін генерациялау үшін пайдаланылмайтын жалпыға қол жетімді тізбектер ретінде жіктелетінін және кездейсоқ сандар құпия сақталуы қажет аймақтарда екенін атап өткен жөн. Бұл қызмет алдын ала болжауға болмайтын кездейсоқ сандарды ұсынуға бағытталған, бірақ жасалғаннан кейін бұл сандар жалпыға қолжетімді болады, соның ішінде өткен кездейсоқ мәндердің жарамдылығын тексеру үшін.

Жалпы кездейсоқ сандар 60 секунд сайын жасалады. Әрбір нөмір өзінің реттік нөмірімен (дөңгелек) байланысты, ол арқылы кез келген уақытта және кез келген қатысушы серверден бір рет жасалған мәнді алуға болады. Мұндай кездейсоқ сандар таратылған жүйелерде, криптовалюталарда және блокчейндерде қолданылуы мүмкін, оларда әртүрлі түйіндер бір кездейсоқ сандар генераторына қол жеткізуі керек (мысалы, орындалған жұмыстың дәлелін жасау кезінде), сондай-ақ әртүрлі лотереяларды өткізу кезінде және кездейсоқ сандарды генерациялау үшін өтпелі сайлауды тексеру барысындағы үлгілер.

Қызметпен жұмыс істеу және өз түйіндеріңізді орналастыру үшін ұсынылған құралдар Дранд, Go бағдарламасында жазылған және MIT лицензиясы бойынша шығарылған. Drand бөлінген желіге қатысатын сыртқы генераторлармен байланысатын және жиынтық кездейсоқ мәнді ұжымдық түрде генерациялайтын фондық процесс түрінде жұмыс істейді. Жиынтық мән әдістер арқылы жасалады шекті криптография и екі сызықты конъюгация. Жиынтық кездейсоқ мәнді генерациялау пайдаланушының жүйесінде орталықтандырылған агрегаторлардың қатысуынсыз орындалуы мүмкін.

Drand жергілікті түрде жасалған жеке кездейсоқ сандарды клиенттерге жеткізу үшін де пайдаланылуы мүмкін. Кездейсоқ санды жіберу үшін ECIES шифрлау схемасы пайдаланылады, оның шеңберінде клиент жеке және ашық кілтті жасайды. Ашық кілт серверге Drand-тен беріледі. Кездейсоқ сан берілген ашық кілт арқылы шифрланады және оны тек жеке кілті бар клиент көре алады. Серверлерге қол жеткізу үшін «drand» қызметтік бағдарламасын (мысалы, «drand get public group.toml», мұнда group.toml сұрауға арналған түйіндер тізімі) немесе Web API (мысалы, « curl https://drand.cloudflare.com /api/public» немесе кітапхана арқылы JavaScript арқылы қол жеткізу DrandJS). Сұрау метадеректері TOML пішімінде жіберіледі және жауап JSON ішінде қайтарылады.

Қазіргі уақытта бес компания мен ұйым Энтропия лигасының бастамасына қосылды және өздерінің энтропия генераторларына қол жеткізуді қамтамасыз етуде. Жобаға енгізілген қатысушылар әртүрлі елдерде орналасқан және энтропияны алудың әртүрлі әдістерін қолданады:

  • бұлт жарқылы, LavaRand, кездейсоқ мәндер қалыптасты болжанбайтын сұйықтық ағынына негізделген лава шамдары, кескіндері CSPRNG (Криптографиялық қауіпсіз жалған кездейсоқ сандар генераторы) үшін кіріс энтропиясы ретінде беріледі;
  • EPFL (Ecole Polytechnique Federale de Lozanne), URand,
    стандартты жергілікті генератор /dev/urandom пайдаланылады, ол энтропия көздері ретінде пернетақта енгізуін, тінтуірдің қозғалысын, трафик ағындарын және т.б.

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

Қазіргі уақытта тәуелсіз қатысушылар API-ге 8 жалпыға қолжетімді кіру нүктесін іске қосты, олар арқылы ағымдағы жиынтық кездейсоқ санды да (мысалы, «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

пікір қалдыру