Crittografia e protocolli di sicurezza di una VPN

Uno degli aspetti più importanti di una VPN è sicuramente la sicurezza, che viene raggiunta grazie a vari protocolli molto avanzati
Uno degli aspetti più importanti di una VPN è sicuramente la sicurezza, che viene raggiunta grazie a vari protocolli molto avanzati

Una VPN è un rete privata che consente all’utente di rimanere anonimo in rete e di crittografare il suo traffico dati, grazie a un server VPN che si occupa di scambiare dati con la rete che è direttamente collegato al PC dell’utente, così da renderlo invisibile.

Visto che chi utilizza una VPN lo fa più che altro per la sua sicurezza online e per restare anonimo, la crittografia e i vari protocolli di sicurezza sono uno dei punti centrali di una VPN. In quest’articolo andremo ad analizzare i più utilizzati e scoprire quali sono i più sicuri, ma anche quali sono i meno sicuri.

Che cos’è la crittografia di una VPN

In informatica la crittografia dei dati è la conversione di quest’ultimi dall’essere leggibili all’essere inaccessibili, il tutto grazie ad una chiave crittografica. La crittografia viene usata per proteggere i dati sensibili che viaggiano in rete e che, potenzialmente, sono accessibili a tutti. Quei dati sono inaccessibili se non si è in possesso della chiave crittografica. Nel tempo i protocolli di crittografia si sono evoluti e diventati più sicuri e complicati.

In sostanza i protocolli di crittografia delle VPN rendono inaccessibili i dati tramite un processo chiamato incapsulamento. Sappiamo già che i dati viaggiano in pacchetti da dimensioni prefissate, i protocolli crittografici mettono questi pacchetti all’interno di altri pacchetti sicuri, come se fossero delle casseforti, e rendono i dati inaccessibili a chiunque voglia accedervi.

La crittografia è sicura? Ovviamente si, è quello il suo scopo. Anche se ci sono vari livelli di crittografia. Per esempio uno dei protocolli utilizzati dai maggiori servizi VPN è l’AES 256 bit, il più sicuro attualmente in circolazione. Ci sono anche protocolli a 128 bit, meno sicuri. I numeri 128 bit e 256 bit rappresentano la lunghezza in bit della chiave usata nel protocollo per cifrare i dati. Questo vuol dire che più è grande quel numero, più sarà difficile accedere ai nostri dati.

OpenVPN

OpenVPN è tra i protocolli più utilizzati in ambito VPN, ed essendo molto diffuso è anche stato affinato nel tempo per quanto riguarda la sicurezza. Uno dei suoi maggiori punti di forza è la grande configurabilità, oltre all’ottimo equilibrio tra velocità e sicurezza. Il protocollo OpenVPN può essere configurato in due modi:

  • OpenVPN TCP: TCP sta per Transmission Control Protocol, questo protocollo prevede il controllo di eventuali errori, il che significa che eventuali pacchetti persi verranno trasmessi di nuovo per non avere perdite di dati, quindi offre maggior affidabilità, ma è più lento.
  • OpenVPN UDP: UDP sta per User Datagram Protocol, questa versione non controlla in nessun modo i pacchetti e quindi non riconosce perdite di dati, il che lo rende meno affidabile, ma molto più veloce. L’ideale se usate la VPN per fruire di contenuti in streaming.

PPTP

La sigla PPTP sta per Point-to-Point Tunneling Protocol, è uno dei protocolli più utilizzati nella storia della cifratura, in quanto c’è dai tempi di Windows 95. I vantaggi di questo protocollo sono che è tra i più comuni, è facile da installare e ha una computazione molto veloce, per questo è un protocollo utilizzato nelle situazioni n cui la velocità è fondamentale. Tuttavia, essendo un protocollo molto vecchio, non è molto sicuro in quanto i suoi protocolli di sicurezza sono stati ormai violati più volte già molto tempo fa. Quindi è un protocollo non sicuro e non consigliabile, a meno che il focus non sia tutto sulla velocità e non sulla sicurezza.

L2TP/IPsec

L2TP sta per Layer 2 Tunneling Protocol ed è un aggiornamento del PPTP, è un protocollo ormai datato e non troppo sicuro. Per renderlo un po’ più sicuro viene utilizzato insieme ad un altro protocollo, chiamato IPsec, Internet Protocol Security, che è molto flessibile e assicura la sicurezza end-to-end. Questo protocollo autentica e crittografa ogni pacchetto IP in tutto il percorso, dalla partenza all’arrivo. Il connubio tra questi due protocolli è molto più sicuro rispetto al PPTP, ma ha vari svantaggi: è più lento di altri standard, ed è più adatto all’anonimato che alla sicurezza.

