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

A empresa Cloudflare apresentou serviço Liga da Entropia, para garantir seu funcionamento, foi formado um consórcio de várias organizações interessadas em fornecer números aleatórios de qualidade. Ao contrário dos sistemas centralizados existentes, a Liga da Entropia não depende de uma única fonte e utiliza a entropia obtida de vários geradores não relacionados, controlados por diferentes participantes do projeto. Graças à natureza distribuída do projeto, a compromissão ou falsificação de uma ou duas fontes não comprometerá o número aleatório final.

É importante notar que os números aleatórios gerados pertencem à categoria de sequências publicamente acessíveis, que não podem ser usadas para gerar chaves criptográficas 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 com antecedência, mas que, uma vez gerados, tornam-se publicamente disponíveis, incluindo para verificar a validade de valores aleatórios passados.

Números aleatórios públicos são gerados a cada 60 segundos. Cada número é vinculado ao seu número de sequência (round), podendo a qualquer momento ser acessado de qualquer servidor participante o valor gerado anteriormente. Esses números aleatórios podem ser aplicados em sistemas distribuídos, criptomoedas e blockchains, onde diferentes nós devem ter acesso a um único gerador de números aleatórios (por exemplo, na formação de provas de trabalho), bem como na realização de diversas loterias e para a formação de amostras aleatórias durante auditorias de eleições.

Para trabalhar com o serviço e implantar seus próprios nós foi oferecido um conjunto de ferramentas Drand, escrito na linguagem Go e distribuído sob a licença MIT. O Drand funciona na forma de um processo em segundo plano que se conecta a geradores externos participantes da rede distribuída e forma coletivamente um valor aleatório agregado. O valor agregado é gerado usando métodos de criptografia de segredo compartilhado e de emparelhamento bilinearA geração de um valor aleatório resumo pode ser realizada no sistema do usuário sem a necessidade de agregadores centralizados.

Drand também pode ser utilizado para fornecer números aleatórios privados gerados localmente aos clientes. Um esquema de criptografia ECIES é usado para a transmissão do número aleatório, onde o cliente gera uma chave privada e uma chave pública. A chave pública é enviada ao servidor Drand. O número aleatório é criptografado usando essa chave pública e pode ser visualizado apenas pelo cliente que possui a chave privada. Para interagir com os servidores, pode-se usar a utilidade ‘drand’ (por exemplo, ‘drand get public group.toml’, onde group.toml é a lista de nós a serem consultados) ou a API Web (por exemplo, pode-se usar ‘curl https://drand.cloudflare.com/api/public’ ou chamar a partir do JavaScript usando a biblioteca DrandJS). Os metadados da solicitação são enviados no formato TOML, enquanto a resposta é retornada em JSON.

Atualmente, cinco empresas e organizações se uniram à iniciativa League of Entropy, que forneceram acesso aos seus geradores de entropia. Os participantes do projeto estão em diferentes países e utilizam métodos variados para obter entropia:

  • Cloudflare, LavaRand, valores aleatórios são formados com base em fluxos imprevisíveis de líquido em lâmpadas de lava, cujas imagens são usadas como entrada de entropia para o CSPRNG (Gerador de Números Pseudo-Aleatórios Criptograficamente Seguro);
  • EPFL (Escola Politécnica Federal de Lausanne), URand,
    utiliza o gerador local padrão /dev/urandom, que emprega a entrada do teclado, movimento do mouse, fluxos de tráfego, etc., como fontes de entropia.
  • Universidade do Chile, UChile, utiliza uma rede de sensores sísmicos como fonte de entropia, assim como dados da rádio, atividade no Twitter, alterações no blockchain Ethereum e um gerador de RNG de hardware caseiro;
  • Kudelski Security, ChaChaRand, fornece um CRNG (Gerador de Números Aleatórios Criptográficos) baseado na aplicação do cifrador ChaCha20;
  • Protocol Labs, InterplanetaryRand, dados aleatórios são extraídos de captadores de ruído e combinados com o PRNG do Linux e o gerador de números pseudo-aleatórios embutido na CPU.

Atualmente, participantes independentes lançaram 8 pontos de acesso à API pública, através dos quais é possível saber tanto o número aleatório agregado atual (por exemplo, "curl https://drand.cloudflare.com/api/public"), quanto determinar o valor em um momento específico do 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

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster