WireGuard: Moderni VPN-protokolla, joka todella muutti asioita

11 min lukeaVPN-protokollat

WireGuard on harvinainen avoimen lähdekoodin ohjelmisto, josta tuli oletusarvo viidessä vuodessa. Linux-ytimen päälinja vuodesta 2020, NordLynxin ja Mullvadin takana oleva moottori ja tarpeeksi pieni koodikanta, jotta yksi henkilö voi tarkistaa sen iltapäivällä. Tämä on perusteellinen selitys – mitä se on, miten se toimii, miksi kaikki vaihtoivat ja missä se ei vieläkään ole.

Artikkelin koko runko on englanniksi alla.

Mitä WireGuard itse asiassa on

WireGuard on Jason A. Donenfeldin suunnittelema Layer 3 VPN-protokolla, joka julkaistiin ensimmäisen kerran vuonna 2015. Ratkaiseva suunnitteluvalinta oli minimalismi: noin 4 000 riviä eri ytimen C-koodia verrattuna noin 70 000 IP0:n IP0:een, 4 ja 0 000 IP0:een. toteutukset. Vähemmän koodia tarkoittaa pienempää hyökkäyspinta-alaa ja koodipohjaa, jota yksi insinööri voi pitää päässään – molemmat helpottavat tarkastuksia ja vähentävät tietoturvavirheitä.

Protokolla tekee yhden työn ja kieltäytyy kiinnittämästä ominaisuutta, ellei sen ole pakko. Ei ole TLS-neuvotteluvaihetta sormenjälkien saamiseksi, ei ole valittavissa salauspaketteja ajon aikana, ei älykkäitä varaketjuja. Saat yhden sarjan moderneja primitiivisiä. Käytät niitä tai käytät toista protokollaa.

Salauspino

