VPN WireGuard air a ghabhail a-steach ann an kernel Linux 5.6

An-diugh ghluais Linus an ath mheur lìon le eadar-aghaidh VPN dha fhèin Air adhart gu clàr na làraich. Mun tachartas seo aithris air liosta puist WireGuard.

VPN WireGuard air a ghabhail a-steach ann an kernel Linux 5.6

Tha cruinneachadh còd airson an kernel Linux 5.6 ùr a’ dol air adhart an-dràsta. Tha WireGuard na VPN luath an ath ghinealach a bhios a’ buileachadh cryptography an latha an-diugh. Chaidh a leasachadh an toiseach mar roghainn eile nas sìmplidh agus nas goireasaiche na VPNn a th’ ann mar-thà. Is e an t-ùghdar eòlaiche tèarainteachd fiosrachaidh à Canada Jason A. Donenfeld. Anns an Lùnastal 2018, WireGuard fhuair moladh le Linus Torvalds. Timcheall air an àm sin, thòisich obair air VPN a thoirt a-steach don kernel Linux. Thug am pròiseas beagan nas fhaide.

“Tha mi a’ faicinn gu bheil Jason air iarrtas tarraing a dhèanamh gus WireGuard a thoirt a-steach don kernel, ”sgrìobh Linus air 2 Lùnastal, 2018. - An urrainn dhomh a-rithist mo ghaol airson an VPN seo innse agus dòchas airson aonachadh a dh’ aithghearr? Is dòcha nach eil an còd foirfe, ach choimhead mi air, agus an taca ri uabhasan OpenVPN agus IPSec, is e fìor obair ealain a th’ ann."

A dh'aindeoin miann Linus, chaidh an aonachadh air adhart airson bliadhna gu leth. B 'e am prìomh dhuilgheadas a bhith ceangailte ri gnìomhachadh seilbh de ghnìomhan criptografach, a chaidh a chleachdadh gus coileanadh a leasachadh. Às deidh còmhraidhean fada san t-Sultain 2019 bha e chaidh co-dhùnadh co-rèiteachaidh a dhèanamh eadar-theangachadh badan gu na gnìomhan Crypto API a tha rim faighinn anns an kernel, ris a bheil gearanan aig luchd-leasachaidh WireGuard ann an raon coileanaidh agus tèarainteachd coitcheann. Ach chuir iad romhpa na gnìomhan dùthchasach WireGuard crypto a sgaradh gu API Zinc aig ìre ìosal air leth agus mu dheireadh cuir iad chun kernel. San t-Samhain, chùm an luchd-leasachaidh kernel an gealladh agus aontachadh gluais pàirt den chòd bho Zinc chun phrìomh kernel. Mar eisimpleir, anns an Crypto API air a thoirt a-steach buileachadh luath de na h-algorithms ChaCha20 agus Poly1305 air an ullachadh ann an WireGuard.

Mu dheireadh, air 9 Dùbhlachd, 2019, Daibhidh S. Miller, le uallach airson fo-shiostam lìonraidh an kernel Linux, gabhail ris dhan lìon - ath mheur badannan le buileachadh eadar-aghaidh VPN bhon phròiseact WireGuard.

Agus an-diugh, 29 Faoilleach 2020, chaidh na h-atharrachaidhean gu Linus airson an toirt a-steach don kernel.

VPN WireGuard air a ghabhail a-steach ann an kernel Linux 5.6

Buannachdan tagraidh WireGuard thairis air fuasglaidhean VPN eile:

  • Furasta a chleachdadh.
  • A’ cleachdadh crioptachadh ùr-nodha: frèam protocol fuaim, Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24, HKDF, msaa.
  • Còd teann, furasta a leughadh, nas fhasa a sgrùdadh airson so-leòntachd.
  • Coileanadh àrd.
  • Soilleir agus mionaideach sònrachadh.

Bidh a h-uile loidsig bunaiteach aig WireGuard a’ toirt suas nas lugha na loidhnichean còd 4000, ach feumaidh OpenVPN agus IPSec ceudan de mhìltean de loidhnichean.

“Bidh WireGuard a’ cleachdadh a’ bhun-bheachd air slighe iuchair crioptachaidh, a tha a’ toirt a-steach a bhith a’ ceangal iuchair phrìobhaideach ri gach eadar-aghaidh lìonraidh agus a’ cleachdadh iuchraichean poblach airson a cheangal. Tha iuchraichean poblach air an iomlaid gus ceangal a stèidheachadh san aon dòigh ri SSH. Gus iuchraichean a cho-rèiteachadh agus ceangal a dhèanamh gun a bhith a 'ruith daemon air leth ann an àite luchd-cleachdaidh, tha an inneal Noise_IK bho Frèam Pròtacal Fuaimcoltach ri cumail ùghdarraichte_keys ann an SSH. Tha tar-chur dàta air a dhèanamh tro ghlacadh ann am pacaidean UDP. Tha e a 'toirt taic do bhith ag atharrachadh seòladh IP an fhrithealaiche VPN (gluasad) gun a bhith a' ceangal a 'cheangail ri ath-dhealbhadh fèin-ghluasadach an neach-dèiligidh, - Tha ea 'sgrìobhadh Fosgailte.

