Implementasi VPN baru telah ditambahkan ke basis kode FreeBSD. WireGuard

Kode sumber FreeBSD telah diperbarui dengan implementasi VPN baru. WireGuard, berdasarkan kode modul kernel yang disiapkan bersama oleh tim pengembangan inti FreeBSD dan WireGuard Menampilkan Jason A. Donenfeld, penulis buku VPN. WireGuard, dan John H. Baldwin, seorang pengembang GDB dan FreeBSD terkenal yang mengimplementasikan dukungan SMP dan NUMA di kernel FreeBSD pada awal tahun 2000-an. Setelah driver diterima ke dalam FreeBSD (sys/dev/wg), pengembangan dan pemeliharaannya sekarang akan dilakukan di repositori FreeBSD.

Sebelum kode diterima, tinjauan lengkap terhadap perubahan dilakukan dengan dukungan FreeBSD Foundation, di mana interaksi driver dengan subsistem kernel lainnya dan kemungkinan menggunakan primitif kriptografi yang disediakan oleh kernel juga dianalisis. dinilai.

Untuk menggunakan algoritma kriptografi yang diperlukan oleh pengemudi, API dari subsistem kriptografi kernel FreeBSD diperluas, yang mana harness telah ditambahkan yang memungkinkan penggunaan algoritma yang tidak didukung di FreeBSD melalui API kripto standar, menggunakan implementasi dari algoritma yang diperlukan dari perpustakaan libsodium. Dari algoritma yang dibangun ke dalam driver, hanya kode untuk menghitung hash Blake2 yang tersisa, karena implementasi algoritma yang disediakan di FreeBSD ini terikat pada ukuran hash yang tetap.

Selain itu, selama proses peninjauan, optimasi kode dilakukan untuk meningkatkan efisiensi distribusi beban pada CPU multi-core (memastikan keseimbangan yang seragam antara tugas enkripsi dan dekripsi paket di seluruh core CPU). Hasilnya, overhead pemrosesan paket menjadi lebih mendekati overhead implementasi driver. LinuxKode tersebut juga menyediakan kemampuan untuk menggunakan driver ossl untuk mempercepat operasi enkripsi.

Berbeda dengan upaya integrasi sebelumnya WireGuard Di FreeBSD, implementasi baru menggunakan utilitas wg standar, bukan versi ifconfig yang dimodifikasi, yang memungkinkan penyatuan konfigurasi di Linux dan FreeBSD. Utilitas wg, seperti drivernya, disertakan dalam kode sumber FreeBSD, yang dimungkinkan dengan mengubah lisensi kode wg (kode tersebut sekarang tersedia di bawah lisensi MIT dan GPL). Upaya sebelumnya untuk menyertakan WireGuard Upaya penggabungan ke FreeBSD dilakukan pada tahun 2020, tetapi berakhir dengan kontroversi, di mana kode yang sudah ditambahkan dihapus karena kualitas yang buruk, penanganan buffer yang buruk, penggunaan stub alih-alih pemeriksaan, implementasi protokol yang tidak lengkap, dan pelanggaran lisensi GPL.

Ingat bahwa VPN WireGuard Diimplementasikan menggunakan metode enkripsi modern, sistem ini memberikan kinerja yang sangat tinggi, mudah digunakan, bebas dari komplikasi, dan telah terbukti dalam sejumlah penerapan skala besar yang menangani volume lalu lintas yang besar. Proyek ini telah dikembangkan sejak tahun 2015 dan telah menjalani audit serta verifikasi formal terhadap metode enkripsinya. WireGuard Konsep routing berbasis kunci digunakan, yang melibatkan pengikatan kunci privat ke setiap antarmuka jaringan dan penggunaan kunci publik untuk pengikatan.

Pertukaran kunci publik untuk membangun koneksi mirip dengan SSH. Untuk menegosiasikan kunci dan terhubung tanpa menjalankan daemon terpisah di ruang pengguna, mekanisme Noise_IK dari Noise Protocol Framework digunakan, mirip dengan pemeliharaan authorized_keys di SSH. Transfer data dilakukan melalui enkapsulasi dalam paket UDP. Perubahan didukung. Alamat IP Server VPN (roaming) tanpa gangguan koneksi dengan konfigurasi ulang klien otomatis.

Enkripsi menggunakan stream cipher ChaCha20 dan algoritma otentikasi pesan Poly1305 (MAC), yang dikembangkan oleh Daniel J. Bernstein, Tanja Lange dan Peter Schwabe. ChaCha20 dan Poly1305 diposisikan sebagai analog yang lebih cepat dan aman dari AES-256-CTR dan HMAC, yang implementasi perangkat lunaknya memungkinkan pencapaian waktu eksekusi tetap tanpa menggunakan dukungan perangkat keras khusus. Untuk menghasilkan kunci rahasia bersama, protokol Diffie-Hellman kurva elips digunakan dalam implementasi Curve25519, juga diusulkan oleh Daniel Bernstein. Algoritma BLAKE2s (RFC7693) digunakan untuk hashing.

Sumber: opennet.ru

Beli hosting yang andal untuk situs dengan perlindungan DDoS, server VPS VDS 🔥 Beli hosting website andal dengan perlindungan DDoS, server VPS VDS | ProHoster