Cloudflare giới thiệu trình tạo số ngẫu nhiên phân tán

Công ty Cloudflare trình bày vụ Liên minh Entropy, để đảm bảo hoạt động của một tập đoàn gồm một số tổ chức quan tâm đến việc cung cấp số ngẫu nhiên chất lượng cao đã được thành lập. Không giống như các hệ thống tập trung hiện có, League of Entropy không dựa vào một nguồn duy nhất và sử dụng entropy để tạo ra một chuỗi ngẫu nhiên, đã nhận từ một số máy phát điện không liên quan được điều khiển bởi những người tham gia dự án khác nhau. Do tính chất phân tán của dự án, việc xâm phạm hoặc giả mạo một hoặc hai nguồn sẽ không dẫn đến việc xâm phạm số ngẫu nhiên cuối cùng.

Cần lưu ý rằng các số ngẫu nhiên được tạo ra được phân loại là các chuỗi có sẵn công khai, không thể sử dụng để tạo khóa mã hóa và trong các khu vực mà số ngẫu nhiên phải được giữ bí mật. Dịch vụ này nhằm mục đích cung cấp các số ngẫu nhiên không thể dự đoán trước nhưng sau khi được tạo, những số này sẽ được cung cấp công khai, bao gồm cả việc kiểm tra tính hợp lệ của các giá trị ngẫu nhiên trong quá khứ.

Số ngẫu nhiên công khai được tạo ra cứ sau 60 giây. Mỗi số được liên kết với số thứ tự (vòng) riêng của nó, theo đó, bất kỳ lúc nào và từ bất kỳ máy chủ tham gia nào, bạn có thể nhận được giá trị được tạo một lần. Các số ngẫu nhiên như vậy có thể được sử dụng trong các hệ thống phân tán, tiền điện tử và chuỗi khối, trong đó các nút khác nhau phải có quyền truy cập vào một trình tạo số ngẫu nhiên duy nhất (ví dụ: khi tạo bằng chứng về công việc đã hoàn thành), cũng như khi tiến hành các loại xổ số khác nhau và để tạo ngẫu nhiên. các mẫu trong quá trình kiểm tra các cuộc bầu cử thông qua.

Để làm việc với dịch vụ và triển khai các nút của riêng bạn đề xuất công cụ Drand, được viết bằng Go và được phát hành theo giấy phép MIT. Drand chạy dưới dạng một quy trình nền giao tiếp với các bộ tạo bên ngoài tham gia vào mạng phân tán và tạo ra một giá trị ngẫu nhiên tóm tắt chung. Giá trị tóm tắt được tạo bằng các phương thức mật mã ngưỡng и liên hợp song tuyến. Việc tạo giá trị ngẫu nhiên tóm tắt có thể được thực hiện trên hệ thống của người dùng mà không cần sự tham gia của các bộ tổng hợp tập trung.

Drand cũng có thể được sử dụng để cung cấp các số ngẫu nhiên riêng tư được tạo cục bộ cho khách hàng. Để truyền một số ngẫu nhiên, sơ đồ mã hóa ECIES được sử dụng, trong đó khách hàng tạo khóa riêng và khóa chung. Khóa công khai được chuyển đến máy chủ từ Drand. Số ngẫu nhiên được mã hóa bằng khóa chung đã cho và chỉ khách hàng sở hữu khóa riêng mới có thể xem được. Để truy cập vào máy chủ, bạn có thể sử dụng tiện ích “drand” (ví dụ: “drand get public group.toml”, trong đó group.toml là danh sách các nút để thăm dò ý kiến) hoặc API Web (ví dụ: bạn có thể sử dụng “ Curl https://drand.cloudflare.com /api/public" hoặc truy cập từ JavaScript bằng thư viện DrandJS). Siêu dữ liệu yêu cầu được gửi ở định dạng TOML và phản hồi được trả về dưới dạng JSON.

Hiện tại, năm công ty và tổ chức đã tham gia sáng kiến ​​Liên đoàn Entropy và đang cung cấp quyền truy cập vào máy tạo entropy của họ. Những người tham gia dự án ở các quốc gia khác nhau và sử dụng các phương pháp khác nhau để thu được entropy:

  • đám mây, LavaRand, giá trị ngẫu nhiên hình thành dựa trên dòng chất lỏng không thể đoán trước trong đèn dung nham, hình ảnh được cung cấp dưới dạng entropy đầu vào cho CSPRNG (Trình tạo số giả ngẫu nhiên được bảo mật bằng mật mã);
  • EPFL (Ecole Polytechnique Federale de Lausanne), URand,
    một trình tạo cục bộ tiêu chuẩn /dev/urandom được sử dụng, sử dụng đầu vào bàn phím, chuyển động của chuột, luồng lưu lượng, v.v. làm nguồn entropy.

  • Đại học Chi-lê, UChile, một mạng lưới cảm biến địa chấn được sử dụng làm nguồn entropy, cũng như dữ liệu từ các chương trình phát thanh, hoạt động trên Twitter, các thay đổi đối với chuỗi khối Ethereum và trình tạo RNG phần cứng tự chế;
  • Kudelski Security, ChaChaRand, cung cấp CRNG (Trình tạo số ngẫu nhiên bằng mật mã) dựa trên mật mã ChaCha20;
  • Phòng thí nghiệm giao thức, InterplanetaryRand, dữ liệu ngẫu nhiên được trích xuất từ ​​​​bộ thu tiếng ồn và kết hợp với Linux PRNG và bộ tạo số giả ngẫu nhiên được tích hợp trong CPU.

Hiện tại, những người tham gia độc lập đã triển khai 8 điểm truy cập công khai vào API, qua đó bạn có thể tìm ra cả số ngẫu nhiên tóm tắt hiện tại (ví dụ: “curl https://drand.cloudflare.com/api/public”) và xác định giá trị tại một thời điểm nhất định trong quá khứ (“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

Nguồn: opennet.ru

Thêm một lời nhận xét