VPN WireGuard untuk Windows dan WireGuardNT 1.0 Dikeluarkan

Jason A. Donenfeld, pengarang WireGuard VPN, telah mengeluarkan keluaran utama pertama perisian klien WireGuard untuk Windows 1.0, serta pemacu WireGuardNT 1.0 dengan port VPN WireGuard untuk kernel Windows 10 dan 11, yang menyokong seni bina AMD64, x86 dan ARM64. Kod komponen kernel Windows dilesenkan di bawah GPLv2 dan perisian klien dilesenkan di bawah lesen MIT.

Port ini berdasarkan pangkalan kod pelaksanaan utama WireGuard untuk kernel Linux, yang telah ditukar untuk menggunakan entiti kernel Windows dan susunan rangkaian NDIS. Berbanding dengan pelaksanaan wireguard-go, yang berjalan dalam ruang pengguna dan menggunakan antara muka rangkaian Wintun, WireGuardNT menawarkan penambahbaikan prestasi yang ketara dengan menghapuskan suis konteks dan menyalin kandungan paket daripada kernel ke ruang pengguna. Sama seperti pelaksanaan untuk Linux, OpenBSD dan FreeBSD, semua logik pemprosesan protokol dalam WireGuardNT berjalan terus pada peringkat susunan rangkaian.

Versi 1.0 telah ditanda sebagai satu peristiwa penting, menandakan penyelesaian beberapa isu dan pemenuhan tugas yang dimaksudkan, seperti: penggunaan fungsi NdisWdfGetAdapterContextFromAdapterHandle() dan bukannya penyimpanan keadaan pemacu yang kurang selamat dalam medan Terpelihara dan penggunaan ofset tanpa dokumen; penjejakan saiz MTU (Unit Penghantaran Maksimum) yang betul dan pantas melalui pemintasan panggilan sistem; penggunaan piawaian C23 dalam kod.

Sebagai peringatan, WireGuard VPN berasaskan kaedah penyulitan moden, memberikan prestasi yang luar biasa, mudah digunakan, bebas daripada komplikasi dan telah membuktikan dirinya dalam beberapa penggunaan berskala besar yang mengendalikan jumlah trafik yang besar. Projek ini telah dibangunkan sejak tahun 2015 dan telah menjalani audit dan pengesahan rasmi terhadap kaedah penyulitannya. WireGuard menggunakan konsep penghalaan penyulitan berasaskan kunci, yang melibatkan pengikatan kunci persendirian pada setiap antara muka rangkaian dan penggunaan kunci awam untuk pengikatan kunci.

Pertukaran kunci awam untuk mewujudkan sambungan adalah serupa dengan SSH. Untuk berunding kunci dan bersambung tanpa menjalankan daemon berasingan dalam ruang pengguna, mekanisme Noise_IK daripada Rangka Kerja Protokol Bunyi digunakan, serupa dengan penyelenggaraan authorized_keys dalam SSH. Pemindahan data dijalankan melalui enkapsulasi dalam paket UDP. Perubahan disokong. alamat IP Pelayan VPN (perayauan) tanpa gangguan sambungan dengan konfigurasi semula klien automatik.

Cipher strim ChaCha20 dan algoritma pengesahan mesej Poly1305 (MAC), yang dibangunkan oleh Daniel J. Bernstein, Tanja Lange dan Peter Schwabe, digunakan untuk penyulitan. ChaCha20 dan Poly1305 dipasarkan sebagai alternatif yang lebih pantas dan selamat kepada AES-256-CTR dan HMAC, yang pelaksanaan perisiannya membolehkan pelaksanaan masa tetap tanpa memerlukan sokongan perkakasan khas. Kekunci rahsia kongsi dijana menggunakan protokol Diffie-Hellman lengkung eliptik dalam pelaksanaan Curve25519, yang juga dicadangkan oleh Daniel Bernstein. Algoritma BLAKE2s (RFC7693) digunakan untuk hashing.

Sumber: opennet.ru