Um número crescente de plataformas e projetos começou a contar com Geradores de Números Aleatórios para entregar partes de seus serviços. Nem todos os geradores de números aleatórios são criados da mesma maneira e, nos últimos anos, tornou-se aparente que muitos possuem diversas falhas que podem comprometer a integridade do projeto e causar problemas no futuro.
A maneira como os números são gerados nessas plataformas geralmente depende inteiramente de quem projeta o software. Ele pode ser gerado usando informações de hardware, como flutuações na temperatura da CPU, por exemplo, outros podem usar a API para um serviço online como o Twitter para gerar seus números. Abordagens como essas são frequentemente elogiadas porque podem criar uma geração verdadeiramente aleatória, desde que a fonte permaneça desconhecida para o usuário. Mas, como sugerido, nem todas são criadas iguais, pois algumas são criadas para serem exploradas, gerando uma dificuldade particular para projetos de código aberto. Por natureza, todas as informações do projeto estão disponíveis, uma vez que são de código aberto, e isso abre uma brecha de oportunidades para softwares menos confiáveis serem introduzidos, como geradores de números aleatórios. Software de código aberto é algo que estamos vendo agora no sistema Cloudflare, que abordaremos mais tarde neste artigo.
É especialmente preocupante no que diz respeito à segurança, já que geradores de números aleatórios podem ser usados em plataformas de segurança, por exemplo, onde a aleatoriedade determina o algoritmo para criptografia. Se o software estiver comprometido, ele prejudica toda a plataforma. O uso mais popular do RNG (Geradores de Números Aleatórios) nos últimos anos tem sido nos jogos e na crescente dependência de mecanismos de estilo de jogo, como os encontrados em máquinas de caça-níquel online, e o mesmo se aplica ao fato de que, se a geração for comprometida, isso poderá levar a enormes problemas para muitas das operadoras que executam esse tipo de serviços.
Parece que uma abordagem para resolver esta situação pode estar a caminho, após um anúncio feito no ano passado. Em junho de 2019, o gigante da internet Cloudflare, que provavelmente é mais conhecido por seu software de proteção DDoS, decidiu assumir o desafio de fornecer um gerador de números verdadeiramente aleatórios. A esperança era que eles pudessem se associar a outras empresas, e o fizeram com várias universidades e empresas de segurança – para criar A Liga da Entropia. Embora o nome pareça um pouco estranho, o que eles planejam fazer é muito interessante tecnicamente.
A Cloudflare sempre teve uma abordagem única para a geração de números aleatórios, uma matriz gigante de lâmpadas com bolhas em sua sede é o que gera o software usando o fluxo aleatório e imprevisível da cera de parafina. Mas todas as empresas parceiras também adotaram uma abordagem única e mais segura para fornecer aleatoriedade. Uma delas é a Universidade do Chile, que depende de fontes de API mencionadas acima, como o blockchain Ethereum, atividade do Twitter, estações de rádio e atividade sísmica local, entre muitos outros.
A abordagem será a de usar os números coletivos gerados aleatoriamente para produzir outro número aleatório. A lógica é que vários números aleatórios são mais randomizados do que um único número aleatório, aumentando assim a segurança e, como as fontes dos números originais são muito diferentes, aumenta a probabilidade de permanecer protegido.
O que é interessante, porém, é a abordagem modular para isso – com resiliência em mente, o sistema foi projetado de tal forma que se um dos nós ficar off-line por qualquer motivo, sendo por falha do sistema ou por sabotagem, outros nós compensarão o sistema e continuarão fornecendo números aleatórios fortes para o sistema, um programa chamado Drand.
Embora esta não seja uma solução para todas as preocupações de segurança, Matthew Prince, CEO da Cloudflare, disse o seguinte sobre a segurança na geração de números aleatórios: “Inerentemente, isso é auditável. Você pode voltar ao passado e ver qual foi o valor aleatório gerado. Isso significa que, se você obteve o valor, pode voltar no tempo e potencialmente recriar uma senha ou chave criptográfica. Por outro lado, se você deseja escolher vencedores para uma loteria ou realizar uma série de outras funções que são muito importantes e precisa de uma forma de ter uma fonte aleatória conhecida, esta é uma ferramenta realmente valiosa”.
O grande benefício, conforme mencionado, foi a remoção da única fonte de falha e, assim, adicionar mais segurança. A plataforma usada no Drand, também de código aberto, faz com que você possa visualizá-la e experimentá-la livremente. Houve um diálogo sugerindo que a Cloudflare está mais do que aberta para introduzir outras empresas na Liga da Entropia e adicionar mais segurança à plataforma. Por ser tão novo, pode levar algum tempo até que toda a eficácia seja descoberta, mas cada vez mais vemos grandes colaborações entregando melhor segurança e melhores serviços online, algo extremamente necessário à medida que avançamos para um mundo mais digital.