Mitos - MD5 foi quebrado

Setembro 2017


Mito


MD5 foi quebrado.
Nada é certo.
Não se deve mais utilizar.

Realidade


FALSO.

Explicações

Colisões


A falha encontrada no MD5 concerne a possibilidade de encontrar as colisões MD5 (quer dizer blocos de dados diferentes possuindo a mesma MD5), o que não foi jamais realizado antes.

Naquilo que é seguro, encontrar tais colisões necessitaria tempo de cálculo que foge ao nosso alcance.

Os pesquisadores conseguiram encontrar rapidamente colisões MD5, o que representa uma real descoberta em criptografia.

No entanto, é sempre possível gerar dados tendo um MD5 precisa.

Então, não fica excluído para um « inimigo » criar um arquivo tendo o mesmo MD5 que um arquivo existente. Pode-se então dizer que MD5 foi "quebrado".

(Pode-se criar um arquivo tendo o mesmo nome MD5, mas isto exigiria a inclusão de um bloco de dados de « entupimento » (chamado invariante MD5), e você não escolheria nem o conteúdo nem este bloco de entupimento que tem um aspecto aleatório), nem a MD5 resultante).

Será preciso então, a longo prazo, passar aos algoritmos (como SHA-256, SHA-512), mas no imediato, MD5 não apresenta nenhum problema de segurança (a não em certos casos bem particulares).


Nota: Algumas colisões foram também encontradas SHA-1. As mesmas observações se aplicam.

Rainbow-tables


Fala-se também que não se deveria utilizar MD5 pois com os rainbow-tables, pode-se encontrar a senha em somente alguns segundos, ou alguns minutos.

Na pratica


Na pratica, este não é um verdadeiro problema.
  • para se opor aos riscos da presença de invariantes MD5, pode-se utilizar MD5 concatenada à SHA-1. As invariantes sendo diferentes, impossível de falsificar as duas ao mesmo tempo. Pode-se também utilizar SHA-256 ou SHA-512 no lugar de (ou com) MD5.
  • para se opor as rainbow-tables, basta acrescentar um salt na frente : No lugar de calcular MD5(SENHA), calcula-se MD5("qualquer coisa"+SENHA). Isto deixa as rainbow-tables totalmente inutilizáveis para um ataque.



Mas por outro lado, para os sistemas existentes que utilizam MD5 puro , isto pode provocar problemas, tanto para as invariantes como para as rainbow-tables.
Estes sistemas devem ser atualizados.

Veja também

Artigo original publicado por sebsauvage. Tradução feita por ninha25. Última modificação: 24 de junho de 2010 às 04:56 por ninha25.
Este documento, intitulado 'Mitos - MD5 foi quebrado ', está disponível sob a licença Creative Commons. Você pode copiar e/ou modificar o conteúdo desta página com base nas condições estipuladas pela licença. Não se esqueça de creditar o CCM (br.ccm.net) ao utilizar este artigo.