A palaksanaan VPN anyar, WireGuard, geus ditambahkeun kana codebase FreeBSD.

Tangkal sumber FreeBSD geus diropéa kalawan palaksanaan anyar VPN WireGuard, dumasar kana kode modul kernel babarengan dihasilkeun ku inti FreeBSD jeung tim ngembangkeun WireGuard kalawan kontribusi ti Jason A. Donenfeld, panulis VPN WireGuard, sarta John H. Baldwin ), pamekar GDB sareng FreeBSD anu terkenal, anu ngalaksanakeun dukungan pikeun SMP sareng NUMA dina kernel FreeBSD dina awal 2000s. Saatos supirna ditampi kana FreeBSD (sys/dev/wg), pangwangunan sareng pangropéa na bakal dilaksanakeun dina gudang FreeBSD.

Sateuacan kodena ditampi, tinjauan lengkep ngeunaan parobihan dilaksanakeun kalayan dukungan FreeBSD Foundation, dimana interaksi supir sareng sesa subsistem kernel ogé dianalisis sareng kamungkinan ngagunakeun primitif kriptografi anu disayogikeun ku kernel. ieu ditaksir.

Pikeun ngagunakeun algoritma kriptografi anu dibutuhkeun ku supir, API tina subsistem kripto kernel FreeBSD diperpanjang, anu ditambahan abah anu ngamungkinkeun ngagunakeun algoritma anu henteu dirojong dina FreeBSD ngalangkungan standar crypto-API, ngagunakeun palaksanaan algoritma diperlukeun ti perpustakaan libsodium. Tina algoritma anu diwangun dina supir, ngan ukur kode pikeun ngitung hashes Blake2, sabab palaksanaan algoritma ieu anu disayogikeun dina FreeBSD dihijikeun kana ukuran hash anu tetep.

Sajaba ti éta, salila prosés review optimasi kode dilumangsungkeun, nu ngamungkinkeun pikeun ngaronjatkeun efisiensi sebaran beban on CPUs multi-core (balancing seragam tina tugas enkripsi pakét jeung dekripsi ka cores CPU ieu ensured). Hasilna, overhead nalika ngolah pakét caket sareng palaksanaan supir Linux. Kodeu ogé nyayogikeun kamampuan ngagunakeun supir ossl pikeun nyepetkeun operasi enkripsi.

Beda sareng usaha sateuacana pikeun ngahijikeun WireGuard kana FreeBSD, palaksanaan énggal nganggo utilitas wg standar, tinimbang versi ifconfig anu dirobih, anu ngamungkinkeun pikeun ngahijikeun konfigurasi dina Linux sareng FreeBSD. Utilitas wg, kitu ogé supir, kalebet kana kode sumber FreeBSD, anu dimungkinkeun ku ngarobih lisénsi pikeun kode wg (kodena ayeuna sayogi dina lisénsi MIT sareng GPL). Usaha terakhir pikeun ngalebetkeun WireGuard di FreeBSD dilakukeun dina taun 2020, tapi réngsé dina skandal, akibatna kodeu anu parantos ditambihan dihapus kusabab kualitasna rendah, padamelan anu teu ati-ati sareng panyangga, panggunaan stub tinimbang cek, palaksanaan henteu lengkep. tina protokol jeung palanggaran lisénsi GPL.

Hayu urang ngingetan yén VPN WireGuard dilaksanakeun dina dasar métode enkripsi modern, nyadiakeun kinerja pisan tinggi, gampang ngagunakeun, bébas tina komplikasi jeung geus kabuktian sorangan dina Jumlah deployments badag nu ngolah volume badag lalulintas. Proyék éta parantos dikembangkeun ti saprak 2015, sareng parantos ngalaman pamariksaan sareng verifikasi formal ngeunaan metode enkripsi anu dianggo. WireGuard nganggo konsép routing konci énkripsi, anu ngalibatkeun ngalampirkeun konci pribadi ka unggal antarmuka jaringan sareng nganggo éta pikeun ngabeungkeut konci umum.

Konci publik ditukeurkeun pikeun nyieun sambungan dina cara nu sarupa jeung SSH. Pikeun konci negotiate tur sambungkeun tanpa ngajalankeun daemon misah dina spasi pamaké, mékanisme Noise_IK Noise Protocol Framework dipaké, sarupa jeung ngajaga authorized_keys di SSH. Pangiriman data dilaksanakeun ngaliwatan enkapsulasi dina pakét UDP. Ieu ngarojong ngarobah alamat IP tina server VPN (roaming) tanpa megatkeun sambungan kalawan reconfiguration klien otomatis.

Enkripsi ngagunakeun stream cipher ChaCha20 jeung poly1305 algoritma auténtikasi pesen (MAC), dikembangkeun ku Daniel J. Bernstein, Tanja Lange jeung Peter Schwabe. ChaCha20 sareng Poly1305 diposisikan salaku analog anu langkung gancang sareng aman tina AES-256-CTR sareng HMAC, palaksanaan parangkat lunak anu ngamungkinkeun pikeun ngahontal waktos palaksanaan tetep tanpa nganggo dukungan hardware khusus. Pikeun ngahasilkeun konci rusiah dibagikeun, kurva elliptic Diffie-Hellman protokol dipaké dina palaksanaan Curve25519, ogé diajukeun ku Daniel Bernstein. Algoritma BLAKE2s (RFC7693) dipaké pikeun hashing.

sumber: opennet.ru

Tambahkeun komentar