WireGuard käyttää pientä, mielivaltaista nykyaikaisten primitiivien joukkoa sen sijaan, että käyttäjä antaisi käyttäjän valita:

  • Curve25519XCurbo-avainvaihto. lyhytaikainen ja pitkäaikainen).
  • ChaCha20 symmetriseen salaukseen.
  • Poly1305 viestien todennusta varten.
  • on parempi kuin ZLAKE24X. SHA-3 ja kevyempi kuin SHA-2).
  • HKDF avainten johtamiseen.
  • SipHash24 sisäisille hash-taulukoille, jotka vastustavat palvelunestoa käsien kautta. on rakennettu Noise Protocol Framework:n IK-kuviolle. Se täydentyy kahdessa viestissä, valinnaisella esijaetulla avaimella ylimääräistä symmetristä suojausta varten – hyödyllinen suojana tulevilta Curve25519.

    UDP:n kvanttitietokonehyökkäyksiltä – vain suunnittelun mukaan

    WireGuard puhuu oletuksena vain UDP5120-portissa. Tämä on tahallista. TCP:n kuljettaminen TCP:n yli (tapa OpenVPN-TCP toimii) aiheuttaa tunnetun TCP-sulamisongelman: kun sisempi TCP-yhteys lähettää uudelleen, myös ulompi lähettää uudelleen, ja kaksi ajastinta taputtelevat toisiaan. UDP välttää sen kokonaan.

    Kompromissi on todellinen: rajoittavissa verkoissa, joissa vain TCP/443 on sallittu, WireGuard ei yksinkertaisesti toimi. OpenVPN-over-TCP-443:lla ei ole vastinetta HTTPS-liikenteeksi naamioitavaksi. Jos olet Great Firewall -tyylisen verkon takana, tarvitset toisen protokollan tai AmneziaWG:n kaltaisen kääreen, joka hämärtää WireGuardin kättelyn.

    Linux-ytimen käyttöönotto

    WireGuardin tila ytimenä ytimenä — sen sijaan se on suurin syy OpenVPN-moduulina — se on pikemminkin kuin käyttäjän OpenVPN-tila. nopeasti. Paketit eivät koskaan ylitä ytimen/käyttäjätilan rajaa kuumalla polulla.

    • 9 Joulukuu 2019: David Miller hyväksyi WireGuard-korjaukset Linux net-next -puuhun.XPLZ57PLZ8 tammikuu.XZ 2020: Linus Torvalds yhdistettiin net-seuraavaksi ja siirsi WireGuardin päälinjaan.
    • 20 maaliskuu 2020: Linux 5.6 toimitetaan sisäänrakennetulla WireGuardilla.
    • X0 Android 6 Maaliskuu 6 lisätty: natiiviytimen tuki yleisessä ytimen kuvassa.
    • 22 Kesäkuu 2020: OpenBSD toi sen.
    • 29 Marraskuu 2020: FreeBSD 13 seurasi. niukka kohteliaisuuksista, jota kutsutaan koodiksi "taideteokseksi" verrattuna OpenVPN:ään ja IPseciin. Hän ei liioitellut.

      IRiippumaton tietoturva-analyysi

      IINRIAn tutkijat julkaisivat toukokuussa 2019 koneellisesti tarkistetun todisteen WireGuardin kättelystä CryptoVerif-työkalulla. He osoittivat, että protokolla takaa molemminpuolisen todennuksen, IND-CCA-istunnon avaimen salaisuuden, edelleensalaisuuden ja kompromissin jälkeisen turvallisuuden – jopa rajattomien rinnakkaisten istuntojen aikana, vaikka pitkäaikaiset avaimet vuotaisivatkin. Tämä on VPN-protokollalle epätavallisen vahva muodollinen tulos.

      Kuinka se kohtaa OpenVPN- ja IPsec

      Tyypillisen 1 Gbps:n langallisen yhteyden 50 ms:n viiveellä lähimpään ulostuloon:

        XZ ei linjaa9PLZ91DXXXir nopeus, ~5 ms lisätty latenssi.
      • WireGuard: 800–950 Mbps, +10–25 ms.
      • IKEv2/IPsec: 600–800ps latenssi.
      • OpenVPN UDP: 250–400 Mbps, +30–60 ms.
      • OpenVPN TCP: 100–10, +50–10 ms.

      Voit tarkistaa aukon itse suorittamalla speed-testin VPN:n ollessa pois päältä ja suorittamalla sitten uudelleen jokaisen palveluntarjoajasi tukeman protokollan.

      Missä WireGuard on heikompi

      • Ei yhteyden tilaa. WireGuard sitoo vertaiskumppanin staattiseen IP-allokointiin. Ilman apua se luo lokipinnan - jokaisen yhteyden muodostavan asiakkaan IP-osoite liitetään heidän julkiseen avaimeensa palvelimella. Kaupalliset VPN-verkot ratkaisevat tämän pyörivillä sisäisillä IP-osoitteilla, mutta se vaatii ylimääräisiä putkistoja, joita protokolla ei itse tarjoa.
      • UDP-only. Ei toimi, jos vain TCP/443 on sallittu.
      • Ei sisäänrakennettua NAT:n symmetriaa PLZAT:n takana ja12XPX:n takana. koordinaattori.
      • Helppo ottaa sormenjälki. Kättelyllä on erottuva muoto ja se on triviaalisti tunnistettavissa syvällä pakettien tarkastuksella, mikä on yksi syy, miksi se on estetty Kiinassa, Iranissa ja Venäjällä.

      IToteutukset know

      • wireguard-go: Go.
      • BoringTun:n virallinen cross-platform userspace-toteutus: Cloudflaren Rust-käyttäjätilan toteutus, jota käytetään tuotannossa osoitteessa scale.
      • wireguard-nt: Windows-ytimen ohjain, saatavilla elokuusta 2021 lähtien.
      • AmneziaWG: haarukka, joka lisää protokollan hämärtymistä syväpaketin ohitse tarkastus.

      Kuka käyttää sitä kaupallisesti

      Mullvad toimitti WireGuard-tuen ennen melkein muita. NordVPN kääri sen muotoon NordLynx mukautetulla NAT-kerroksella ratkaistakseen staattisen IP-allokoinnin ongelman. ProtonVPN tukee sitä kaikissa suunnitelmissa. IVPN ja TunnelBear lähettävät sen. Sekä Tailscale että Cloudflare WARP käyttävät sitä sisäisesti. Jos palveluntarjoajasi on moderni, se puhuu lähes varmasti WireGuardia.

      Pitäisikö sinun valita WireGuard?

      95 %:lle käyttäjistä kyllä. Se on nopeampi, tehokkaampi mobiiliakulla, helpompi asentaa ja sillä on paljon vahvempi muodollinen tietoturvatarina kuin edeltäjillään. Ainoat syyt valita erilainen ovat:

      • Olet maassa, joka estää WireGuard-kättelyt DPI:n kautta – valitse OpenVPN TCP/443:n yli TLS-hämäröinnillä tai AmneziaWG.
      • Tarvitset aina käytössä olevan yrityskeskuksen IP-tunnelin verkostoon. IKEv2.
      • Käytät palvelua, joka ei ole vielä toimittanut WireGuardia (harvinainen vuonna 2026).

      Kun olet muodostanut yhteyden, varmista, että tunneli todella tekee tehtävänsä VPN-vuototestillämme. Toimiva protokolla väärin määritetyn asiakkaan kanssa ei ole parempi kuin ei VPN:ää ollenkaan.

