Pergunta

Continuo lendo no SO que o MD5 está quebrado, falido, obsoleto e nunca deve ser usado.Isso me irrita.

O fato é que ataques de colisão no MD5 agora são bastante fáceis.Algumas pessoas transformam os ataques de colisão em uma arte e podemos até mesmo usá-los para prever eleições.

Acho a maioria dos exemplos de "quebrabilidade" do MD5 menos interessantes.Mesmo o famoso hack de certificado CA foi um ataque de colisão, o que significa que é provável que a parte tenha gerado os certificados BOM e MAL ao mesmo tempo.Isso significa que se a CA EVIL encontrou seu caminho para a natureza, é provável que ela tenha vazado da pessoa que tinha a CA boa e, portanto, era confiável de qualquer maneira.

O que seria muito mais preocupante é uma pré-imagem ou segundo ataque de pré-imagem.

Qual é a probabilidade de um ataque de pré-imagem no MD5?Existe alguma pesquisa atual que indique que isso é iminente?O fato de o MD5 ser vulnerável a ataques de colisão aumenta a probabilidade de sofrer um ataque de pré-imagem?

Foi útil?

Solução

Na criptografia, as recomendações geralmente não são feitas prevendo o futuro, pois isso é impossível de fazer.Em vez disso, os criptógrafos tentam avaliar o que já é conhecido e publicado.Para se ajustarem a possíveis ataques futuros, os criptosistemas são geralmente projetados de forma que haja alguma margem de segurança.Por exemplo.as chaves criptográficas geralmente são escolhidas um pouco mais do que o absolutamente necessário.Pela mesma razão, os algoritmos são evitados quando são encontradas fraquezas, mesmo que essas fraquezas sejam apenas certificacionais.

Em particular, os Laboratórios RSA recomendaram abandonar o MD5 para assinaturas já em 1996, depois que Dobbertin encontrou colisões na função de compressão.Colisões na função de compressão não implicam que existam colisões na função hash, mas não podemos encontrar colisões para MD5 a menos que possamos encontrar colisões para sua função de compressão.Assim, os Laboratórios RSA decidiram que não confiam mais na resistência à colisão do MD5.

Hoje, estamos numa situação semelhante.Se estivermos confiantes de que uma função hash é resistente a colisões, também podemos ter certeza de que a função hash é resistente à pré-imagem.Mas o MD5 tem fraquezas significativas.Conseqüentemente, muitos criptógrafos (incluindo pessoas como Arjen Lenstra) pensam que o MD5 não tem mais a margem de segurança necessária para ser usado mesmo em aplicações que dependem apenas da resistência à pré-imagem e, portanto, recomendam não usá-lo mais.Os criptógrafos não podem prever o futuro (portanto, não procure documentos que façam exatamente isso), mas podem recomendar precauções razoáveis ​​contra possíveis ataques.Recomendar não usar mais o MD5 é uma dessas precauções razoáveis.

Outras dicas

Nós não sabemos.

Esse tipo de adiantamento tende a vir 'de repente' - alguém faz um avanço teórico e encontra um método que é 2^10 (ou o que seja) vezes melhor que o melhor anterior.

Parece que ataques de pré -imagem ainda podem estar um pouco longe; uma artigo recente Reivindica uma complexidade de 2^96 para uma premiação em uma versão reduzida de 44 rodadas do MD5. No entanto, isso não é uma questão de probabilidade, mas se alguém é inteligente o suficiente para dar o passo final e trazer a complexidade para o negócio real para uma margem realista.

Dito isto, já que os ataques de colisão já são muito reais (um minuto em um laptop típico), e os ataques de pré -imagem podem (ou não) estar ao virar da esquina, é generall considerado prudente mudar para algo mais forte agora, antes que seja tarde demais.

Se as colisões não forem um problema para você, você pode ter tempo para esperar pelo Competição NIST SHA-3 para criar algo novo. Mas se você tiver o poder de processamento e os bits de sobra, usar o SHA-256 ou similar é provavelmente uma precaução prudente.

Falando criptograficamente, a resistência à pré-imagem do MD5 é quebrado, veja este artigo da Eurocrypt 2009.Neste contexto formal, "quebrado" significa mais rápido que ataques de força bruta, ou seja, ataques de força bruta.ataques com complexidade inferior a (2^128)/2 em média.Sasaki e Aoki apresentaram um ataque com uma complexidade de 2 ^ 123,4 que é de longe apenas teórico, mas todo ataque prático é baseado em um ataque teórico menos potente, então mesmo uma quebra teórica lança sério dúvidas sobre a sua segurança a médio prazo.O que também é interessante é que eles reutilizam muitas pesquisas realizadas em ataques de colisão no MD5.Isso ilustra bem o argumento da Accipitridae de que a margem de segurança do MD5 na resistência à pré-imagem desapareceu com os ataques de colisão.

Outra razão pela qual o uso do MD5 em 2009 foi e agora o uso do SHA1 é fortemente desencorajado para qualquer aplicativo é que a maioria das pessoas não entende de qual propriedade exata depende a segurança de seu caso de uso.Infelizmente, você provou meu ponto de vista em sua pergunta, afirmando que o ataque CA de 2008 não se baseou em uma falha na resistência à colisão, como caf apontou.

Para elaborar um pouco mais, toda vez que uma CA (confiável) assina um certificado, ela também assina dados possivelmente maliciosos provenientes de um cliente na forma de uma solicitação de assinatura de certificado (CSR).Agora, na maioria dos casos, todos os dados que serão assinados podem ser pré-calculados a partir do CSR e de algumas condições externas.Isso tem o efeito colateral fatal de que o estado em que a função hash estará, quando for fazer o hash dos dados não confiáveis ​​que saem do CSR, é completamente conhecido pelo invasor, o que facilita um ataque de colisão.Assim, um invasor pode pré-calcular um CSR que forçará a CA a fazer hash e assinar os dados que colidem com um certificado sombra conhecido apenas pelo invasor.A CA não pode verificar as pré-condições do certificado sombra que normalmente verificaria antes de assiná-lo (por exemplo, se o novo certificado não afirma ser um certificado raiz), pois só tem acesso ao CSR legítimo fornecido pelos invasores.De modo geral, quando você sofre ataques de colisão e parte dos seus dados é controlada por um invasor, você não sabe mais o que mais pode estar assinando além dos dados que vê.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top