AnonymFlow
securite-reseauINFO

O WireGuard é seguro face à computação quântica? O que o protocolo oferece realmente

O handshake do WireGuard usa Curve25519, que um computador quântico quebraria. O protocolo tem uma única resposta, uma chave pré-partilhada opcional, e a sua própria documentação é prudente quanto ao que isso garante. O que o NIST normalizou e o que o WireGuard diz realmente.

Por Eric Gerard · Editor · AnonymFlow5 min de leituraPhoto via Pexels

A pergunta surge sempre que a computação quântica chega às notícias: a minha VPN continua a proteger-me? No caso do WireGuard, a resposta honesta exige separar aquilo que o protocolo faz hoje daquilo que um organismo de normalização publicou, porque não são a mesma coisa.

A parte que é genuinamente vulnerável

O handshake do WireGuard assenta em Curve25519. A troca de chaves de curva elítica é exatamente a família de criptografia que um grande computador quântico quebraria, e é precisamente por isso que a pergunta se coloca.

Não se trata de uma falha do WireGuard. É o estado de quase toda a troca de chaves em uso, e é a razão pela qual o NIST conduziu um processo de vários anos para normalizar substitutos.

O que o NIST normalizou realmente

A 13 de agosto de 2024, o NIST publicou a FIPS 203, que especifica um mecanismo de encapsulamento de chave chamado ML-KEM.

Um KEM faz um trabalho específico: permite a duas partes estabelecer uma chave secreta partilhada através de um canal público, que pode depois ser usada para a cifra e a autenticação simétricas comuns. A sua segurança assenta no problema Module Learning with Errors e, na formulação cuidadosa da norma, crê-se que é seguro, mesmo perante adversários que possuam um computador quântico.

A norma define três conjuntos de parâmetros, ML-KEM-512, ML-KEM-768 e ML-KEM-1024, por ordem de força de segurança crescente e desempenho decrescente. Repare na formulação ao longo de todo o texto: crê-se que é seguro. É assim que escrevem os criptógrafos, e vale a pena lê-lo à letra e não como uma cautela de marketing.

Um cadeado de latão fechado num arame enferrujado e retorcido enrolado à volta de um poste de betão.
Um cadeado de latão fechado num arame enferrujado e retorcido enrolado à volta de um poste de betão.

O que o WireGuard oferece em alternativa

O WireGuard não implementa o ML-KEM. O que a sua página de protocolo descreve é uma chave pré-partilhada opcional, a usar caso seja necessária uma camada adicional de criptografia de chave simétrica (para, digamos, resistência pós-quântica).

Três pormenores importam aqui.

É misturada, não substituída. A chave pré-partilhada é combinada com a criptografia de chave pública durante a derivação de chaves. Um atacante precisa, por isso, de quebrar o Curve25519 e de deter o segredo partilhado. A curva elítica não é removida, é reforçada.

Está desativada por predefinição. Quando o modo de chave pré-partilhada não está em uso, o valor é tratado como uma cadeia de 32 bytes toda a zeros. Nada acontece a menos que a configure.

A própria documentação se acautela. A expressão é para, digamos, resistência pós-quântica. Esse «digamos» faz um trabalho real: a página apresenta o caso de uso como um exemplo e não como uma garantia, e não enuncia qualquer afirmação formal de segurança quanto a adversários quânticos. Um protocolo que quisesse anunciar segurança pós-quântica não o formularia assim.

A distinção que decide tudo

Ambas as abordagens terminam com um segredo partilhado, mas resolvem metades opostas do problema.

O ML-KEM estabelece um segredo entre partes que nunca se encontraram, através de um canal que qualquer pessoa pode observar. Esse é o problema difícil, e é esse que um computador quântico ameaça.

A chave pré-partilhada do WireGuard pressupõe que o segredo já existe. Tem de fazer chegar 32 bytes a ambos os peers por outra via, em segurança, e mantê-los seguros depois.

Assim, a chave pré-partilhada é uma mitigação real, e não é o mesmo que o estabelecimento de chave pós-quântico. Se conseguir distribuir segredos fora de banda, funciona. Se não conseguir, não ajuda, e ativá-la tantas vezes quantas quiser não altera isso.

O que fazer na prática

Ative-a se controlar ambas as extremidades. Túneis entre instalações, os seus próprios servidores, um punhado de dispositivos que administra: o problema da distribuição de chaves é pequeno e a mitigação é real. Responde à preocupação do recolher agora, decifrar depois, em que o tráfego captado hoje é armazenado até existir um computador quântico.

