Suporte VPN WireGuard adicionado ao kernel DragonFly BSD

Cerca de 100 alterações relacionadas à implementação do suporte VPN WireGuard foram adotadas no kernel do sistema operacional DragonFly BSD. O driver "wg" com suporte para o protocolo WireGuard foi portado do FreeBSD, e o código para funções criptográficas, interface de rede e API ioctl (para controle do espaço do usuário) foi emprestado do OpenBSD. As alterações no utilitário ifconfig necessárias para configurar a VPN foram transferidas do OpenBSD. A implementação é compatível com todos os clientes oficiais do WireGuard para Linux, Windows, macOS, *BSD, iOS e Android. DragonFly BSD se tornou o quinto sistema operacional aberto depois de Linux, OpenBSD, NetBSD e FreeBSD com suporte integrado para WireGuard.

O WireGuard utiliza um conceito de roteamento criptografado baseado em chaves, que envolve a vinculação de uma chave privada a cada interface de rede e seu uso para a vinculação de chaves públicas. Para negociar chaves e conectar-se sem executar um daemon separado no espaço do usuário, é utilizado o mecanismo Noise_IK do Noise Protocol Framework, similar ao suporte a authorized_keys do SSH. A transferência de dados é realizada por meio de encapsulamento em pacotes UDP. O reatribuição de endereços IP é suportado. VPN-servidores (roaming) sem desconexão com reconfiguração automática do cliente.

A criptografia usa a cifra de fluxo ChaCha20 e o algoritmo de autenticação de mensagens (MAC) Poly1305, desenvolvido por Daniel J. Bernstein, Tanja Lange e Peter Schwabe. ChaCha20 e Poly1305 são posicionados como análogos mais rápidos e seguros de AES-256-CTR e HMAC, cuja implementação de software permite atingir um tempo de execução fixo sem o uso de suporte de hardware especial. Para gerar uma chave secreta compartilhada, é utilizado o protocolo de curva elíptica Diffie-Hellman na implementação Curve25519, também proposta por Daniel Bernstein. O algoritmo BLAKE2s (RFC7693) é usado para hash.

Fonte: opennet.ru

Adicionar um comentário