RSA é um algoritmo de criptografia de dados, que deve o seu nome a três professores do Instituto MIT (fundadores da actual empresa RSA Data Security, Inc.), Ronald Rivest, Adi Shamir e Leonard Adleman, que inventaram este algoritmo — até a data (2008), a mais bem sucedida implementação de sistemas de chaves assimétricas, e fundamenta-se em teorias clássicas dos números. É considerado dos mais seguros, já que mandou por terra todas as tentativas de quebrá-lo. Foi também o primeiro algoritmo a possibilitar criptografia e assinatura digital, e uma das grandes inovações em criptografia de chave pública.
Esta definição é proveniente da Wikipedia e descreve o algoritmo de cifra RSA. Mas provavelmente terá de ser alterada. E isto porque 3 investigadores da Universidade de Michigan conseguiram quebra-lo. E para isso gastaram apenas 100 horas.
Esta proeza foi conseguida no passado dia 7 de Janeiro. Os investigadores que o conseguiram fazer chamam-se Valeria Bertacco, Todd Austin e Andrea Pellegrini e para o conseguirem utilizaram um sistema Linux SPARC implementado em FPGA.
O resultado do trabalho vai se apresentado na conferência “Design, Automation and Test in EuropeDesign, Automation and Test in Europe” a ter lugar no próximo dia 10 de Março.
Eis a descrição do processo segundo os autores:
“Primeiro, nós desenvolvemos uma falha sistemática, fizemos ataques baseados no algoritmo de exponenciação modular para RSA. Por outro lado, nós exploramos uma falha grave na execução do algoritmo de assinatura RSA no OpenSSL, um pacote muito utilizado para criptografia SSL e autenticação. Em terceiro lugar, relata-se a primeira manifestação física de uma falha de ataque baseado em segurança de um sistema completo de microprocessadores executando software de produção inalterado: atacamos a biblioteca OpenSSL, autenticação original rodando em um sistema Linux SPARC implementado em FPGA, e extraimos bits do sistema 1024 a chave privada RSA em aproximadamente 100 horas.”
De salientar que o comprimento da chave determina o nível de segurança. Mas este quebra é independente do comprimento da chave. Além disso, é um método de força bruta e de fácil implementação.
Não é a primeira vez que o algoritmo de cifra RSA é quebrado. Antes tinham sido as chaves de 768 bits. Como resposta a esta quebra estão iminentes algumas mudanças na implementação do protocolo RSA.
Dada a sua utilização em tantas aplicações e serviços web só resta esperar que este problema seja rapidamente ultrapassado e vai começar o trabalho de muitos administradores de sistemas para a mudança para chaves de 2048 bits.
Caso pretenda ler o trabalho desenvolvido pelos 3 investigadores pode aceder a ele através deste link.