SSTP

Il protocollo SSTP è l’erede di PPTP, il suo nome completo è Secure Socket Tunneling Protocol. Questo protocollo è stato sviluppato da Microsoft, proprio come il vecchio PPTP, e infatti è ottimizzato soprattutto per sistemi Windows. Può essere usati anche su altri sistemi operativi, ma con problematiche di configurazione più grandi e in generale non è consigliato per sistemi diversi da Windows. Il protocollo SSTP è abbastanza sicuro, anche se ormai un po’ datato. Visto che è stato progettato da Microsoft in collaborazione con la NASA in molti dicono che potrebbe essere “controllato” dalla agenzie governative. In generale è sicuro per tutte le operazioni, a meno che non vogliate accedere ai sistemi delle grandi potenze mondiali.

SoftEther

SoftEther non è un vero e proprio protocollo, è un client VPN multi-protocollo che si adatta ai protocolli già esistenti e in qualche modo li modifica. Questo software VPN è open-source e completamente gratuito, e si integra alla perfezione con OpenVPN, anzi rende questo protocollo ancora più veloce. In più si adatta anche allo standard SSTP senza bisogno di molte configurazioni che di solito sono necessarie per utilizzare il protocollo proprietario di Microsoft.

IKEv2/IPsec

IKEv2 sta per Internet Key Exchange version 2, è uno dei protocolli più sicuri e veloci presenti in circolazione, in lotta con OpenVPN, il protocollo più utilizzato. Questo standard di sicurezza, però, non funziona da solo, è sempre accompagnato da un protocollo di autenticazione chiamato IPsec, che abbiamo già visto anche nel L2TP. Grazie a questa combinazione, il protocollo IKEv2/IPsec garantisce un flusso di dati sicuro e costante verso il server. Uno dei maggiori punti di forza di questo protocollo è la riconnessione automatica quando il nostro collegamento internet viene interrotto, il che lo rende uno standard che si adatta molto bene ai dispositivi mobili. In più questo protocollo è veloce, sicuro e molto stabile, oltre a essere compatibile con molti dispositivi.

WireGuard

WireGuard è l’ultimo arrivato per quanto concerne i protocolli di sicurezza VPN, è un software open-source che si prefissa di rendere obsoleti i vecchi standard, offrendo maggiore velocità e semplicità. Uno dei punti forti di questo protocollo è la minor latenza rispetto a OpenVPN e IKEv2, considerati i migliori protocolli al momento esistenti. Attualmente utilizzare WireGuard è possibile, anche se ancora il protocollo è in fase sperimentale, è uscito solo qualche anno fa. Quindi ancore non garantisce la stabilità degli altri protocolli e potrebbe avere delle vulnerabilità, ma se sviluppato a dovere potrebbe essere il futuro per quanto riguarda i protocolli di sicurezza delle VPN.

Tipi di crittografia e di cifratura di una VPN

La cosa più importante per tenere i dati al sicuro è cifrarli in modo che nessuno possa leggerli se non ha la chiave giusta. Il ragionamento è lo stesso che sta dietro al funzionamento di un forziere o di un diario segreto chiuso con un lucchetto, non può vedere cosa c’è all’interno senza avere la chiave che apre il lucchetto. Quindi la chiave è l’elemento più importante nella crittografia, più è complicata la chiave, meglio sono protetti i nostri dati.

Advanced Encryption Standard (AES)

Lo standard di crittografia AES è in generale il più utilizzato per la codifica e decodifica dei dati, grazie ai suoi elevati standard di sicurezza. Il protocollo crittografico AES è andato a sostituire il vecchio DES, ormai vulnerabile e obsoleto, ed è attualmente in uso anche da enti pubblici di grande importanza in varie parti del mondo.

Il metodo di crittografia AES memorizza e mette al sicuro le informazioni utilizzato un algoritmo di cifratura a blocchi. I blocchi hanno dimensione prefissata di 128 bit e sono divisi tra testo in chiaro e testo cifrato. Le chiavi crittografie dell’AES sono simmetriche e possono avere diversa grandezza: 128 bit per i dati meno sensibili, 192 bit o 256 bit per dati top secret. Come abbiamo già visto, più grande è la chiave, più sicura è la cifratura.

