Chaidh buileachadh VPN ùr, WireGuard, a chur ris a’ chòd FreeBSD.

Chaidh craobh stòr FreeBSD ùrachadh le buileachadh ùr de VPN WireGuard, stèidhichte air còd modal kernel air a thoirt gu buil le prìomh sgiobaidhean leasachaidh FreeBSD agus WireGuard le tabhartasan bho Jason A. Donenfeld, ùghdar VPN WireGuard, agus John H. Baldwin ), leasaiche ainmeil de GDB agus FreeBSD, a chuir an gnìomh taic airson SMP agus NUMA anns an kernel FreeBSD tràth anns na 2000n. Às deidh an draibhear a bhith air a ghabhail a-steach do FreeBSD (sys / dev / wg), thèid a leasachadh agus a chumail suas a-nis ann an stòr FreeBSD.

Mus deach gabhail ris a’ chòd, chaidh làn ath-sgrùdadh air na h-atharrachaidhean a dhèanamh le taic bhon FreeBSD Foundation, nuair a chaidh eadar-obrachadh an draibhear leis a’ chòrr de na fo-shiostaman kernel a sgrùdadh cuideachd agus an comas prìomhadaidhean criptografach a thug an kernel a chleachdadh. chaidh a mheasadh.

Gus na h-algorithms criptografach a dh 'fheumas an dràibhear a chleachdadh, chaidh API an crypto-subsystem kernel FreeBSD a leudachadh, ris an deach acfhainn a chur ris a leigeas le bhith a' cleachdadh algorithms nach eil a 'faighinn taic ann an FreeBSD tron ​​​​ìre crypto-API, a' cleachdadh buileachadh an algorithms riatanach bhon leabharlann libsodium. De na h-algorithms a chaidh a thogail a-steach don draibhear, chan eil air fhàgail ach an còd airson hashes Blake2 obrachadh a-mach, leis gu bheil buileachadh an algairim seo a chaidh a thoirt seachad ann an FreeBSD ceangailte ri meud hash stèidhichte.

A bharrachd air an sin, tron ​​​​phròiseas ath-bhreithneachaidh, chaidh optimization còd a dhèanamh, a rinn e comasach èifeachdas cuairteachadh luchdan air CPUan ioma-cridhe àrdachadh (chaidh cothromachadh èideadh a dhèanamh air sònrachadh gnìomhan crioptachadh pacaid agus dì-chrioptachadh gu cores CPU). Mar thoradh air an sin, bha an còrr nuair a bhathas a’ giullachd phasganan faisg air buileachadh an draibhear Linux. Tha an còd cuideachd a’ toirt comas an draibhear ossl a chleachdadh gus gnìomhachd crioptachaidh a luathachadh.

Eu-coltach ris an oidhirp roimhe gus WireGuard fhilleadh a-steach do FreeBSD, bidh am buileachadh ùr a’ cleachdadh a’ ghoireas wg àbhaisteach, seach dreach atharraichte de ifconfig, a tha ga dhèanamh comasach an rèiteachadh air Linux agus FreeBSD aonachadh. Tha an goireas wg, a bharrachd air an draibhear, air a ghabhail a-steach don chòd stòr FreeBSD, a chaidh a dhèanamh comasach le bhith ag atharrachadh a ’chead airson còd wg (tha an còd a-nis ri fhaighinn fo cheadan MIT agus GPL). Chaidh an oidhirp mu dheireadh gus WireGuard a thoirt a-steach ann an FreeBSD a dhèanamh ann an 2020, ach thàinig e gu crìch ann an sgainneal, agus mar thoradh air an sin chaidh an còd a chaidh a chur ris a thoirt air falbh mar thoradh air obair ìosal, gun chùram le bufairean, cleachdadh stubs an àite sgrùdaidhean, buileachadh neo-choileanta. den phròtacal agus briseadh cead GPL.

Leig leinn do chuimhneachadh gu bheil VPN WireGuard air a chuir an gnìomh air bunait dhòighean crioptachaidh an latha an-diugh, a ’toirt seachad coileanadh fìor àrd, furasta a chleachdadh, saor bho dhuilgheadasan agus air dearbhadh fhèin ann an grunn chleachdadh mòra a bhios a’ làimhseachadh mòran trafaic. Tha am pròiseact air a bhith a’ leasachadh bho 2015, agus chaidh sgrùdadh agus dearbhadh foirmeil a dhèanamh air na dòighean crioptachaidh a chaidh a chleachdadh. Bidh WireGuard a’ cleachdadh a’ bhun-bheachd air slighe iuchair crioptachaidh, a tha a’ toirt a-steach iuchair phrìobhaideach a cheangal ri gach eadar-aghaidh lìonraidh agus a chleachdadh gus na h-iuchraichean poblach 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, thathar a' cleachdadh inneal Noise_IK aig Noise Protocol Framework, coltach ri bhith a 'cumail ùghdarraichte_keys ann an SSH. Tha tar-chur dàta air a dhèanamh tro ghlacadh ann am pacaidean UDP. Bidh e a ’toirt taic do bhith ag atharrachadh seòladh IP an fhrithealaiche VPN (gluasad) gun a bhith a’ dì-cheangal a ’cheangail ri ath-dhealbhadh teachdaiche fèin-ghluasadach.

Bidh crioptachadh a’ cleachdadh cipher sruth ChaCha20 agus an algairim dearbhaidh teachdaireachd Poly1305 (MAC), air a leasachadh le 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, tha am protocol Diffie-Hellman lùbte elliptic air a chleachdadh ann am buileachadh Curve25519, cuideachd air a mholadh le Daniel Bernstein. Tha an algairim BLAKE2s (RFC7693) air a chleachdadh airson hashing.

Source: fosgailtenet.ru

Cuir beachd ann