pqcstatus
Guia

Como verificar se seu site suporta TLS pós-quântico

Três métodos confiáveis, o que os resultados significam e as armadilhas que fazem um site parecer pronto quando não está.

· 7 min

Um site está pronto para a era pós-quântica, na parte que mais importa hoje, quando seu servidor consegue acordar chaves de sessão usando uma troca de chaves pós-quântica híbrida. A opção mais implantada é o X25519MLKEM768, que combina o X25519 clássico com o ML-KEM-768, o mecanismo de encapsulamento de chaves padronizado pelo NIST no FIPS 203. Ele está registrado na IANA como grupo TLS 0x11EC e é o único grupo pós-quântico que a IANA marca como recomendado.

Por que começar pela troca de chaves? Por causa do harvest now, decrypt later (colete agora, decifre depois): um atacante pode gravar tráfego criptografado hoje e decifrá-lo quando existir um computador quântico de grande porte. Apenas a troca de chaves protege o tráfego gravado. Certificados e assinaturas também importam, mas uma assinatura precisa ser forjada em tempo real, então eles podem migrar depois.

Método 1: uma análise online

A forma mais rápida é informar o domínio no scanner da PQC Status. Ele oferece ao servidor cada grupo pós-quântico padronizado, um por um, e informa quais são aceitos, qual grupo um navegador moderno realmente obtém, as versões de TLS e suítes de cifras e a cadeia de certificados. Leva poucos segundos e não exige acesso ao servidor.

Método 2: um comando OpenSSL

Com o OpenSSL 3.5 ou posterior (verifique com openssl version), ofereça apenas o grupo híbrido. Se o servidor o suportar, o handshake é concluído; caso contrário, ele falha:

openssl s_client -connect example.com:443 -servername example.com \
  -groups X25519MLKEM768 -brief </dev/null

Um servidor pronto para a era pós-quântica responde com uma linha como:

Protocol version: TLSv1.3
Negotiated TLS1.3 group: X25519MLKEM768

Um servidor que só suporta grupos clássicos encerra o handshake com um alerta, normalmente ssl/tls alert handshake failure (alerta número 40). Observe que o s_client termina com status 0 nos dois casos: leia a saída, não o código de retorno.

Para testar os outros grupos híbridos, substitua o nome do grupo por SecP256r1MLKEM768 ou SecP384r1MLKEM1024. Este último é a opção de nível 5 que a ANSSI prefere sempre que possível.

Método 3: o navegador

As versões atuais do Chrome, do Edge e do Firefox oferecem X25519MLKEM768 por padrão. Em navegadores baseados no Chromium, abra as ferramentas de desenvolvedor, vá ao painel Security e veja os detalhes da conexão: a linha da troca de chaves indica o grupo negociado. Isso mostra o que o seu próprio navegador obteve, o que é útil para uma verificação rápida, mas depende da versão do navegador.

Interpretando o resultado corretamente

Uma CDN pode esconder sua origem

Se o seu site está atrás da Cloudflare, Fastly, CloudFront ou de outra CDN, todo teste externo vê a borda, não o seu servidor. Muitas CDNs ativam a troca de chaves híbrida por padrão na borda, então o site parece pronto. A conexão da CDN até o seu servidor de origem é um link TLS separado, que pode ainda usar apenas troca de chaves clássica. Teste a origem diretamente, a partir de uma máquina autorizada a acessá-la, com o comando OpenSSL acima.

O TLS 1.3 é pré-requisito

A troca de chaves híbrida só existe no TLS 1.3. Um servidor limitado ao TLS 1.2 não pode estar pronto para a era pós-quântica, qualquer que seja o seu certificado. O memorando M-26-15 do OMB dos EUA também exige TLS 1.3 para sistemas federais até janeiro de 2030.

Certificados clássicos são normais hoje

Seu certificado quase certamente usa RSA ou ECDSA. Isso é esperado: as autoridades certificadoras públicas ainda não emitem certificados pós-quânticos para a web. Registre o algoritmo do certificado no seu inventário, mas não o trate como um impedimento para a etapa da troca de chaves.

Rascunhos antigos do Kyber não contam

Algumas implantações iniciais usaram X25519Kyber768Draft00, uma versão pré-padrão do algoritmo. Ela está obsoleta: os servidores devem migrar para os grupos ML-KEM padronizados.

O que fazer se a resposta for não

  1. Verifique a biblioteca TLS: OpenSSL 3.5 ou posterior, ou uma biblioteca equivalente com suporte ao ML-KEM.
  2. Ative o grupo híbrido no seu servidor web ou balanceador de carga, mantendo o X25519 como fallback. Nosso guia para ativar o ML-KEM no nginx, Apache, HAProxy e Caddy traz as diretivas exatas.
  3. Execute o teste novamente e adicione o resultado, com a data, ao seu inventário criptográfico.

Perguntas frequentes

O TLS pós-quântico deixa meu site mais lento?

Quase nada. A troca de chaves híbrida acrescenta cerca de um kilobyte ao handshake e uma quantidade insignificante de processamento. Navegadores e grandes CDNs a ativaram por padrão, o que mostra que o custo é aceitável em larga escala.

O X25519MLKEM768 é aprovado pelas agências de segurança?

O ML-KEM é um padrão do NIST (FIPS 203). A ANSSI e o BSI recomendam usá-lo em modo híbrido com um algoritmo clássico, que é exatamente o que o X25519MLKEM768 faz. A ANSSI prefere o nível de segurança mais alto sempre que possível, por exemplo o SecP384r1MLKEM1024.

Por que o teste com OpenSSL falha com uma versão antiga do OpenSSL?

Os grupos ML-KEM estão disponíveis nativamente a partir do OpenSSL 3.5. Com uma versão mais antiga, o cliente simplesmente não consegue oferecer o grupo, então o teste não prova nada sobre o servidor. Atualize primeiro o OpenSSL na máquina de teste.

Também preciso de certificados pós-quânticos?

Ainda não para sites públicos, porque as autoridades certificadoras não os emitem. Planeje-se: registre quais certificados você usa, mantenha-os com validade curta e garanta que sua infraestrutura consiga trocar de algoritmo com facilidade.