Pesquisadores da Google derrotam SHA-1

A função de hash SHA-1, amplamente utilizada em diversos sistemas de segurança, acaba de ser derrotada por pesquisadores da Google. Veja as implicações.

Funções hash são funções matemáticas que, a partir de uma entrada de tamanho variável, geram um resultado de tamanho fixo que funciona como uma “impressão digital” dos dados de entrada. São amplamente utilizadas em assinaturas e certificados digitais, por exemplo. Métodos mais antigos como MD5 já foram vencidos, mas o SHA-1 era, até esta semana, considerado sólido, ainda que a própria Google já viesse alertando que era apenas questão de tempo até o SHA-1 ser quebrado.

Isto aconteceu nesta semana, onde pesquisadores desenvolveram um método que permitiu criar dois arquivos PDF diferentes que possuem o mesmo hash SHA-1 (ou seja, uma colisão de hashes). Isto coloca em cheque a confiabilidade de certificados digitais que usem esta função, pois é possível criar um certificado falso que pareça idêntico ao legítimo, levando o usuário a acessar uma página falsa, por exemplo. Em função disto, a Google já vem recomendando a substituição do SHA-1 por funções mais seguras como SHA-256.

Ainda assim, o método encontrado pelos pesquisadores não é de fácil reprodução. Para gerar a colisão, foram necessários:

  • Nove quintilhões (9,223,372,036,854,775,808) de computações SHA1 no total
  • 6,500 anos de CPU para completar a primeira fase do ataque
  • 110 anos de GPU para completar a segunda fase

Apesar de parecer muito, isto ainda é bem menos esforço do que encontrar uma colisão via força bruta, o que demoraria 12.000.000 de anos de processamento em uma GPU, colocando este método no alcance fácil de nações-estado ou de quadrilhas com amplos recursos.

shattered-infographic