Cos’è il protocollo VPN WireGuard?

WireGuard è un protocollo VPN di tunneling sicuro open source di prossima generazione sviluppato da Jason Donenfeld. È un tunnel di rete sicuro di livello 3 per IPv4 e IPv6 che utilizza "protocolli crittografici moderni conservativi". È basato su UDP e ha una funzionalità invisibile integrata, che consente di perforare i firewall. Il modello di autenticazione per WireGuard si basa sui tasti autenticati di SSH.

Rispetto ai protocolli di tunneling VPN consolidati come IPSec e OpenVPN, WireGuard è piccolo. Con un peso di appena 3782 righe di codice (rispetto a 329.853 per OpenVPN), le dimensioni economiche di WireGuard rendono molto più semplice il controllo. Ciò significa che il controllo della sicurezza della piattaforma è molto meno costoso e può essere effettuato in un pomeriggio da una sola persona.

WireGuard è progettato per essere una VPN generica per l'esecuzione su interfacce incorporate. Sebbene WireGuard sia stato originariamente progettato per il kernel Linux, ora è stato implementato per Android, MacOS e Windows. In effetti, WireGuard è elogiato come un'applicazione VPN mobile - perché le sue funzionalità invisibili significano che non trasmette mai pacchetti a meno che non ci siano dati effettivi da inviare. Il risultato è che, a differenza di altri protocolli VPN, che hanno fame di energia, WireGuard non scarica costantemente la batteria.

Wireguard 2

Cosa c'è di diverso in WireGuard?

Lo sviluppatore di WireGuard Jason Donenfeld è il fondatore di Edge Security. Si è tagliato i denti nel settore della sicurezza, lavorando in applicazioni offensive e difensive. Ha sviluppato metodi di esfiltrazione del kit di instradamento che gli hanno permesso di rimanere all'interno di una rete senza essere rilevato.

"Quando fai parte di una rete per eseguire una valutazione del team rosso e un test di penetrazione, vuoi essere in grado di mantenere una persistenza nella rete per la durata dell'incarico. Vuoi essere in grado di esfiltrare i dati in modo invisibile, in modo da evitare il rilevamento, e diffonderli in modo sicuro e non rilevato. "

Donenfeld afferma che nel corso del suo lavoro di sicurezza si è reso conto che i suoi metodi potevano anche essere implementati per comunicazioni sicure:

"Mi sono reso conto che molte delle stesse tecniche di cui avevo bisogno per l'esfiltrazione sicura sono in realtà perfette per una VPN difensiva. Quindi, WireGuard ha molte di queste belle funzionalità invisibili integrate in cui non è possibile eseguirne la scansione su Internet, non è rilevabile a meno che non si sappia dove si trova. Non risponderà a pacchetti non autenticati. "

Il risultato, secondo Donenfeld, è un tunnel VPN che è più affidabile dei suoi predecessori e che si basa su un nuovo codice in contrapposizione a quelle che egli chiama "tecnologie datate degli anni '90".

Wireguard molto piccolo

Perché Wireguard è così piccolo?

Uno degli obiettivi chiave di Donenfeld nello sviluppo di WireGuard era quello di mantenere semplice il codice. Secondo Donenfeld, ciò è stato ispirato dalla sua generale mancanza di fiducia nelle enormi dimensioni dei protocolli VPN esistenti. Parlando di OpenVPN e IPsec, Donenfeld ha spiegato:

"Anche dopo così tante valutazioni e team che controllano queste basi di codice, le persone continuano a trovare bug, perché sono troppo grandi e complesse".

Donenfeld afferma che il suo desiderio di mantenere WireGuard minimale e semplice ha portato allo sviluppo della crittografia del protocollo che ha una "piccola implementazione", con meno possibili exploit e vulnerabilità:

"Ad esempio, tutti i campi nel protocollo sono a lunghezza fissa, quindi non è necessario disporre di parser. E se non ci sono parser, allora non ci sono bug di parser. "

