Parece que as coisas estão indo muito bem dentro do projeto WireGuard, como Jason A. Donenfeld, autor de VPN WireGuard, apresentou o projeto WireGuardNT o qual é uma porta VPN WireGuard de alto desempenho para o kernel do Windows que é compatível com Windows 7, 8, 8.1 e 10 e oferece suporte às arquiteturas AMD64, x86, ARM64 e ARM.
É importante lembrar que no último semestre de 2019 os patches foram feitos com a implementação da interface VPN do projeto no ramal net-next, isso porque os desenvolvedores do WireGuard se comprometeram e concordaram em transferir parte do código para o principal kernel, não como uma API separada, mas como parte do subsistema Crypto API.
Depois disso, alguns meses depois, o projeto chegou às mudanças do OpenBSD para os utilitários ifconfig e tcpdump com suporte para a funcionalidade do WireGuard, documentação e pequenas alterações para integrar o WireGuard com o resto do sistema e depois disso o projeto foi movido para ter compatibilidade com o Android .
WireGuard VPN é implementado com base em métodos modernos de criptografia, fornece desempenho muito alto, é fácil de usar, descomplicado e se provou em uma série de grandes implantações que lidam com altos volumes de tráfego.
O projeto vem se desenvolvendo desde 2015, passou por uma auditoria formal e verificação dos métodos de criptografia usados. O WireGuard usa o conceito de roteamento de chave de criptografia, que envolve vincular uma chave privada a cada interface de rede e usar as chaves públicas para vincular.
A troca de chaves públicas para estabelecer uma conexão é feita por analogia com SSH. Para negociar chaves e conectar-se sem executar um daemon separado no espaço do usuário, o mecanismo Noise_IK do Noise Protocol Framework é usado, semelhante a manter authorized_keys em SSH. A transmissão de dados é feita por encapsulamento em pacotes UDP. Suporta a alteração do endereço IP do servidor VPN (roaming) sem interromper a conexão com a reconfiguração automática do cliente.
Encriptação usa criptografia de fluxo ChaCha20 e algoritmo de autenticação de mensagem Poly1305 (MAC). ChaCha20 e Poly1305 são posicionados como contrapartes mais rápidas e seguras para AES-256-CTR e HMAC, cuja implementação de software permite atingir um tempo de execução fixo sem usar suporte de hardware especial.
E agora o projeto chega como uma porta para Windows que baseia-se na base de código testada da implementação principal do WireGuard para o kernel do linux, que foi traduzido para usar as entidades do kernel do Windows e a pilha de rede NDIS.
Após muitos meses de trabalho, Simon e eu temos o prazer de anunciar o projeto WireGuardNT, uma porta WireGuard nativa para o kernel do Windows.
O WireGuardNT começou como uma porta da base de código do Linux ... Depois que os esforços iniciais de portabilidade foram bem-sucedidos, a base de código do NT divergiu rapidamente para se ajustar bem aos NTismos nativos e APIs NDIS (pilha de rede do Windows). O resultado final é uma implementação de alto desempenho e profundamente integrada do WireGuard, que faz uso de toda a gama de recursos do kernel NT e NDIS.
Em comparação com a implementação wireguard-go que é executada no espaço do usuário e usa a interface de rede Wintun, WireGuardNT tem uma melhoria significativa de desempenho ao eliminar as operações de mudança de contexto e copie o conteúdo do pacote do kernel para o espaço do usuário.
Por analogia com as implementações WireGuardNT para Linux, OpenBSD e FreeBSD, toda a lógica de processamento de protocolo funciona diretamente no nível da pilha da rede.
Embora nenhuma otimização específica tenha sido feita ainda, o WireGuardNT já atingiu uma taxa de transferência máxima de transferência de dados de 7,5 Gbps em nosso ambiente de teste com Ethernet.
Em sistemas de usuários reais com Wi-Fi, o desempenho é visivelmente inferior, mas não muito diferente da transferência direta de dados. Por exemplo, em um sistema com uma placa wireless Intel AC9560, o desempenho sem WireGuard foi de 600 Mbps e com WireGuardNT também foi de 600 Mbps, enquanto usando wireguard-go / Wintun foi de 95 Mbps.
fonte: https://lists.zx2c4.com/