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.
a chuimhneachadh gu bheil VPN Tha WireGuard air a chur an gnìomh le bhith a’ cleachdadh dhòighean crioptachaidh ùr-nodha, a’ lìbhrigeadh coileanadh air leth, tha e furasta a chleachdadh, agus tha e saor bho dhuilgheadasan. Tha e air a dhearbhadh fhèin ann an grunn chleachdaidhean mòra a’ làimhseachadh meudan mòra de thrafaig. Tha am pròiseact air a bhith ga leasachadh bho 2015 agus tha sgrùdadh agus dearbhadh foirmeil air na dòighean crioptachaidh aige air a dhol tro sgrùdadh. Bidh WireGuard a’ cleachdadh bun-bheachd slighe crioptachaidh stèidhichte air iuchair, a tha a’ toirt a-steach ceangal iuchair phrìobhaideach ri gach eadar-aghaidh lìonra agus a’ cleachdadh iuchraichean poblach airson ceangal iuchair.
Tha iomlaid iuchraichean poblach gus ceangal a stèidheachadh coltach ri SSH. Gus iuchraichean a cho-rèiteachadh agus ceangal a dhèanamh gun daemon air leth a ruith ann an àite an neach-cleachdaidh, thathar a’ cleachdadh an dòigh-obrach Noise_IK bhon Noise Protocol Framework, coltach ri cumail suas authorized_keys ann an SSH. Thèid gluasad dàta a dhèanamh tro bhith ga phacaigeadh ann am pacaidean UDP. Tha taic ri atharrachadh. Seòlaidhean IP Frithealaichean VPN (roaming) gun bhriseadh ceangail le ath-rèiteachadh fèin-ghluasadach an neach-dèiligidh.
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
