A criptografia é uma área complexa – cruza conhecimentos das disciplinas da matemática, engenharia e física. As suas origens remontam ao ano 1900 a.C., no Egipto, quando um escriba usou hieróglifos fora do padrão numa inscrição – um caso de criptografia clássica. Com o passar dos séculos, esta ciência evoluiu e adaptou-se às novas tecnologias.
Foi graças à criptografia que vários exércitos conseguiram passar mensagens secretas para o estrangeiro, sem serem apanhados pelo inimigo – como foi o caso da máquina “Enigma”, criada pelos alemães e descodificada pela equipa de Alan Turing, do Reino Unido, cuja história foi contada nos filmes “O jogo da imitação”(2014) e “Enigma”(2001).
Hoje em dia, continuam a ser feitas grandes descobertas nesta área – foi o caso do estudo de Aayush Jain com outros cientistas da computação, da Universidade da Califórnia, que descobriram a “joia da coroa” da criptografia: a “Ofuscação Indistinguível”, também apelidada de “iO.”
O mito da ofuscação indistinguível
Em 2018, Jain e os seus colegas foram dar uma palestra ao Japão para apresentar uma ferramenta criptográfica que tinham estado a desenvolver ao longo dos últimos anos. À medida que apresentaram a abordagem da equipa perante a “iO”, um membro da audiência questionou-os: “eu pensava que a ofuscação indistinguível não existia?”
Nesta altura, o ceticismo perante a iO era comum: era demasiado boa para ser verdadeira. Trata-se de uma ferramenta que, se for concretizada, pode funcionar como uma “chave-mestra” da criptografia – tem a capacidade de ocultar não apenas coleções de dados, como todo o funcionamento interno de um programa de computador. A partir desta iO, podem ser construídos quase todos os outros protocolos criptográficos.
A história da iQ é feita de avanços e retrocessos – sempre que um cientista da computação estava perto de chegar à “joia da coroa”, a sua teoria era rapidamente desconstruída. À medida que os anos passavam, as esperanças de atingir um resultado positivo eram cada vez menores.
No entanto, Jain – em parceria com Huijia Lin, da Universidade de Washington, e Amit Sahai, seu colega da Universidade da Califórnia – conseguiram quebrar este ciclo de negatividade. Em agosto, publicaram um estudo onde mostram pela primeira vez como construir a ofuscação indistinguível apenas através de suposições de segurança “padrão.”
Apesar de o modelo criado pelos cientistas ainda não estar pronto para ser aplicado no “mundo real”, a sua teoria garante o acesso a uma série de ferramentas criptográficas que estavam fora de alcance até à data. Por exemplo, permite a criação de criptografia “negável”, na qual o informático pode convencer um invasor (ou hacker) de que enviou uma mensagem totalmente diferente da que terá enviado na realidade, ou, por outro lado, de criptografia “funcional”, na qual pode ser dada aos utilizadores diferentes níveis de acesso para realizar cálculos através dos seus dados.
A “joia da coroa”
Os cientistas questionaram-se durante décadas se seria possível ofuscar programas de computadores, de forma a permitir que as pessoas os pudessem utilizar sem ser possível descobrir os seus segredos internos. Tal descoberta permitiria uma série de aplicações úteis, como por exemplo a delegação de tarefas específicas dentro de um banco ou contas de e-mail a outras pessoas, sem haver razões para preocupações como o roubo das passwords da conta ou de utilização do programa com um intuito diferente do original.
Ao longo dos anos, todas as tentativas de tentar ofuscar programas de computador tinham sido mal sucedidas. Em 2001, foi descoberto que a “ofuscação de caixa preta”, a forma mais forte de ofuscação, era impossível – exigiria que os invasores não pudessem aprender nada sobre o programa, o que não é possível: alguns programas revelam os seus segredos com tanta determinação que se torna impossível ofuscá-los totalmente.
No entanto, a equipa de Jain decidiu procurar uma alternativa a esta ofuscação de caixa preta – um outro tipo de ofuscação que fosse fraco o suficiente para ser viável, mas forte o suficiente para esconder os segredos que realmente importam. Foi assim que surgiu a ofuscação indistinguível, ou iO.
Até à data, a iO não parecia ser um conceito útil – em vez de exigir que os segredos do programa fossem ocultados, ela apenas exigia que o programa fosse ofuscado o suficiente para que, se tivéssemos dois programas diferentes que realizassem a mesma tarefa, não conseguíamos distinguir de que versão original vem a versão ofuscada.
No entanto, a iO é mais forte do que pode parecer à primeira vista. Imaginemos que temos um programa que executa uma tarefa relacionada com a nossa conta bancária, mas as senhas do programa não estão criptografadas – tornando-as mais vulneráveis a qualquer invasor que consiga aceder ao programa. Neste caso, a iO irá ser forte o suficiente para esconder a senha com sucesso, porque o invasor não saberá qual é a versão original do programa.
O problema dos mapas multilineares
Os primeiros modelos de iO, apresentados em 2013 por Sahai, dividiam o programa numa espécie de peças de um puzzle e, de seguida, usavam objetos criptográficos chamados “mapas multilineares” para misturar as peças originais. O estudo teve bastante sucesso à data do lançamento, mas, com o passar dos anos, foram apresentadas novas teses que mostravam a fragilidade do modelo.
Em 2016, Lin tentou contornar o problema da fragilidade dos mapas multilineares – que são, em geral, formas secretas de computação com cálculos matemáticas. O objetivo era impedir que o invasor pudesse descobrir o cálculo que “desbloqueia” o programa.
Com o passar dos anos, Lin chegou à conclusão que, para contornar esta fragilidade, a equipa ia precisar de um último ingrediente: um novo tipo de gerador de pseudo-aleatoriedade – algo que expande uma sequência de bits aleatórios para uma sequência maior, que parece aleatória o suficiente para enganar os computadores. Obtido este último ingrediente, o resultado foi um protocolo iO que finalmente evita os pontos fracos de segurança dos mapas multilineares.
No entanto, há algo que pode quebrar este novo esquema: um computador quântico, caso algum dia seja construído um modelo com potência total. Conscientes desse possível entrave no futuro, os cientistas vão continuar a trabalhar no seu programa ao longo dos próximos anos, de forma a criar uma nova versão do iO que também resista a ataques quânticos.