Ontwikkelaars van het NetBSD-project de integratie van de wg-driver met de implementatie van het WireGuard-protocol in de hoofdkernel van NetBSD. NetBSD is de derde OS na Linux en OpenBSD met geïntegreerde ondersteuning voor WireGuard. Ook zijn er aanvullende commando's voorgesteld voor het configureren van VPN — wg-keygen en wgconfig. In de standaard kernelconfiguratie (GENERIC) is de driver nog niet geactiveerd en vereist expliciete vermelding in de instellingen van 'pseudo-device wg'.
Daarnaast kan worden vermeld een corrigerende update voor het pakket wireguard-tools 1.0.20200820, dat hulpprogramma's bevat die in de gebruikersruimte werken, zoals wg en wg-quick. In deze nieuwe release is de IPC voorbereid op de aanstaande ondersteuning van WireGuard in het besturingssysteem FreeBSD. De code die specifiek is voor verschillende platforms is verdeeld over verschillende bestanden. In het unit-bestand voor systemd is ondersteuning toegevoegd voor het commando 'reload', waardoor het mogelijk is om constructies zoals 'systemctl reload wg-quick at wgnet0' uit te voeren.
Ter herinnering: de VPN WireGuard is gebaseerd op moderne encryptiemethoden, biedt zeer hoge prestaties, is gebruiksvriendelijk, zonder complicaties en heeft zich goed bewezen in verschillende grote implementaties die grote hoeveelheden verkeer verwerken. Het project is sinds 2015 in ontwikkeling, heeft een audit ondergaan en toegepaste versleutelingstechnieken. Ondersteuning voor WireGuard is al geïntegreerd in NetworkManager en systemd, en de patches voor de kernel maken deel uit van de basisdistributies. , Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, en .
WireGuard past het concept van routing op basis van versleuteling sleutels toe, wat inhoudt dat elke netwerkinterface is gekoppeld aan een privésleutel en die voor het koppelen van publieke sleutels wordt gebruikt. Het uitwisselen van publieke sleutels voor het opzetten van een verbinding gebeurt op dezelfde manier als bij SSH. Voor de sleutelovereenstemming en verbinding zonder een aparte daemon in de gebruikersruimte wordt het Noise_IK-mechanisme toegepast. , dat lijkt op het onderhouden van authorized_keys in SSH. Gegevensoverdracht vindt plaats via encapsulatie in UDP-pakketten. Wijzigingen van het IP-adres van de VPN-server (roaming) worden ondersteund zonder de verbinding te onderbreken, met automatische herconfiguratie van de client.
Voor encryptie de stroomcipher en het berichtauthenticatie-algoritme (MAC) , ontwikkeld door Daniel Bernstein (), Tanja Lange
(Tanja Lange) en Peter Schwabe. ChaCha20 en Poly1305 worden gepositioneerd als snellere en veiligere alternatieven voor AES-256-CTR en HMAC, waarvan de software-implementatie het mogelijk maakt om constante uitvoeringstijden te bereiken zonder speciale hardwareondersteuning. Voor het genereren van een gedeelde geheime sleutel wordt het Diffie-Hellman-protocol op elliptische krommen gebruikt in implementatie , ook voorgesteld door Daniel Bernstein. Voor hashing wordt het algoritme .
Bron: opennet.ru
