WireGuard
| WireGuard | ||
|---|---|---|
| Parte del kernel Linux | ||
|
| ||
| Informazione Generale | ||
| tipo di programma | rete privata virtuale | |
| Autore | Jason A. Donenfeld | |
| sviluppatore | Jason A. Donenfeld | |
| Licenza | GPLv2 | |
| Informazioni tecniche | ||
| Previsto in | C ( modulo del kernel Linux ), Go (implementazione dello spazio utente) | |
| Versioni | ||
| Ultima versione stabile | Nessuno [ 1 ] ( ) | |
| Collegamenti | ||
WireGuard è un'applicazione software gratuita e open source e un protocollo di comunicazione che implementa tecniche di rete privata virtuale (VPN) per creare connessioni point-to-point sicure in configurazioni instradate o con bridge . [ 2 ] Funziona come un modulo all'interno del kernel Linux e mira a prestazioni migliori rispetto ai protocolli di tunneling IPsec e OpenVPN . [ 3 ] È stato scritto da Jason A. Donenfeld ed è rilasciato sotto la seconda versione della GNU General Public License (GPL). [ 4 ] Il sito web ufficiale descrive il protocollo come un lavoro in corso . [ 5 ]
Caratteristiche
WireGuard mira a fornire una VPN semplice e altamente efficace. Una revisione di ArsTechnica ha rilevato che le tecnologie VPN più diffuse come OpenVPN e IPsec sono spesso complesse da configurare, si disconnettono facilmente (in assenza di configurazione aggiuntiva), richiedono molto tempo per negoziare le riconnessioni, possono utilizzare crittografie obsolete e avere un codice relativamente massiccio (da 400.000 a 600.000 righe di codice per i due esempi forniti) il che rende più difficile trovare i bug. [ 6 ]
Il design di WireGuard cerca di ridurre questi problemi rendendo il tunnel più sicuro e più facile da gestire per impostazione predefinita. Utilizzando il controllo delle versioni dei pacchetti crittografici, si concentra su crittografie che sono oggi considerate tra i metodi di crittografia più sicuri e ha anche una base di codice di circa 4000 righe, circa l'1% di OpenVPN o IPsec , che facilita gli audit di sicurezza . Ars Technica ha riferito che nei suoi test era facile creare tunnel stabili con WireGuard, rispetto alle alternative, commentando che sarebbe stato "difficile tornare indietro" a lunghi ritardi di riconnessione, rispetto alle "sciocchezze" e alle riconnessioni istantanee di WireGuard. [ 6 ]
Protocollo
WireGuard utilizza Curve25519 per lo scambio di chiavi , ChaCha20 per la crittografia, Poly1305 per l'autenticazione dei dati , SipHash per le chiavi delle tabelle hash e BLAKE2 per l' hashing . [ 4 ] Supporta il livello 3 sia per IPv4 che per IPv6 e può incapsulare v4 in v6 e viceversa. [ 7 ]
Nel maggio 2019, i ricercatori INRIA hanno pubblicato una prova del protocollo verificata automaticamente, prodotta utilizzando la procedura guidata di prova CryptoVerif . [ 8 ]
Storia
Le prime istantanee della base di codice esistono al 30 giugno 2016. [ 9 ] Quattro dei primi utenti di WireGuard erano i provider di servizi VPN Mullvad , [ 10 ] AzireVPN, [ 11 ] IVPN [ 12 ] e cryptostorm. [ 13 ] WireGuard ha ricevuto donazioni da Mullvad, Private Internet Access , IVPN e NLnet Foundation . [ 14 ]
A giugno 2018, gli sviluppatori di WireGuard raccomandano di trattare il codice e il protocollo come sperimentali, notando che non hanno ancora ottenuto una versione stabile che supporti il tracciamento CVE di eventuali vulnerabilità di sicurezza che potrebbero essere scoperte. [ 15 ] [ 16 ]
Il 9 dicembre 2019, David Miller, Linux Network Stack Lead, ha accettato le patch WireGuard nell'albero di manutenzione "net-next", per l'inclusione in un kernel imminente. [ 17 ] [ 18 ] [ 19 ] Il 28 gennaio 2020, Linus Torvalds ha unito l'albero net-next di David Miller e WireGuard è entrato nell'albero principale del kernel di Linux. [ 20 ]
Accoglienza
Il senatore dell'Oregon Ron Wyden ha raccomandato al National Institute of Standards and Technology (NIST) di valutare WireGuard come sostituto delle tecnologie esistenti come IPsec e OpenVPN . [ 21 ]
Questo sistema è stato accolto molto favorevolmente dall'intera comunità, guadagnandosi la menzione su dozzine di canali tecnologici, grazie alla sua grande velocità rispetto a sistemi come OpenVPN e un processo di installazione molto semplice [1].
Implementazioni
Le implementazioni del protocollo WireGuard includono:
- L'implementazione iniziale di Donenfeld, scritta in C and Go. [ 22 ]
- BoringTun di Cloudflare, un'implementazione dello spazio utente scritta in Rust . [ 23 ] [ 24 ]
Programmi Userspace che supportano WireGuard
I programmi Userspace che supportano WireGuard includono:
- NetworkManager dalla versione 1.16 [ 25 ]
- systemd dalla versione 237 [ 26 ]
- ConnMan di Intel dalla versione 1.38 [ 27 ]
- Rete privata Firefox di Mozilla [ 28 ]
Vedi anche
- Secure Shell (SSH), un protocollo di rete crittografico utilizzato per proteggere i servizi su una rete non protetta.
- OpenVPN , una VPN che ha guadagnato ampia fama per il suo ampio utilizzo nel settore
Riferimenti
- ^ a b "Installazione" . WireGuard. Archiviato dall'originale il 22 luglio 2019 . Estratto il 20 agosto 2019 .
- ↑ "Wireguard VPN | Come usarlo?" . Server proxy . Estratto l'11 febbraio 2020 .
- ^ Prenel, Bart; Vercauteren, Frederik (a cura di). Crittografia applicata e sicurezza di rete . Springer. ISBN 978-3-319-93387-0 . Archiviato dall'originale il 18 febbraio 2019 . Estratto il 25 giugno 2018 .
- ^ a b "WireGuard: tunnel VPN veloce, moderno e sicuro" . WireGuard. Archiviato dall'originale il 28 aprile 2018 . Estratto il 28 aprile 2018 .
- ^ "Lavori in corso" . Wireguard.com .
- ^ a b Salter, Jim (26 agosto 2018). "Revisione di WireGuard VPN: un nuovo tipo di VPN offre seri vantaggi" . Ars Tecnica . Archiviato dall'originale il 20 settembre 2018.
- ^ Donenfeld, Jason A. "Introduzione e motivazione" . WireGuard: Tunnel di rete del kernel di nuova generazione (PDF) . Archiviato dall'originale il 4 marzo 2018.
- ^ Benjamin Lipp, Bruno Blanchet, Karthikeyan Bhargavan (2019), Una prova crittografica meccanizzata del protocollo di rete privata virtuale WireGuard , Rapporto di ricerca RR-9269, Parigi: Inria, hal-02100345 .
- ↑ https://download.wireguard.com/monolithic-historical/
- ^ Mason, John (13 febbraio 2019). "Recensione Mullvad" . thebestwpn . 2. Protocolli di tunneling potenti: OpenVPN e WireGuard . Archiviato dall'originale il 16 marzo 2019 . Estratto l'8 aprile 2019 .
- ^ Mason, John (19 febbraio 2019). Recensione AzireVPN . thebestvpn . 2. Protocolli e crittografia impressionanti . Archiviato dall'originale l' 8 aprile 2019 . Estratto l'8 aprile 2019 .
- ^ Pestell, Nick. Presentazione di Wireguard . Estratto il 22 settembre 2019 .
- ↑ "Aggiunto il supporto WireGuard!" . blog di criptotempesta . 5 aprile 2019 Archiviato dall'originale il 9 dicembre 2019 . Estratto il 9 dicembre 2019 .
- ^ "Donazioni" . WireGuard. Archiviato dall'originale il 28 aprile 2018 . Estratto il 28 aprile 2018 .
- ^ "Informazioni sul progetto" . WireGuard. Lavori in corso . Archiviato dall'originale il 25 giugno 2018 . Estratto il 25 giugno 2018 .
- ^ "Installazione" . WireGuard. Archiviato dall'originale il 26 giugno 2018 . Estratto il 26 giugno 2018 .
- ^ "e7096c131e5161fa3b8e52a650d7719d2857adfd - pub/scm/linux/kernel/git/davem/net-next - Git su Google" . kernel.googlesource.com .
- ^ "LKML: David Miller: Re: [PATCH net-next v2] net: Tunnel di rete sicuro WireGuard" . lkml.org .
- ↑ "[ANNUNCIO] WireGuard si è unito a net-next, in arrivo a Linux 5.6" . web.archive.org . 9 gennaio 2020 Archiviato dall'originale il 9 gennaio 2020 . Estratto il 16 marzo 2020 .
- ^ Torvalds, Linus. "indice: kernel/git/torvalds/linux.git" . Albero dei sorgenti del kernel Linux . Kernel.org . Estratto il 2 febbraio 2020 .
- ^ "Il senatore degli Stati Uniti raccomanda WireGuard open source al NIST per la VPN governativa" . Foronice . 30 giugno 2018 Archiviata dall'originale il 5 agosto 2018 . Estratto il 5 agosto 2018 .
- ^ Donenfeld, Jason (7 giugno 2019). "WireGuard: tunnel VPN veloce, moderno e sicuro" . Estratto il 16 giugno 2019 .
- ^ Krasnov, Vlad (18 dicembre 2018). "BoringTun, un'implementazione di WireGuard nello spazio utente in Rust" . Blog Cloudflare (in inglese americano) . Archiviato dall'originale il 4 aprile 2019 . Estratto il 29 marzo 2019 .
- ^ "CloudFlare lancia "BoringTun" come implementazione dello spazio utente WireGuard scritta da Rust" . phoronix.com . Estratto il 29 marzo 2019 .
- ^ "WireGuard in NetworkManager" .
- ↑ "sistema" .
- ^ "Intel ConnMan 1.38 rilasciato con supporto WireGuard" .
- ^ "Mozilla VPN Sicher, schnell und zuverlässig – auf jedem Gerät, egal wo du bist." (in tedesco) .