významné vydání VPN , které znamenalo dodání komponent WireGuard do hlavního jádra a stabilizaci vývoje. Kód zahrnutý v jádru Linuxu dalším auditem bezpečnosti, provedeným nezávislou firmou, která se specializuje na podobné kontroly. Audit neodhalil žádné problémy.
Jelikož WireGuard nyní vyvíjí v hlavním jádru Linuxu, byla připravena repozitář . Repozitář zahrnuje zpětně portovaný kód WireGuard a vrstvu compat.h pro zajištění kompatibility se staršími jádry. Uvádí se, že dokud budou existovat možnosti pro vývojáře a potřeba uživatelů, oddělená varianta patchů bude udržována v pracovním stavu. V současné podobě může být oddělená varianta WireGuard používána s jádry z a , a také je dostupná jako patche pro jádra Linuxu a . Distro, které používají nejnovější jádra, jako Arch, Gentoo a
Fedora 32, získají možnost použití WireGuard spolu s aktualizací jádra 5.6.
Hlavní proces vývoje se nyní řídí v repozitáři , který zahrnuje úplný strom jádra Linuxu se změnami od projektu Wireguard. Patche z tohoto repozitáře budou revidovány pro zahrnutí do hlavního jádra a pravidelně přenášeny do větví net/net-next. Vývoj nástrojů a skriptů běžících v uživatelském prostoru, jako jsou wg a wg-quick, probíhá v repozitáři , který lze použít pro vytváření balíčků v distribucích.
Připomínáme, že VPN WireGuard je realizována na základě moderních metod šifrování, poskytuje velmi vysoký výkon, je snadno použitelná, zbavena komplikací a prokázala se v řadě velkých nasazení zpracovávajících velké objemy provozu. Projekt se vyvíjí od roku 2015, prošel auditem a používaných metod šifrování. Podpora WireGuard je již integrovaná do NetworkManager a systemd, a patche pro jádro jsou součástí základních distribucí. , Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, a .
Ve WireGuard se používá koncept směrování na základě klíčů šifrování, který předpokládá přiřazení uzavřeného klíče k každému síťovému rozhraní a použití pro propojení otevřených klíčů. Výměna otevřených klíčů pro navázání spojení probíhá analogicky k SSH. Pro vyjednávání klíčů a navázání spojení bez spuštění samostatného démona v uživatelském prostoru se používá mechanismus Noise_IK z , podobný udržování authorized_keys v SSH. Přenos dat probíhá prostřednictvím inkapsulace do UDP paketů. Podporována je změna IP adresy VPN serveru (roaming) bez přerušení spojení s automatickým přenastavením klienta.
Pro šifrování proudové šifrování a algoritmus pro autentizaci zpráv (MAC) , vyvinuté Danielem Bernsteinem (), Tanjou Lange
(Tanja Lange) a Peterem Schwabem (Peter Schwabe). ChaCha20 a Poly1305 jsou vychvalovány jako rychlejší a bezpečnější alternativy k AES-256-CTR a HMAC, přičemž jejich softwarová implementace umožňuje dosáhnout stanoveného času zpracování bez použití speciální hardwarové podpory. Pro generování společného tajného klíče se používá protokol Diffie-Hellman na eliptických křivkách v implementaci , také navržený Danielem Bernsteinem. Pro hashování se používá algoritmus .
S starým výkon WireGuard prokázal o 3,9krát vyšší propustnost a o 3,8krát vyšší odezvu ve srovnání s OpenVPN (256-bit AES s HMAC-SHA2-256). Ve srovnání s IPsec (256-bit ChaCha20+Poly1305 a AES-256-GCM-128) má WireGuard mírné výhody v výkonu (13-18%) a snížení latence (21-23%). Výsledky testování zveřejněné na webu projektu pokrývají starou oddělenou implementaci WireGuard a jsou označeny za nedostatečně kvalitní. Od doby provedení testů byl kód WireGuard a IPsec dále optimalizován a nyní funguje rychleji. Komplexnější testování zahrnující jádrovou implementaci zatím nebylo provedeno. Nicméně se uvádí, že WireGuard v některých situacích stále předčí IPsec díky multithreadingu, zatímco OpenVPN zůstává velmi pomalý.
Zdroj: opennet.ru