Airson crioptachadh air a chleachdadh cipher sruth ChaCha20 agus algorithm dearbhaidh teachdaireachd (MAC) Poileasaidh dìomhaireachd, air a dhealbhadh le Daniel Bernstein (Daniel J. Bernstein), Tanja Lange agus Peter Schwabe. Tha ChaCha20 agus Poly1305 air an suidheachadh mar analogues nas luaithe agus nas sàbhailte de AES-256-CTR agus HMAC, agus tha buileachadh bathar-bog a’ ceadachadh ùine cur gu bàs stèidhichte gun a bhith a’ cleachdadh taic bathar-cruaidh sònraichte. Gus iuchair dhìomhair co-roinnte a ghineadh, thathas a’ cleachdadh protocol elliptic curve Diffie-Hellman anns a’ bhuileachadh Curve25519, cuideachd air a mholadh le Daniel Bernstein. Tha an algairim a thathar a 'cleachdadh airson hashing BLAKE2s (RFC7693)".

Toraidhean deuchainnean coileanaidh bho làrach-lìn oifigeil:

Bandwidth (megabit/s)
VPN WireGuard air a ghabhail a-steach ann an kernel Linux 5.6

Ping (ms)
VPN WireGuard air a ghabhail a-steach ann an kernel Linux 5.6

Rèiteachadh deuchainn:

  • Intel Core i7-3820QM agus Intel Core i7-5200U
  • Cairtean Gigabit Intel 82579LM agus Intel I218LM
  • Linux 4.6.1
  • Rèiteachadh WireGuard: 256-bit ChaCha20 le Poly1305 airson MAC
  • A’ chiad rèiteachadh IPsec: 256-bit ChaCha20 le Poly1305 airson MAC
  • An dàrna rèiteachadh IPsec: AES-256-GCM-128 (le AES-NI)
  • Configuration OpenVPN: Sreath cipher co-ionann AES 256-bit le HMAC-SHA2-256, modh UDP
  • Chaidh coileanadh a thomhas a’ cleachdadh iperf3, a 'sealltainn an toradh cuibheasach thairis air 30 mionaidean.

Ann an teòiridh, aon uair ‘s gu bheil e air fhilleadh a-steach don chruach lìonra, bu chòir do WireGuard obrachadh eadhon nas luaithe. Ach ann an da-rìribh cha bhith seo fìor mar thoradh air gluasad gu gnìomhan criptografach Crypto API a chaidh a thogail a-steach don kernel. Is dòcha nach eil iad uile fhathast air an ùrachadh gu ìre coileanaidh WireGuard dùthchasach.

“Bho mo bheachd-sa, tha WireGuard sa chumantas air leth freagarrach airson an neach-cleachdaidh. Tha a h-uile co-dhùnadh ìre ìosal air a dhèanamh anns an t-sònrachadh, agus mar sin cha toir am pròiseas ullachadh bun-structar VPN àbhaisteach ach beagan mhionaidean. Cha mhòr nach eil e comasach an rèiteachadh a mhilleadh - sgrìobh air Habré ann an 2018. - Pròiseas stàlaidh air a mhìneachadh gu mionaideach air an làrach-lìn oifigeil, bu mhath leam fa-leth a thoirt fa-near an sàr-mhath Taic OpenWRT. Chaidh an furasta seo a chleachdadh agus cho teann sa bha bunait còd a choileanadh le bhith a’ cur às do chuairteachadh iuchraichean. Chan eil siostam teisteanais iom-fhillte ann agus an uabhas corporra seo gu lèir; tha iuchraichean crioptachaidh goirid air an cuairteachadh gu math coltach ri iuchraichean SSH."

Tha am pròiseact WireGuard air a bhith a’ leasachadh bho 2015, chaidh a sgrùdadh agus dearbhadh foirmeil. Tha taic WireGuard air fhilleadh a-steach do NetworkManager agus systemd, agus tha pìosan kernel air an toirt a-steach do na sgaoilidhean bunaiteach de Debian Unstable, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, Subgraph agus ALT.

Source: www.habr.com

Cuir beachd ann