VPN WireGuard is akseptearre yn 'e net-folgjende branch en wurdt pland foar opname yn' e Linux 5.6 kernel

David Miller (David S. Miller), ferantwurdlik foar it netwurksubsysteem fan 'e Linux kernel, akseptearre nei de net-folgjende branch patches mei de ymplemintaasje fan 'e VPN-ynterface fan it projekt WireGuard. Begjin takom jier sille wizigingen sammele yn 'e net-folgjende tûke de basis foarmje foar de frijlitting fan' e Linux kernel 5.6.

Pogingen om de WireGuard-koade yn 'e haadkern te triuwen binne yn' e ôfrûne jierren makke, mar bleaunen mislearre trochdat se ferbûn wiene oan proprietêre ymplemintaasjes fan kryptografyske funksjes dy't waarden brûkt om prestaasjes te ferbetterjen. Yn it earstoan wiene dizze funksjes foarsteld foar de kernel as in ekstra leech-nivo Zinc API, dy't úteinlik de standert Krypto API ferfange koe.

Nei diskusjes op 'e Kernel Recipes-konferinsje, de makkers fan WireGuard yn septimber makke in kompromisbeslút oerdrage jo patches om de Krypto-API te brûken dy't beskikber is yn 'e kearn, dêr't de WireGuard-ûntwikkelders klachten hawwe op it mêd fan prestaasjes en algemiene feiligens. It waard besletten om fierder te ûntwikkeljen fan de Zinc API, mar as in apart projekt.

Yn novimber, kernel ûntwikkelders gie yn reaksje op in kompromis en ôfpraat in oerdracht fan in part fan de koade fan Sink nei de wichtichste kearn. Yn essinsje sille guon Sink-komponinten yn 'e kearn ferpleatst wurde, mar net as in aparte API, mar as ûnderdiel fan it Crypto API-subsysteem. Bygelyks, de Krypto API al ynbegrepen snelle ymplemintaasjes fan de ChaCha20 en Poly1305 algoritmen taret yn WireGuard.

Yn ferbân mei de kommende levering fan WireGuard yn 'e wichtichste kearn, de oprjochter fan it projekt oankundige oer it werstrukturearjen fan it depot. Om de ûntwikkeling te ferienfâldigjen, sil de monolityske "WireGuard.git" repository, dy't ûntwurpen is om yn isolaasje te bestean, wurde ferfongen troch trije aparte repositories, better geskikt foar it organisearjen fan wurk mei koade yn 'e haadkern:

  • wireguard-linux.git - in folsleine kernelbeam mei wizigingen fan it Wireguard-projekt, patches wêrfan sille wurde hifke foar opname yn 'e kernel en regelmjittich oerbrocht nei de net-/net-folgjende tûken.
  • wireguard-tools.git - in repository foar nutsbedriuwen en skripts dy't yn brûkersromte rinne, lykas wg en wg-quick. It repository kin brûkt wurde om pakketten te meitsjen foar distribúsjes.
  • wireguard-linux-compat.git - in repository mei in fariant fan 'e module, apart levere fan' e kernel en ynklusyf de compat.h-laach om kompatibiliteit te garandearjen mei âldere kernels. De haadûntwikkeling sil útfierd wurde yn it wireguard-linux.git repository, mar salang't d'r in kâns en need is ûnder brûkers, sil in aparte ferzje fan 'e patches ek wurde stipe yn wurkfoarm.

Lit ús jo herinnerje dat VPN WireGuard wurdt ymplementearre op basis fan moderne fersiferingsmetoaden, leveret heul hege prestaasjes, is maklik te brûken, frij fan komplikaasjes en hat himsels bewiisd yn in oantal grutte ynset dy't grutte folumes ferkear ferwurkje. It projekt is ûntwikkele sûnt 2015, is kontrolearre en formele ferifikaasje fersifering metoaden brûkt. WireGuard-stipe is al yntegreare yn NetworkManager en systemd, en kernelpatches binne opnommen yn 'e basisdistribúsjes Debian ynstabyl, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, Subgraaf и ALT.

WireGuard brûkt it konsept fan fersiferingskaai-routing, wêrby't it heakjen fan in privee kaai oan elke netwurkynterface omfettet en it brûke om de iepenbiere kaaien te binen. Iepenbiere kaaien wurde útwiksele om in ferbining te meitsjen op in fergelykbere manier as SSH. Om te ûnderhanneljen kaaien en ferbine sûnder in run in aparte daemon yn brûkersromte, de Noise_IK meganisme fan Noise Protocol Frameworkfergelykber mei it ûnderhâlden fan authorized_keys yn SSH. Gegevensferfier wurdt útfierd troch ynkapseling yn UDP-pakketten. It stipet it feroarjen fan it IP-adres fan 'e VPN-tsjinner (roaming) sûnder de ferbining te ferbrekken en de kliïnt automatysk opnij te konfigurearjen.

Foar fersifering wurdt brûkt stream cipher ChaCha 20 en berjocht autentikaasje-algoritme (MAC) Poly1305, ûntwurpen troch Daniel Bernstein (Daniel J. Bernstein), Tanya Lange
(Tanja Lange) en Peter Schwabe. ChaCha20 en Poly1305 wurde gepositioneerd as flugger en feiliger analogen fan AES-256-CTR en HMAC, de software-ymplemintaasje wêrfan it mooglik makket om in fêste útfieringstiid te berikken sûnder it brûken fan spesjale hardware-stipe. Om in dielde geheime kaai te generearjen, wurdt de elliptyske kromme Diffie-Hellman protokol brûkt yn 'e ymplemintaasje Kromme25519, ek foarsteld troch Daniel Bernstein. It algoritme dat brûkt wurdt foar hashing is BLAKE2s (RFC7693).

at testen Performance WireGuard toande 3.9 kear hegere trochfier en 3.8 kear hegere responsiviteit yn ferliking mei OpenVPN (256-bit AES mei HMAC-SHA2-256). Yn ferliking mei IPsec (256-bit ChaCha20 + Poly1305 en AES-256-GCM-128), toant WireGuard in lichte prestaasjesferbettering (13-18%) en legere latency (21-23%). De tests waarden útfierd mei snelle ymplemintaasjes fan fersiferingsalgoritmen ûntwikkele troch it projekt - oerdracht nei de standert Krypto API fan 'e kernel kin liede ta slimmer prestaasjes.

VPN WireGuard is akseptearre yn 'e net-folgjende branch en wurdt pland foar opname yn' e Linux 5.6 kernel

Boarne: opennet.ru

Add a comment