Gli sviluppatori del progetto NetBSD hanno annunciato l'inclusione nel kernel principale di NetBSD del driver wg che implementa il protocollo WireGuard. NetBSD è diventato il terzo sistema operativo, dopo Linux e OpenBSD, ad avere il supporto integrato per WireGuard. Sono inoltre state proposte utilità aggiuntive per la configurazione della VPN — wg-keygen e wgconfig. Nella configurazione predefinita del kernel (GENERIC), il driver non è ancora attivato e richiede una specifica indicazione nelle impostazioni 'pseudo-device wg'.
In aggiunta, si può notare un aggiornamento correttivo del pacchetto wireguard-tools 1.0.20200820, che include utilità funzionanti nello spazio utente, come wg e wg-quick. Nel nuovo rilascio è stata preparata l'IPC per il prossimo supporto di WireGuard nel sistema operativo FreeBSD. È stata effettuata la separazione in diversi file del codice specifico per le diverse piattaforme. Nel file unit per systemd è stato aggiunto il supporto per il comando 'reload', che consente di eseguire comandi come 'systemctl reload wg-quick at wgnet0'.
Ricordiamo che la VPN WireGuard è implementata sulla base di moderni metodi di crittografia, garantisce prestazioni molto elevate, è semplice da usare, priva di complicazioni ed ha dimostrato la sua efficacia in diverse importanti implementazioni che gestiscono grandi volumi di traffico. Il progetto è in sviluppo dal 2015, ha subito un audit e dei metodi di crittografia applicati. Il supporto per WireGuard è già integrato in NetworkManager e systemd, e le patch per il kernel sono incluse nella base delle distribuzioni , Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, e .
In WireGuard viene applicato il concetto di instradamento basato su chiavi di crittografia, che implica l'associazione di una chiave privata a ogni interfaccia di rete e l'uso di chiavi pubbliche per stabilire legami. Lo scambio delle chiavi pubbliche per stabilire una connessione avviene analogamente a SSH. Per la negoziazione delle chiavi e la connessione senza avviare un demone separato nello spazio utente, viene utilizzato il meccanismo Noise_IK di , simile alla gestione di authorized_keys in SSH. La trasmissione dei dati avviene attraverso l'incapsulazione in pacchetti UDP. È supportato il cambiamento dell'indirizzo IP del server VPN (roaming) senza interrompere la connessione con una ri-configurazione automatica del client.
Per la crittografia un cifrario a flusso e un algoritmo di autenticazione dei messaggi (MAC) , sviluppati da Daniel Bernstein (), Tanja Lange
(Tanja Lange) e Peter Schwabe (Peter Schwabe). ChaCha20 e Poly1305 sono presentati come alternative più veloci e sicure rispetto ad AES-256-CTR e HMAC, la cui implementazione software consente di ottenere un tempo di esecuzione costante senza utilizzare supporto hardware specifico. Per la generazione della chiave segreta condivisa viene utilizzato il protocollo di Diffie-Hellman su curve ellittiche nella sua implementazione , proposta anche da Daniel Bernstein. Per l'hashing viene utilizzato l'algoritmo .
Fonte: opennet.ru
