Cloudflare introduziu um gerador distribuído de números aleatórios

Empresa Cloudflare apresentado serviço Liga da Entropia, para garantir o funcionamento do qual foi formado um consórcio de diversas organizações interessadas em fornecer números aleatórios de alta qualidade. Ao contrário dos sistemas centralizados existentes, League of Entropy não depende de uma única fonte e usa entropia para gerar uma sequência aleatória, recebido de vários geradores não relacionados controlados por diferentes participantes do projeto. Devido à natureza distribuída do projeto, comprometer ou adulterar uma ou duas das fontes não levará ao comprometimento do número aleatório final.

Deve-se notar que os números aleatórios gerados são classificados como sequências publicamente disponíveis que não podem ser usadas para gerar chaves de criptografia e em áreas onde o número aleatório deve ser mantido em segredo. O serviço visa fornecer números aleatórios que não podem ser previstos antecipadamente, mas uma vez gerados, esses números tornam-se disponíveis publicamente, inclusive para verificar a validade de valores aleatórios anteriores.

Números aleatórios públicos são gerados a cada 60 segundos. Cada número está associado a seu próprio número de sequência (redondo), pelo qual a qualquer momento e de qualquer servidor participante você pode obter o valor gerado uma vez. Esses números aleatórios podem ser utilizados em sistemas distribuídos, criptomoedas e blockchains, nos quais diferentes nós devem ter acesso a um único gerador de números aleatórios (por exemplo, ao gerar prova de trabalho realizado), bem como na realização de diversas loterias e na geração de números aleatórios. amostras no processo de auditoria das eleições de passagem.

Para trabalhar com o serviço e implementar seus próprios nós proposto ferramentas Drand, escrito em Go e lançado sob a licença do MIT. Drand é executado na forma de um processo em segundo plano que se comunica com geradores externos participantes da rede distribuída e gera coletivamente um valor aleatório resumido. O valor resumido é gerado usando os métodos criptografia de limite и conjugação bilinear. A geração de um valor aleatório resumido pode ser realizada no sistema do usuário sem o envolvimento de agregadores centralizados.

Drand também pode ser usado para entregar números aleatórios privados gerados localmente aos clientes. Para transmitir um número aleatório, é utilizado o esquema de criptografia ECIES, dentro do qual o cliente gera uma chave privada e pública. A chave pública é transferida para o servidor de Drand. O número aleatório é criptografado usando a chave pública fornecida e só pode ser visualizado pelo cliente que possui a chave privada. Para acessar os servidores, você pode usar o utilitário “drand” (por exemplo, “drand get public group.toml”, onde group.toml é uma lista de nós a serem pesquisados) ou a API Web (por exemplo, você pode usar “ curl https://drand.cloudflare.com /api/public" ou acesse de JavaScript usando a biblioteca DrandJS). Os metadados da solicitação são enviados no formato TOML e a resposta é retornada em JSON.

Atualmente, cinco empresas e organizações aderiram à iniciativa Liga da Entropia e estão fornecendo acesso aos seus geradores de entropia. Os participantes incluídos no projeto estão localizados em diferentes países e utilizam diferentes métodos de obtenção de entropia:

  • cloudflare, LavaRand, valores aleatórios formado baseado em fluxos imprevisíveis de fluidos em lâmpadas de lava, cujas imagens são fornecidas como entropia de entrada para CSPRNG (gerador de números pseudo-aleatórios criptograficamente seguros);
  • EPFL (Ecole Polytechnique Federale de Lausanne), URand,
    é usado um gerador local padrão /dev/urandom, que usa entrada de teclado, movimento do mouse, fluxos de tráfego, etc.

  • Universidade do Chile, UChile, uma rede de sensores sísmicos é usada como fonte de entropia, bem como dados de transmissões de rádio, atividade no Twitter, mudanças no blockchain Ethereum e um gerador de RNG de hardware caseiro;
  • Kudelski Security, ChaChaRand, fornece um CRNG (gerador criptográfico de números aleatórios) baseado na cifra ChaCha20;
  • Protocol Labs, InterplanetaryRand, dados aleatórios são extraídos de coletores de ruído e combinados com Linux PRNG e um gerador de números pseudo-aleatórios embutido na CPU.

Atualmente, participantes independentes lançaram 8 pontos de acesso público à API, por meio dos quais você pode descobrir o número aleatório resumido atual (por exemplo, “curl https://drand.cloudflare.com/api/public”) e determinar o valor em um determinado momento no passado (“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

Fonte: opennet.ru

Adicionar um comentário