WireGuard - WireGuard
| Alkuperäinen kirjoittaja | Jason A. Donenfeld |
|---|---|
| Kehittäjä (t) | Jason A. Donenfeld |
| Vakaa julkaisu | 1.0.20210219 / 19. helmikuuta 2021
|
| Varasto | |
| Kirjoitettu sisään | C ( Linux , FreeBSD -ytimen moduulit, NetBSD , OpenBSD -ytimen ohjaimet), Go (käyttäjätilan toteutus) |
| Käyttöjärjestelmä | |
| Tyyppi | Virtuaalinen yksityinen verkko |
| Lisenssi | erilaisia ilmaisia ja avoimia lähdekoodeja |
| Verkkosivusto | www |
WireGuard on viestintäprotokolla ja ilmainen ja avoimen lähdekoodin ohjelmisto, joka toteuttaa salattuja virtuaalisia yksityisiä verkkoja (VPN), ja se on suunniteltu helppokäyttöisyyden, nopean suorituskyvyn ja alhaisen hyökkäyspinnan tavoitteeksi . Sen tavoitteena on parempi suorituskyky ja enemmän tehoa kuin kaksi yleistä tunnelointiprotokollaa IPsec ja OpenVPN . WireGuard -protokolla siirtää liikenteen UDP: n yli .
Maaliskuussa 2020 ohjelmiston Linux -versio saavutti vakaan tuotantoversion, ja se sisällytettiin Linux 5.6 -ydimeen ja palautettiin aiempiin Linux -ytimiin joissakin Linux -jakeluissa . Linux -ytimen komponentit on lisensoitu GNU General Public License (GPL) -version 2 mukaisesti; muut toteutukset ovat GPLv2: n tai muiden ilmaisten/avoimen lähdekoodin lisenssien alaisia.
Pöytäkirja
WireGuard käyttää seuraavia:
- Curve25519 varten avainten vaihdon
- ChaCha20 varten symmetrisen salauksen
- Poly1305 varten viesti autentikointikoodeja
- SipHash hashtable -avaimille
- BLAKE2s varten tiiviste
- Vain UDP-pohjainen
Toukokuussa 2019 INRIA: n tutkijat julkaisivat koneella tarkistetun todistuksen WireGuardista, joka on valmistettu CryptoVerif- todistusavustajalla .
WireGuard tukee esijaettua symmetrisen avaimen tilaa, joka tarjoaa ylimääräisen symmetrisen salauskerroksen kvanttilaskennan tulevan kehityksen lieventämiseksi. Riski on se, että liikenne tallennetaan, kunnes kvanttitietokoneet kykenevät rikkomaan käyrän25519 ; jolloin liikenne voidaan purkaa. Esijaetut avaimet ovat "yleensä ongelmallisia avaintenhallinnan näkökulmasta ja saattavat olla todennäköisemmin varastettuja", mutta lyhyellä aikavälillä, jos symmetrinen avain vaarantuu, Curve25519-avaimet tarjoavat silti enemmän kuin riittävän suojan.
Verkostoituminen
WireGuard käyttää vain UDP: tä, joten se ei toimi verkoissa, jotka estävät UDP -liikenteen. Tämä on toisin kuin OpenVPN: n kaltaiset vaihtoehdot, koska TCP-over-TCP -reititys aiheuttaa monia haittoja.
WireGuard tukee täysin IPv6: ta sekä tunnelin sisällä että sen ulkopuolella. Se tukee vain kerrosta 3 sekä IPv4: lle että IPv6: lle ja voi koteloida v4-in-v6: n ja päinvastoin.
WireGuard tukee useita topologioita :
- Pisteestä pisteeseen
-
Tähti (palvelin/asiakas)
- Asiakkaan päätepistettä ei tarvitse määrittää ennen kuin asiakas alkaa lähettää tietoja.
- Asiakkaan päätepisteet voidaan määrittää staattisesti ennalta.
- Mesh
Koska pisteestä pisteeseen tuetaan, voidaan tehdä muita topologioita, mutta ei samassa tunnelissa.
Laajennettavuus
WireGuard on suunniteltu laajennettavaksi kolmansien osapuolten ohjelmilla ja komentosarjoilla. Tätä on käytetty WireGuardin täydentämiseen erilaisilla ominaisuuksilla, kuten käyttäjäystävällisemmillä hallintarajapinnoilla (mukaan lukien avainten helpompi asennus), kirjaamisella, dynaamisilla palomuuripäivityksillä ja LDAP- integroinnilla.
Tällaisten monimutkaisten ominaisuuksien jättäminen pois minimaalisesta ydinkoodikannasta parantaa sen vakautta ja turvallisuutta. Turvallisuuden varmistamiseksi WireGuard rajoittaa salausohjainten toteuttamismahdollisuuksia, rajoittaa avainvaihtoprosessien valintoja ja kartoittaa algoritmit pieneen osaan moderneista salausprimitiivistä . Jos jossakin primitiivissä havaitaan virhe, voidaan julkaista uusi versio, joka ratkaisee ongelman. Myös oikeudeton käyttäjät eivät voi muuttaa kokoonpanoasetuksia, jotka vaikuttavat koko sovelluksen turvallisuuteen.
Vastaanotto
WireGuard pyrkii tarjoamaan yksinkertaisen ja tehokkaan virtuaalisen yksityisen verkon toteutuksen. Ars Technican vuoden 2018 katsauksessa havaittiin, että suosittuja VPN -tekniikoita, kuten OpenVPN ja IPsec, on usein monimutkainen asentaa, katkaista yhteys helposti (ilman lisämäärityksiä), käyttää paljon aikaa neuvotella uudelleenyhteyksistä, käyttää vanhentuneita salauksia ja joilla on suhteellisen suuri määrä yli 400 000 ja 600 000 koodirivin koodiperusta, mikä estää virheenkorjauksen.
WireGuardin suunnittelulla pyritään vähentämään näitä ongelmia. Tavoitteena on tehdä tunnelista turvallisempi ja helpompi hallita oletuksena. Käyttämällä versiointi salauksen paketteja, se keskittyy ciphers uskotaan olevan yksi kaikkein turvallisin nykyinen salausmenetelmiä, ja aikaan Ars Technica tarkastelu oli codebase noin 4000 riviä ytimen koodia, noin 1% joko OpenVPN tai IPSec , mikä helpottaa turvatarkastuksia . WireGuardia kiitti Linux -ytimen luoja Linus Torvalds, joka kutsui sitä "taideteokseksi" toisin kuin OpenVPN ja IPsec. Ars Technica kertoi, että testauksessa luotiin vakaa tunneleita WireGuardilla vaihtoehtoisiin vaihtoehtoihin verrattuna, ja kommentoi, että olisi "vaikea palata" pitkiin uudelleenviiveisiin verrattuna WireGuardin "ei -hölynpölyä" -pikayhteyksiin.
Oregonin senaattori Ron Wyden on suositellut National Institute of Standards and Technology (NIST): lle, että he arvioisivat WireGuardin korvaamaan olemassa olevat tekniikat, kuten IPsec ja OpenVPN .
Saatavuus
Toteutukset
WireGuard -protokollan toteutuksia ovat:
- Donenfeldin ensimmäinen toteutus, kirjoitettu C ja Go.
- Cloudflaren BoringTun, Rustissa kirjoitettu käyttäjätilan toteutus .
- Matt Dunwoodien toteutus OpenBSD: lle, kirjoitettu C.
- Ryota Ozakin wg (4) toteutus NetBSD: lle on kirjoitettu C.
- FreeBSD -toteutus on kirjoitettu C -kielellä ja jakaa suurimman osan datapolusta OpenBSD -toteutuksen kanssa.
- OpenWRT Hanke: WireGuard
- Alkuperäinen Windows- ytimen toteutus nimeltä "wireguard-nt" elokuusta 2021 lähtien
- OPNsense standardipaketin os-WireGuardin kautta
- pfSense vakiopaketin kautta (pfSense-pkg-WireGuard) (Netgaten hyväksymä yhteisöpaketti)
Linux -tuki
WireGuardia tukevat käyttäjätilaohjelmat sisältävät:
- NetworkManager versiosta 1.16 lähtien
- systemd versiosta 237 lähtien
- Intelin ConnMan versiosta 1.38 lähtien
- IPVanish VPN versiosta 3.7.4.0 alkaen
- Mozilla VPN ( Mullvadin kanssa )
- NOIA -verkko
- NordVPN Nordlynxin kautta
- PiVPN 17. lokakuuta 2019 lähtien
- Yksityinen Internet -yhteys VPN 10. huhtikuuta 2020 lähtien
- ProtonVPN heinäkuusta 2021 lähtien
- Surfshark lokakuusta 2020 lähtien
- Mistborn (ohjelmisto) VPN maaliskuusta 2020 lähtien
- Oracle Linux " Unbreakable Enterprise Kernel " -päivityksen 6 päivityksen 1 kanssa marraskuusta 2020 lähtien
- oVPN helmikuusta 2020 lähtien, käyttöönotto vuonna 2021
- Torguard vuodesta 2020
- Trust.zone VPN helmikuusta 2021 lähtien
- Veeam Powered Network v2, toukokuusta 2019 lähtien
- Rajoittamaton VPN marraskuusta 2019 lähtien
- Vypr VPN toukokuusta 2020 lähtien
- Windscribe vuonna 2020
Historia
Varhaisia tilannekuvia koodikannasta on olemassa 30. kesäkuuta 2016. WireGuardin neljä varhaista käyttöönottajaa olivat VPN -palveluntarjoajat Mullvad , AzireVPN, IVPN ja cryptostorm. WireGuard on saanut lahjoituksia Mullvadilta, Private Internet Accessilta , IVPN: ltä , NLnet Foundationilta ja nyt myös OVPN: ltä.
WireGuardin kehittäjät neuvovat kesäkuusta 2018 lähtien pitämään koodia ja protokollaa kokeellisena ja varoittamaan, etteivät he ole vielä saavuttaneet löydettyä tietoturvahaavoittuvuutta vakaata julkaisua, joka on yhteensopiva CVE -seurannan kanssa.
9. joulukuuta 2019 David Miller - Linux -verkkopinon ensisijainen ylläpitäjä - hyväksyi WireGuard -korjaustiedostot "net -next" -ylläpitäjäpuuhun sisällytettäväksi tulevaan ytimeen.
28. tammikuuta 2020 Linus Torvalds yhdisti David Millerin verkkopuun ja WireGuard tuli päälinjan Linux-ytimen puuhun.
20. maaliskuuta 2020 Debianin kehittäjät ottivat käyttöön WireGuardin moduulikoontivaihtoehdot ytimen määrityksissään Debian 11 -versiota varten (testaus).
WireGuard sisällytettiin 29. maaliskuuta 2020 Linux 5.6 -julkaisupuuhun. Ohjelmiston Windows -versio on edelleen beta -vaiheessa.
Android -kehittäjät lisäsivät 30. maaliskuuta 2020 WireGuardin alkuperäisen ytimen tuen yleiseen ytimen kuvaansa.
22. huhtikuuta 2020 NetworkManager kehittäjä Beniamino Galvaniksi yhdistyivät GUI tukea WireGuard.
12. toukokuuta 2020 Matt Dunwoodie ehdotti korjaustiedostoja WireGuardin natiiviydintuelle OpenBSD: ssä .
22. kesäkuuta 2020 Matt Dunwoodien ja Jason A. Donenfeldin työn jälkeen WireGuard -tuki tuodaan OpenBSD: hen.
23. marraskuuta 2020 Jason A. Donenfeld julkaisi Windows -paketin päivityksen, joka paransi asennusta, vakautta, ARM -tukea ja yrityksen ominaisuuksia.
WireGuard -tuki tuodaan 29. marraskuuta 2020 FreeBSD 13 -ydimeen .
WireGuard -tuki lisättiin esikatseluun 19. tammikuuta 2021 pfSense Community Edition (CE) 2.5.0 -kehityksen tilannekuvissa.
Maaliskuussa 2021 kernelitilassa oleva WireGuard-tuki poistettiin FreeBSD 13.0: sta, joka on edelleen testattavana, kun FreeBSD WireGuardin kiireellinen koodinpuhdistus ei onnistunut nopeasti. FreeBSD-pohjainen pfSense Community Edition (CE) 2.5.0 ja pfSense Plus 21.02 poistivat myös ydinpohjaisen WireGuardin.
Toukokuussa 2021 WireGuard-tuki otettiin uudelleen käyttöön pfSense CE- ja pfSense Plus -kehityksen tilannekuvissa kokeellisena paketina, jonka pfSense-yhteisön jäsen Christian McDonald kirjoitti. WireGuard-paketti pfSense-ohjelmaan sisältää Jason A.
Kesäkuussa 2021 sekä pfSense CE 2.5.2: n että pfSense Plus 21.05: n viralliset pakettivarastot sisälsivät WireGuard -paketin
Katso myös
- Virtuaalisten yksityisten verkkopalvelujen vertailu
- Secure Shell (SSH), salausverkkoprotokolla, jota käytetään palveluiden suojaamiseen suojaamattoman verkon kautta.