Implimentazzjoni ġdida ta' VPN WireGuard miżjuda mal-codebase FreeBSD

Is-siġra tas-sors ta 'FreeBSD ġiet aġġornata b'implimentazzjoni ġdida ta' VPN WireGuard, ibbażata fuq kodiċi tal-modulu tal-qalba prodotta b'mod konġunt mit-timijiet tal-iżvilupp tal-qalba FreeBSD u WireGuard b'kontribuzzjonijiet minn Jason A. Donenfeld, awtur ta 'VPN WireGuard, u John H. Baldwin ), żviluppatur magħruf ta 'GDB u FreeBSD, li implimenta appoġġ għal SMP u NUMA fil-qalba ta' FreeBSD fil-bidu tas-snin 2000. Wara li s-sewwieq jiġi aċċettat fil-FreeBSD (sys/dev/wg), l-iżvilupp u l-manutenzjoni tiegħu minn issa 'l quddiem se jitwettqu fir-repożitorju tal-FreeBSD.

Qabel ma ġie aċċettat il-kodiċi, saret reviżjoni sħiħa tal-bidliet bl-appoġġ tal-Fondazzjoni FreeBSD, li matulha ġiet analizzata wkoll l-interazzjoni tas-sewwieq mal-bqija tas-sottosistemi tal-qalba u l-possibbiltà li jintużaw primittivi kriptografiċi pprovduti mill-qalba. ġie vvalutat.

Biex tuża l-algoritmi kriptografiċi meħtieġa mis-sewwieq, ġiet estiża l-API tas-subsistema kriptografika tal-qalba FreeBSD, li magħha ġie miżjud xedd li jippermetti l-użu ta 'algoritmi mhux appoġġjati fil-FreeBSD permezz tal-kripto-API standard, bl-użu tal-implimentazzjoni tal- algoritmi meħtieġa mil-librerija libsodium. Mill-algoritmi mibnija fis-sewwieq, fadal biss il-kodiċi għall-kalkolu tal-hashes Blake2, peress li l-implimentazzjoni ta 'dan l-algoritmu pprovdut fil-FreeBSD hija marbuta ma' daqs tal-hash fiss.

Barra minn hekk, matul il-proċess ta 'reviżjoni, twettqet l-ottimizzazzjoni tal-kodiċi, li għamlitha possibbli li tiżdied l-effiċjenza tad-distribuzzjoni tat-tagħbija fuq CPUs multi-core (kien żgurat ibbilanċjar uniformi tal-assenjazzjoni tal-kodifikazzjoni tal-pakketti u l-kompiti tad-deċifrar għall-qlub tas-CPU). Bħala riżultat, l-overhead meta jiġu pproċessati l-pakketti kien qrib dak tal-implimentazzjoni tas-sewwieq Linux. Il-kodiċi jipprovdi wkoll il-kapaċità li tuża s-sewwieq ossl biex tħaffef l-operazzjonijiet ta 'encryption.

B'differenza mill-attentat preċedenti biex tintegra WireGuard fi FreeBSD, l-implimentazzjoni l-ġdida tuża l-utilità standard wg, aktar milli verżjoni modifikata ta 'ifconfig, li tagħmilha possibbli li tgħaqqad il-konfigurazzjoni fuq Linux u FreeBSD. L-utilità wg, kif ukoll is-sewwieq, hija inkluża fil-kodiċi sors FreeBSD, li sar possibbli billi tinbidel il-liċenzja għall-kodiċi wg (il-kodiċi issa huwa disponibbli taħt il-liċenzji MIT u GPL). L-aħħar tentattiv biex jiġi inkluż WireGuard fil-FreeBSD sar fl-2020, iżda spiċċa fi skandlu, li b'riżultat ta 'dan il-kodiċi diġà miżjud tneħħa minħabba kwalità baxxa, xogħol Ŝejjed ma' buffers, l-użu ta 'stubs minflok kontrolli, implimentazzjoni mhux kompluta. tal-protokoll u ksur tal-liċenzja GPL.

Ifakkar li VPN WireGuard huwa implimentat fuq il-bażi ta 'metodi moderni ta' encryption, jipprovdi prestazzjoni għolja ħafna, huwa faċli biex jintuża, nieqes minn kumplikazzjonijiet u wera ruħu f'numru ta 'skjeramenti kbar li jipproċessaw ammonti kbar ta' traffiku. Il-proġett ilu jiżviluppa mill-2015, għadda mill-verifika u l-verifika formali tal-metodi ta 'kriptaġġ użati. WireGuard juża l-kunċett ta 'routing taċ-ċavetta ta' encryption, li jinvolvi li torbot ċavetta privata għal kull interface tan-netwerk u tuża ċwievet pubbliċi biex torbot.

L-iskambju ta 'ċwievet pubbliċi biex tiġi stabbilita konnessjoni huwa simili għal SSH. Biex tinnegozja ċwievet u tikkonnettja mingħajr ma tħaddem demon tal-ispazju tal-utent separat, jintuża l-mekkaniżmu Noise_IK tal-Qafas tal-Protokoll tal-Ħoss, simili għaż-żamma ta' authorized_keys f'SSH. It-trażmissjoni tad-dejta titwettaq permezz ta' inkapsulament f'pakketti UDP. Jappoġġa t-tibdil tal-indirizz IP tas-server VPN (roaming) mingħajr ma tinkiser il-konnessjoni b'konfigurazzjoni mill-ġdid tal-klijent awtomatika.

L-encryption juża ċ-ċifra tal-fluss ChaCha20 u l-algoritmu tal-Awtentikazzjoni tal-Messaġġ (MAC) Poly1305 żviluppat minn Daniel J. Bernstein, Tanja Lange u Peter Schwabe. ChaCha20 u Poly1305 huma pożizzjonati bħala analogi aktar veloċi u siguri ta 'AES-256-CTR u HMAC, li l-implimentazzjoni tas-softwer tagħhom tippermetti li jinkiseb żmien ta' eżekuzzjoni fiss mingħajr ma jinvolvi appoġġ speċjali ta 'hardware. Biex tiġġenera ċavetta sigrieta kondiviża, jintuża l-protokoll Elliptic Curve Diffie-Hellman fl-implimentazzjoni Curve25519, proposta wkoll minn Daniel Bernstein. Għall-hashing, jintuża l-algoritmu BLAKE2s (RFC7693).

Sors: opennet.ru

Żid kumment