Foi apresentada uma implementação do VPN WireGuard para o núcleo do Windows

Jason A. Donenfeld, autor do VPN WireGuard, apresentou o projeto WireGuardNT, um porto de alto desempenho do VPN WireGuard para o núcleo do Windows, compatível com Windows 7, 8, 8.1 e 10, e que suporta as arquiteturas AMD64, x86, ARM64 e ARM. O código da implementação é distribuído sob a licença GPLv2. O novo driver já está incluído no cliente WireGuard para Windows, mas ainda está marcado como experimental e não está ativado por padrão.

O porto é baseado em uma base de código comprovada da implementação principal do WireGuard para o núcleo Linux, que foi adaptada para usar as entidades do núcleo do Windows e o stack de rede NDIS. Em comparação com a implementação anterior disponível para Windows, wireguard-go, que opera em espaço de usuários e usa a interface de rede Wintun, o WireGuardNT apresenta um aumento significativo de desempenho ao eliminar as operações de troca de contexto e cópia de pacotes do núcleo para o espaço de usuários. Assim como nas implementações para Linux, OpenBSD e FreeBSD, no WireGuardNT toda a lógica de processamento do protocolo opera diretamente no nível do stack de rede.

Apesar de otimizações específicas ainda não terem sido realizadas, o WireGuardNT já permitiu alcançar um desempenho máximo de transmissão de dados de 7.5Gbps em um ambiente de teste com Ethernet. Em sistemas de usuários reais com Wi-Fi, o desempenho é consideravelmente menor, mas não difere muito da transmissão direta de dados. Por exemplo, em um sistema com a placa sem fio Intel AC9560, a largura de banda sem WireGuard foi de 600Mbps e com WireGuardNT também permaneceu em 600Mbps, enquanto com o uso do wireguard-go/Wintun era de 95Mbps.

Lembramos que VPN O WireGuard é implementado com base em métodos modernos de criptografia, oferece um desempenho muito alto, é fácil de usar, desprovido de complicações e se destacou em várias grandes implementações que gerenciam grandes volumes de tráfego. O projeto está em evolução desde 2015, passou por auditorias e verificações formais dos métodos de criptografia aplicados. No WireGuard, utiliza-se o conceito de roteamento por chaves de criptografia, que implica a vinculação de uma chave privada a cada interface de rede e o uso de chaves públicas para a conexão.

A troca de chaves públicas para estabelecer a conexão é realizada de maneira semelhante ao SSH. Para o acordo de chaves e conexão sem iniciar um daemon separado no espaço do usuário, é aplicado o mecanismo Noise_IK do Noise Protocol Framework, similar à manutenção de authorized_keys no SSH. A transmissão de dados é realizada através da encapsulação em pacotes UDP. Suporta mudança endereços IP do servidor VPN (roaming) sem interrupção da conexão com reconfiguração automática do cliente.

Para a criptografia, é utilizado o cifrador de fluxo ChaCha20 e o algoritmo de autenticação de mensagens (MAC) Poly1305, desenvolvidos por Daniel Bernstein, Tanja Lange e Peter Schwabe. ChaCha20 e Poly1305 são posicionados como alternativas mais rápidas e seguras ao AES-256-CTR e HMAC, cuja implementação de software permite alcançar um tempo de execução fixo sem a necessidade de suporte de hardware especial. Para gerar uma chave secreta compartilhada, é aplicado o protocolo Diffie-Hellman em curvas elípticas na implementação Curve25519, também proposta por Daniel Bernstein. O algoritmo BLAKE2s (RFC7693) é utilizado para hashing.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster