VPN WireGuard er blevet inkluderet i Linux-kernen 5.6

I dag overførte Linus net-next grenen med VPN-interfacer til sin egen udvikling. WireGuard. Om denne begivenhed meldte i WireGuard's mailingliste.

VPN WireGuard er blevet inkluderet i Linux-kernen 5.6

I øjeblikket fortsætter kodens indsamling til den nye Linux 5.6 kerne. WireGuard er en hurtig næste generations VPN med moderne kryptografi. Det blev oprindeligt udviklet som et mere simpelt og brugervenligt alternativ til eksisterende VPN-løsninger. Skaberen er den canadiske informationssikkerhedsekspert Jason Donenfeld. I august 2018 fik WireGuard ros fra Linus Torvalds. Omtrent på den tid begyndte arbejdet med at inkludere VPN i Linux-kernen. Processen trak lidt ud.

«Jeg kan se, at Jason har lavet en pull-anmodning for at inkludere WireGuard i kernen, – skrev Linus den 2. august 2018. – Kan jeg bare endnu engang erklære min kærlighed til denne VPN og håbe på en hurtig fusion? Måske er koden ikke perfekt, men jeg har kigget på den, og sammenlignet med rædslerne i OpenVPN og IPSec, er det et ægte kunstværk».

På trods af Linus' ønsker trak fusionen ud i halvandet år. Hovedproblemet viste sig at være knyttet til egne implementeringer af kryptografiske funktioner, der blev brugt til at forbedre ydeevnen. Efter lange forhandlinger i september 2019 blev det taget et kompromisbeslutning at overføre patches til de eksisterende funktioner i Crypto API, som udviklerne af WireGuard har klager over med hensyn til ydeevne og generel sikkerhed. Men de besluttede at выделить WireGuard's native kryptofunktioner i en lav-niveau Zinc API og på sigt at portere dem til kernen. I november holdt kernens udviklere deres løfte og enedes om at overføre en del af koden fra Zinc til den hovedkern. For eksempel i Crypto API inkluderet de hurtige implementeringer af algoritmerne ChaCha20 og Poly1305, der blev forberedt i WireGuard.

Endelig, den 9. december 2019, tog David Miller, ansvarlig for Linux-kernens netværkssubsystem, har vedtaget i net-next-grenen patches med implementeringen af VPN-interfacet fra WireGuard-projektet.

Og i dag, den 29. januar 2020, er ændringerne sendt til Linus for at blive inkluderet i kernen.

VPN WireGuard er blevet inkluderet i Linux-kernen 5.6

De erklærede fordele ved WireGuard i forhold til andre VPN-løsninger:

  • Nem at bruge.
  • Bruger moderne kryptografi: Noise protocol framework, Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24, HKDF osv.
  • Kompakt og læsbar kode, lettere at undersøge for sårbarheder.
  • Høj ydeevne.
  • Klar og gennemtænkt TC39 Legacy RegExp funktioner i JavaScript.

Al den grundlæggende logik i WireGuard fylder mindre end 4000 linjer kode, mens OpenVPN og IPSec indeholder hundredtusinde linjer.

„I WireGuard anvendes konceptet med rute baseret på krypteringsnøgler, hvilket indebærer, at hver netværksinterface knyttes til en privat nøgle og anvendes til at forbinde offentlige nøgler. Udveksling af offentlige nøgler til at etablere forbindelsen sker analogt med SSH. For at forhandle nøgler og forbinde uden at starte en separat dæmon i brugerrummet anvendes Noise_IK mekanismen fra Noise Protocol Framework, som ligner vedligeholdelsen af authorized_keys i SSH. Dataoverførsel sker gennem indkapsling i UDP-pakker. Skift af IP-adressen på VPN-serveren (roaming) understøttes uden afbrydelse af forbindelsen med automatisk omkonfiguration af klienten, — skriver Opennet.

Til kryptering kun 14,3% af webstederne i hele verden. strømcypher ChaCha20 og algoritme til autentificering af meddelelser (MAC) Poly1305, udviklet af Daniel Bernstein (Daniel J. Bernstein), Tanja Lange og Peter Schwabe. ChaCha20 og Poly1305 præsenteres som hurtigere og mere sikre alternativer til AES-256-CTR og HMAC, hvor softwareimplementeringen giver ensartet ydeevne uden brug af speciel hardware. Til generering af den fælles hemmelige nøgle anvendes Diffie-Hellman protokollen på elliptiske kurver i implementeringen Curve25519, også foreslået af Daniel Bernstein. Der anvendes algoritmen BLAKE2s (RFC7693)».

Resultater ydelsestest fra den officielle hjemmeside:

Båndbredde (megabit/s)
VPN WireGuard er blevet inkluderet i Linux-kernen 5.6

Ping (ms)
VPN WireGuard er blevet inkluderet i Linux-kernen 5.6

Testkonfiguration:

  • Intel Core i7-3820QM og Intel Core i7-5200U
  • Gigabit-netværkskort Intel 82579LM og Intel I218LM
  • Linux 4.6.1
  • WireGuard-konfiguration: 256-bit ChaCha20 med Poly1305 til MAC
  • Første IPSec-konfiguration: 256-bit ChaCha20 med Poly1305 til MAC
  • Anden IPSec-konfiguration: AES-256-GCM-128 (med AES-NI)
  • OpenVPN-konfiguration: ækvivalent krypteringsalgoritme til 256-bit AES med HMAC-SHA2-256, UDP-tilstand
  • Ydelse blev målt ved hjælp af iperf3, hvor gennemsnittet er vist for 30 minutter.

Teoretisk set, efter integration i netværksstakken, skulle WireGuard kunne fungere endnu hurtigere. Men i praksis er det ikke nødvendigvis tilfældet på grund af overgangen til de indbyggede kryptografiske funktioner i Crypto API. Det er muligt, at ikke alle af dem endnu er optimeret til niveauet af nativ WireGuard ydeevne.

„Hvis du spørger mig, så er WireGuard i det hele taget ideelt for brugeren. Alle lavniveau-løsninger er fastlagt i specifikationen, så det tager kun få minutter at forberede en typisk VPN-infrastruktur. Det er næsten umuligt at lave fejl i konfigurationen, — skrevet skrev på Habr i 2018. – Installationsprocessen er detaljeret beskrevet på den officielle hjemmeside, vil jeg særligt fremhæve den fremragende understøttelse af OpenWRT. Denne brugervenlighed og kompakte kodebase er opnået ved at undgå distribution af nøgler. Der findes ikke noget kompliceret certifikatsystem eller denne virksomhedens rædsel; korte krypteringsnøgler distribueres omtrent som SSH-nøgler.

WireGuard-projektet har været under udvikling siden 2015, det har gennemgået en revision og formel verifikation. Understøttelsen af WireGuard er integreret i NetworkManager og systemd, og patches til kernen er en del af de grundlæggende distribuerede i Debian Unstable, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, Subgraph og ALT.

Kilde: habr.com

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster