Artigo

WireGuard vs. AmneziaWG: Qual é a Diferença Entre os Protocolos

A HamikVPN, como vários outros serviços, usa o protocolo AmneziaWG — mas o que isso realmente significa? Um algoritmo de criptografia diferente, ou algo totalmente distinto? Aqui está uma análise técnica do que exatamente muda em relação ao WireGuard puro, e do que permanece igual.

WireGuard: um protocolo compacto com uma assinatura reconhecível

O WireGuard se tornou popular exatamente por sua simplicidade: uma base de código pequena, criptografia moderna sem a necessidade de escolher entre dezenas de algoritmos, e alta velocidade em comparação com protocolos mais antigos. O outro lado dessa simplicidade é a previsibilidade no nível dos pacotes individuais. Segundo a documentação técnica do AmneziaWG, o pacote de iniciação do handshake do WireGuard padrão tem sempre exatamente 148 bytes, seu pacote de resposta tem 92 bytes, e seu pacote de cookie tem 64 bytes. Esses tamanhos e cabeçalhos fixos e repetitivos formam uma "impressão digital" estável que equipamentos de análise de tráfego ao longo do caminho da conexão podem usar para reconhecer que o WireGuard está sendo usado, mesmo sem conseguir ler os dados criptografados em si.

Isso não é uma fragilidade teórica na criptografia — o conteúdo do tráfego continua protegido. A questão é de metadados: qual protocolo você está usando fica visível pelo formato dos pacotes, mesmo quando o conteúdo deles é ilegível. E redes que aplicam análise e modelagem de tráfego — de operadoras móveis individuais a redes corporativas e de hotéis — às vezes tratam o tráfego de VPN reconhecido de forma diferente do tráfego comum, o que pode afetar a estabilidade da conexão.

O que o AmneziaWG muda: ofuscação na camada de transporte

O AmneziaWG é um fork da implementação WireGuard-Go que elimina exatamente essa previsibilidade, sem tocar no núcleo criptográfico. Segundo a documentação oficial do projeto, alguns grupos de parâmetros são responsáveis por isso:

  • Jc, Jmin, Jmax — antes do handshake principal, são enviados Jc pacotes de "lixo" de tamanho aleatório entre Jmin e Jmax bytes. O destinatário não os analisa nem os valida — para um observador externo, eles parecem ruído UDP neutro que borra o tempo e o tamanho característicos do início de uma sessão.
  • S1–S2 — prefixos pseudoaleatórios (0–32/64 bytes) adicionados a cada tipo de pacote, tornando seu comprimento variável em vez de fixo.
  • H1–H4 — os identificadores de cabeçalho previsíveis do WireGuard são substituídos por valores aleatórios dentro de uma faixa configurada, de modo que clientes diferentes terminam com cabeçalhos diferentes — o que significa que nenhuma regra de detecção universal única pode ser escrita para cobrir todos eles.

Um detalhe importante: todos esses parâmetros são configurados no lado do servidor e precisam coincidir no lado do cliente, ou o túnel simplesmente não se estabelece — um cliente WireGuard comum não vai entender esse servidor, e vice-versa.

O que permanece igual: o núcleo criptográfico

A ofuscação atua apenas na camada de transporte — o formato e o tempo dos pacotes. Ela não substitui nem enfraquece a criptografia em si. Como afirma a documentação oficial do protocolo WireGuard, a troca de chaves é construída sobre a curva elíptica Curve25519, a criptografia dos dados roda em ChaCha20 combinado com o código de autenticação Poly1305, e o hashing usa BLAKE2s. O AmneziaWG herda exatamente esse conjunto de algoritmos, sem alterações: seus desenvolvedores deixaram deliberadamente intocado o código criptográfico — já revisado por pesquisadores independentes — limitando as mudanças aos cabeçalhos e pacotes de serviço. Do ponto de vista da proteção do conteúdo do tráfego, não há diferença entre WireGuard e AmneziaWG.

O que isso significa na prática

Para o uso do dia a dia, a diferença se resume a duas coisas. Primeiro, o aplicativo e o servidor precisam usar o mesmo conjunto de parâmetros de ofuscação — você não precisa configurar isso manualmente, desde que ambas as pontas usem um cliente compatível, como o aplicativo AmneziaVPN ou a HamikVPN. Segundo, a primeira fase do estabelecimento da conexão demora um pouco mais por causa dos pacotes de lixo, mas isso não afeta a taxa de transferência de um túnel já estabelecido. Se você está comparando serviços pelo protocolo, vale olhar não para rótulos de marketing, mas para a criptografia realmente declarada na documentação — os critérios gerais estão em nosso artigo sobre como escolher um serviço de privacidade.

Quer testar o AmneziaWG na prática?
3 dias grátis, sem cartão necessário
Testar gratuitamente

Perguntas frequentes

O AmneziaWG é um protocolo de criptografia separado, ou apenas uma configuração do WireGuard?
Tecnicamente, é um fork da implementação WireGuard-Go: o núcleo criptográfico — troca de chaves em Curve25519, criptografia ChaCha20-Poly1305, hashing BLAKE2s — é totalmente preservado, sem alterações. O que muda é o formato do cabeçalho e a estrutura dos pacotes na camada de transporte: como o túnel se apresenta do lado de fora, não como ele protege os dados por dentro.
A ofuscação do AmneziaWG deixa a conexão mais lenta?
Sim, mas apenas marginalmente: os pacotes de lixo adicionam uma pequena sobrecarga de tráfego antes de a conexão ser estabelecida, não durante toda a sessão. Na prática, a diferença na taxa de transferência depois que o túnel é estabelecido geralmente não é perceptível — a parte mais perceptível pode ser uma fase inicial de conexão um pouco mais longa.
Um cliente WireGuard comum consegue se conectar a um servidor AmneziaWG?
Não: se os parâmetros Jc, Jmin, Jmax, S1–S2 e H1–H4 do servidor estiverem definidos com valores diferentes de zero, um cliente WireGuard comum não entenderá o formato do pacote e a conexão não será estabelecida. É necessário um cliente que suporte os mesmos parâmetros — por exemplo, o aplicativo AmneziaVPN ou o HamikVPN com as configurações de nó correspondentes.
Ter mais parâmetros significa que o AmneziaWG tem uma superfície de ataque maior?
Os parâmetros extras afetam apenas a camada de transporte — como os cabeçalhos e os pacotes de serviço são formados, não as primitivas criptográficas. A criptografia real dos dados continua sendo o mesmo código do WireGuard, que já passou por revisão criptográfica independente, e não algo reescrito do zero.