Quebrei as chaves de uma Autoridade Certificadora dos anos 90 — e o que encontrei é puro Far West da segurança web
A História dos Certificados de 512 bits: Quando a Criptografia Envelhece Mal
A cada poucos anos, a comunidade de segurança digital faz uma faxina silenciosa. Algoritmo que era considerado seguro vira relíquia perigosa. O que era 128 bits nos anos 90 hoje parece absurdocamente frágil. Aquelas chaves RSA que pareciam gigantes inquebráveis? Caem em factorization em poucas horas em hardware comum.
Foi exatamente isso que aconteceu quando um pesquisador recentemente pubblicou os resultados de sua empreitada: conseguiu fatorar chaves RSA de 512 bits pertencentes a autoridades certificadoras (CAs) antiquíssimas — os pilares de confiança que os navegadores usam para verificar a identidade de sites. As chaves em questão vieram do Netscape 4.51, lançado em março de 1999, que trazia certificados de uma CA canadense chamada E-Certify. Essas raízes ficaram confiáveis para conexões SSL até 2003, quando finalmente a comunidade reconheceu o que já deveria estar claro: 512 bits nunca foram suficientes.
Por Que 512 Bits Sempre Foi Uma Má Ideia
RSA-512, como o nome sugere, usa um módulo de 512 bits — o produto de dois números primos grandes. Nos anos 90, fatorar um número assim era teoricamente possível, mas praticamente difícil. Só que a matemática não mudou; o poder computacional sim.
Um processador Ryzen 9 moderno fatora uma chave RSA-512 em mais ou menos 30 horas usando ferramentas open source como o CADO-NFS. Em 1999, a mesma chave exigiria ou um supercomputador ou um esforço distribuído massivo.
O mais impressionante é que já em 1999 isso era muito no limite. O RSA-155 (um número de 512 bits com 155 dígitos decimais) foi fatorado em agosto de 1999 — apenas meses depois que os certificados E-Certify começaram a ser distribuídos. O pesquisador observou que provavelmente essas chaves nunca deveriam ter sido emitidas.
O Contexto Histórico do Web PKI
O Web PKI — o sistema de autoridades certificadoras que segura o HTTPS — foi construído sobre premissas de confiança que hoje parecem ingênuas. Nos anos 90, os navegadores ships com dezenas de certificados raiz de autoridades espalhadas pelo mundo, com padronização mínima em tamanhos de chave ou práticas operacionais.
A Netscape, que essencialmente inventou o comércio web com SSL em 1994, era particularmente permissiva. O Internet Explorer era mais conservador — nenhuma raiz RSA de 512 bits para SSL jamais veio no IE. Mas a abordagem da Netscape criou um artefato histórico: certificados CA de 512 bits que permaneciam confiáveis em qualquer sistema rodando uma versão antiga do Netscape com o relógio desatualizado.
O Que Isso Significa Para a Segurança Atual
O ponto principal não é apenas "nunca use RSA de 512 bits". Isso é óbvio. A lição mais importante é que padrões de segurança são documentos vivos. Uma chave RSA de 2048 bits, que as práticas atuais exigem, eventualmente também será considerada pequena demais. O projeto de padronização de criptografia pós-quântica do NIST já está em andamento porque os pesquisadores anticipate que computadores quânticos eventualmente quebrarão o RSA completamente.
Para devs e organizações hoje, essa lição histórica reforça alguns princípios importantes:
- Planeje a migração de algoritmos: Sua infraestrutura vai precisar de atualizações conforme os padrões criptográficos evoluem. Evite hardcodar algoritmos específicos.
- Acompanhe os cronogramas de depreciação: Autoridades certificadoras e navegadores regularmente announce datas de aposentadoria para tamanhos de chave e funções hash antigos.
- Automatize a renovação de certificados: Processos manuais levam a certificados esquecidos e configurações desatualizadas.
- Use Certificate Transparency: CAs modernos precisam logar certificados publicamente, dificultando que atores maliciosos obtenham certificados fraudulentos.
O Lado Divertido
Além das implicações de segurança, tem algo incrivelmente legal em quebrar chaves criptográficas de uma autoridade certificadora extinta. O pesquisador publish tanto as chaves privadas da E-Certify quanto configurou um servidor HTTPS de teste que funciona com o Netscape Navigator 4.51. É uma cápsula do tempo, provando que esses certificados antigos ainda podem autenticar conexões — pelo menos para navegadores rodando software mais antigo que muitos desenvolvedores de hoje.
Se você tiver curiosidade de explorar arquivos de certificados antigos, o pesquisador disponibilizou ferramentas e instruções para extrair e analisar certificados raiz históricos. Você pode encontrar outras CAs esquecidas com chaves igualmente fracas. É um lembrete de que a história da internet deixa rastros, e nem todos eram seguros desde o início.
Na próxima vez que você configurar TLS para sua aplicação, dê um momento para apreciar o quanto evoluímos — e como sua plataforma de hospedagem provavelmente lida automaticamente com renovações de certificados, tamanhos de chave e seleção de cipher suites. Os tempos de faroeste dos CAs de 512 bits ficaram para trás, mas as lições sobre higiene criptográfica permanecem tão relevantes quanto sempre.