VPN è un servizio che permette l'accesso ad una rete privata da remoto e in
maniera controllata.
Una rete locale le cui risorse sono utilizzabili da gruppi
di utenti autenticati che vi possono accedere da distanze geografiche è
chiamata Intranet.
Una connessione VPN è una connessione punto-punto "logica" nel senso che benchè passi attraverso Internet funziona come come una linea dedicata protetta. La protezione dei pacchetti che viaggiano attraverso Internet è garantita dal meccanismo del tunnelling.
La tecnologia VPN può essere utilizzata per connettere singoli client
ad una LAN (client-to-LAN) o due o più LAN fra loro
(LAN-to-LAN).
Il dispositivo che implementa una VPN è il router VPN, un router che supporta i
protocolli per incapsulare i pacchetti in uscita, criptare i dati
contenuti e inoltrarli sul tunnel Internet. Arrivati a destinazione i pacchetti
vengono decapsulati, decriptati, filtrati e inviati ad un server che effettua
l'autenticazione e risponde alla richiesta del client. Le funzioni del router
VPN possono essere nei casi più semplici svolte da un server VPN con una
connessione diretta a Internet e con il routing abilitato.
La crittografia dei dati può essere simmetrica o asimmetrica. La prima utilizza una chiave unica per tutti la seconda utilizza due chiavi diverse, una per criptare l'altra per decriptare. Una variante è la crittografia con chiave pubblica: il mittente in questo caso manda una chiave "pubblica" a quelli a cui vuole inviare un messaggio. Quando invia il messaggio crittografa i dati con una propria chiave privata diversa da quella pubblica. I destinatari descriptano il messaggio utilizzando sia la loro chiave privata sia quella pubblica.
Le VPN utilizzano anche meccanismi per garantire l'integrità e l'autenticità dei dati, cioè assicurare che il messaggio inviato non possa essere stato alterato in qualche sua parte e che il messaggio sia effettivamente quello inviato dal mittente. Il meccanismo utilizzato è il Message Digest o hash. Hash è un codice numerico estratto dal testo del messaggio mediante una chiave e inviato al destinatario insieme al messaggio. Quest'ultimo effettua l'hash sul messaggio ricevuto, utilizzando la stessa chiave, e lo confronta con l'hash ricevuto. Se sono uguali il messaggio è autentico.
I più noti algoritmi di crittografia sono
I più noti algoritmi di hash sono Message Digest 5 (MD5), Secure Hash ASlgorithm 1 (SHA-1)
Una connessione VPN può essere realizzata nella maniera più semplice
installando su un PC un server VPN. Il PC dovrà essere collegato con una scheda
ethernet alla LAN e con un modem ADSL al Provider Internet. La porta ADSL dovrà
avere in questo caso un indirizzo pubblico.
Il Server VPN oltre alle funzione di incapsulamento, crittografia e
identificazione dovrà fare anche da router. Un firewall interposto fra server VPN e rete locale filtra le richieste
in ingresso da parte dei client in modo che soltanto filtrare le richieste dei
client che chiedono l'utilizzo della rete interna. Un elemento importante della
configurazione del server è il pool d'indirizzi IP. Si deve impostare sul
server un blocco d'indirizzi IP che questo assegnerà dinamicamente al client
che chiede la connessione. Alternativamente si può configurare il server in
modo da utilizzare, se esiste, un server DHCP
In ambiente Windows, il server VPN va installato su una
macchina Windows 2003 Server attivando il servizio Routing ed Accesso Remoto.
Sulle
macchine client si deve installare il client VPN configurando una connessione
remota VPN.
In una seconda configurazione il Server VPN sta dietro il router-firewall. Le due porte in questo caso hanno entrambe indirizzi privati e sul router/firewall si deve configurare il NAT
I pacchetti vengono incapsulati secondo due diversi protocolli