Një realizim i ri i VPN WireGuard është shtuar në kodin burimor të FreeBSD.

Në kodin burimor të FreeBSD janë pranuar ndryshime me një realizim të ri të VPN WireGuard, i bazuar në kodin e modulit të bërthamës, i përgatitur në bashkëpunim nga ekipet kryesore të zhvilluesve të FreeBSD dhe WireGuard, nën drejtimin e Jason A. Donenfeld, autorit të VPN WireGuard, dhe John H. Baldwin, një zhvillues i njohur i GDB dhe FreeBSD, i cili në fillim të viteve 2000 realizoi mbështetje për SMP dhe NUMA në bërthamën e FreeBSD. Pas pranimet të paisjes në FreeBSD (sys/dev/wg), zhvillimi dhe mbështetje do të vazhdojnë në depozitat e FreeBSD.

Para se të miratohej kodi me mbështetje nga organizata FreeBSD Foundation, u krye një rinumërim i plotë i ndryshimeve, gjatë të cilit u analizua gjithashtu ndërveprimi i paisjes me nën-sistemet e tjera të bërthamës dhe u vlerësua mundësia për të përdorur primitivët kriptografikë të ofruar nga bërthama.

Për të përdorur algoritmat kriptografikë të nevojshëm për paisjen, u bë zgjerimi i API të nën-sistemit kriptografik të bërthamës së FreeBSD, në të cilin u shtua një mbështetje që lejon përdorimin e algoritmave të papërkrahur në FreeBSD përmes API-standard kriptografik, duke përdorur implementimin e algoritmave të nevojshëm nga biblioteka libsodium. Nga algoritmët, në paisje u la vetëm kodi për llogaritjen e hash-it Blake2, pasi implementimi i ofruar në FreeBSD për këtë algoritëm është i lidhur me madhësinë fikse të hash-it.

Për më tepër, gjatë rinumërimit u krye optimizimi i kodit, i cili lejojti rritjen e efikasitetit të shpërndarjes së ngarkesës në CPU shumë-në lidhëse (u sigurua balansimi i barabartë i ngarkesave për detyrat e enkriptimit dhe dekriptimit të paketave në bërthamat e CPU). Si rezultat, shpenzimet e mbështetjes gjatë përpunimit të paketeve u afruan me implementimin e paisjes për Linux. Në kod gjithashtu u sigurua mundësia e përdorimit të paisjes ossl për të përshpejtuar operacionet e enkriptimit.

Ndryshe nga përpjekja e kaluar për integrimin e WireGuard në FreeBSD, në implementimin e ri është përdorur utilitari standard wg, e jo versione modifikuar e ifconfig, çka lejon unifikimin e konfigurimit në Linux dhe FreeBSD. Utilitari wg, ashtu si dhe driveri, është përfshirë në kodin burimor të FreeBSD, gjë që është bërë e mundur për shkak të ndryshimit të licencës së kodit wg (kodi tani është në dispozitë nën licencat MIT dhe GPL). Përpjekja e kaluar për të përfshirë WireGuard në FreeBSD u ndërmorr në vitin 2020, por përfundoi me një skandal, në të cilin kodi tashmë i shtuar u hoq për shkak të cilësisë së ulët, punës së pakujdesshme me buferat, përdorimit të zëvendësimeve në vend të kontrollimeve, implementimit të papërsosur të protokollit dhe shkeljes së licencës GPL.

Kujtojmë se VPN WireGuard është realizuar mbi metoda moderne të enkriptimit, ofron një performancë shumë të lartë, është i lehtë për t'u përdorur, është i thjeshtë dhe ka treguar performancë të shkëlqyer në një numër implementimesh të mëdha që trajtojnë vëllime të mëdha trafiku. Projekti po zhvillohet që nga viti 2015, ka kaluar auditimin dhe verifikimin e formalisht të metodave të enkriptimit të përdorura. Në WireGuard aplikohet koncepti i ruterimit sipas çelësit të enkriptimit, i cili nënkupton lidhjen e çdo ndërfaqe rrjeti me një çelës të mbyllur dhe përdorimin e tij për të lidhur çelësat e hapur.

Këmbimi i çelësave të hapur për të vendosur lidhjen kryhet për shembull sipas SSH. Për të negociuar çelësat dhe për të krijuar një lidhje pa nevojën e nisjes së një deamoni të veçantë në hapësirën e përdoruesit, përdoret mekanizmi Noise_IK nga Noise Protocol Framework, i ngjashëm me ruajtjen e authorized_keys në SSH. Shkëmbimi i të dhënave realizohet përmes inkapsulimit në paketa UDP. Ndryshimi mbështetet Adresa IP VPN-serverëve (roaming) pa ndërprerje të lidhjes me ridimensionimin automatik të klientit.

Për enkriptim përdoret algoritmi i rrjedhshëm ChaCha20 dhe algoritmi i autentifikimit të mesazheve (MAC) Poly1305, të zhvilluar nga Daniel Bernstein, Tanja Lange dhe Peter Schwabe. ChaCha20 dhe Poly1305 pozicionohen si alternativa më të shpejta dhe më të sigurta për AES-256-CTR dhe HMAC, realizimi i cilit garanton një kohë të fiksuar ekzekutimi pa kërkuar mbështetje të veçantë harduerike. Për gjenerimin e çelësit sekret të përbashkët përdoret protokolli i Diffie-Hellman në kurba eliptike me implementimin Curve25519, të propozuar gjithashtu nga Daniel Bernstein. Për hashing përdoret algoritmi BLAKE2s (RFC7693).

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster