iconische release van VPN , dat de levering van WireGuard-componenten in de hoofdversie van de kernel markeerde en stabilisatie van de ontwikkeling. De in de Linux-kernel opgenomen code een aanvullende beveiligingsaudit ondergaan, uitgevoerd door een onafhankelijk bedrijf dat gespecialiseerd is in dergelijke controles. De audit heeft geen problemen aangetoond.
Aangezien WireGuard nu in de hoofdversie van de Linux-kernel wordt ontwikkeld, is er een repository voorbereid voor distributies en gebruikers die blijven werken met oudere kernelversies. De repository bevat de gebackporteerde WireGuard-code en de compatibiliteitslaag compat.h om compatibiliteit met oudere kernels te waarborgen. Opgemerkt wordt dat zolang er mogelijkheden zijn voor ontwikkelaars en behoefte van gebruikers, de afzonderlijke patchversie operationeel zal worden ondersteund. In de huidige vorm kan de afzonderlijke versie van WireGuard worden gebruikt met kernels uit en , en is ook beschikbaar als patches voor Linux-kernels en . Distributies die de nieuwste kernels gebruiken, zoals Arch, Gentoo en
Fedora 32, zullen de mogelijkheid hebben om WireGuard te gebruiken met de update naar kernel 5.6.
Het belangrijkste ontwikkelingsproces vindt nu plaats in de repository , die de volledige boom van de Linux-kernel omvat met veranderingen van het WireGuard-project. Patches vanuit deze repository zullen worden beoordeeld voor opname in de hoofdkernel en regelmatig worden overgebracht naar de net/net-next takken. De ontwikkeling van gebruikersruimte-tools en scripts, zoals wg en wg-quick, vindt plaats in de repository , die kan worden gebruikt voor het maken van pakketten in distributies.
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 .
Met de oude De prestaties van WireGuard toonden een 3,9 keer hogere doorvoer en een 3,8 keer hogere responsiviteit vergeleken met OpenVPN (256-bit AES met HMAC-SHA2-256). Vergeleken met IPsec (256-bit ChaCha20+Poly1305 en AES-256-GCM-128) toont WireGuard een kleine prestatievoorsprong (13-18%) en een vermindering van de latentie (21-23%). De testresultaten op de projectwebsite zijn gebaseerd op een oude, geïsoleerde implementatie van WireGuard en worden als onvoldoende geclassificeerd. Sinds de tests is de code van WireGuard en IPsec verder geoptimaliseerd en werkt nu sneller. Een uitgebreider testprogramma, dat de geïntegreerde implementatie in de kernel dekt, is nog niet uitgevoerd. Desondanks wordt opgemerkt dat WireGuard in sommige situaties nog steeds IPsec overtreft vanwege zijn multithreading, terwijl OpenVPN nog steeds erg traag blijft.
Bron: opennet.ru
