A VPN WireGuard elfogadásra került a net-next ágban, és a tervek szerint bekerül a Linux 5.6 kernelbe

David Miller (David S. Miller), amely a Linux kernel hálózati alrendszeréért felelős, elfogadott a net-következő ágra foltok a projektből származó VPN interfész megvalósításával WireGuard. A jövő év elején a net-next ágban felhalmozódott változások képezik majd a Linux kernel 5.6-os kiadásának alapját.

Az elmúlt néhány évben történtek kísérletek arra, hogy a WireGuard kódot benyomják a fő kernelbe, de ezek sikertelenek maradtak, mert a teljesítmény javítására használt kriptográfiai funkciók szabadalmaztatott megvalósításaihoz kötötték. Kezdetben ezek a funkciók voltak javasolta a kernelhez további alacsony szintű Zinc API-ként, amely végül felválthatja a szabványos Crypto API-t.

A Kernel Receptek konferencia megbeszéléseit követően a WireGuard alkotói szeptemberben kompromisszumos döntést hozott vigye át a javításait a magban elérhető Crypto API használatára, amelyre a WireGuard fejlesztőinek panaszaik vannak a teljesítmény és az általános biztonság terén. Úgy döntöttek, hogy folytatják a Zinc API fejlesztését, de külön projektként.

Novemberben a kernel fejlesztői ment válaszul egy kompromisszumra, és beleegyezett abba, hogy a kód egy részét átvisszük a Zinc-ből a fő kernelbe. Lényegében néhány Zinc komponens átkerül a magba, de nem külön API-ként, hanem a Crypto API alrendszer részeként. Például a Crypto API már beleértve a WireGuardban elkészített ChaCha20 és Poly1305 algoritmusok gyors implementációi.

A WireGuard közelgő szállítása kapcsán a fő magban, a projekt alapítója bejelentett az adattár átalakításáról. A fejlesztés leegyszerűsítése érdekében a monolitikus „WireGuard.git” repository-t, amelyet izoláltan létezésre terveztek, három különálló tárhely váltja fel, amelyek alkalmasabbak a fő kernelben lévő kóddal végzett munka megszervezésére:

  • wireguard-linux.git - egy teljes kernelfa a Wireguard projekt módosításaival, a javítások, amelyekből felülvizsgálják, hogy bekerüljenek-e a kernelbe, és rendszeresen átkerüljenek a net/net-next ágakba.
  • drótőr-eszközök.git - a felhasználói térben futó segédprogramok és szkriptek tárháza, például wg és wg-quick. A repository használható csomagok létrehozására terjesztésekhez.
  • wireguard-linux-compat.git - egy tároló a modul egy változatával, amely a kerneltől elkülönítve kerül szállításra, és tartalmazza a compat.h réteget a régebbi kernelekkel való kompatibilitás biztosítása érdekében. A fő fejlesztés a wireguard-linux.git repository-ban valósul meg, de amíg van rá lehetőség és igény a felhasználók körében, a javítások külön verzióját is működő formában támogatják.

Emlékeztetünk arra, hogy a VPN WireGuard modern titkosítási módszerek alapján került megvalósításra, nagyon nagy teljesítményt nyújt, könnyen használható, bonyodalmaktól mentes, és számos nagy telepítésben bizonyult, amelyek nagy mennyiségű forgalmat dolgoznak fel. A projektet 2015 óta fejlesztik, auditálták és formális ellenőrzés használt titkosítási módszerek. A WireGuard támogatás már be van építve a NetworkManagerbe és a systemd-be, és az alapdisztribúciók tartalmazzák a kernel javításokat. Debian instabil, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, részgráf и ALT.

A WireGuard a titkosítási kulcsok átirányításának koncepcióját használja, amely magában foglalja egy privát kulcs csatolását minden hálózati interfészhez, és azt használja a nyilvános kulcsok összekapcsolására. A nyilvános kulcsok cseréje az SSH-hoz hasonló módon történik a kapcsolat létrehozása érdekében. A kulcsok egyeztetéséhez és a csatlakozáshoz anélkül, hogy külön démon futna a felhasználói térben, a Noise_IK mechanizmust Noise Protocol Frameworkhasonlóan az Author_keys karbantartásához az SSH-ban. Az adatátvitel UDP-csomagokba történő tokozással történik. Támogatja a VPN-kiszolgáló IP-címének megváltoztatását (roaming) a kapcsolat megszakítása és a kliens automatikus újrakonfigurálása nélkül.

A titkosításhoz használt folyam titkosítás ChaCha20 és üzenet hitelesítési algoritmus (MAC) Poly1305tervezte: Daniel Bernstein (Daniel J. Bernstein), Tanya Lange
(Tanja Lange) és Peter Schwabe. A ChaCha20 és a Poly1305 az AES-256-CTR és a HMAC gyorsabb és biztonságosabb analógjaiként helyezkednek el, amelyek szoftveres megvalósítása lehetővé teszi a rögzített végrehajtási idő elérését speciális hardveres támogatás nélkül. A megosztott titkos kulcs létrehozásához az elliptikus görbe Diffie-Hellman protokollt használják a megvalósításban Curve25519, amelyet szintén Daniel Bernstein javasolt. A kivonatoláshoz használt algoritmus a BLAKE2s (RFC7693).

-On tesztelés A Performance WireGuard 3.9-szer nagyobb átviteli sebességet és 3.8-szor nagyobb válaszkészséget mutatott az OpenVPN-hez képest (256 bites AES HMAC-SHA2-256-tal). Az IPsec-hez (256 bites ChaCha20+Poly1305 és AES-256-GCM-128) képest a WireGuard enyhe teljesítményjavulást (13-18%) és alacsonyabb késleltetést (21-23%) mutat. A teszteket a projekt által kifejlesztett titkosítási algoritmusok gyors implementációival hajtották végre - a kernel szabványos Crypto API-jára való átvitel rosszabb teljesítményt eredményezhet.

A VPN WireGuard elfogadásra került a net-next ágban, és a tervek szerint bekerül a Linux 5.6 kernelbe

Forrás: opennet.ru

Hozzászólás