Bol publikovaný VPN WireGuard pre Windows a WireGuardNT 1.0

Jason A. Donenfeld, autor VPN WireGuard, predstavil prvé významné vydanie klientského softvéru WireGuard pre Windows 1.0, ako aj ovládače WireGuardNT 1.0 s portom. VPN WireGuard pre jadro Windows 10 a 11, podporujúce architektúry AMD64, x86 a ARM64. Kód komponentov pre jadro Windows je distribuovaný pod licenciou GPLv2, a klientský softvér pod licenciou MIT.

Port je založený na kódovej báze základnej implementácie WireGuard pre jadro Linux, ktorá bola prenesená na použitie entít jadra Windows a sieťového stacku NDIS. V porovnaní s implementáciou wireguard-go, ktorá funguje v užívateľskom priestore a používa sieťové rozhranie Wintun, WireGuardNT vykazuje zásadné zvýšenie výkonu vylúčením prepínania kontextov a kopírovania obsahu paketov z jadra do užívateľského priestoru. Podobne ako v implementáciách pre Linux, OpenBSD a FreeBSD, v WireGuardNT celá logika spracovania protokolu funguje priamo na úrovni sieťového stacku.

Verzia 1.0 je označená ako akýsi mílnik, ktorý oslavuje riešenie viacerých problémov a splnenie naplánovaných úloh, ako sú: využitie funkcie NdisWdfGetAdapterContextFromAdapterHandle() namiesto menej bezpečného uchovávania stavu ovládača v poli Reserved a použitie nedokumentovaných posunov; správne a operatívne sledovanie veľkosti MTU (Maximum Transmission Unit) prostredníctvom zachytenia systémových volaní; zapojenie v kóde štandardu C23.

Pripomíname, že VPN WireGuard je založený na moderných metódach šifrovania, zabezpečuje veľmi vysoký výkon, je jednoduchý na používanie, bez zložitostí a dobre sa osvedčil v niekoľkých veľkých nasadeniach, ktoré spracovávajú veľké objemy prevádzky. Projekt sa vyvíja od roku 2015, prešiel auditom a formálnou verifikáciou použitých metód šifrovania. V WireGuard sa používa koncept smerovania podľa šifrovacích kľúčov, ktorý predpokladá viazanie na každý sieťový rozhraním súkromného kľúča a použitie na spájanie verejných kľúčov.

Výmena verejných kľúčov na nadviazanie pripojenia sa uskutočňuje analogicky ako pri SSH. Na dohodu o kľúčoch a pripojenie bez spustenia samostatného démona v užívateľskom priestore sa používa mechanizmus Noise_IK z Noise Protocol Framework, ktorý je podobný podpore authorized_keys v SSH. Prenos dát prebieha prostredníctvom enkapsulácie do UDP paketov. Podporuje sa zmena IP adresy VPN servera (roaming) bez prerušenia pripojenia s automatickým prekonfigurovaním klienta.

Na šifrovanie sa používa prúdový Cipher ChaCha20 a algoritmus na autentifikáciu správ (MAC) Poly1305, vyvinuté Danielom Bernsteinom, Tanjou Lange a Peterom Schwabe. ChaCha20 a Poly1305 sú prezentované ako rýchlejšie a bezpečnejšie alternatívy k AES-256-CTR a HMAC, pričom softvérová implementácia umožňuje dosiahnuť konštantný čas vykonávania bez potreby špeciálnej hardvérovej podpory. Na generovanie spoločného tajného kľúča sa používa protokol Diffie-Hellman na eliptických krivkách v implementácii Curve25519, ktorý tiež navrhol Daniel Bernstein. Na hashovanie sa používa algoritmus BLAKE2s (RFC7693).

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster