Una rete privata virtuale (VPN) cripta tutti i dati che vengono trasmessi dal tuo computer ad un server VPN. In questa guida completa approfondiremo cos’è la crittografia e il suo ruolo in una connessione VPN.
Spiegheremo anche il significato dei termini relativi alla crittografia usati dai servizi VPN. Speriamo che questa guida ti aiuti a far luce su questo complesso argomento, e che dopo averla letta sarai in grado di valutare meglio i vari slogan sulla sicurezza sbandierati dei vari provider VPN.
Introduzione
Se non sai bene cos’è una VPN e a cosa serve, prova a leggere la nostra guida introduttiva alle VPN.
Il nostro obiettivo è presentare le caratteristiche principali della crittografia VPN nel modo più semplice possibile. Nonostante questo, la crittografia resta un argomento inevitabilmente complesso.
Se quando leggi la parola “crittografia” la tua vista comincia ad appannarsi, ma vuoi comunque sapere cosa cercare in un buon servizio VPN, puoi saltare direttamente alla sezione “Riepilogo”.
Cos’è la crittografia?
L’analogia più semplice è paragonare la crittografia ad una serratura. Se si ha la chiave giusta, allora la serratura è facile da aprire. Se qualcuno che non ha la chiave giusta vuole accedere ai contenuti della cassaforte (ossia ai tuoi dati) protetta da quella serratura, allora può provare a forzarla.
Proprio come la serratura che protegge il caveau di una banca è più sicura di quella che protegge una valigia, alcune crittografie sono più potenti di altre.
Le basi
Da bambino, chi non ha mai provato a fare quel gioco in cui bisognava creare un “messaggio segreto” sostituendo ogni lettera del messaggio originale con un’altra? Era chi scriveva il messaggio a scegliere lo schema che bisognava seguire per effettuare questa sostituzione.
Per esempio, si sarebbe potuto decidere di sostituire ciascuna lettera del messaggio originale con la lettera che la precedeva di tre posizioni nell’alfabeto. Chi avesse conosciuto questo schema, o fosse riuscito ad individuarlo, sarebbe stato in grado di decifrare il“messaggio segreto.”
Usando il gergo della crittografia, l’autore o l’autrice del messaggio stava “criptando” il messaggio (i dati) seguendo un algoritmo matematico molto semplice. I crittografi definiscono questo algoritmo “cifrario”. Per decifrare il messaggio creato tramite questo algoritmo è necessaria chiave. La chiave è il parametro variabile che determina il risultato finale del cifrario. Senza questo parametro, quindi, decifrare il messaggio è impossibile.
Per esempio, potresti decidere di sostituire una lettera ogni tre con un numero che corrisponde a quella lettera.
Lunghezza della chiave
I cifrari usati dai computer moderni sono degli algoritmi molto complessi. Questi cifrari sono molto difficili, se non addirittura impossibli, da forzare anche si ci si avvale dell’aiuto di un supercomputer. Si può valutare la forza di un cifrario basandosi sulla complessità dell’algoritmo che è stato usato per crearlo.
Più complesso è l’algoritmo, più sarà difficile forzare il cifrario usando un attacco di forza bruta. Questo metodo molto primitivo (noto anche come ricerca esaustiva della soluzione) consiste nel provare tutte le combinazioni di numeri possibili finché non viene scovata la chiave corretta.
I computer eseguono tutti i calcoli usando dei numeri binari, che altro non sono che una sequenza di zero e uno La complessità di un cifrario dipende dalla dimensione della chiave misurata in bit, ossia dal numero di uno e zero necessari per esprimere l’algoritmo che sta alla base, dove ogni zero e ogni uno vengono rappresentati da un singolo bit.
La lunghezza della chiave rappresenta anche quante possibilità ci sono di riuscire ad eseguire con successo un attacco di forza bruta su un cifrario.
Il numero di combinazioni possibili (e quindi anche la difficoltà di riuscire ad individuare la chiave con un attacco di forza bruta) aumenta proporzionalmente alla dimensione della chiave. Per dare un’idea più precisa, prendiamo ad esempio il cifrario AES:
Dimensione chiave | Possibili combinazioni |
1 bit | 2 |
2 bit | 4 |
8 bit | 256 |
16 bit | 65536 |
64 bit | 4.2 x 10^9 |
128 bit | 3.4 x 10^38 |
192 bit | 6.2 x 10^57 |
256 bit | 1.1 x 10^ 77 |
- Nel 2011 il supercomputer più veloce al mondo era il Fujitsu K, che era in grado di raggiungere una velocità di picco di 10,51 petaflop. Basandoci su questo dato, possiamo calcolare che il Fujitsu K impiegherebbe 1,02 x 10^18 – ossia circa un miliardo di miliardi (o un quintilione) di anni per forzare con un attacco di forza bruta una chiave AES (Advanced Encryption Standard, “Standard di crittografia avanzato”) di 128-bit. Nemmeno l’universo (che ha 13,75 miliardi di anni) è esistito tanto a lungo.
- Nel 2017, il supercomputer più potente era il Sunway TaihuLight, in Cina. Questo mostro è capace di raggiungere una velocità di picco di 93,02 petaflop. Questo significa che anche uno dei computer più potenti al mondo impiegherebbe circa 885 miliardi di anni per forzare con un attacco a forza bruta una chiave AES di 128-bit.
- Il numero di operazioni richiesto per forzare con un attacco a forza bruta un cifrario di 256-bit è 3,31 x 10^56. Questo numero è grosso modo uguale al numero di atomi nell’universo!
I cifrari usati in informatica
La lunghezza di una chiave è la quantità di numeri dai quali essa è composta, mentre i cifrari sono i calcoli, ossia le formule o gli algoritmi veri e propri usati per eseguire la crittografia. Come abbiamo appena visto, forzare i cifrari usati dai computer moderni con un attacco di forza bruta è praticamente impossibile.
Gli algoritmi possono essere violati a causa delle loro vulnerabilità, che a volte sono state inserite deliberatamente. L’output di un cifrario mal progettato potrebbe lasciare parzialmente intatta la struttura che l’informazione originale aveva prima di essere criptata. Il set di combinazioni fra le quali sarà possibile provare, quindi, sarà più ridotto, esattamente come la lunghezza effettiva della chiave.
Il cifrario Blowfish, per esempio, è vulnerabile agli attacchi che sfruttano i principi matematici dietro al problema del compleanno, un paradosso di teoria della probabilità. Lo studio delle debolezze degli algoritmi crittografici è noto come crittoanalisi.
Delle chiavi più lunghe compensano queste vulnerabilità, ed aumentano significativamente il numero di risultati possibili.
Invece di cercare di forzare il cifrario vero e proprio, un malintenzionato potrebbe cercare di attaccare la chiave. Un attacco di questo tipo potrebbe avere delle ripercussioni su un sito o un software specifici, ma, visto che la sicurezza dell’algoritmo di cifratura risulterebbe ancora intatta, gli altri sistemi che usano lo stesso algoritmo riuscendo a generare chiavi sicure non subirebbero conseguenze.
Lunghezza della chiave
La sicurezza di un cifrario dipende sia dai principi matematici che stanno alla base, sia dalla lunghezza della sua chiave espressa in bit. Per questo motivo, il nome di un cifrario in genere include anche la lunghezza della chiave che utilizza.
Quindi AES-256 (il cifrario AES con una chiave di 256-bit) è generalmente considerato più sicuro di AES-128. Nota che ho specificato “generalmente” perché abbiamo a che fare con dei calcoli molto complessi (troverai le mie note su AES più in basso).
È importante osservare che, da sola, la lunghezza della chiave non è un buon indicatore del livello di sicurezza di un cifrario. Quel che conta è la combinazione formata dalla lunghezza della chiave e cifrario. I cifrari usati per la crittografia asimmetrica, per esempio, usano delle chiavi molto più lunghe rispetto a quelle in uso nella crittografia simmetrica, ma offrono lo stesso livello di sicurezza.
AES (crittografia simmetrica) | RSA (crittografia asimmetrica) |
AES-112 | RSA-2048 |
AES-192 | RSA-3072 |
AES-256 | RSA-15360 |
Questa tabella non è aggiornata, visto che non tiene conto delle vulnerabilità che sono state recentemente scoperte nell’algoritmo RSA. Vale anche la pena notare che le varianti ellittiche e Diffie-Hellman dell’algoritmo RSA sono molto più sicure degli algoritmi tradizionali. Speriamo che questa tabella ti aiuti comunque a farti un’idea.
C’è da notare che maggiore è la lunghezza della chiave, maggiore sarà la potenza di calcolo necessaria. La lunghezza della chiave, quindi, influisce anche sulla velocità con la quale i dati possono essere criptati e decriptati. Quando scelgono i propri sistemi di crittografia, i provider VPN devono quindi decidere come bilanciare al meglio sicurezza e usabilità.
Più avanti, daremo un’occhiata ai principali cifrari usati da vari protocolli VPN, ma i cifrari in cui è più facile imbattersi sono Blowfish e AES. RSA è usato per criptare e decriptare le chiavi di un cifrario, mentre SHA-1 o SHA-2 vengono usati in funzione di hash per autenticare i dati.
Crittografia Asimmetrica
Perfect Forward Secrecy
Il Perfect Forward Secrecy (PFS) è noto anche come Forward Secrecy (nel caso in cui si preferisca non usare la parola “perfect” in un contesto del genere), oppure si può semplicemente dire che vengono usate delle chiavi effimere.
Al giorno d’oggi, la maggior parte delle comunicazioni più sicure si affidano a SSL o TLS. Questi standard sono usati dai siti HTTPS e nel protocollo OpenVPN. TLS (Transport Layer Security) è un protocollo di crittografia asimmetrico, il che vuol dire che i dati vengono protetti usando una chiave pubblica. Ad ogni modo, i dati potranno essere decriptati solo dal ricevente che è in possesso della giusta chiave privata.
Purtroppo, moto spesso dei server o perfino delle intere aziende usano un’unica chiave privata per proteggere tutte le loro comunicazioni. Perché? Perché è più facile. Ma se quella chiave dovesse venire compromessa, allora chi è riuscito a violarla avrebbe accesso a tutte le comunicazioni che sono state criptate usandola.
Questa chiave, quindi, diventerebbe un “passe-partout” che può essere utilizzato per decriptare tutte le comunicazioni di un server o un’azienda. L’NSA (l’Agenzia per la sicurezza nazionale statunitense) ha sfruttato questa vulnerabilità per raccogliere un notevole volume di dati.
La soluzione ad una situazione di questo tipo è il Perfect Forward Secrecy. Con questo sistema viene generata un’unica chiave privata per ogni sessione. L’idea è semplice, ma i calcoli dietro lo scambio di chiavi Diffie-Hellman sono molto complessi. Ogni sessione TLS, quindi, dispone di uno specifico set di chiavi, ed è per questo che si usa il termine “chiavi effimere”: le chiavi vengono usate una sola volta e poi scompaiono.
Di conseguenza, non ci saranno “passe-partout” di cui poter approfittare. Nel caso in cui una sessione venisse compromessa, sarebbe solo quella sessione ad esserlo, e non tutte le altre sessioni di quel server o azienda!
Anche se non succede molto spesso, è anche possibile aggiornare le chiavi PFS all’interno di una stessa sessione (una volta all’ora, per esempio). Questa accortezza limita ancora di più la quantità di dati che possono venire intercettati da un malintenzionato.
Quando qualche anno fa ho scritto un articolo sullo stesso argomento, l’uso di Perfect Forward Secrecy per i siti HTTPS e le connessioni OpenVPN era ancora tristemente raro. Per fortuna, al giorno d’oggi la situazione è lievemente cambiata: anche se è ancora ben lungi dall’essere universale, l’uso delle chiavi effimere si è moto diffuso nel corso degli ultimi anni.
Protocolli di crittografia VPN
Più in basso darò un’occhiata a ciascuno di questi protocolli, ma al momento il protocollo standard usato dai servizi VPN commerciali è OpenVPN, e per degli ottimi motivi: è molto sicuro, e può essere usato su quasi tutti i dispositivi compatibili con una VPN. È per questo che ho deciso di dilungarmi maggiormente proprio su questo protocollo.
PPTP
- Il suo client è integrato nella maggior parte delle piattaforme
- Facile da configurare
- Poco sicuro
- È stato compromesso dall’NSA
- Viene bloccato facilmente
Cos’è PPTP?
PPTP è un protocollo riservato unicamente alle VPN, e protegge una connessione affidandosi a vari metodi di autenticazione. Fra i provider VPN commerciali, il protocollo di autenticazione più usato è quasi sempre il MS-CHAP v2. Il protocollo di crittografia (simile a un cifrario standard) usato da PPTP è il Microsoft Point-to-Point Encryption (MPPE).
Il Point-to-Point Tunneling Protocol (PPTP) è stato sviluppato da un consorzio fondato da Microsoft al fine di creare VPN su reti dial-up. Per molto tempo, quindi, PPTP è rimasto il protocollo standard per le reti VPN aziendali.
PPTP è disponibile come standard su quasi tutti i dispositivi e le piattaforme compatibili con una VPN. È facile da installare, e senza bisogno di installare software addizionali. Questa fa sì che PPTP rimanga una scelta popolare sia fra le VPN aziendali che fra i servizi VPN commerciali.
Questo protocollo offre anche il vantaggio di richiedere poco overhead per essere implementato… quindi è veloce!
La più grave è la possibilità di un’autenticazione MS-CHAP v2 non incapsulata. Usando questo exploit, PPTP è stato violato nel giro di due giorni. Microsoft ha risolto il problema, ma ha comunque consigliato di passare a L2TP/IPsec o SSTP.
Il fatto che con tutta probabilità la NSA decripti tutta le comunicazioni protette con PPTP non dovrebbe sorprendere. E la cosa ancor più preoccupante è che la NSA ha raccolto tantissimi dati che sono stati criptati quando PPTP veniva ancora considerato sicuro. È quasi certo che la NSA sia in grado di decriptare anche questi dati.
PPTP richiede sia la porta TCP 1723 che il protocollo GRE. È facile bloccare GRE, e quindi una connessione PPTP, con un firewall.
L2TP/IPsec
- In genere è considerato sicuro (ma leggi i “Contro”)
- Facile da configurare
- Disponibile su tutte le piattaforme moderne
- Più veloce di OpenVPN (forse)
- Potrebbe essere stato compromesso dalla NSA (ma non ci sono prove)
- Molto probabilmente è stato indebolito dalla NSA (ma non ci sono prove)
- Può avere problemi con i firewall più restrittivi.
- Spesso non è ben implementato
Cos’è L2TP/IPsec?
Il Layer 2 Tunneling Protocol (L2TP) è integrato in quasi tutti i sistemi operativi moderni e i dispositivi compatibili con le VPN. Questo protocollo, quindi, è facile da configurare quasi quanto PPTP.
Da solo, L2TP non decripta o protegge il traffico, quindi viene implementato assieme alla suite IPsec (L2TP/IPsec). I provider possono definire il protocollo utilizzato L2TP o IPsec (come fa qualcuno), ma in realtà fanno riferimento a L2TP/IPSec.
L2TP/IPsec può usare sia il cifrario 3DES che quello AES. 3DES è vulnerabile agli attacchi Meet-in-the-middle e Sweet32, quindi al giorno d’oggi non è più molto utilizzato.
L2TP/IPsec incapsula i dati due volte, il che può causare dei rallentamenti. Questo viene bilanciato dal fatto che la crittografia e la decriptazione vengono eseguite nel kernel, e L2TP/IPsec permette il multi-threading, mentre OpenVPN non lo fa. L2TP/IPsec, quindi, è teoricamente più veloce di OpenVPN.
L2TP/IPsec con AES non ha altre vulnerabilità note e, se implementato correttamente, può comunque rivelarsi sicuro. Ad ogni modo, le rivelazioni di Edward Snowden hanno suggerito che questo standard sia stato compromesso dalla NSA.
John Gilmore è uno specialista di sicurezza e uno dei membri fondatori dell’Electronic Frontier Foundation. Ha detto che è probabile che IPSec sia stato deliberatamente indebolito durante la fase di progettazione.
Queste PSK sono utilizzate unicamente per autenticare la connessione, quindi, anche se dovessero venire compromesse, usando AES i dati rimarrebbero al sicuro. Un malintenzionato potrebbe però usare le pre-shared key fornite da un servizio VPN per impersonarne uno. A quel punto sarebbe possibile curiosare nel traffico crittografato, o perfino iniettare dei dati malevoli nella connessione.
Riepilogo
Nonostante alcuni problemi per lo più teorici, se non vengono usate pre-shared key pubbliche, il protocollo L2TP/IPsec è generalmente considerato sicuro. La sua compatibilità con un gran numero di dispositivi lo rende una buona scelta.
SSTP
- Molto sicuro
- Integrato in Windows
- Supporto Microsoft
- Può bypassare la maggior parte dei firewall
- Standard proprietario di Microsoft
Cos’è SSTP?
SSTP è un tipo di crittografia che usa SSL 3.0 e offre vantaggi simili a OpenVPN, inclusa la possibilità di usare la porta TCP 443 per aggirare la censura. La sua perfetta integrazione con Windows può rendere SSTP facile da usare e più stabile di OpenVPN su quella piattaforma.
Al contrario di OpenVPN, comunque, SSTP è uno standard proprietario di Microsoft. Questo significa che il suo codice non è liberamente accessibile. In passato, Microsoft ha collaborato con la NSA, e le speculazioni che parlano dell’esistenza di backdoor integrate nei sistemi operativi Windows non ispirano molta fiducia in questo standard.
Il Secure Socket Tunneling Protocol (SSTP) è stato introdotto in Windows Vista SP1. Anche se ora è disponibile anche per Linux e perfino per Mac OS X, rimane comunque uno standard dedicato principalmente a Windows.
Un altro problema è che SSL v3.0 si è rivelato vulnerabile all’ attacco POODLE, e quindi ora non è più consigliabile usarlo. Non è chiaro se lo stesso problema riguardi anche SSTP, ma l’affidabilità ispirata da questo standard non è comunque molta.
Riepilogo
Sulla carta, SSTP offre molti degli stessi vantaggi offerti da OpenVPN. Il fatto che sia uno standard proprietario Microsoft, comunque, mina gravemente la sua credibilità.
IKEv2
- Veloce
- Stabile, specialmente quando si passa ad un’altra rete o ci si ricollega dopo che la propria connessione è caduta
- Sicuro (se si usa AES)
- Semplice da configurare (almeno per l’utente!)
- È supportato dai dispositivi Blackberry
- Non è supportato da molte piattaforme
- L’implementazione lato server di IKEv2 è complicata, e potrebbe far sorgere dei problemi
- Fidati solo delle implementazioni open source
Cos’è IKEv2?
L’Internet Key Exchange version 2 (IKEv2) è frutto di una collaborazione fra Microsoft e Cisco. È supportato nativamente da Windows 7 e versioni successive, e dai dispositivi Blackberry e iOS. È per questo che molti servizi VPN per iOS usano IKEv2 al posto di OpenVPN.
IKEv2 è parte della suite IPsec. Questo protocollo protegge il traffico di dati gestendo le SA (Security Association) in IPsec e migliora IKEv1 sotto molti aspetti. È per questo che a volte IKEv2 viene chiamato IKEv2/IPsec, mentre IKEv1, invece, è semplicemente IPsec.
IKEv2 è particolarmente efficiente nel ristabilire una connessione VPN nel caso in cui la connessione di un utente dovesse cadere temporaneamente (per esempio quando si entra in una galleria).
Grazie al supporto del protocollo Mobility and Multihoming (MOBIKE), IKEv2 è anche molto efficiente nel gestire il passaggio da una rete all’altra. È per questi motivi che IKEv2 è un’ottima scelta per gli utenti che usano dispositivi mobili e passano continuamente dalla propria rete Wi-Fi domestica alla connessione dati, o che usano diversi hotspot.
Essendo supportato da molte meno piattaforme, IKEv2 non è diffuso quanto L2TP/IPSec(anche se va detto che la situazione sta cambiando in fretta). Nonostante questo, IKEv2 viene considerato essere sullo stesso livello di (se non addirittura superiore a) L2TP/IPsec in termini di sicurezza, prestazioni (velocità), stabilità ed efficienza nello stabilire (e ristabilire) una connessione.
OpenVPN
- Molto sicuro (se si usa PFS)
- Offre molte possibilità di configurazione
- Open source
- Può bypassare i firewall
- Per utilizzarlo è necessario software di terze parti
Cos’è OpenVPN?
OpenVPN è una tecnologia open source che unisce la libreria OpenSSL e i protocolli TLS ad un’amalgama di altre tecnologie per offrire una soluzione VPN sicura ed affidabile. Al momento, OpenVPN è il protocollo standard più usato dai servizi VPN commerciali, e per delle ottime ragioni.
Molti degli sviluppatori e dei collaboratori che contribuiscono a questo progetto lavorano per OpenVPN Technologies Inc., l’ente che supervisiona il progetto.
OpenVPN funziona meglio con una porta UDP, ma può usare qualsiasi altra porta (leggi le note più in basso), inclusa la porta TCP 443, che è usata dal traffico HTTPS. Usare OpenVPN sulla porta TCP 443 rende difficile distinguere una connessione VPN dalle connessioni sicure usate da banche, servizi email e negozi online. È per questo che OpenVPN è molto difficile da bloccare.
Un altro vantaggio di questo protocollo è il fatto che la libreria OpenSSL usata per eseguire la crittografia supporta molti algoritmi di cifratura. In pratica, comunque, i servizi VPN commerciali usano solo Blowfish e AES. Discuterò di questi algoritmi più in basso.
Alla luce delle informazioni rivelate da Edward Snowden, sembra che, a patto di usare Perfect Forward Secrecy, il protocollo OpenVPN non sia stato ancora compromesso o indebolito dalla NSA.
Di recente, sono stati effettuati due controlli sull’affidabilità di OpenVPN, uno finanziato tramite crowdsourcing, e l’altro da Private Internet Access. Nessuno dei due ha evidenziato l’esistenza di vulnerabilità che mettano a rischio la privacy degli utenti. Tempo fa erano state scoperte delle falle che rendevano i server OpenVPN potenzialmente vulnerabili ad un attacco Denial of Service (DoS), ma il problema è stato risolto con OpenVPN 2.4.2.
OpenVPN è generalmente considerato il protocollo VPN più sicuro attualmente disponibile, ed è ampiamente supportato. Ora, quindi, ci occuperemo più nel dettaglio della crittografia OpenVPN.
Crittografia OpenVPN
La crittografia OpenVPN è costituita da due parti: la cifratura del canale dati e quella del canale di controllo. La cifratura del canale dati serve a proteggere i tuoi dati. La cifratura del canale di controllo, invece, protegge la connessione fra il tuo computer e il server VPN.
Si dice che una catena è forte quanto il suo anello più debole, quindi il fatto che molti provider non usino la stessa cifratura su entrambi i canali (in genere la cifratura del canale di controllo è più sicura di quella del canale dati) non è molto saggio.
Non è raro, per esempio, vedere pubblicizzato un servizio VPN che usa un algortimo di cifratura AES-256 con handshake RSA-4096 e autenticazione hash SHA-512. Suona tutto molto impressionante, almeno finché non realizzi che tutte queste informazioni si riferiscono solo al canale di controllo e non al canale dati, che è criptato con Blowfish-128 e autenticazione hash SHA1. Tutto questo, quindi, è fatto solo per motivi di marketing.
Se sul canale dati e sul canale di controllo vengono usati due metodi di cifratura differenti, allora la sicurezza della connessione OpenVPN è pari a quella del più debole.
Per ottenere la massima sicurezza, sia la cifratura del canale di controllo che quella del canale dati devono essere il più forti possibile. Ma più potente è la cifratura utilizzata, più lenta sarà la connessione, ed è per questo che alcuni provider “economizzano” sulla cifratura del canale dati.
La cifratura del canale di controllo è chiamata anche crittografia TLS perché TLS è il nome della tecnologia usata per negoziare la connessione fra il tuo computer e il server VPN. È la stessa tecnologia usata dal tuo browser per negoziare in modo sicuro la connessione ad un sito protetto con HTTPS.
- La cifratura del canale di controllo consiste di algoritmo di cifratura, crittografia handshake e autenticazione hash.
- La cifratura del canale dati, invece, consiste di algoritmo di cifratura e autenticazione hash.
Spesso, i provider VPN usano lo stesso livello di crittografia sia per il canale dati che per quello di controllo. Nelle nostre recensioni e nelle schede “semaforo” indichiamo i due valori separati solo se la crittografia usata su ognuno dei due canali non è la stessa.
Se diciamo che un provider usa un cifrario AES-256, questo significa che quell’algoritmo viene usato sia per il canale dati che per quello di controllo.*
Riepilogo
Protocolli VPN
- PPTP non è affatto sicuro e andrebbe evitato. La facilità di configurazione e la compatibilità con un’ampia gamma di piattaforme potrebbero renderlo una scelta apparentemente appetibile, ma L2TP/IPsec offre gli stessi vantaggi ed è molto più sicuro.
- L2TP/IPsec è una buona soluzione VPN per quelle situazioni in cui la sicurezza non è cruciale, o sui dispositivi obsoleti che non supportano OpenVPN. Questo protocollo, comunque, è stato compromesso dalla NSA.
- SSTP offre la maggior parte dei vantaggi di OpenVPN, ma è stato pensato specificatamente per Windows. Questo significa che è stato integrato al meglio in quel sistema operativo, ma anche che è scarsamente supportato dai provider VPN. Inoltre, il fatto che sia un protocollo proprietario di Microsoft, inoltre, lo rende poco affidabile, almeno ai nostri occhi.
- IKEv2 è un ottimo protocollo, sicuro e veloce allo stesso tempo. Considerata la sua grande efficienza nel riconnettersi dopo che una connessione è caduta, sui dispositivi mobili questo protocollo è preferibile a OpenVPN. IKEv2 è l’unica opzione disponibile per gli utenti Blackberry. Se è possibile, è meglio scegliere una delle versioni open-source.
- OpenVPN è il protocollo che è consigliabile usare nella maggior parte delle situazioni. È veloce, affidabile, sicuro e open source. Di per se, non ha dei veri e propri difetti, ma per essere davvero sicuro dev’essere ben implementato, il che significa usare anche Perfect Forward Secrecy.
Crittografia OpenVPN
Quando si parla di crittografia, il diavolo è nei dettagli. Molti provider VPN affermano di usare una crittografia AES OpenVPN “super-sicura da 256-bit”, ma questo, in realtà, non ci dice molto. AES-256 è un algoritmo sicuro, non ci sono dubbi, ma se altri elementi della suite di crittografia usata sono deboli, allora i tuoi dati non saranno al sicuro.
- Cifrario: si occupa di proteggere i tuoi dati. Al momento, AES-256 è lo standard del settore.
- Handshake: protegge la tua connessione con il server VPN. RSA-2048+ o ECDH-384+ sono sicuri. Gli handashake RSA-1024 e Diffie-Hellman non lo sono.
- Autenticazione hash: crea un’impronta digitale unica che viene usata per convalidare i dati e i certificati TLS (e cioè per controllare che il server al quale ti stai connettendo è davvero il server al quale intendi collegarti.) HMAC SHA-1 va bene, ma HMAC SHA-2 (SHA-256, SHA-384, e SHA-512) e HMAC SHA-3 sono ancora meglio! Nota che l’autenticazione hash non è necessaria se usi l’algortimo AES-GCM.
- Perfect Forward Secrecy (PFS): si assicura che per ogni sessione venga creata una nuova chiave di cifratura. Non dovresti considerare OpenVPN sicuro a meno che non sia stato implementato anche PFS. Potrai farlo includendo uno scambio di chiavi Diffie-Hellman o ECDH in un handshake RSA, oppure un handshake DH o ECDH.
- Il livello di sicurezza di una crittografia è uguale a quello del suo punto debole. Questo significa che le impostazioni dovrebbero essere forti sia sul canale dati che su quello di controllo.
- Usare algoritmi e chiavi di cifratura più lunghe aumenta la sicurezza nella maggior parte dei casi, ma può avere dei costi in termini di velocità della connessione.
OpenVPN negozierà gli algoritmi di cifratura a comando. A meno che non vengano forniti dei parametri molto specifici, OpenVPN potrebbe usare delle impostazioni predefinite piuttosto deboli. Di default, OpenVPN userà Blowfish-128, handshake RSA-1024 senza PFS, e autenticazione hash HMAC SHA-1.
In conclusione
Speriamo di aver fatto luce su cosa rende sicura una VPN. Quando si tratta di configurare al meglio una rete virtuale privata, la crittografia è solo metà del lavoro. Per essere davvero sicuri bisogna avere anche la certezza che tutto il traffico venga trasmesso e ricevuto tramite la connessione VPN.
PCtempo è supportato dai lettori. Se acquistate tramite i link presenti sul nostro sito, potremmo guadagnare qualcosina grazie alle commissioni di affiliazione. Per saperne di più.
Lascia un commento