A segurança das nossas ligações à Internet depende da encriptação dos dados que trafegam pelas redes de comunicações. E para criptografá-los, é extremamente importante que as chaves geradas sejam aleatórias para que possíveis invasores não possam prevê-las e descobri-las. E se há algo aleatório é a forma como as lâmpadas de lava funcionam. Eles sabem disso muito bem na Cloudflare.
Cloudflare é um gigante da internet. Talvez você não saiba, mas esta empresa fornece CDNs (Content Delivery Networks) para que os dados que acessamos cheguem aos nossos dispositivos o mais rápido possível, e também oferece serviços de segurança na Internet para empresas e indivíduos. Tornaram-se parte integrante da rede de redes e, de facto, os responsáveis estimam que 16% de todo o tráfego global da Internet passa pela sua infra-estrutura.
Viva o caos. Esta dimensão faz com que esta empresa leve muito a sério a encriptação destes dados, e para isso utiliza uma componente surpresa: 100 lâmpadas de lava que estão dispostas na parede da sua sede. O comportamento dos fluidos nestas lâmpadas é praticamente imprevisível, e é isso que pretendem na Cloudflare, onde para aquele troço procuram a entropia, o que noutras áreas significaria caos e desordem, mas que na criptografia nos permite garantir a imprevisibilidade .
Parede de entropia. É assim que Cloudflare chama aquela parede cheia de lâmpadas de lava. A geração de números aleatórios é um dos problemas mais complexos do mundo da computação e, para tentar alcançá-lo, o movimento do mouse é utilizado em outros contextos, por exemplo. Aqui, a empresa combina essa aleatoriedade com dados gerados por duas máquinas baseadas em Linux, que, segundo eles, permitem “maximizar a entropia criando sementes criptográficas para criptografia SSL/TLS”.
Neumann,PRNGs e Minecraft. Em 1946 John von Neumann criou o primeiro gerador de números pseudoaleatórios ou PRNG, que partia de um número (semente) para ser utilizado em um algoritmo. O conceito é crucial em muitas áreas da computação e é, por exemplo, o que é usado para gerar os mundos do Minecraft: se você usar a mesma semente, obterá o mesmo mundo neste videogame, como seus desenvolvedores explicaram mais de uma década atrás.
Bem-vindo ao CSPRNG. Esta técnica permite que você desenvolva seu gerador de números pseudo-aleatórios criptograficamente seguro ou CSPRNG, um sistema mais rígido do que um PRNG padrão. Assim, um invasor não consegue prever os resultados do CSPRNG mesmo com acesso parcial ao programa, o que o torna especialmente seguro.
E se alguém passar na frente? Uma câmera aponta para essas lâmpadas e tira fotos em intervalos regulares. A partir deles, são geradas sequências de números completamente aleatórias que os servidores Cloudflare podem usar como ponto de partida para criar essa criptografia segura de dados. Alguém andando na frente da câmera não é problema. Isso acontece constantemente e, na verdade, adiciona aleatoriedade ao sistema.
A Silicon Graphics já teve essa ideia. A prestigiosa – mas agora extinta – Silicon Graphics, que criou um sistema semelhante chamado “Lavarand” em 1996. A patente do sistema expirou, mas de 1997 a 2001 um site foi lançado em Lavarand.sgi.com demonstrando o funcionamento da técnica .
Em Xataka | O dia em que as máquinas podem escolher: o paradoxo do livre arbítrio nos robôs