Cloudflare یک مولد اعداد تصادفی توزیع شده را معرفی کرد

شرکت Cloudflare ارایه شده خدمات لیگ آنتروپی، برای اطمینان از عملکرد آن کنسرسیومی متشکل از چندین سازمان علاقمند به ارائه اعداد تصادفی با کیفیت بالا تشکیل شده است. برخلاف سیستم های متمرکز موجود، League of Entropy به یک منبع تکیه نمی کند و از آنتروپی برای تولید یک دنباله تصادفی استفاده می کند. اخذ شده از چندین ژنراتور نامرتبط که توسط شرکت کنندگان مختلف پروژه کنترل می شوند. با توجه به ماهیت توزیع شده پروژه، به خطر انداختن یا دستکاری یک یا دو منبع منجر به به خطر افتادن عدد تصادفی نهایی نخواهد شد.

لازم به ذکر است که اعداد تصادفی تولید شده به عنوان توالی های در دسترس عموم طبقه بندی می شوند که نمی توان از آنها برای تولید کلیدهای رمزگذاری استفاده کرد و در مناطقی که اعداد تصادفی باید مخفی بماند. هدف این سرویس ارائه اعداد تصادفی است که از قبل قابل پیش بینی نیستند، اما پس از تولید، این اعداد در دسترس عموم قرار می گیرند، از جمله برای بررسی اعتبار مقادیر تصادفی گذشته.

اعداد تصادفی عمومی هر 60 ثانیه تولید می شوند. هر عدد با شماره دنباله خود (گرد) مرتبط است، که توسط آن در هر زمان و از هر سرور شرکت کننده می توانید مقدار یک بار تولید شده را دریافت کنید. چنین اعداد تصادفی را می توان در سیستم های توزیع شده، ارزهای رمزنگاری شده و بلاک چین ها استفاده کرد، که در آن گره های مختلف باید به یک تولید کننده اعداد تصادفی واحد دسترسی داشته باشند (به عنوان مثال، هنگام تولید اثبات کار انجام شده)، و همچنین هنگام انجام قرعه کشی های مختلف و برای تولید تصادفی. نمونه هایی در فرآیند حسابرسی انتخابات مجلس شورای اسلامی.

برای کار با سرویس و استقرار گره های خود پیشنهادی ابزار درند، در Go نوشته شده و تحت مجوز MIT منتشر شده است. Drand به شکل یک فرآیند پس‌زمینه اجرا می‌شود که با مولدهای خارجی شرکت‌کننده در شبکه توزیع شده ارتباط برقرار می‌کند و مجموعاً یک مقدار تصادفی خلاصه تولید می‌کند. مقدار خلاصه با استفاده از روش ها تولید می شود رمزنگاری آستانه и صرف دو خطی. تولید یک مقدار تصادفی خلاصه می‌تواند در سیستم کاربر بدون دخالت جمع‌کننده‌های متمرکز انجام شود.

Drand همچنین می تواند برای ارائه اعداد تصادفی خصوصی تولید شده محلی به مشتریان استفاده شود. برای انتقال یک عدد تصادفی، از طرح رمزگذاری ECIES استفاده می شود که در آن مشتری یک کلید خصوصی و عمومی تولید می کند. کلید عمومی از Drand به سرور منتقل می شود. شماره تصادفی با استفاده از کلید عمومی داده شده رمزگذاری می شود و فقط توسط مشتری صاحب کلید خصوصی قابل مشاهده است. برای دسترسی به سرورها، می‌توانید از ابزار «drand» (به عنوان مثال، «drand get public group.toml»، که در آن group.toml فهرستی از گره‌ها برای نظرسنجی است) یا Web API (به عنوان مثال، می‌توانید از «استفاده کنید» استفاده کنید. حلقه https://drand.cloudflare.com /api/public" یا دسترسی از جاوا اسکریپت با استفاده از کتابخانه DrandJS). فراداده درخواست در قالب TOML ارسال می شود و پاسخ در JSON برگردانده می شود.

در حال حاضر، پنج شرکت و سازمان به ابتکار League of Entropy پیوسته‌اند و دسترسی به مولدهای آنتروپی خود را فراهم می‌کنند. شرکت کنندگان شامل این پروژه در کشورهای مختلف هستند و از روش های مختلفی برای به دست آوردن آنتروپی استفاده می کنند:

  • ابر شعله ور، لاوا رند، مقادیر تصادفی شکل گرفت بر اساس جریان غیرقابل پیش بینی سیال در داخل لامپ های گدازه ای، تصاویری که به عنوان آنتروپی ورودی برای CSPRNG (Cryptographically Secure PseudoRandom Number Generator) ارائه شده است.
  • EPFL (Ecole Polytechnique Federale de Lozanne)، URand،
    یک ژنراتور محلی استاندارد /dev/urandom استفاده می شود که از ورودی صفحه کلید، حرکت ماوس، جریان ترافیک و غیره به عنوان منابع آنتروپی استفاده می کند.

  • دانشگاه شیلی، UChileشبکه ای از حسگرهای لرزه ای به عنوان منبع آنتروپی و همچنین داده های پخش رادیویی، فعالیت توییتر، تغییرات در بلاک چین اتریوم و یک ژنراتور سخت افزاری خانگی RNG استفاده می شود.
  • Kudelski Security، ChaChaRand، یک CRNG (Cryptographic Random Number Generator) بر اساس رمز ChaCha20 ارائه می دهد.
  • Protocol Labs، InterplanetaryRand، داده های تصادفی از نویزگیرها استخراج شده و با لینوکس 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

اضافه کردن نظر