A VPN WireGuard a Linux kernel 5.6-os verziójában található

Linus ma áthelyezte magához a net-next ágat VPN interfészekkel WireGuard. Erről az eseményről jelentett a WireGuard levelezőlistán.

A VPN WireGuard a Linux kernel 5.6-os verziójában található

Az új Linux 5.6-os kernel kódgyűjtése jelenleg is folyamatban van. A WireGuard egy gyors, következő generációs VPN, amely a legmodernebb kriptográfiát használja. Eredetileg a meglévő VPN-ek egyszerűbb és kényelmesebb alternatívájaként fejlesztették ki. A szerző Jason A. Donenfeld kanadai információbiztonsági szakértő. 2018 augusztusában a WireGuard dicsérték írta Linus Torvalds. Ekkortájt kezdték el a VPN-t beépíteni a Linux kernelbe. A folyamat egy kicsit tovább tartott.

„Úgy látom, Jason lehívási kérelmet nyújtott be a WireGuard kernelbe való felvételére” – írta Linus 2. augusztus 2018-án. – Még egyszer kijelenthetem, hogy szeretem ezt a VPN-t, és remélem, hogy hamarosan összeolvad? Lehet, hogy a kód nem tökéletes, de megnéztem, és az OpenVPN és az IPSec borzalmaihoz képest ez egy igazi műalkotás.”

Linus kívánsága ellenére az egyesülés másfél évig elhúzódott. A fő probléma a kriptográfiai funkciók szabadalmaztatott megvalósításaihoz köthető, amelyeket a teljesítmény javítására használtak. Hosszas tárgyalások után 2019 szeptemberében így lett kompromisszumos döntés született lefordítani a kernelben elérhető Crypto API-funkciók javításait, amelyekre a WireGuard fejlesztőinek panaszaik vannak a teljesítmény és az általános biztonság terén. De úgy döntöttek, hogy a natív WireGuard kriptofunkciókat külön alacsony szintű Zinc API-ba választják, és végül portolják őket a kernelre. Novemberben a kernel fejlesztői betartották ígéretüket és egyetért átviheti a kód egy részét a cinkről a fő kernelre. Például a Crypto API-ban beleértve a WireGuardban elkészített ChaCha20 és Poly1305 algoritmusok gyors implementációi.

Végül 9. december 2019-én David S. Miller, a Linux kernel hálózati alrendszeréért felelős elfogadott a net-következő ágra foltok a WireGuard projekt VPN interfészének megvalósításával.

És ma, 29. január 2020-én a változtatások Linushoz kerültek, hogy bekerüljenek a kernelbe.

A VPN WireGuard a Linux kernel 5.6-os verziójában található

A WireGuard állítólagos előnyei más VPN-megoldásokhoz képest:

  • Könnyen kezelhető.
  • Modern kriptográfiát használ: Zaj protokoll keretrendszer, Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24, HKDF stb.
  • Kompakt, olvasható kód, könnyebben kivizsgálható a sebezhetőség.
  • Nagy teljesítményű.
  • Világos és kidolgozott leírás.

A WireGuard összes alapvető logikája kevesebb mint 4000 kódsort foglal el, míg az OpenVPN és az IPSec több százezer sort igényel.

„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 nyilvános kulcsok használatával. 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 nélkül a kliens automatikus újrakonfigurálásával, - írások Opennet.

A titkosításhoz használt folyam titkosítás ChaCha20 és üzenet hitelesítési algoritmus (MAC) Poly1305tervezte: Daniel Bernstein (Daniel J. Bernstein), 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)".

Álláspontja teljesítménytesztek a hivatalos honlapról:

Sávszélesség (megabit/s)
A VPN WireGuard a Linux kernel 5.6-os verziójában található

Ping (ms)
A VPN WireGuard a Linux kernel 5.6-os verziójában található

Teszt konfiguráció:

  • Intel Core i7-3820QM és Intel Core i7-5200U
  • Gigabites kártyák Intel 82579LM és Intel I218LM
  • Linux 4.6.1
  • WireGuard konfiguráció: 256 bites ChaCha20 Poly1305-tel MAC-hoz
  • Első IPsec-konfiguráció: 256 bites ChaCha20 Poly1305-tel MAC-hoz
  • Második IPsec konfiguráció: AES-256-GCM-128 (AES-NI-vel)
  • OpenVPN konfiguráció: AES 256 bites egyenértékű rejtjelkészlet HMAC-SHA2-256, UDP móddal
  • A teljesítményt a segítségével mértük iperf3, az átlagos eredményt mutatja 30 perc alatt.

Elméletileg, miután integrálták a hálózati verembe, a WireGuardnak még gyorsabban kell működnie. De a valóságban ez nem feltétlenül lesz így a rendszermagba épített Crypto API kriptográfiai funkciókra való átállás miatt. Talán még nem mindegyik van optimalizálva a natív WireGuard teljesítményszintjére.

„Az én szemszögemből a WireGuard általában ideális a felhasználó számára. Minden alacsony szintű döntés a specifikációban történik, így egy tipikus VPN-infrastruktúra előkészítése csak néhány percet vesz igénybe. Szinte lehetetlen elrontani a konfigurációt - писали a Habrén 2018-ban. — Telepítési folyamat részletesen leírva a hivatalos weboldalon külön szeretném megjegyezni a kiváló OpenWRT támogatás. A kódbázisnak ezt a könnyű használhatóságát és kompaktságát a kulcsok elosztásának megszüntetésével érték el. Nincs bonyolult tanúsítványrendszer és mindez a vállalati borzalom; a rövid titkosítási kulcsokat az SSH-kulcsokhoz hasonlóan osztják el.”

A WireGuard projekt 2015 óta fejlődik, auditált és formális ellenőrzés. A WireGuard támogatása integrálva van a NetworkManagerbe és a systemd-be, a kernelfoltok pedig megtalálhatók a Debian Unstable, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, Subgraph és ALT alapdisztribúcióiban.

Forrás: will.com

Hozzászólás