Siamo indipendenti ma possiamo ricevere commissioni se acquisti una VPN tramite certi link.
Come funziona una VPN?
Il nostro verdetto
Una VPN funziona creando una connessione crittografata tra il dispositivo e un server VPN privato che si trova nella posizione prescelta. In questo modo si crea una connessione sicura tra l’utente e la rete Internet pubblica, nascondendo l’indirizzo IP, camuffando la posizione e proteggendo l’attività web dal monitoraggio esterno.
Una rete privata virtuale (VPN) è uno strumento prezioso per proteggere la privacy, la sicurezza e la libertà online degli utenti. Questo la rende uno strumento prezioso per proteggere la privacy, la sicurezza e la libertà su Internet.
In questa guida spiegheremo come funziona il software VPN per nascondere l’indirizzo IP pubblico e crittografare la connessione Internet.
Sommario: come funziona una rete privata virtuale (VPN)
Ecco cosa succede al traffico web quando utilizzi una VPN:
- Scarichi, installi e attivi l’app VPN sul computer, sullo smartphone o sulla TV.
- Con l’app VPN, ti connetti a un server VPN in una località a tua scelta.
- Quando visiti un sito web o utilizzi un’altra applicazione, il software VPN sul tuo dispositivo crittografa la richiesta di connessione utilizzando un codice di crittografia. In questo modo, la posizione e il contenuto della richiesta non sono comprensibili a chiunque la guardi.
- I dati della connessione vengono inviati al server VPN scelto, dove vengono decifrati.
- Il server VPN si collega al sito web e invia la richiesta di connessione a tuo nome. Il sito web invia quindi le informazioni richieste al server VPN.
- Queste informazioni vengono crittografate dal server VPN e inoltrate al tuo dispositivo.
- La tua app VPN decifra le informazioni e il sito web o il servizio richiesto risponde alla tua richiesta.
Seguendo i passaggi di sopra, il software VPN ti permette di mascherare il tuo indirizzo IP dai siti web che stai visitando e di nascondere la tua attività online al tuo ISP, all’amministratore Wi-Fi o a chiunque altro controlli la tua connessione.
Sebbene tutti i software VPN siano in qualche modo simili, questa procedura si applica specificamente alle VPN personali o “consumer”.
Per sapere come funzionano l’accesso remoto e le VPN site-to-site, consulta la nostra guida sui tipi di VPN. Se ti interessa di più cosa puoi fare con una VPN, leggi la nostra guida sugli usi delle VPN.
Perché fidarsi di noi?
Siamo completamente indipendenti e recensiamo VPN dal 2016. Le nostre opinioni sono basate sui risultati dei nostri test e non sono influenzate da incentivi finanziari. Scopri chi siamo e come testiamo le VPN.
Come fa la VPN a nascondere il tuo indirizzo IP?
SOMMARIO: le VPN agiscono da intermediarie tra il dispositivo e Internet. Quando si naviga su Internet senza una VPN, i siti Web visitati vedono l’indirizzo IP del server VPN a cui si è connessi, invece dell’indirizzo IP pubblico originale.
Quando si naviga sul Web senza una VPN, la connessione passa direttamente dal dispositivo al server che ospita il sito Web o il servizio desiderato.
Per inviare il contenuto pertinente all’utente, questo server Web deve conoscere il suo indirizzo IP.
L’indirizzo IP è essenzialmente il passaporto dell’utente su Internet. Si tratta di un identificativo univoco che indica agli altri computer dove inviare le informazioni in modo che tu le riceva.
Utilizza il nostro IP Checker “Qual è il mio IP” per trovare il tuo indirizzo IP pubblico.
All’indirizzo IP sono associate molte informazioni personali. Rivela la posizione geografica dell’utente e può essere utilizzato per creare un quadro generale della sua attività online.
Per questi motivi, molte persone utilizzano le VPN per nascondere il loro indirizzo IP.
Quando si naviga sul Web con una VPN attivata, la connessione viene sempre trasferita a un server VPN remoto prima di passare al server Web che ospita il sito Web o il servizio desiderato.
Quando invia le informazioni all’utente, il server Web in realtà le invia al server VPN che a sua volta le inoltra all’utente. Questo significa che i siti Web visitati non vengono mai in contatto con il reale indirizzo IP dell’utente.
I siti Web visitati vedono solo una richiesta di connessione proveniente da un server VPN e quindi inviano le informazioni a quel server VPN.
CONSIGLIO DEGLI ESPERTI: le VPN più valide dispongono di server in molte posizioni diverse. È possibile indurre i siti Web a pensare che un utente si trovi in un paese grazie alla connessione a un server VPN di quel paese. È così che le persone utilizzano le VPN per sbloccare i contenuti con restrizioni geografiche su Netflix e su altri servizi di streaming.
Come fanno le VPN a crittografare e proteggere i tuoi dati?
SOMMARIO: Le VPN utilizzano cifrari e protocolli di connessione per convertire il tuo traffico web in un codice incomprensibile. Questo impedisce al tuo ISP, al governo e a qualsiasi altra parte terza di visualizzare i contenuti della tua attività di navigazione. Una VPN sicura non dovrebbe utilizzare nulla di più debole della crittografia AES-256 per criptare i tuoi dati.
La crittografia è il processo di modifica dei dati non crittografati in un codice segreto che può essere comprensibile solo a chi sa decrittografarlo.
Lo scopo della crittografia è impedire la lettura dei messaggi da parte di persone non autorizzate.
Le VPN utilizzano la crittografia per nascondere i dati dell’attività di navigazione durante il trasferimento tra il dispositivo e il server VPN.
L’utilizzo di una VPN impedisce a ISP, enti governativi, amministratori delle reti Wi-Fi, hacker e terze parti di spiare la connessione dell’utente.
Ma come funziona in realtà una VPN? In che modo una VPN crittografa e protegge i dati?
Nel resto di questa sezione, esamineremo più da vicino i diversi componenti e processi che compongono la crittografia delle VPN, a partire dagli algoritmi di crittografia.
Che cos’è un tunnel VPN?
Un “tunnel VPN” è un modo comune per descrivere ciò che accade quando si imposta una connessione VPN. In parole povere, si tratta della comunicazione crittografata tra il tuo dispositivo e il server VPN.
Questa comunicazione viene chiamata tunnel perché il tuo traffico originale viene crittografato e avvolto in uno strato di traffico non crittografato.
È come prendere una busta con una lettera scritta all’interno e metterla in una seconda busta con un nuovo indirizzo. Il messaggio vero e proprio diventa completamente nascosto al mondo esterno, come se si trovasse all’interno di un tunnel.
Questo processo è noto come incapsulamento e viene eseguito da protocolli di tunneling dedicati.
Algoritmi di crittografia
Per convertire l’attività online in un codice incomprensibile, le VPN devono utilizzare un algoritmo di crittografia.
Un cifrario non è altro che un algoritmo (cioè un insieme di regole) che cripta e decripta i dati.
ESEMPI: un algoritmo molto semplice potrebbe crittografare i dati utilizzando la regola “sostituisci ogni lettera nel messaggio con la lettera che la precede nell’alfabeto”. Quindi, la parola privacy
diventerebbe oqhuzbx
.
I cifrari sono solitamente associati a una specifica lunghezza delle chiavi. In genere, maggiore è la lunghezza della chiave, maggiore è la protezione della crittografia. Ad esempio, AES-256 è considerato più sicuro di AES-128.
Gli algoritmi di crittografia più comunemente utilizzati nelle VPN sono:
1Advanced Encryption Standard (AES)
Advanced Encryption Standard (AES) è uno degli algoritmi di crittografia più sicuri disponibili. Rappresenta lo standard ideale per i protocolli di crittografia online ed è ampiamente utilizzato nel settore delle VPN.
AES è stato istituito dal National Institute of Standards and Technology (NIST) degli Stati Uniti nel 2001, ed è anche noto come algoritmo di Rijndael. È progettato per gestire file più grandi rispetto ad altri algoritmi, come Blowfish, a causa delle dimensioni maggiori del blocco.
AES è solitamente disponibile in chiavi con lunghezza a 128 bit e a 256 bit. Sebbene AES-128 sia ancora considerato sicuro, sappiamo che organizzazioni come l’NSA cercano sempre di violare gli standard di crittografia. Di conseguenza, si preferisce AES-256 in quanto è più probabile che offra una protezione molto maggiore.
Quando si legge che una crittografia è di livello “militare”o “bancario” sul sito Web di una VPN, in genere questo si riferisce all’uso di AES-256. Il governo degli Stati Uniti utilizza la crittografia AES-256 per proteggere i suoi dati sensibili, e questa è la crittografia che cerchiamo quando testiamo e recensiamo le VPN.
2Blowfish
Blowfish è un algoritmo progettato dal crittografo americano Bruce Schneier nel 1993. In passato era l’algoritmo predefinito utilizzato nella maggior parte delle connessioni VPN, ma ora è stato ampiamente sostituito da AES-256.
In genere, Blowfish viene utilizzato con una chiave a 128 bit, anche se può variare da 32 bit a 448 bit.
Blowfish presenta dei punti deboli. Il più noto è la sua vulnerabilità a un attacco crittografico noto come “Birthday Attack” (attacco del compleanno). Per questo motivo, Blowfish deve essere utilizzato solo come ripiego rispetto a AES-256.
3ChaCha20
Pubblicato nel 2008 da Daniel Bernstein, ChaCha20 è un algoritmo di crittografia VPN abbastanza nuovo. Nonostante questo, sta diventando sempre più popolare in quanto è l’unico algoritmo compatibile con l’emergente protocollo WireGuard.
Come AES, ChaCha20 utilizza una chiave a 256 bit, che è considerata molto sicura. Anche i report dimostrano che ChaCha20 è fino a tre volte più veloce di AES.
Al momento non esistono vulnerabilità note in ChaCha20, che offre una valida alternativa ad AES, mentre le tecnologie di crittografia si apprestano ad affrontare la sfida dei computer quantistici in un futuro non troppo lontano.
4Camellia
Camellia è un algoritmo di crittografia molto simile ad AES in termini di sicurezza e velocità. Anche se usa l’opzione delle chiavi a lunghezza inferiore (128 bit), data la tecnologia attuale, è ritenuto impossibile da violare con attacchi Brute Force. Non ci sono stati attacchi di successo in grado di indebolire in modo efficace la crittografia Camellia.
La differenza principale tra Camellia e AES è che non è certificata dal NIST, l’organizzazione statunitense che ha creato AES.
Se da un lato esiste certamente un’argomentazione a favore dell’utilizzo di una crittografia che non è associata al governo degli Stati Uniti, dall’altro Camellia è raramente disponibile nei software VPN, e non è stata testata in modo così approfondito come AES.
Protocolli delle VPN
I protocolli VPN sono le regole e i processi che il dispositivo segue per stabilire una connessione sicura con il server VPN.
In altre parole, il protocollo VPN determina come viene formato il tunnel della VPN, mentre l’algoritmo di crittografia viene utilizzato per crittografare i dati che passano attraverso il tunnel.
A seconda del protocollo utilizzato, la VPN avrà velocità, funzionalità e vulnerabilità diverse. La maggior parte dei servizi consente di scegliere il protocollo che si desidera utilizzare all’interno delle impostazioni dell’applicazione.
Sono disponibili diversi protocolli VPN, ma non tutti sono sicuri da utilizzare. Di seguito è riportata una rapida panoramica dei più comuni:
- OpenVPN: open source, estremamente sicuro e compatibile con quasi tutti i dispositivi su cui è possibile eseguire una VPN.
- WireGuard: velocissimo e molto efficiente, ma deve ancora guadagnarsi la fiducia generale dell’intero settore delle VPN a causa del rilascio relativamente recente.
- IKEv2/IPsec: protocollo closed source, eccellente per gli utenti di VPN mobili, ma sospettato di essere stato violato dall’NSA.
- SoftEther: non supportato da molte VPN, ma è veloce, sicuro e ottimo per aggirare la censura.
- L2TP/IPsec: un protocollo più lento, anch’esso sospettato di essere stato violato dall’NSA.
- SSTP: gestisce bene i Firewall, ma è closed-source e potenzialmente vulnerabile ad attacchi man-in-the-middle.
- PPTP: obsoleto, non sicuro, da evitare a tutti i costi.
ULTERIORI INFORMAZIONI: per un’analisi più approfondita dei diversi tipi di protocollo VPN e per scoprire quale sia il migliore, consulta la nostra guida completa ai protocolli delle VPN.
Handshake della VPN
Oltre ai protocolli e agli algoritmi di crittografia, le VPN utilizzano anche processi noti come Handshake e autenticazione Hash per proteggere e autenticare ulteriormente la connessione.
Un Handshake si riferisce alla connessione iniziale tra due computer. Si tratta di un “messaggio di saluto” in cui entrambe le parti si autenticano reciprocamente e vengono stabilite le regole per la comunicazione.
Durante un Handshake, il client VPN (ossia il dispositivo utilizzato) stabilisce una connessione iniziale con il server VPN.
Questa connessione viene quindi utilizzata per condividere in modo sicuro una chiave di crittografia tra client e server. La chiave viene utilizzata per crittografare e decrittografare i dati a entrambe le estremità del tunnel VPN per l’intera sessione del browser.
Gli Handshake delle VPN tendono a utilizzare l’algoritmo RSA (Rivest-Shamir-Adleman) che è stato la base per la sicurezza di Internet negli ultimi vent’anni.
Sebbene non vi siano ancora prove evidenti della violazione di RSA-1024, in genere il suo uso viene considerato un rischio per la sicurezza, data la potenza di elaborazione attualmente disponibile.
RSA-2048 è un’alternativa molto più sicura e provoca un rallentamento di calcolo relativamente ridotto. Pertanto, la maggior parte delle VPN ha smesso di utilizzare RSA-1024.
Si consiglia di considerare attendibili solo le VPN che utilizzano RSA-2048 o RSA-4096.
Anche se il processo di Handshake funziona correttamente e genera una crittografia sicura, ogni sessione generata può essere decrittografata con la chiave privata utilizzata per l’Handshake RSA. In questo senso, è come una “chiave master”.
Se la chiave master dovesse essere compromessa, potrebbe essere utilizzata per decrittografare ogni sessione protetta sul server VPN, passata o presente. Un hacker potrebbe accedere forzatamente al server VPN e ottenere l’accesso a tutti i dati che passano attraverso il tunnel della VPN.
Per evitare che ciò accada, si consiglia di utilizzare VPN configurati con Perfect Forward Secrecy.
Perfect Forward Secrecy
Perfect Forward Secrecy è una funzione di protocollo che utilizza gli algoritmi di scambio chiavi Diffie-Hellman (DH) o Elliptic Curve Diffie-Hellman (ECDH) per generare chiavi di sessione temporanee.
La funzione Perfect Forward Secrecy garantisce che la chiave di crittografia non venga mai scambiata attraverso la connessione.
Invece, sia il server VPN che il client VPN generano autonomamente la chiave utilizzando l’algoritmo DH o ECDH.
Si tratta di un processo matematicamente complesso, ma Perfect Forward Secrecy rimuove essenzialmente la minaccia di una singola chiave privata che, se compromessa, esporrebbe qualsiasi sessione protetta mai ospitata sul server.
Invece, le chiavi sono temporanee. Ciò significa che possono rivelare solo una sessione specifica, e niente di più.
Va notato che RSA da sola non può fornire la funzione Perfect Forward Secrecy. Gli algoritmi DH o ECDH devono essere inclusi nella suite di crittografia di RSA per essere implementati.
Anziché RSA, si può usare ECDH da solo per generare un Handshake della VPN sicuro con Perfect Forward Secrecy. Tuttavia, è opportuno fare attenzione alle VPN che utilizzano solo DH, poiché è vulnerabile e può essere violato. Non si tratta però di un problema se utilizzato con RSA.
I tre principali protocolli VPN consigliati, OpenVPN, WireGuard e IKEv2, supportano tutti la funzione Perfect Forward Secrecy.
Autenticazione Hash
I Secure Hash Algorithms (SHA) vengono utilizzati per autenticare l’integrità dei dati trasmessi e delle connessioni client-to-server. Garantiscono che le informazioni non siano state alterate durante il transito tra l’origine e la destinazione.
Gli algoritmi SHA funzionano modificando i dati di origine utilizzando quella che è nota come funzione Hash. Il messaggio originale viene passato attraverso un algoritmo e il risultato è una stringa di caratteri di lunghezza fissa che non assomiglia per niente all’originale, nota come “valore Hash”.
Si tratta di una funzione unidirezionale: non è possibile eseguire un processo di De-hash per determinare il messaggio originale dal valore Hash.
L’Hashing è utile perché la modifica di un solo carattere dei dati di origine modificherà completamente il valore Hash che viene generato dalla funzione Hash.
Il client VPN eseguirà i dati ricevuti dal server insieme alla chiave segreta, tramite una funzione Hash concordata durante l’Handshake della VPN.
Se il valore Hash generato dal client differisce dal valore Hash del messaggio, i dati verranno eliminati non appena il messaggio viene manomesso.
L’autenticazione Hash dell’algoritmo SHA impedisce attacchi man-in-the-middle poiché è in grado di rilevare eventuali manomissioni di un certificato valido.
Senza di esso, un hacker potrebbe fingersi un server VPN legittimo e ingannare l’utente per farlo connettere a un server non sicuro, dove la sua attività potrebbe essere monitorata.
Per garantire la massima sicurezza, consigliamo di utilizzare VPN che utilizzano SHA-2 o versioni successive. SHA-1 presenta punti deboli comprovati che possono compromettere la sicurezza.
Come fanno le VPN a crittografare e proteggere i dati degli utenti?
La crittografia è il processo di modifica dei normali dati in formato testo non crittografato in un codice segreto che può essere comprensibile solo da chi sa decrittografarlo.
Lo scopo della crittografia è impedire la lettura dei messaggi da parte di persone non autorizzate.
Le VPN utilizzano la crittografia per nascondere i dati dell’attività di navigazione durante il trasferimento tra il dispositivo e il server VPN.
L’utilizzo di una VPN impedisce a ISP, enti governativi, amministratori delle reti Wi-Fi, hacker e terze parti di spiare la connessione dell’utente.
Ma come funziona in realtà una VPN? In che modo una VPN crittografa e protegge i dati?
Nel resto di questa sezione, esamineremo più da vicino i diversi componenti e processi che compongono la crittografia delle VPN, a partire dagli algoritmi di crittografia.
Algoritmi di crittografia
Per convertire l’attività online in un codice incomprensibile, le VPN devono utilizzare un algoritmo di crittografia.
Un algoritmo è un insieme di regole che crittografano e decrittografano i dati.
ESEMPI: un algoritmo molto semplice potrebbe crittografare i dati utilizzando la regola “sostituisci ogni lettera nel messaggio con la lettera che la precede nell’alfabeto”. Quindi, la parola privacy
diventerebbe oqhuzbx
.
Gli algoritmi sono solitamente associati a una specifica lunghezza delle chiavi. In genere, maggiore è la lunghezza della chiave, maggiore è la protezione della crittografia. Ad esempio, AES-256 è considerato più sicuro di AES-128.
Gli algoritmi di crittografia più comunemente utilizzati nelle VPN sono:
1Advanced Encryption Standard (AES)
Advanced Encryption Standard (AES) è uno degli algoritmi di crittografia più sicuri disponibili. Rappresenta lo standard ideale per i protocolli di crittografia online ed è ampiamente utilizzato nel settore delle VPN.
AES è stato istituito dal National Institute of Standards and Technology (NIST) degli Stati Uniti nel 2001, ed è anche noto come algoritmo di Rijndael. È progettato per gestire file più grandi rispetto ad altri algoritmi, come Blowfish, a causa delle dimensioni maggiori del blocco.
AES è solitamente disponibile in chiavi con lunghezza a 128 bit e a 256 bit. Sebbene AES-128 sia ancora considerato sicuro, sappiamo che organizzazioni come l’NSA cercano sempre di violare gli standard di crittografia. Di conseguenza, si preferisce AES-256 in quanto è più probabile che offra una protezione molto maggiore.
Quando si legge che una crittografia è di livello “militare”o “bancario” sul sito Web di una VPN, in genere questo si riferisce all’uso di AES-256. Il governo degli Stati Uniti utilizza la crittografia AES-256 per proteggere i suoi dati sensibili, e questa è la crittografia che cerchiamo quando testiamo e recensiamo le VPN.
2Blowfish
Blowfish è un algoritmo progettato dal crittografo americano Bruce Schneier nel 1993. In passato era l’algoritmo predefinito utilizzato nella maggior parte delle connessioni VPN, ma ora è stato ampiamente sostituito da AES-256.
In genere, Blowfish viene utilizzato con una chiave a 128 bit, anche se può variare da 32 bit a 448 bit.
Blowfish presenta dei punti deboli. Il più noto è la sua vulnerabilità a un attacco crittografico noto come “Birthday Attack” (attacco del compleanno). Per questo motivo, Blowfish deve essere utilizzato solo come ripiego rispetto a AES-256.
3ChaCha20
Pubblicato nel 2008 da Daniel Bernstein, ChaCha20 è un algoritmo di crittografia VPN abbastanza nuovo. Nonostante questo, sta diventando sempre più popolare in quanto è l’unico algoritmo compatibile con l’emergente protocollo WireGuard.
Come AES, ChaCha20 utilizza una chiave a 256 bit, che è considerata molto sicura. Anche i report dimostrano che ChaCha20 è fino a tre volte più veloce di AES.
Al momento non esistono vulnerabilità note in ChaCha20, che offre una valida alternativa ad AES, mentre le tecnologie di crittografia si apprestano ad affrontare la sfida dei computer quantistici in un futuro non troppo lontano.
4Camellia
Camellia è un algoritmo di crittografia molto simile ad AES in termini di sicurezza e velocità. Anche se usa l’opzione delle chiavi a lunghezza inferiore (128 bit), data la tecnologia attuale, è ritenuto impossibile da violare con attacchi Brute Force. Non ci sono stati attacchi di successo in grado di indebolire in modo efficace la crittografia Camellia.
La differenza principale tra Camellia e AES è che non è certificata dal NIST, l’organizzazione statunitense che ha creato AES.
Se da un lato esiste certamente un’argomentazione a favore dell’utilizzo di una crittografia che non è associata al governo degli Stati Uniti, dall’altro Camellia è raramente disponibile nei software VPN, e non è stata testata in modo così approfondito come AES.
RIEPILOGO: per crittografare i dati, una rete VPN non deve utilizzare un algoritmo inferiore a quello della crittografia AES-256. ChaCha20 e Camellia sono alternative sicure, ma la VPN dovrebbe almeno offrire la scelta di AES.
Protocolli delle VPN
I protocolli VPN sono le regole e i processi che il dispositivo segue per stabilire una connessione sicura con il server VPN.
In altre parole, il protocollo VPN determina come viene formato il tunnel della VPN, mentre l’algoritmo di crittografia viene utilizzato per crittografare i dati che passano attraverso il tunnel.
A seconda del protocollo utilizzato, la VPN avrà velocità, funzionalità e vulnerabilità diverse. La maggior parte dei servizi consente di scegliere il protocollo che si desidera utilizzare all’interno delle impostazioni dell’applicazione.
Sono disponibili diversi protocolli VPN, ma non tutti sono sicuri da utilizzare. Di seguito è riportata una rapida panoramica dei più comuni:
- OpenVPN: open source, estremamente sicuro e compatibile con quasi tutti i dispositivi su cui è possibile eseguire una VPN.
- WireGuard: velocissimo e molto efficiente, ma deve ancora guadagnarsi la fiducia generale dell’intero settore delle VPN a causa del rilascio relativamente recente.
- IKEv2/IPsec: protocollo closed source, eccellente per gli utenti di VPN mobili, ma sospettato di essere stato violato dall’NSA.
- SoftEther: non supportato da molte VPN, ma è veloce, sicuro e ottimo per aggirare la censura.
- L2TP/IPsec: un protocollo più lento, anch’esso sospettato di essere stato violato dall’NSA.
- SSTP: gestisce bene i Firewall, ma è closed-source e potenzialmente vulnerabile ad attacchi man-in-the-middle.
- PPTP: obsoleto, non sicuro, da evitare a tutti i costi.
ULTERIORI INFORMAZIONI: per un’analisi più approfondita dei diversi tipi di protocollo VPN e per scoprire quale sia il migliore, consulta la nostra guida completa ai protocolli delle VPN.
Handshake della VPN
Oltre ai protocolli e agli algoritmi di crittografia, le VPN utilizzano anche processi noti come Handshake e autenticazione Hash per proteggere e autenticare ulteriormente la connessione.
Un Handshake si riferisce alla connessione iniziale tra due computer. Si tratta di un “messaggio di saluto” in cui entrambe le parti si autenticano reciprocamente e vengono stabilite le regole per la comunicazione.
Durante un Handshake, il client VPN (ossia il dispositivo utilizzato) stabilisce una connessione iniziale con il server VPN.
Questa connessione viene quindi utilizzata per condividere in modo sicuro una chiave di crittografia tra client e server. La chiave viene utilizzata per crittografare e decrittografare i dati a entrambe le estremità del tunnel VPN per l’intera sessione del browser.
Gli Handshake delle VPN tendono a utilizzare l’algoritmo RSA (Rivest-Shamir-Adleman) che è stato la base per la sicurezza di Internet negli ultimi vent’anni.
Sebbene non vi siano ancora prove evidenti della violazione di RSA-1024, in genere il suo uso viene considerato un rischio per la sicurezza, data la potenza di elaborazione attualmente disponibile.
RSA-2048 è un’alternativa molto più sicura e provoca un rallentamento di calcolo relativamente ridotto. Pertanto, la maggior parte delle VPN ha smesso di utilizzare RSA-1024.
Si consiglia di considerare attendibili solo le VPN che utilizzano RSA-2048 o RSA-4096.
Anche se il processo di Handshake funziona correttamente e genera una crittografia sicura, ogni sessione generata può essere decrittografata con la chiave privata utilizzata per l’Handshake RSA. In questo senso, è come una “chiave master”.
Se la chiave master dovesse essere compromessa, potrebbe essere utilizzata per decrittografare ogni sessione protetta sul server VPN, passata o presente. Un hacker potrebbe accedere forzatamente al server VPN e ottenere l’accesso a tutti i dati che passano attraverso il tunnel della VPN.
Per evitare che ciò accada, si consiglia di utilizzare VPN configurati con Perfect Forward Secrecy.
Perfect Forward Secrecy
Perfect Forward Secrecy è una funzione di protocollo che utilizza gli algoritmi di scambio chiavi Diffie-Hellman (DH) o Elliptic Curve Diffie-Hellman (ECDH) per generare chiavi di sessione temporanee.
La funzione Perfect Forward Secrecy garantisce che la chiave di crittografia non venga mai scambiata attraverso la connessione.
Invece, sia il server VPN che il client VPN generano autonomamente la chiave utilizzando l’algoritmo DH o ECDH.
Si tratta di un processo matematicamente complesso, ma Perfect Forward Secrecy rimuove essenzialmente la minaccia di una singola chiave privata che, se compromessa, esporrebbe qualsiasi sessione protetta mai ospitata sul server.
Invece, le chiavi sono temporanee. Ciò significa che possono rivelare solo una sessione specifica, e niente di più.
Va notato che RSA da sola non può fornire la funzione Perfect Forward Secrecy. Gli algoritmi DH o ECDH devono essere inclusi nella suite di crittografia di RSA per essere implementati.
Anziché RSA, si può usare ECDH da solo per generare un Handshake della VPN sicuro con Perfect Forward Secrecy. Tuttavia, è opportuno fare attenzione alle VPN che utilizzano solo DH, poiché è vulnerabile e può essere violato. Non si tratta però di un problema se utilizzato con RSA.
I tre principali protocolli VPN consigliati, OpenVPN, WireGuard e IKEv2, supportano tutti la funzione Perfect Forward Secrecy.
Autenticazione Hash
Gli algoritmi Secure Hash Algorithms (SHA) vengono utilizzati per autenticare l’integrità dei dati trasmessi e delle connessioni client-to-server. Garantiscono che le informazioni non siano state alterate durante il transito tra l’origine e la destinazione.
Gli algoritmi SHA funzionano modificando i dati di origine utilizzando quella che è nota come funzione Hash. Il messaggio originale viene passato attraverso un algoritmo e il risultato è una stringa di caratteri di lunghezza fissa che non assomiglia per niente all’originale, nota come “valore Hash”.
Si tratta di una funzione unidirezionale: non è possibile eseguire un processo di De-hash per determinare il messaggio originale dal valore Hash.
L’Hashing è utile perché la modifica di un solo carattere dei dati di origine modificherà completamente il valore Hash che viene generato dalla funzione Hash.
Il client VPN eseguirà i dati ricevuti dal server insieme alla chiave segreta, tramite una funzione Hash concordata durante l’Handshake della VPN.
Se il valore Hash generato dal client differisce dal valore Hash del messaggio, i dati verranno eliminati non appena il messaggio viene manomesso.
L’autenticazione Hash dell’algoritmo SHA impedisce attacchi man-in-the-middle poiché è in grado di rilevare eventuali manomissioni di un certificato valido.
Senza di esso, un hacker potrebbe fingersi un server VPN legittimo e ingannare l’utente per farlo connettere a un server non sicuro, dove la sua attività potrebbe essere monitorata.
Per garantire la massima sicurezza, consigliamo di utilizzare VPN che utilizzano SHA-2 o versioni successive. SHA-1 presenta punti deboli comprovati che possono compromettere la sicurezza.