Per parlare della crittografia stessa, WireGuard (e client WireGuard come TunSafe) implementano primitivi moderni collaudati come Curve25519 (per curva ellittica Diffie Hellman), ChaCha20 (per hashing), Poly1305 e BLAKE2 (per crittografia autenticata) e SipHash2-4 (per le tabelle hash). Donenfeld lo dice "importante, non c'è agilità di cifratura". Questa è una parte fondamentale del protocollo che lo rende più sicuro rispetto ai suoi predecessori.

"Se la crittografia viene interrotta, esegui l'upgrade e non consenti la crittografia interrotta sulla tua rete. Al momento questi [primitivi] sono i più belli, ma se diventano obsoleti in qualsiasi momento li cambieremo."

Un'altra cosa interessante di Wireguard è che aumenta la produttività fino a sei volte rispetto a OpenVPN. In teoria, ciò significa che è molto meglio per attività ad alta intensità di dati come giochi o streaming in HD.

Grandi piani

Grandi piani per WireGuard su Linux

Attualmente, WireGuard è un modulo out of tree per il kernel Linux, quindi quando acquisti una distribuzione Linux non viene precaricato come XFS o altri driver. Ciò significa che se si desidera utilizzare WireGuard, è necessario rintracciare il sorgente e compilarlo da soli, oppure trovare una fonte affidabile che lo abbia già compilato per la versione del proprio kernel Linux.

Donenfeld vuole che cambi. Lo sviluppatore di WireGuard vuole che Linux aggiunga il codice al kernel per impostazione predefinita in modo che tutte le distribuzioni Linux vengano fornite con esso. Se la proposta presentata da Donenfeld martedì scorso ha esito positivo, una serie di patch verrebbe aggiunta al kernel Linux per integrare il codice di tunneling VPN sicuro come driver di rete ufficiale.

Punti interrogativi

Puoi aspettarti di vedere WireGuard implementato in un client VPN commerciale in qualsiasi momento presto?

Per il momento WireGuard non è ancora stato verificato. Sebbene sia stato oggetto di una verifica formale per la sua implementazione crittografica, non è ancora considerato sicuro. Ciò significa che ha ancora molta strada da fare prima che sfiderà OpenVPN.

Anche gli sviluppatori di WireGuard ammettono che:

“WireGuard non è ancora completo. Non devi fare affidamento su questo codice. Non ha subito adeguati livelli di controllo della sicurezza e il protocollo è ancora soggetto a modifiche. Stiamo lavorando per una versione 1.0 stabile, ma quel momento non è ancora arrivato. ”

Inoltre, la non gestione dello scambio di chiavi da parte di WireGuard è un problema per le VPN commerciali, che necessitano della loro API per essere in grado di gestire le chiavi di condivisione tra più server situati in tutto il mondo in modo sicuro ed efficiente.

Nonostante ciò, il discorso sull'aggiunta di WireGuard al progetto del kernel Linux è entusiasmante e mostra che ci sono grandi speranze per questo nuovo protocollo VPN. Per ora, è probabile che rimanga ai margini - utilizzato solo da persone che desiderano la sicurezza aggiuntiva necessaria per configurare il proprio nodo VPN.

Emanuel Morgan, CIO presso NordVPN, afferma di trovare WireGuard molto interessante, ma ha detto a ProPrivacy.com che i provider di VPN commerciali dovranno “aspettare fino a quando non saranno abbastanza maturi” prima di prendere in considerazione l'implementazione:

“Al momento mancano troppe parti per dispiegarlo su larga scala e non esiste un modo standard per distribuire le chiavi. Senza la distribuzione delle chiavi, WireGuard è meno desiderabile come applicazione VPN commerciale.

"Gli utenti devono essere sicuri di connettersi a un server VPN legittimo e i certificati del server OpenVPN risolvono questo problema in modo semplice, sicuro ed efficiente. "

Crediti immagine: New Design Illustrations / Shutterstock.com, tanewpix / Shutterstock.com, file404 / Shutterstock.com

Brayan Jackson
Brayan Jackson Administrator
Sorry! The Author has not filled his profile.
follow me