Blowfish

Blowfish è un algoritmo di crittografia a blocchi a chiave simmetrica che si poneva come obiettivo quello di rimpiazzare il vecchio e ormai superato DES. La storia ci ha detto che non è stato questo algoritmo a rimpiazzare il DES, ma è comunque uno standard di cifratura molto valido, che funziona con lo stesso principio di AES. Blowfish ha fatto meno successo di AES poiché i suoi blocchi sono a 64 bit e non a 128, e quindi implementano meno informazioni, mentre le chiavi possono variare come grandezza dai 32 bit per dati poco importanti, fino a 448 bit per una sicurezza totale. L’algoritmo blowfish è completamente esente da brevetti e chiunque, potenzialmente, può utilizzarlo.

Camelia

Lo standard di cifratura Camelia è il più simile all’AES. Infatti utilizza sempre un algoritmo di cifratura a blocchi, ogni blocco ha una lunghezza di 128 bit. Le chiavi possono avere varie grandezze, si parte dai 128 bit di base, per salire fino a 192 bit o 256 bit per maggiori standard di sicurezza, un altro punto in comune con lo standard AES. Attualmente questo standard è poco utilizzato, in quanto si preferisce usare lo standard AES più diffuso, visto che i punti di differenza sono pochi.

Tipi di Crittografia

I tipi di crittografia non sono tutti uguali, esistono vari modi per tenere al sicuro i nostri dati e consistono più che altro nella differenza delle chiavi di codifica e decodifica. In generale esistono due maggiori tipi di cifratura, quelle che utilizzano chiavi simmetriche e quelle che utilizzano chiavi asimmetriche. Le differenze tra i due tipi, come vedremo, non sono enormi e sostanzialmente entrambi arrivano allo stesso scopo: mantenere al sicuro i nostri dati.

Crittografia simmetrica

La crittografia simmetrica, anche chiamata crittografia a chiave privata, è un metodo molto utilizzato anche da enti governativi e militari e si basa sostanzialmente su un’unica chiave. Lo schema di cifratura simmetrica si basa su una singola chiave condivisa tra due o più utenti, questa chiave è utilizzata sia per codificare, sia per decodificare il così detto testo semplice, cioè i dati o il messaggio che deve essere messo al sicuro. Il più grande punto di forza della crittografia simmetrica è la chiave segreta, i dati possono essere letti solo se si è in possesso di suddetta chiave, che è ovviamente quasi impossibile da reperire. Inoltre è praticamente impossibile decifrare la chiave e ricrearla, già per chiavi a 128 bit servirebbero decine e decine di anni, pensate quanto ci voglia per chiavi a 256 bit.

Uno dei più grandi problemi delle crittografia simmetrica è la generazione di molte chiavi segrete. Infatti fino a quando si parla di enti governativi e militari, dove i dati sono accessibili da poche persone, con poche chiavi segrete, allora la situazione è sostenibile. Quando i dati devono essere accessibili a molte persone la comodità della crittografia simmetrica viene meno, in quanto generare molte chiavi segrete e mantenerle tutte segrete comporta tempo e spese.

Crittografia asimmetrica

La crittografia asimmetrica va a mettere una pezza al problema di generazione di molte chiavi presente in quella simmetrica. In questo tipo di cifratura esistono due chiavi, una chiave di cifratura chiamata anche chiave pubblica, e una chiave di decifratura chiamata anche chiave privata. Quest’ultima è l’unica che deve essere custodita gelosamente, in quanto è quella che consente di accedere ai dati. La chiave pubblica e la chiave privata di ogni individuo sono in qualche modo legate, quindi chiunque può cifrare un messaggio utilizzando la chiave pubblica di un determinato individuo, in quel caso quel messaggio sarà decifrabile solo da quella determinata persona con la sua chiave privata.

Uno dei maggiori problemi degli algoritmi a doppia codifica è che richiedono maggior potenza di calcolo, quindi a parità di potenza di calcolo sono più lenti degli algoritmi simmetrici. Per questo, che è il principale svantaggio degli algoritmi asimmetrici, è nato un nuovo tipo di cifratura ibrido che prende il meglio da entrambi: la sicurezza del sistema asimmetrico con la velocità di quello simmetrico.

Autenticazione VPN Handshake e Hash