Pese honestamente o custo operacional. Cada par de peers precisa da sua própria chave, distribuída em segurança, rodada e protegida. Uma chave pré-partilhada divulgada é pior do que nenhuma, porque remove a camada que julgava ter enquanto continua a acreditar que ela está lá.

Não espere que a sua VPN comercial a ofereça. O modelo de chave pré-partilhada adequa-se a uma infraestrutura que lhe pertence, não a um fornecedor que serve milhares de clientes. Se um fornecedor alegar proteção pós-quântica, a pergunta útil é qual o mecanismo, e se se trata de ML-KEM ou de algo a que ele próprio deu um nome.

O resumo honesto

O WireGuard não é seguro face à computação quântica por predefinição, e o seu handshake assenta em Curve25519, que a computação quântica ameaça diretamente.

A sua resposta é uma chave pré-partilhada opcional, misturada na criptografia existente, desligada salvo configuração, e descrita pela sua própria documentação com um digamos deliberado em vez de uma promessa. O ML-KEM do NIST, normalizado na FIPS 203 a 13 de agosto de 2024 com três conjuntos de parâmetros, resolve o problema mais difícil de estabelecer um segredo em primeiro lugar.

Use a chave pré-partilhada onde possa distribuir chaves em segurança. Não a confunda com a norma e desconfie de quem esbate a diferença.

A descrição do ML-KEM, a data de publicação da FIPS 203 de 13 de agosto de 2024, os três conjuntos de parâmetros, a base Module Learning with Errors e a expressão sobre crer-se seguro perante adversários que possuam um computador quântico provêm da página publicada pelo NIST para a FIPS 203. A chave pré-partilhada opcional, a sua finalidade declarada, a sua mistura na criptografia de chave pública e o valor predefinido de 32 bytes todos a zeros provêm da documentação do protocolo WireGuard. Ambas foram verificadas no momento da redação. As ligações comerciais têm o atributo rel="sponsored nofollow"; pode aplicar-se uma comissão de afiliação sem custo adicional para si.

Escolha editorial
4.6 / 5

Protege a tua ligação com a NordVPN

Threat Protection bloqueia rastreadores e malware · kill switch · 30 dias de reembolso

Auditoria Deloitte 2024Garantia de 30 dias14M+ usuários
Ver a oferta
Tudo o que precisa saber.

Perguntas frequentes

O WireGuard é pós-quântico por predefinição?

Não. O handshake do WireGuard assenta em Curve25519, uma troca de curva elítica que um computador quântico suficientemente capaz quebraria. O protocolo oferece uma chave pré-partilhada opcional para aquilo a que a sua documentação chama uma camada adicional de criptografia de chave simétrica, mas nada na configuração predefinida é pós-quântico.

O que faz realmente a chave pré-partilhada opcional?

A página do protocolo do WireGuard descreve-a como uma chave pré-partilhada opcional usada caso seja necessária uma camada adicional de criptografia de chave simétrica, para, nas suas próprias palavras, digamos, resistência pós-quântica. É misturada na criptografia de chave pública em vez de a substituir, pelo que um atacante teria de quebrar a curva elítica e, ao mesmo tempo, obter o segredo partilhado.

É o mesmo que a norma pós-quântica do NIST?

Não, e a distinção importa. O NIST normalizou o ML-KEM na FIPS 203, publicada a 13 de agosto de 2024, que é um mecanismo de encapsulamento de chave que permite a duas partes estabelecer um segredo partilhado através de um canal público, com uma segurança que se crê manter-se mesmo perante um adversário com um computador quântico. A chave pré-partilhada do WireGuard pressupõe que já partilha um segredo por outra via. Uma resolve o estabelecimento de chave, a outra pressupõe-no.

Devo ativar a chave pré-partilhada?

Custa pouco se conseguir distribuir a chave em segurança, e encerra a preocupação do recolher agora, decifrar depois para o tráfego que espera que permaneça sensível durante anos. O senão é operacional e não criptográfico: passa a ter um segredo para distribuir, rodar e proteger para cada par de peers, e uma chave pré-partilhada que se divulga é pior do que não a ter.

Quais são os conjuntos de parâmetros do ML-KEM?

A FIPS 203 define três: ML-KEM-512, ML-KEM-768 e ML-KEM-1024, listados por ordem de força de segurança crescente e desempenho decrescente. Os nomes referem-se a níveis de segurança e não a tamanhos de chave, e o compromisso é o habitual entre margem e velocidade.