Segurança baseada em SSL usando certificados X509 a partir de certos CA abrem uma vulnerabilidade para sites se disfarçarem sob um certificado X509 falsificado, mesmo em uma conexão "segura". Isto foi demonstrado recentemente na Chaos Conference em Berlim.
" Tornar possível aquilo que é teórico algumas vezes é a única maneira de você causar mudança e tornar a internet mais segura". Esta é a conclusão do "MD5 Considerado Prejudicial Hoje: Criando um certificado CA falsificado", uma palestra realizada em 29 de dezembro de 2008 no 25º Chaos Communication Congress em Berlim. Nesta palestra, os autores revelaram como eles utilizaram anteriormente uma teoria de ataque na assinatura do MD5, descrita pela primeira vez em 2004, para construir certificados falsificados que podem permitir um " perfect man in the middle attack " em SSL de segurança em web sites.
O ataque funciona da seguinte maneira. Servidores SSL são autenticados usando um certificado x.509 emitido por uma das muitas "autoridades certificadoras confiáveis " ou "CA". A autoridade de assinatura "assina" um certificado usando um dos vários algoritmos criptográficos para gerar um hash. Os algoritmos são projetados de forma que a probabilidade de dois diferentes conjuntos de dados calculando o mesmo valor do hash -- uma colisão -- é extremamente pequena.
Para fazer um ataque, o falsificador precisa comprar vários certificados SSL de CA que assinam certificados com o algoritmo MD5. Utilizando informações obtidas a partir destes certificados, é possível construir um certificado aparentemente válido, mas falsificado, com uma assinatura válida a partir de um dos certificados comprados, mas com diferentes conteúdos, adicionando especialmente um computed block de dados para forçar uma colisão. Agora o algoritmo MD5 falsamente verificará a assinatura que combina com os novos conteúdos. Em efeito, é como falsificar uma carta colocando novos conteúdos num pedaço de papel que foi legitimamente assinado.
Uma vez que o certificado falsificado foi criado, ele pode ser usado em um "perfect man in the middle attack", utilizando o certificado, um proxy pode ser configurado de forma que aparenta ser legitimo para ambas as extremidades de uma conexão SSL, neste momento, qualquer informação confidencial pode ser capturada e armazenada pelo falsificador.
O ataque é computacionalmente intensivo, mas avanços recentes e a Lei de Moore tornaram possíveis a computação para uma colisão de certificados. Neste caso, a computação pode ser feito por cercade $2000 no Amazon EC2 cloud, ou por um "supercomputador em casa" feito a partir de PS3 em clusters.
Este ataque não significa que toda a internet ou segurança do SSL tenha sido comprometida, mas isso significa que os fornecedores deveriam evitar usar o algoritmo de assinatura MD5. Os autores identificaram e notificaram uma série de autoridades certificadoras que continuam a ter certificados ativos com assinaturas MD5.