Nelle VPN l’autenticazione ha vari significati e varie fasi, per prima cosa si deve verificare la connessione al server VPN e che la connessione sia sicura, poi si deve verificare che i dati scambiati non siano modificati o corrotti. Per fare questo esistono fondamentalmente due metodi di autenticazione. La prima codifica è chiamata handshake, in sostanza è un controllo che la connessione del computer sia veramente con il server VPN e che non sia stata deviata da qualche individuo per vedere e manipolare i nostri dati. Di solito per la fase di handshake si utilizza il protocollo SSL (Secure Sockets Layer) che in sostanza si occupa di rendere sicura una connessione internet.

La funzione di hash nell’autenticazione riguarda i dati scambiati. In sostanza lo standard hash è un algoritmo che mappa dati di lunghezza arbitraria in stringhe binarie di dimensione fissa, chiamate valori di hash. L’algoritmo di hash è stato studiato per essere irreversibile, non si può arrivare all’input partendo dall’output. La funzione principale del protocollo hash è rendere unico e integro un messaggio, infatti è impossibile che due messaggi differenti abbiano lo stesso valore di hash, e quindi il messaggio non può essere modificato, perché in tal caso cambierebbe il suo valore di hash, rendendo palese la manomissione.

Crittografia HTTPS: SSL e TLS

In informatica la sigla HTTPS sta per Hyper Text Transfer Protocol over Secure Socket Layer ed è un protocollo per stabilire una connessione internet sicura. In sostanza il funzionamento è lo stesso del protocollo HTTP, server per mettere in connessione un client ad un server per scambiare dati e navigare in internet, ma lo fa utilizzando dei protocolli di crittografia asimmetrica: il Transport Layer Security, o TLS, e il Secure Socket Layer, o SSL.

Il protocollo HTTPS richiede tre requisiti chiave: il sito web identificato deve autenticarsi e rivelarsi sicuro, ci deve essere protezione della privacy e quindi della riservatezza e i dati scambiati devono rimanere integri senza manipolazioni. Le connessioni HTTPS forniscono ottimi livelli di sicurezza grazie alla cifratura bidirezionale tra client e server, questo grazie al protocollo TLS, o SSL, che utilizza chiavi private e pubbliche a lungo termine per generare chiavi di sessione a breve termine.

Ormai in quasi tutte le connessioni internet si utilizza il protocollo HTTPS, poiché il solo HTTP non ha cifratura ed è quindi esposto a tutte le vulnerabilità del caso, e non può rendere sicuri i nostri dati. Ecco perché a volte, quanto navighiamo nel web, ci appare un avviso di connessione non sicura, perché quel sito non rispetta lo standard HTTPS.

Qual è il miglior protocollo VPN?

Ogni protocollo VPN ha le sue particolarità e i suoi utilizzi, ovviamente quelli più usati sono anche i migliori. Visto che WireGuard è ancora in fase sperimentale, il protocollo più utilizzato e più ottimizzato è sicuramente OpenVPN, molto sicuro e nel contempo anche veloce nello scambio dati. In seconda posizione c’è IKEv2/IPsec, un protocollo molto utilizzato soprattutto su dispositivi mobili grazie alla sua proprietà di ristabilire la connessione dopo essersi disconnessi, in più è anche molto sicuro e veloce.

Per i dispositivi Windows è anche molto utilizzato il protocollo SSTP, essendo già integrato nel sistema visto che è sviluppato da Microsoft, è disponibile anche per altre piattaforme, ma con configurazioni più complicate. Sotto l’aspetto della sicurezza e della velocità è ottimo, ma non è a livello dei due citati sopra.

Quanto è sicura la crittografia VPN

Alla luce di quanto abbiamo detto, la crittografia delle VPN è sicura, molto sicura. Ovviamente sulla rete non si può essere mai sicuri del tutto, visto che ogni giorno vengono individuate e risolte nuove vulnerabilità, anche degli stessi protocolli di sicurezza. In generale si può dire che con con un servizio VPN a pagamento ed affidabile si può stare tranquilli quando si naviga online, anche perché i nostri dati, di solito, non sono molto appetibili per i grandi gruppi hacker.

Oltretutto molte agenzie governative e militari, anche se con livelli diversi, utilizzano gli stessi protocolli dei servizi VPN più utilizzati, quindi tecnicamente gli standard di sicurezza sono molto alti.

Link copiato negli appunti

Ti potrebbe interessare

04 08 2020
Link copiato negli appunti