Hirgelinta cusub ee VPN, WireGuard, ayaa lagu daray koodka FreeBSD.

Geedka isha FreeBSD ayaa lagu cusboonaysiiyay hirgelinta cusub ee VPN WireGuard, oo ku saleysan koodhka moduleka kernel ee ay si wadajir ah u soo saareen kooxaha horumarinta FreeBSD iyo WireGuard oo ay ku darsadeen Jason A. Donenfeld, qoraaga VPN WireGuard, iyo John H. Baldwin), horumariye caan ah oo GDB iyo FreeBSD, kuwaas oo hirgeliyey taageerada SMP iyo NUMA ee kernel FreeBSD horaantii 2000-meeyadii. Ka dib marka darawalka loo ogolaado FreeBSD (sys/dev/wg), horumarintiisa iyo dayactirkeeda ayaa hadda ka dib lagu fulin doonaa kaydka FreeBSD.

Ka hor inta aan la aqbalin koodhka, dib u eegis buuxda oo isbedelada ayaa lagu sameeyay taageerada FreeBSD Foundation, inta lagu guda jiro isdhexgalka darawalka iyo inta kale ee nidaamka hoosaadka kernel-ka ayaa la falanqeeyay iyo suurtagalnimada isticmaalka asaasiga ah ee cryptographic ee ay bixiso kernel la qiimeeyay.

Si loo isticmaalo algorithmaadka sirta ah ee uu u baahan yahay darawalku, API ee FreeBSD kernel crypto-subsystem waa la kordhiyay, kaas oo lagu daray suunka u oggolaanaya isticmaalka algorithms-yada aan lagu taageerin FreeBSD iyada oo loo marayo heerka crypto-API, iyadoo la adeegsanayo hirgelinta Algorithms lagama maarmaanka ah ee maktabadda libsodium. Algorithms-yada lagu dhex dhisay darawalka, kaliya koodka lagu xisaabinayo hashes Blake2 ayaa hadhay, maadaama hirgelinta algorithm-kan lagu bixiyay FreeBSD ay ku xidhan tahay cabbir go'an.

Intaa waxaa dheer, inta lagu guda jiro geeddi-socodka dib-u-eegista, kobcinta koodhka ayaa la sameeyay, taas oo suurtogal ka dhigtay in la kordhiyo waxtarka qaybinta culeyska ee CPU-yada badan (isku-dheellitirka lebbiska ee meelaynta baakadaha sirta iyo furista hawlaha CPUs waa la xaqiijiyay). Natiijo ahaan, dusha sare marka baakadaha farsamaynta ayaa ku dhowaa hirgelinta darawalka Linux. Koodhka ayaa sidoo kale bixiya awooda lagu isticmaalo darawalka ossl si loo dardargeliyo hawlaha sirta ah.

Si ka duwan isku daygii hore ee lagu dhexgelinayo WireGuard ee FreeBSD, hirgelinta cusub waxay isticmaashaa utility wg-ga caadiga ah, halkii ay ka ahaan lahayd nooca la beddelay ee ifconfig, taas oo suurtogal ka dhigaysa in la mideeyo qaabeynta Linux iyo FreeBSD. Utility wg, iyo sidoo kale darawalka, ayaa lagu daray koodka isha ee FreeBSD, kaas oo lagu suurta galiyay beddelka shatiga wg code (koodka hadda waxaa laga heli karaa shatiga MIT iyo GPL). Isku daygii ugu dambeeyay ee lagu daro WireGuard ee FreeBSD waxaa la sameeyay 2020, laakiin waxay ku dhammaatay fadeexad, taas oo keentay in koodhka hore loogu daray laga saaray tayada hoose, shaqo taxadar la'aan ah oo leh bakhaarro, isticmaalka stubs halkii jeegag, hirgelinta aan dhamaystirnayn. ee hab maamuuska iyo ku xadgudubka shatiga GPL.

Xusuustaa VPN WireGuard waxaa lagu hirgeliyaa iyadoo la adeegsanayo habab casri ah oo sir ah, waxayna bixisaa waxqabad heer sare ah, way fududahay in la isticmaalo, waana mid aan lahayn dhibaatooyin. Waxay isku caddaysay tiro badan oo hawlgallo ballaaran ah oo maareynaya tiro badan oo taraafikada ah. Mashruucu wuxuu socday tan iyo 2015 wuxuuna maray baaritaan iyo xaqiijin rasmi ah oo ku saabsan hababkiisa sir ahaanshaha. WireGuard waxay isticmaashaa fikrad marin habayn sir ah oo ku salaysan furaha, taas oo ku lug leh xidhitaanka furaha gaarka ah ee shabakad kasta iyo isticmaalka furayaasha dadweynaha si loogu xidho furaha.

Isweydaarsiga furayaasha dadweynaha si loo sameeyo xiriir waxay la mid tahay SSH. Si loo gorgortamo furayaasha loona xiro iyada oo aan la isticmaalin daemon gaar ah booska isticmaalaha, habka Noise_IK ee ka socda Qaab-dhismeedka Hab-raaca Noise ayaa la isticmaalaa, oo la mid ah dayactirka furayaasha_la oggol yahay ee SSH. Gudbinta xogta waxaa lagu sameeyaa iyada oo loo marayo ku-xidhka baakadaha UDP. Beddelka waa la taageeraa. Ciwaanka IP-ga Adeegayaasha VPN (roaming) iyada oo aan la joojin xiriirka iyadoo dib-u-habeyn otomaatig ah lagu sameynayo macmiilka.

Sirintu waxay isticmaashaa cipher-socodka qulqulka ChaCha20 iyo Poly1305 fariinta xaqiijinta algorithm (MAC), oo ay sameeyeen Daniel J. Bernstein, Tanja Lange iyo Peter Schwabe. ChaCha20 iyo Poly1305 waxay u taagan yihiin si dhakhso leh oo ammaan ah analoogyada AES-256-CTR iyo HMAC, hirgelinta software kaas oo u oggolaanaya in la gaaro waqti go'an oo fulin ah iyada oo aan la isticmaalin taageero qalab gaar ah. Si loo dhaliyo furaha sirta ah ee la wadaago, qalooca elliptik ee Diffie-Hellman ayaa loo adeegsaday hirgelinta Curve25519, sidoo kale waxaa soo jeediyay Daniel Bernstein. Algorithm-ka BLAKE2s (RFC7693) waxaa loo isticmaalaa xashiishka.

Source: opennet.ru