Usein kysytyt kysymykset

Onko WireGuard turvallisempi kuin OpenVPN?
Molemmat ovat turvallisia, kun ne on määritetty oikein. WireGuardin paljon pienempi koodikanta tekee auditoinnista seurattavan ja vähentää hyökkäyspintaa, ja se hyötyy muodollisesta koneella tarkastetusta turvallisuustodisteesta, jota OpenVPN:llä ei ole. OpenVPN hyötyy yli 20 vuoden luonnollisesta tarkastelusta ja kypsästä TLS-ekosysteemistä. Kummankaan protokollan nykyaikaisissa kokoonpanoissa ei ole tunnettua kryptografista katkosta.
Miksi WireGuard käyttää vain UDP:tä?
Koska TCP:n tunnelointi TCP:n yli aiheuttaa tunnetun TCP-sulamisongelman – kun sisäinen yhteys lähettää uudelleen, myös ulkoinen yhteys lähettää uudelleen ja kaksi uudelleenyritysajastinta törmäävät toisiinsa. UDP sivuuttaa sen kokonaan. Kompromissi on, että WireGuard ei voi naamioitua HTTPS:ksi TCP/443:ssa, minkä vuoksi OpenVPN-TCP on edelleen hyödyllinen voimakkaasti suodatetuissa verkoissa.
Kirjaako WireGuard IP-osoitteeni?
Paljas protokolla yhdistää yhdistävän kumppanin julkiseen avaimeensa, joka on eräänlainen loki. Hyvämaineiset kaupalliset VPN-palveluntarjoajat käärivät WireGuardin pyöriviin sisäisiin IP-osoitteisiin ja vain RAM-palvelimiin tämän pinnan poistamiseksi. Jos käytät omaa WireGuard-palvelinta, vastuu on sinun.
Voiko WireGuard toimia Kiinassa tai Iranissa?
Tavallisilla WireGuard-kättelyillä on erottuva muoto, ja niistä voidaan ottaa helposti sormenjäljet ​​syvällä pakettien tarkastuksella, joten ne estetään rutiininomaisesti voimakkaasti suodatetuissa maissa. AmneziaWG:n kaltaiset haarukat lisäävät kädenpuristuksen naamiointia; OpenVPN-over-TCP/443 TLS-hämiöinnillä on toinen luotettava vaihtoehto.
Tappaako WireGuard matkapuhelimen akun?
Ei – se on yleensä parempi kuin OpenVPN. WireGuardin pieni koodikanta ja jatkuvan säilytyssilmukan puute tarkoittavat alhaisempaa suorittimen ja radioaktiivisuutta. Ytimen toteutuksella varustettu IKEv2 on yhtä tehokas mobiilissa.
WireGuard selitti: Moderni VPN-protokolla, joka todella muutti asioita | VPN Master Pro