Trådskydd
WireGuard är ett kommunikationsprotokoll och gratis programvara med öppen källkod som implementerar krypterade virtuella privata nätverk (VPN). Den designades för enkel VPN-teknik, hög prestanda och låg attackyta [2] . WireGuard siktar på bättre prestanda och mer kraft än IPsec och OpenVPN , två andra vanliga tunnlingsprotokoll [3] . WireGuard-protokollet överför trafik över UDP-protokollet [4] .
I mars 2020 nådde Linux- versionen av programvaran en stabil produktionsutgåva och inkluderades i Linux 5.6-kärnan, och backporterades även till tidigare Linux-kärnor i vissa Linux-distributioner [5] . Linux-kärnkomponenter distribueras under GNU General Public License version 2 (GPLv2). Andra implementeringar är också under GPLv2 eller andra gratis och öppen källkodslicenser [2] .
Protokoll
WireGuard använder [6] :
I maj 2019 publicerade forskare vid INRIA ett maskinverifierat bevis på WireGuard-protokollet som genererats med verifieringsassistenten CryptoVerif [8] .
Valfritt läge för delad symmetrisk nyckel
WireGuard stöder ett läge för fördelad nyckel som ger ett extra lager av symmetrisk kryptering för att förhindra sårbarheter för framtida framsteg inom kvantberäkning. Detta tar bort risken att trafik kan lagras tills kvantdatorer kan knäcka Curve25519. När detta händer kan trafiken dekrypteras. Företablerade delade nycklar är "vanligtvis ett krångel när det gäller nyckelhantering och kan stjälas", men på kort sikt, om den symmetriska nyckeln äventyras, ger Curve25519-nycklarna fortfarande mer än tillräckligt med skydd [9] .
Nätverk
WireGuard använder endast UDP [10] [6] vilket betyder att det inte fungerar på nätverk som blockerar UDP-trafik. Detta skiljer WireGuard från sina alternativ som OpenVPN på grund av de många bristerna med TCP-över-TCP-routing [10] [11] .
WireGuard har fullt stöd för IPv6 både i och utanför tunneln. Den stöder endast lager 3 för både IPv4 och IPv6 och kan kapsla in v4-i-v6 och vice versa [12] .
WireGuard stöder flera topologier:
- Punkt till punkt (nätverk)
- Stjärna (server/klient)
- Klientens slutpunkt behöver inte definieras innan klienten börjar skicka data
- Klientens slutpunkter kan vara statiskt fördefinierade
- Mesh (nätverk)
Eftersom WireGuard stöder punkt-till-punkt-nätverk kan andra topologier göras, men inte i samma tunnel.
Utökningsbarhet
WireGuard är utformad för att utökas med program och skript från tredje part. WireGuards avancerade funktioner inkluderar: bättre hanteringsgränssnitt (inklusive enklare nyckelinställningar), loggning, dynamiska brandväggsuppdateringar och LDAP- integration .
Att utesluta sådana komplexa funktioner från en minimal kodbas ökar dess stabilitet och säkerhet. Av säkerhetsskäl begränsar WireGuard implementeringsalternativen för kryptografiska kontroller, valet av nyckelutbytesprocesser och mappar algoritmer till en liten delmängd av moderna kryptografiska primitiver . Om en bugg hittas i någon av primitiverna kan en ny version släppas som åtgärdar problemet. Dessutom kan oprivilegierade användare inte ändra konfigurationsinställningar som påverkar säkerheten för hela applikationen [13] .
Tillgänglighet
Implementeringar
Implementering av WireGuard-protokollet inkluderar:
- Donenfelds ursprungliga implementering, skriven i C and Go [14] .
- Cloudflares BoringTun är en implementering av användarutrymme skriven i Rust [15] [16] .
- Matt Dunwoodys OpenBSD -implementering , skriven i C [17] .
- Ryota Ozakis implementering av wg(4) för NetBSD , skrivet i C [18] .
- En FreeBSD- implementering skriven i C. Har samma datasökväg som OpenBSD [19] -implementeringen .
- Native Windows - kärnimplementering kallad wireguard-nt från och med augusti 2021 [20] .
- OPNsense via standardpaketet os-WireGuard [21] .
- pfSense via ett experimentellt tilläggspaket för pfSense Plus 21.05, pfSense CE 2.5.2 och senare.
Linux-stöd
Userspace-program som stöder WireGuard inkluderar:
Historik
Tidiga kodbasutdrag har funnits sedan 30 juni 2016 [43] . De fyra tidiga användarna av WireGuard var VPN-tjänsterna Mullvad [44] , AzireVPN [45] , IVPN [46] och cryptostorm [47] . WireGuard har tagit emot donationer från Mullvad, Private Internet Access, IVPN, NLnet Foundation [48] och OVPN [49] .
Från och med juni 2018 rekommenderar utvecklarna av WireGuard att de betraktar koden och protokollet som experimentella och varnar för att de ännu inte har nått en stabil version som är kompatibel med CVE -spårning av eventuella säkerhetsbrister som kan hittas [50] [51] .
Den 9 december 2019 accepterade David Miller, huvudunderhållaren av Linux-nätverksstacken, WireGuard-korrigeringarna i nätverket nästa underhållarträd för inkludering i den kommande kärnan [52] [53] [54] .
Den 28 januari 2020 slog Linus Torvalds ihop David Millers nät-nästa träd och WireGuard gick in i Linux-kärnträdet [55] .
Den 20 mars 2020 aktiverade Debianutvecklarna modulbyggealternativen för WireGuard i deras kärnkonfiguration för Debian version 11 (testning) [56] .
Den 29 mars 2020 inkluderades WireGuard i versionsträdet för Linux 5.6. Windows-versionen av programvaran förblir i beta [5] .
Den 30 mars 2020 lade Android- utvecklarna till inbyggt stöd för WireGuard-kärnan till sin delade kärnbild [57] .
Den 22 april 2020 konsoliderade NetworkManager- utvecklaren Beniamino Galvani GUI -stöd för WireGuard [58] .
Den 12 maj 2020 föreslog Matt Dunwoody korrigeringar för inbyggt WireGuard-kärnstöd i OpenBSD [59] .
Den 22 juni 2020, efter arbetet av Matt Dunwoody och Jason Donenfeld, importerades WireGuard-stöd till OpenBSD [60] .
Den 23 november 2020 släppte Jason Donenfeld en Windows-paketuppdatering som förbättrar installation, stabilitet, ARM- stöd och företagsfunktioner [61] .
Den 29 november 2020 importerades WireGuard-stöd till FreeBSD 13 -kärnan [19] .
Den 19 januari 2021 lades WireGuard-stöd till för förhandsvisning i utvecklingsögonblicksbilderna av pfSense Community Edition (CE) 2.5.0 [62] .
I mars 2021 togs kärnlägesstöd för WireGuard bort från FreeBSD 13.0, som fortfarande testades, efter att en nödkodsanering i FreeBSD WireGuard inte kunde slutföras snabbt [63] . PfSense Community Edition (CE) 2.5.0 och FreeBSD-baserade pfSense Plus 21.02 tog också bort kärnbaserade WireGuard [64] .
I maj 2021 återinfördes WireGuard-stödet till pfSense CE och pfSense Plus utvecklingsögonblicksbilder som ett experimentellt paket skrivet av pfSense-gemenskapsmedlemmen Christian McDonald. WireGuard-paketet för pfSense inkluderar Jason Donenfelds nuvarande kärnlägesutvecklingsarbete på WireGuard, som ursprungligen sponsrades av Netgate [65] [62] [66] .
I juni 2021 inkluderade de officiella paketförråden för pfSense CE 2.5.2 och pfSense Plus 21.05 WireGuard-paketet [67] .
Mottagning
WireGuard syftar till att tillhandahålla en enkel och effektiv implementering av virtuellt privat nätverk. En granskning från 2018 av Ars Technica fann att populära VPN-tekniker som OpenVPN och IPsec ofta är svåra att konfigurera, är lätta att inaktivera (utan ytterligare konfiguration), tar en betydande tid att förhandla om återanslutningar, kan använda föråldrade chiffer och har relativt stora kodbaser på över 400 000 respektive 600 000 rader kod, vilket försvårar felsökning [68] . Designen av WireGuard syftar till att minska dessa problem för att göra tunneln säkrare och lättare att hantera som standard. Genom att använda versioner av kryptografiska paket fokuserar den på chiffer som anses vara bland de säkraste aktuella krypteringsmetoderna, och vid tidpunkten för Ars Technica-granskningen har dess kodbas cirka 4000 rader kärnkod, vilket är cirka 1 % av OpenVPN eller IPsec , vilket förenklar revisionsinformationssäkerheten .
WireGuard har hyllats av skaparen av Linux-kärnan, Linus Torvalds, som uttalade att det är "ett konstverk" i motsats till OpenVPN och IPsec [69] .
Ars Technica rapporterade att vid testning skapades stabila tunnlar lätt med WireGuard jämfört med alternativ, och noterade att efter användning av WireGuard skulle det vara "svårt att återgå" till långa återanslutningsfördröjningar jämfört med WireGuards omedelbara återanslutning [68] .
Oregon- senator Ron Wyden rekommenderade att National Institute of Standards and Technology (NIST) utvärderar WireGuard som en ersättning för befintliga teknologier som IPsec och OpenVPN [70] .
Anteckningar
- ↑ https://git.zx2c4.com/wireguard-linux-compat/tag/?h=v1.0.20220627
- ↑ 1 2 Jason A. Donenfeld. WireGuard: snabb, modern, säker VPN- tunnel . www.wireguard.com . Hämtad: 4 juni 2022.
- ↑ Bart Preneel, Frederik Vercauteren. Tillämpad kryptografi och nätverkssäkerhet: 16:e internationella konferensen, ACNS 2018, Leuven, Belgien, 2-4 juli 2018, Proceedings . — Springer, 2018-06-11. — 715 sid. — ISBN 978-3-319-93387-0 .
- ↑ Jason A. Donenfeld. Kända begränsningar - WireGuard . www.wireguard.com . Hämtad: 4 juni 2022.
- ↑ 1 2 Jim Salter. WireGuard VPN gör det till 1.0.0—och till nästa Linux-kärna ? . Ars Technica (30 mars 2020). Hämtad: 4 juni 2022. (obestämd)
- ↑ 1 2 Jason A. Donenfeld. WireGuard: snabb, modern, säker VPN- tunnel . trådskydd . Hämtad 14 juni 2022. Arkiverad från originalet 28 april 2018.
- ↑ Jason A. Donenfeld. Kända begränsningar - WireGuard . trådskydd . Hämtad: 14 juni 2022.
- ↑ Benjamin Lipp, Bruno Blanchet, Karthikeyan Bhargavan. Ett mekaniserat kryptografiskt bevis på WireGuard Virtual Private Network Protocol . — Inria Paris, 2019-04.
- ↑ Jason Donenfeld. WireGuard: Next Generation Kernel Network Tunnel . wireguard.com (2 maj 2021). (obestämd)
- ↑ 1 2 Jason A. Donenfeld. Kända begränsningar - WireGuard . www.wireguard.com . Hämtad: 14 juni 2022.
- ↑ Varför TCP över TCP är en dålig idé . sites.inka.de . Hämtad: 14 juni 2022. (obestämd)
- ↑ Jason A. Donenfeld. WireGuard: Next Generation Kernel Network Tunnel . wireguard.com (4 mars 2018). Arkiverad från originalet den 25 juni 2018. (obestämd)
- ↑ Wireguard VPN Protocol - Privacy HQ . privacyhq.com . Hämtad: 14 juni 2022. (obestämd)
- ↑ Jason A. Donenfeld. WireGuard: snabb, modern, säker VPN- tunnel . www.wireguard.com . Hämtad: 14 juni 2022.
- ↑ BoringTun , en WireGuard-implementering för användarutrymme i Rust . The Cloudflare Blog (27 mars 2019). Hämtad: 14 juni 2022.
- ↑ CloudFlare lanserar "BoringTun" som Rust-Written WireGuard User-Space- implementering . www.phoronix.com . Hämtad: 14 juni 2022.
- ↑ WireGuard importerad till OpenBSD . undeadly.org . Hämtad: 14 juni 2022. (obestämd)
- ↑ wg(4) - NetBSD Manual Pages . man.netbsd.org . Hämtad: 14 juni 2022. (obestämd)
- ↑ 1 2 Importera stöd för WireGuard för kärnan . svnweb.freebsd.org . Hämtad: 14 juni 2022. (obestämd)
- ↑ Jason A. Donenfeld. WireGuardNT, en högpresterande WireGuard-implementering för Windows-kärnan (mån 2 augusti 17:27:37 UTC 2021). Hämtad: 14 juni 2022. (obestämd)
- ↑ Sök - OPNsense dokumentation . docs.opnsense.org . Hämtad: 14 juni 2022. (obestämd)
- ↑ WireGuard i NetworkManager - Thomas Hallers blogg ? . Hämtad: 14 juni 2022. (obestämd)
- ↑ Lennart Poettering. systemd v237 (sön 28 januari 16:08:51 UTC 2018). Hämtad: 14 juni 2022. (obestämd)
- ↑ Intel ConnMan 1.38 släppt med WireGuard-stöd . www.phoronix.com . Hämtad: 14 juni 2022.
- ↑ Mozilla VPN: Skydda hela din enhet . Mozilla . Hämtad: 14 juni 2022. (ryska)
- ↑ Augustas Radziukas. Utvecklingsuppdatering 07.02–07.16 (engelska) . Medium (22 januari 2021). Hämtad: 14 juni 2022.
- ↑ Vad är NordLynx? | NordVPN-stöd . support.nordvpn.com _ Hämtad: 14 juni 2022. (obestämd)
- ↑ Varför vi valde WireGuard® för Veeam PN v2 . Veeam Softwares officiella blogg (15 maj 2019). Hämtad: 14 juni 2022.
- ↑ pivpn/ pivpn . GitHub . Hämtad: 14 juni 2022.
- ↑ Vad är WireGuard VPN-protokoll och hur man använder det med VPN Unlimited . www.vpnunlimited.com _ Hämtad: 14 juni 2022. (obestämd)
- ↑ WireGuard® på PIA är slut på beta och tillgänglig för användning på Windows, Mac, Linux, Android och iOS ? . PIA VPN-blogg (10 april 2020). Hämtad: 14 juni 2022. (obestämd)
- ↑ GitHub - event/hide.client.linux: Hide.me CLI VPN-klient för Linux . GitHub . Hämtad: 14 juni 2022.
- ↑ Snabbt och rörigt WireGuard-protokoll är nu live på Surfshark ? . Surfshark (19 oktober 2020). Hämtad: 14 juni 2022. (obestämd)
- ↑ Ferdinand Thommes. Skydd med en enda källa » Linux Magazine . Linux Magazine . Hämtad: 14 juni 2022. (obestämd)
- ↑ Tillkännage Unbreakable Enterprise Kernel Release 6 Update 1 för Oracle Linux . Oracle Linux Blog (12 november 2020). (obestämd)
- ↑ Vad är WireGuard? (engelska) . OVPN.com . Hämtad: 14 juni 2022.
- ↑ oVPN Nya uppdateringar - WireGuard + OpenVPN 2.5 Kommer snart! (ryska) ? . YouTube . Hämtad: 14 juni 2022. (obestämd)
- ↑ Wireguard VPN | TorGuard . torguard.net . Hämtad: 14 juni 2022. (obestämd)
- ↑ VyprVPN WireGuard VPN Protocol är här för att skydda dig! (engelska) ? . www.androidpimp.com (14 maj 2020). Hämtad: 14 juni 2022. (obestämd)
- ↑ Vi introducerar WireGuard . Windscribbles (16 juli 2020). Hämtad: 14 juni 2022.
- ↑ Trust.Zone börjar stödja WireGuard Protocol - Trust.Zone . trust.zone . Hämtad: 14 juni 2022. (obestämd)
- ↑ ProtonVPN antar WireGuard Protocol . PCMAG . Hämtad: 14 juni 2022.
- ↑ Index av /monolithic-historical/ . download.wireguard.com . Hämtad: 14 juni 2022. (obestämd)
- ↑ Rob Mardisalu. Mullwad recension . thebetvpn.com (28 maj 2019). Arkiverad från originalet den 24 juni 2019. (obestämd)
- ↑ John Mason. AzireVPN recension . thebetvpn.com . Arkiverad från originalet den 8 maj 2019. (obestämd)
- ↑ Vi introducerar WireGuard, helt automatiserad. (engelska) ? . www.ivpn.net (11 december 2018). Hämtad: 14 juni 2022. (obestämd)
- ↑ WireGuard-stöd lagt till! | kryptostorm blogg . cryptostorm.is . Hämtad: 14 juni 2022. (obestämd)
- ↑ Jason A. Donenfeld. Donationer - WireGuard . wireguard.com . Hämtad 14 juni 2022. Arkiverad från originalet 28 april 2018.
- ↑ OVPN donerar för att stödja WireGuard® . OVPN.com . Hämtad: 14 juni 2022.
- ↑ Jason A. Donenfeld. WireGuard: snabb, modern, säker VPN- tunnel . www.wireguard.com . Hämtad 14 juni 2022. Arkiverad från originalet 25 juni 2018.
- ↑ Installation - WireGuard . web.archive.org . Hämtad 14 juni 2022. Arkiverad från originalet 26 juni 2018. (obestämd)
- ↑ e7096c131e5161fa3b8e52a650d7719d2857adfd - pub/scm/linux/kernel/git/davem/net-next - Git på Google . kernel.googlesource.com . Hämtad: 14 juni 2022. (obestämd)
- ↑ LKML: David Miller: Re: PATCH net-next v2 net: WireGuard säker nätverkstunnel . lkml.org . Hämtad: 14 juni 2022. (obestämd)
- ↑ MEDDELANDE WireGuard slogs samman med net-next, på väg till Linux 5.6 . web.archive.org . Hämtad 14 juni 2022. Arkiverad från originalet 09 januari 2020. (obestämd)
- ↑ Linus Torvalds. index : kernel/git/torvalds/linux.git . Linux-kärnan källträd . (obestämd)
- ↑ drivers/net: Aktivera WIREGUARD som modul (9d60411c) Beställer Debians kärnteam / linux GitLab . gitlab . Hämtad: 14 juni 2022.
- ↑ Diff - 99761f1eac33d14a4b1613ae4b7076f41cb2df94^! - kernel/common - Git på Google . android.googlesource.com _ Hämtad: 14 juni 2022. (obestämd)
- ↑ editor: merge branch 'bg/ wireguard ' (d321d0df) Bekräftar GNOME / network-manager-applet . gitlab . Hämtad: 14 juni 2022.
- ↑ Jason A. Donenfeld. WireGuard för OpenBSD Kernel Patches Upplagd (tis 12 maj 08:32:46 CEST 2020). Hämtad: 14 juni 2022. (obestämd)
- ↑ 'CVS: cvs.openbsd.org: src' - MARC . marc.info . Hämtad: 14 juni 2022. (obestämd)
- ↑ Jason A. Donenfeld. ANNONSERA WireGuard för Windows 0.3: ARM-stöd, företagsfunktioner och mer (mån 23 november 15:24:57 CET 2020). Hämtad: 14 juni 2022. (obestämd)
- ↑ 1 2 WireGuard för programvaran pfSense ? . www.netgate.com . Hämtad: 14 juni 2022. (obestämd)
- ↑ Tim Anderson. FreeBSD 13.0 skickas utan WireGuard-stöd när utvecklaren går in för att åtgärda "allvarliga problem" med initial implementering . www.theregister.com . Hämtad: 14 juni 2022.
- ↑ WireGuard borttagen från programvaran pfSense® CE och pfSense® Plus ? . www.netgate.com . Hämtad: 14 juni 2022. (obestämd)
- ↑ pfSense : WireGuard återvänder som ett experimentpaket ? . www.netgate.com . Hämtad: 14 juni 2022. (obestämd)
- ↑ wireguard-freebsd - WireGuard-implementering för FreeBSD-kärnan . git.zx2c4.com . Hämtad: 14 juni 2022. (obestämd)
- ↑ pfSense Plus 21.05- RELEASE nu tillgänglig ? . www.netgate.com . Hämtad: 14 juni 2022. (obestämd)
- ↑ 1 2 Jim Salter. WireGuard VPN-recension: En ny typ av VPN erbjuder allvarliga fördelar ? . Ars Technica (26 augusti 2018). Hämtad: 14 juni 2022. (obestämd)
- ↑ VPN kommer att förändras för alltid med WireGuards ankomst till Linux . ZDNet . Hämtad: 14 juni 2022.
- ↑ US Senator rekommenderar Open-Source WireGuard till NIST för statlig VPN . www.phoronix.com . Hämtad: 14 juni 2022.