Introduzione
IPsec è un insieme di protocolli che hanno lo scopo di proteggere i dati direttamente dal livello di rete offrendo sicurezza sia ai protocolli IPv4 e IPv6, sia ai protocolli di livello superiore.
L'IPSec prevede due modalità di trasporto :
- Transport mode : è una cifratura end-to-end permette di cifrare i dati provenienti da un SOLO computer verso un SOLO computer. Questa modalità di trasporto applica una header IPSec posto tra l'IP header e l'header TCP o UDP. Garantisce la sicurezza dei protocolli da livello Transport in su.
- Tunnel mode : crea un tunnel cifrato tra i due router, tutte la comunicazioni che passano al loro interno sono cifrate e quindi nascoste a terzi. Il nome tunnel mode deriva dal concetto di base per cui ogni pacchetto viene prima incapsulato in un altro pacchetto cifrato creando per l'appunto una specie di tunnel che cifra ogni cosa al suo interno. Questa modalità è spesso usata per la creazione di VPN poiché permette di cifrare i contenuti di più macchine diverse, non solo tra un host e l'altro.
La famiglia di protocolli IPSec per funzionare ha bisogno di due tipologie di protocolli :
- Protocollo IKE usato per lo scambio delle chiavi tra mittente e destinatario
- Protocolli di cifratura AH (Authentication Header) e ESP (Encapsulating Security Payload) che vedremo tra un attimo.
Prima di cifrare i messaggi è necessario mettersi d'accordo sulle chiavi da utilizzare, è così che entra in gioco il protocollo IKE.
Il protocollo IKE ha lo scopo di negoziare e gestire una Security Association (per gli amici AS). In questa fase il mittente e il destinatario si mettono d'accordo su quali meccanismi di sicurezza usare e con quali chiavi, questa fase si chiama "contratto".
Ogni Security Association deve avere un SPI (Security Parameter Index) che identifica :
- Gli indirizzi IP
- Protocollo di sicurezza utilizzato che può essere AH o ESP
- Algoritmi di cifratura come SHA, MD5 DES ecc
- Le relative chiavi utilizzate dagli algoritmi
L'IPSec per cifrare utilizza due protocolli :
- Protocollo AH (Authentication Header) : lo scopo di questo protocollo è fornire l'autenticazione dell'indirizzo IP sorgente e l'integrità del messaggio, utilizzando la firma digitale in modo da essere certo dell'identità del mittente e che il messaggio non sia stato cambiato durante il percorso. NON offre la confidenzialità.
- Protocollo ESP (Encapsulating Security Payload) : fornisce l'autenticazione, l'integrità del messaggio e la confidenzialità. A differenza del protocollo AH che non fornisce la confidenzialità, il protocollo ESP risulta molto più sicuro tanto da essere attualmente il più utilizzato tra i due.
I protocolli TCP/IP sono per loro natura insicuri, per renderli sicuri abbiamo bisogno di meccanismi di sicurezza .
A livello di rete abbiamo protocolli sicuri come l'IPSec
A livello Session abbiamo protocolli sicuri come l'SSL/TLS
A livello Application abbiamo protocolli sicuri come PGP,S/MIME
Esistono varie versioni del protocollo SSL, molte della quali sono state ampiamente accorpate ad altri protocolli per renderli sicuri, un esempio di applicazione SSL/TLS è appunto l'HTTPS.
Questi protocolli hanno lo scopo di prevenire manomissioni (tampering) o la falsificazione e intercettazione dei dati.
Cos'è e come funziona l'SSL ?
SSL è lo standard più diffuso per la protezione dei servizi internet , oggi il suo successore è il TLS.
L'SSL utilizza algoritmi a chiave asimmetrica per risolvere l'autenticazione client-server.
Garantisce la riservatezza dei dati.
Per velocizzare la comunicazione utilizza una chiave simmetrica, ad ogni sessione viene rigenerata una nuova chiave simmetrica.
l'SSL è sicuramente un'ottima alternativa al protocollo sicuro IPSec.
L'SSL garantisce la riservatezza della comunicazione , autentica sia il mittente che il destinatario per maggior sicurezza e effettua un controllo di integrità del messaggio tramite funzioni hash sicure come appunto le funzioni SHA o MD5.
L'SSL è diviso in due sottolivelli, il livello superiore del SSL/TLS si occupa della fase dell'handshake, in questa fase che è appunto la fase di negoziazione sia il clien sia il server si autenticano a vicenda. Entrambi gli interlocutori si mettono d'accordo sull'algoritmo da utilizzare e sulle relative chiavi.
La fase di Handshake nell'SSL comprende 4 fasi :
- Avvio di una nuova connessione : il client fa una richiesta di comunicazione , il server risponde inviando al client tutti i parametri della comunicazione come appunto la versione SSl l'algoritmo di cifratura usato. Dopo questa primissima fase viene aperta la connessione
- Autenticazione del Server : in questa fase viene autenticato il serve ed eventualmente anche il client. Il server invia al client un certificato firmato da un CA (Certification Authority) che contiene la sua chiave pubblica.
- Scambio chiave di Sessione : il client genera una chiave di sessione e la cifra con la chiave pubblica del server per garantire la confidenzialità della comunicazione. Tutti i messaggi successivi a questo scambio saranno cifrati con la chiave si sessione. Messaggio «Client Key Exchange»
- Chiusura Handshake : Il server riceve la chiave di sessione cifrata, la decifra con la propria chiave privata, invia la conferma al client con il messaggio «Change Cipher Spec». E infine il server chiude l'Hanshake tramite il messaggio «Server Finished Message». Da qui in poi avverrà lo scambio dei dati cifrati con il protocollo SSL Record Protocol
Il livello inferiore SSL/TLS opera sopra il livello Transport affidabile, il suo scopo è incapsulare le informazioni provenienti dal livello superiore.
Commenti
Posta un commento