WireGuard VPN per Windows è WireGuardNT 1.0 sò stati publicati

Jason A. Donenfeld, l'autore di WireGuard VPN, hà publicatu a prima versione maiò di u software cliente WireGuard per Windows 1.0, è ancu i driver WireGuardNT 1.0 cù un portu VPN WireGuard per u kernel di Windows 10 è 11, chì supporta l'architetture AMD64, x86 è ARM64. U codice di u cumpunente di u kernel di Windows hè licenziatu sottu a GPLv2, è u software client hè licenziatu sottu a licenza MIT.

U portu hè basatu annantu à a basa di codice di l'implementazione principale di WireGuard per u kernel Linux, chì hè stata cunvertita per aduprà entità di u kernel Windows è a pila di rete NDIS. In paragone cù l'implementazione di wireguard-go, chì funziona in u spaziu utilizatore è utilizza l'interfaccia di rete Wintun, WireGuardNT offre miglioramenti significativi di e prestazioni eliminendu i cambiamenti di cuntestu è copiendu u cuntenutu di i pacchetti da u kernel à u spaziu utilizatore. Simile à l'implementazioni per Linux, OpenBSD è FreeBSD, tutta a logica di trasfurmazione di u protocolu in WireGuardNT funziona direttamente à u livellu di a pila di rete.

A versione 1.0 hè stata marcata cum'è una tappa impurtante, chì hà marcatu a risoluzione di una quantità di prublemi è a realizazione di i compiti previsti, cum'è: l'usu di a funzione NdisWdfGetAdapterContextFromAdapterHandle() invece di u almacenamentu menu sicuru di u statu di u driver in u campu Riservatu è l'usu di offset senza documentazione; tracciamentu currettu è rapidu di a dimensione MTU (Maximum Transmission Unit) per mezu di l'intercettazione di e chjamate di sistema; l'usu di u standard C23 in u codice.

Ricordemu chì VPN WireGuard hè implementatu nantu à a basa di i metudi di criptografia muderni, furnisce un rendimentu assai altu, hè faciule d'utilizà, hè liberu di cumplicazioni è hà pruvatu bè in una quantità di implementazioni grandi chì processanu grandi volumi di trafficu. U prugettu hè sviluppatu da u 2015 è hà subitu un auditu è ​​verificazione formale di i metudi di criptografia utilizati. WireGuard usa u cuncettu di routing di criptografia basatu in chjave, chì implica l'associazione di una chjave privata cù ogni interfaccia di rete è l'usu di chjavi publichi per ubligatoriu.

U scambiu di chjave publiche per stabilisce una cunnessione hè simile à SSH. Per negocià e chjave è cunnette si senza eseguisce un daemon separatu in u spaziu di l'utilizatore, si usa u mecanismu Noise_IK di u Noise Protocol Framework, simile à a manutenzione di authorized_keys in SSH. U trasferimentu di dati hè realizatu via incapsulazione in pacchetti UDP. A mudificazione hè supportata. indirizzi IP Servitori VPN (roaming) senza interruzzione di cunnessione cù riconfigurazione automatica di u cliente.

A criptografia usa u criptu di flussu ChaCha20 è l'algoritmu di autentificazione di missaghju Poly1305 (MAC), sviluppatu da Daniel J. Bernstein, Tanja Lange è Peter Schwabe. ChaCha20 è Poly1305 sò posizionati cum'è analoghi più veloci è più sicuri di AES-256-CTR è HMAC, l'implementazione di u software permette di ottene un tempu di esecuzione fissa senza l'usu di supportu hardware speciale. Per generà a chjave secreta spartuta, u protocolu Elliptic Curve Diffie-Hellman hè utilizatu in l'implementazione Curve25519, pruposta ancu da Daniel Bernstein. L'algoritmu BLAKE2s (RFC7693) hè utilizatu per l'hashing.

Source: opennet.ru