TĂ€na tĂ”i Linus endaga kaasa net-next haru koos VPN-liidestega . Sellest sĂŒndmusest teatas WireGuardi postituste nimekirjas.

Praegu on kĂ€imas koodi kogumine uue Linuxi tuuma 5.6 jaoks. WireGuard on uus pĂ”lvkond kiire VPNi, mis rakendab kaasaegset krĂŒptograafiat. Seda arendati algselt lihtsama ja mugavama alternatiivi saamiseks olemasolevatele VPNidele. Autori nimi on Kanada IKT-spetsialist Jason Donenfeld. Augustis 2018 sai WireGuard Linus Torvaldsi poolt. Umbes samal ajal algas töö VPNi integreerimiseks Linuxi tuumasse. Protsess venis natuke.
âNĂ€en, et Jason tegi pull-requesti WireGuardi integreerimiseks tuumasse, - kirjutas Linus 2. augustil 2018. - Kas ma saan lihtsalt veel kord vĂ€ljendada oma armastust selle VPN-i vastu ja loota kiirele ĂŒhinemisele? VĂ”ib-olla pole kood ideaalne, kuid olen selle ĂŒle vaadanud ja vĂ”rreldes OpenVPNi ja IPSeci Ă”udustega on see tĂ”eline kunstiteos.â
Kuid hoolimata Linuse soovist viibis ĂŒhinemine poolteist aastat. Peamine probleem oli seotud krĂŒptograafiliste funktsioonide erinevate teostustega, mida kasutati jĂ”udluse suurendamiseks. PĂ€rast pikka lĂ€birÀÀkimist jĂ”uti septembris 2019 kompromisslahendusele nĂ”ustusid on WireGuardis ette valmistatud kiirete ChaCha20 ja Poly1305 algoritmide teostused. LĂ”puks, 9. detsembril 2019, lisas David Miller (David S. Miller), kes vastutab Linuxi tuuma vĂ”rgu alajaotuse eest,
net-next haru WireGuardi projektist VPN-liidese teostusega. Ja tÀna, 29. jaanuaril 2020, lÀksid muudatused Linusele integreerimiseks tuumasse.
Selge ja hÀsti lÀbi mÔeldud

WireGuardi vÀidetavad eelised teiste VPN-lahenduste ees:
- Lihtne kasutada.
- Kasutab kaasaegseid krĂŒptograafiat: Noise protocol framework, Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24, HKDF jne.
- Kompaktne ja loetav kood, kergem uurida haavatavuste osas.
- KÔrge tootlikkus.
- Kogu WireGuardi pÔhiloogika hÔlmab vÀhem kui 4000 koodirea, samas kui OpenVPN ja IPSec sisaldavad sadu tuhandeid ridu. .
Kogu WireGuardi peamine loogika mahub vÀhem kui 4000 koodirea, samal ajal kui OpenVPN ja IPSec koosnevad sadadest tuhandetest ridadest.
WireGuard kasutab krĂŒpteerimise vĂ”tmete pĂ”hist marsruutimise kontseptsiooni, kus iga vĂ”rguinterfatsi juurde on seotud privaatvĂ”ti ja avalikke vĂ”tmeid kasutatakse ĂŒhenduse loomiseks. Avalike vĂ”tmete vahetamine ĂŒhenduse loomise jaoks toimub SSH-ga analoogsetel alustel. VĂ”tmete kooskĂ”lastamiseks ja ĂŒhenduse loomiseks ilma eraldi kasutaja kasutuses oleva deemonita kasutatakse mehhanismi Noise_IK , mis sarnaneb SSH-s authorized_keys'i sĂ€ilitamisele. Andmete edastamine toimub UDP-pakettidesse kapseldamise teel. Toetatakse VPN-serveri IP-aadressi vahetamist (roaming) ĂŒhenduse katkemiseta koos kliendi automaatse ĂŒmberkonfigureerimisega, â Opennet.
KrĂŒpteerimiseks voosredensus ja sĂ”numite autentimise algoritm (MAC) , mille on töötanud vĂ€lja Daniel Bernstein (), Tanja Lange ja Peter Schwabe. ChaCha20 ja Poly1305 on vĂ€lja toodud kui kiiremad ja turvalisemad ASE-256-CTR ja HMAC alternatiivid, mille tarkvaraline rakendus vĂ”imaldab saavutada kindlat kĂ€itusaja, ilma erilise riistvara toe kasutamiseta. Ăhise salajase vĂ”ti genereerimiseks kasutatakse elliptsete kĂ€ikude pĂ”hist Diffie-Hellmani protokolli , mille samuti pakkus vĂ€lja Daniel Bernstein. Hashimise jaoks kasutatakse algoritmi ».
tulemused nÀitasid ainult nelja ebaolulise koodibloki kattuvust, mis olid tingitud POSIX ja ANSI C nÔuetest. ametlikult veebilehelt:
LĂ€bivool (megabit/s)

Pinging (ms)

Testkonfiguratsioon:
- Intel Core i7-3820QM ja Intel Core i7-5200U
- Gigabit Intel 82579LM ja Intel I218LM kaardid
- Linux 4.6.1
- WireGuardi konfiguratsioon: 256-bitine ChaCha20 koos Poly1305-ga MAC jaoks
- Esimene IPsec konfiguratsioon: 256-bitine ChaCha20 koos Poly1305-ga MAC jaoks
- Teine IPsec konfiguratsioon: AES-256-GCM-128 (AES-NI-ga)
- OpenVPN konfiguratsioon: vastava AES 256-bitise krĂŒpteerimisega HMAC-SHA2-256, UDP-reĆŸiim
- Toime registreeriti
iperf3, keskmine tulemus nÀidatud 30 minuti jooksul.
Teoreetiliselt, pĂ€rast WireGuardi integreerimist vĂ”rgu kuhja, peaks see töötama veelgi kiiremini. Kuid reaalsuses ei pruugi see nii olla, kuna ĂŒleminekul tuuma krĂŒptograafilistele funktsioonidele Crypto API. VĂ”ib-olla ei ole kĂ”ik neist veel optimeeritud niiviisi, et saavutada WireGuardi natiivset jĂ”udlust.
Minu arvates on WireGuard ideaalne kasutaja jaoks. KĂ”ik madala taseme lahendused on dokumentatsioonis, seega tĂŒĂŒpilise VPN-i infrastruktuuri seadistamine vĂ”tab vaid mĂ”ni minut. Ăhegi konfiguratsiooni rikkumine on peaaegu vĂ”imatu, â ĂŒtles Habr'is 2018. aastal. â Seadmise protsess ametlikul veebilehel, soovin eraldi mĂ€rkida suurepĂ€rase Sellest kasutusmugavuse ja koodibaasi kompaktsuse tasemest on vĂ”imalik saavutada, loobudes vĂ”tmete jaotamisest. Siin pole keerulist sertifikaatide sĂŒsteemi ega kogu seda ettevĂ”tluslikku Ă”udust, lĂŒhikesed krĂŒptimisvĂ”tmed jaotatakse umbes nagu SSH-vĂ”tmed.
WireGuard'i projekt on vÀlja töötatud alates 2015. aastast, see on lÀbinud auditi ja . WireGuard'i tugi on integreeritud NetworkManagerisse ja systemd-sse, samas kui tuumale mÔeldud patƥid on osa Debian Unstable, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, Subgraph ja ALT jaotustest.
Allikas: habr.com
