lançamento icônico do VPN , que marcou a entrega dos componentes do WireGuard no núcleo principal e a estabilização do desenvolvimento. O código incluído no núcleo do Linux uma auditoria de segurança adicional realizada por uma empresa independente especializada nesse tipo de verificação. A auditoria não revelou quaisquer problemas.
Uma vez que o WireGuard agora é desenvolvido no núcleo principal do Linux, um repositório foi preparado . O repositório inclui o código backportado do WireGuard e uma camada compat.h para garantir compatibilidade com núcleos antigos. É observado que enquanto houver desenvolvedores e a necessidade de usuários, uma versão separada dos patches será mantida operacional. No estado atual, a versão separada do WireGuard pode ser usada com núcleos de e , e também está disponível como patches para núcleos Linux e . Distribuições que utilizam os núcleos mais recentes, como Arch, Gentoo e
Fedora 32, terão a capacidade de usar o WireGuard juntamente com a atualização do núcleo 5.6.
O principal processo de desenvolvimento agora é conduzido no repositório , que inclui a árvore completa do núcleo Linux com as modificações do projeto WireGuard. Os patches deste repositório serão revisados para inclusão no núcleo principal e transferidos regularmente para os ramos net/net-next. O desenvolvimento de utilitários e scripts executáveis no espaço do usuário, como wg e wg-quick, é realizado no repositório , que pode ser usado para criar pacotes nas distribuições.
Lembre-se de que a VPN WireGuard é implementada com base em métodos de criptografia modernos, oferece desempenho muito alto, é fácil de usar, livre de complicações e provou-se eficaz em várias implementações de grande escala que lidam com grandes volumes de tráfego. O projeto está em desenvolvimento desde 2015, passou por auditoria e métodos de criptografia. O suporte ao WireGuard já está integrado ao NetworkManager e ao systemd, e os patches para o kernel fazem parte da composição básica das distribuições , Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, e .
O WireGuard utiliza a ideia de roteamento baseado em chaves de criptografia, que implica na vinculação de uma chave privada a cada interface de rede e na aplicação para vinculação de chaves públicas. A troca de chaves públicas para estabelecer a conexão é feita de maneira análoga ao SSH. Para a negociação de chaves e conexão sem iniciar um daemon separado no espaço do usuário, é utilizado o mecanismo Noise_IK de , semelhante à manutenção de authorized_keys no SSH. A transmissão de dados é feita através da encapsulação em pacotes UDP. Suporta a mudança de endereço IP do servidor VPN (roaming) sem desconectar a conexão, com reconfiguração automática do cliente.
Para criptografia o cifra de fluxo e algoritmo de autenticação de mensagens (MAC) , desenvolvidos por Daniel Bernstein (), Tanja Lange
(Tanja Lange) e Peter Schwabe (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 tempos de execução fixos sem a necessidade de suporte de hardware especial. Para a geração da chave secreta compartilhada, utiliza-se o protocolo de Diffie-Hellman em curvas elípticas na implementação , também sugerido por Daniel Bernstein. O algoritmo é usado para hash .
Ao antigo O desempenho do WireGuard demonstrou uma largura de banda 3,9 vezes maior e uma capacidade de resposta 3,8 vezes superior em comparação ao OpenVPN (AES de 256 bits com HMAC-SHA2-256). Em comparação ao IPsec (ChaCha20+Poly1305 de 256 bits e AES-256-GCM-128), o WireGuard apresenta uma leve vantagem de desempenho (13-18%) e uma redução de latência (21-23%). Os resultados dos testes publicados no site do projeto refletem uma versão isolada antiga do WireGuard e foram considerados de qualidade insuficiente. Desde a realização dos testes, o código do WireGuard e do IPsec foi otimizado e agora opera de forma mais rápida. Testes mais abrangentes, que incluam a implementação integrada ao kernel, ainda não foram realizados. No entanto, é apontado que o WireGuard ainda supera o IPsec em algumas situações devido à sua capacidade de múltiplos threads, enquanto o OpenVPN continua a ser muito lento.
Fonte: opennet.ru
