VPN
Una VPN (Virtual Private Network) si definisce come una rete privata virtuale, ovvero una rete che permette di avere i vantaggi di una rete privata pur veicolando il traffico attraverso Internet. In termini pratici questo significa che un client collegato attraverso VPN avrà un indirizzo privato appartenente alla rete a cui si collega, come se fosse effettivamente collegato fisicamente a quella rete, anche se in realtà è connesso alla rete Internet.
Reti private
Una organizzazione dislocata su una vasta area geografica che voglia comunicare in assoluta sicurezza può pensare di utilizzare una rete privata, ovvero una rete dedicata in cui le informazioni sono accessibili solo a chi è collegato a quella rete. Tuttavia, le reti private su vasta scala sono costosissime, poiché si devono comprare, mantenere ed installare tutti i collegamenti e gli apparati necessari al funzionamento della rete. Per poter utilizzare una rete privata senza doverla effettivamente possedere si può ricorrere alle VPN, ovvero reti private virtuali che permetteno di avere gli stessi vantaggi di una rete privata anche se il traffico di rete viaggia attraverso Internet.
Sicurezza delle reti private
Affinché la VPN possa garantire la stessa sicurezza della rete privata in tutte le sue declinazioni (in primis riguardo alla segretezza) è necessario che il traffico che viaggia attraverso Internet sia criptato.
La maniera più efficace per criptare il traffico è quella di implementare la crittografia nel Network Layer della pila ISO/OSI, attraverso il protocollo IPSec. Tramite IPSec, tutto il pacchetto IP destinato alla VPN viene cifrato ed incapsulato all’interno del pacchetto IP destinato ad Internet. In tal modo un attaccante non ha modo di avere nessuna informazione dal pacchetto, se non quella degli indirizzi pubblici di invio e destinazione. Attacchi di tipo spoofing o man-in-the-middle risulterebbero inefficaci contro questo tipo di protocollo.
Naturalmente implementare IPSec richiede tutta una serie di configurazioni aggiuntive sugli apparati di rete coinvolti. In particolare, risulta
essenziale che:
- ci siano dei router abilitati all’utilizzo di IPSec;
- ci sia un server VPN nella LAN che gestisce ad esempio l’autenticazione e il DHCP per gli indirizzi da assegnare;
- ci sia un client VPN negli host remoti che vogliono accedere alla LAN.
Gli algoritmi crittografici coinvolti per la VPN riguardano tipicamente la crittografia asimmetrica per gestire l’autenticazione e la crittografia simmetrica o ibrida per gestire la segretezza.
Tunnel VPN
Uno dei software più utilizzati per implementare una VPN è OpenVPN. OpenVPN, tuttavia, non utilizza IPSec bensì SSL, dunque implementa la sicurezza solo a livello Transport Layer. In questo caso solitamente si parla di “tunnel VPN”. Questo tipo di connessione è particolarmente utilizzato anche per scopo personale, ad esempio per evitare che altri possano intercettare tutti i dati che
un utente invia mentre utilizza una rete wireless pubblica.