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 访问 德兰德JS)。 请求元数据以 TOML 格式发送,响应以 JSON 格式返回。

目前,已有五家公司和组织加入了熵联盟计划,并提供对其熵生成器的访问。 该项目包含的参与者位于不同的国家,使用不同的方法获取熵:

  • Cloudflare, 熔岩兰德,随机值 形成了 基于不可预测的流体流动 熔岩灯,其图像作为 CSPRNG(加密安全伪随机数生成器)的输入熵提供;
  • EPFL(洛桑联邦理工学院)、URand、
    使用标准本地生成器 /dev/urandom,它使用键盘输入、鼠标移动、流量等作为熵源。

  • 智利大学, 智利大学,地震传感器网络被用作熵源,以及来自无线电广播、Twitter 活动、以太坊区块链的变化和自制硬件 RNG 生成器的数据;
  • Kudelski Security,ChaChaRand,提供基于 ChaCha20 密码的 CRNG(加密随机数生成器);
  • 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

添加评论