Sicurezza e dei calcolatori Introduzione a IPSec Lezione 11 1
Obiettivi Aggiungere funzionalità di sicurezza al protocollo IPv4 e IPv6 Riservatezza e integrità del traffico Autenticità del mittente La versione attuale opera solo su traffico unicast 2
Obiettivi 3
Riferimenti www.ietf.org RFC 2401 RFC 2402 RFC 2406 RFC 2409 4
Le componenti Due servizi crittografici: Authentication header (AH) Encapsulating Security Payload (ESP) Security Association Security policy Key management 5
Definizioni Preliminari Host: un computer collegato ad una rete Router/gateway: un calcolatore collegato ad almeno due reti che è in grado di instradare pacchetti da una rete all altra Security gateway: un gateway che parla IPSEC System: host o router 6
Definizioni Preliminari 7
Transport mode La modalità transport viene utilizzata quando si vuole fare una comunicazione end-to-end sicura. Un tipico esempio può essere una comunicazione tra due host. 8
Tunnel mode La modalità tunnel viene invece utilizzata quando almeno una delle due estremità non è in grado di processare i pacchetti IPsec. In tal caso si fa svolgere questo lavoro ad un'altra entità (normalmente chiamata Security Gateway) il cui compito è quello di processare il pacchetto 9
Transport vs Tunnel 10
Transport Vs Tunnel Transport Mode Tunnel Mode SA SA AH Authenticates IP payload and selected portions of IP header and IPv6 extension headers Authenticates entire inner IP packet plus selected portions of outer IP header ESP Encrypts IP payload and any IPv6 extension header Encrypts inner IP packet ESP with authentication Encrypts IP payload and any IPv6 extesion header. Authenticates IP payload but no IP header Encrypts inner IP packet. Authenticates inner IP packet. 11
AH (Integrità) Il servizio AH fornisce: Connectionless integrity: individua le modifiche dei singoli datagram (payload, i campi non modificabili dell header) Data origin authentication: verifica l identità del mittente Anty replay: individua nell ambito di una finestra di dimensione finita, pacchetti duplicati 12
AH: i protocolli Lo standard prevede l adozione di una delle seguenti keyed hash function: HMAC-MD5-96 HMAC-SHA-1-96 KEYED- MD5 KEYED SHA - 1 13
AH: i pacchetti 14
AH- Transport: i pacchetti 15
AH-Tunnel: i pacchetti 16
AH Header 17
HMAC 18
ESP Il servizio ESP fornisce: Opzionalmente tutti i servizi di AH (però su una porzione di dati più ristretta) Confidentiality (cifra il payload IP e qualsiasi ext. Header IPV6 seguente ESP header) Limited traffic flow confidentiality: esistono opzioni per mascherare source e dest. address 19
ESP: i protocolli DES CBC 3 Key Triple DES RC5 IDEA 3 key triple IDEA Blowfish 20
ESP+AUTH: i pacchetti 21
ESP + AUTH: i pacchetti 22
ESP + Auth: Header 23
IPsec: l idea Per il traffico outbound: In base alle caratteristiche del pacchetto decidi di: Eliminare il pacchetto Applicare AH/ESP Aggirare IPsec 24
IPsec: l idea Per il traffico inbound Se il pacchetto contiene un header IPsec Applica la politica appropriata per il suo trattamento Se il pacchetto NON contiene un header IPsec decidi di eliminarlo o by passare IPsec 25
IPsec: l idea Gli strumenti usati da IPsec per raggiungere tali obiettivi sono rispettivamente: 1. Le Security Association e le Security Policy 2. I protocolli di key exchange 26
Security Association Una security association è un insieme di parametri che definiscono le trasformazioni da effettuare su un certo tipo di traffico IP in una connessione Simplex Ogni SA è univocamente identificata da una tripla: <SPI, DST_IP, Security protocol> 27
Security Association Le SA sono memorizzate nel SAD Esistono su ogni sistema IPSec due SAD uno per il traffico Inbound e l altro per il traffico Outbound Per ogni canale di comunicazione duplex devono esistere due SA e devono essere entrambe memorizzate nei rispettivi SAD 28
Security Association I parametri caratterizzanti sono: spi src_ip Src_port Dst_ip Dst_port Proto Algo Key lifetime 29
Security Policy Una security policy è un insieme di parametri che consentono ad IPsec di mappare un certo tipo di traffico IPsec in una SA Ogni SP contiene dunque i selettori che individuano il traffico e la descrizione della SA da usare 30
Security Policy Tutte le SP di un sistema risiedono nel SPD (Security policies database) Esistono due versioni di SPD in ogni sistema Una SP è caratterizzata da una tripla: <Sel, Security Prot., Level> 31
Security Policy Sel è l insieme di parametri che caratterizzano il tipo di traffico a cui la policy fa riferimento Security Prot. Il tipo di trasformazione da operare sul traffico Level la politica da adottare 32
Security Policy Sono Selettori i parametri: DST_IP ADDR SRC_IP_ADDR USER NAME TRANS_PROTO SRC_PORT DST_PORT 33
Security Policy I Security Prot. Sono AH ESP Level Es. : NONE (nessun controllo richiesto sia outbound che inbound) REQUIRE (sia outbound che inbound devono avere una SA di riferimento) 34
Security Policy Esempio: Sel = [DST_IP_ADDR = 10.0.0.1 SRC_IP_ADDR TRANS_PROTO SRC_PORT DST_PORT = = = = 10.0.0.2 TCP * 23 ] SP = < SEL, ESP, NONE > 35
Key Management L insieme dei meccanismi che consentono: La distribuzione L uso L update del materiale crittografico 36
Key Management Manuale La configurazione del sistema, caricamento delle SA, è effettuato manualmente dal sysadmin Automatica un applicazione si occupa della negoziazione/generazione delle SA (ISAKMP/IKE) 37
ISAKMP Internet Security Association and Key Management Protocol ISAKMP è un protocollo che definisce le procedure ed il formato dei pacchetti necessari per negoziare, modificare e cancellare le SA Nell ambito del compito sopra definito, prevede anche i meccanismi da adottare per lo scambio e la gestione delle chiavi 38
ISAKMP Per prima cosa sono definiti tra le due parti un insieme di attributi che serviranno a proteggere tutte le comunicazioni future. Se questi parametri fossero stati recentemente negoziati questa fase viene saltata 39
ISAKMP Successivamente usando i parametri precedentemente definiti, si passa alla negoziazione delle SA che saranno effettivamente utilizzate per lo scambio del traffico tra le due entità ISAKMP non entra nel merito dei protocolli di key exchange da adottare ma si limita a definire le proprietà che gli stessi devono possedere e il formato dei messaggi da utilizzare 40
IKE IKE è un protocollo ibrido che implementa i protocolli di key exchange Oakley e Skeme con il framework ISAKMP ISAKMP richiede che tutti gli scambi di informazioni siano sia cifrati che autenticati; nessuno deve essere in grado di vedere le chiavi, e queste ultime possono essere scambiate solamente tra parti autenticate 41
IKE Auth. IKE è molto flessibile nel supportare diversi metodi di autenticazione: Pre-shared Key La stessa chiave è pre-installata su ogni coppia di nodi che vogliono comunicare in modo sicuro tramite IPsec. Crittografia a chiave pubblica Ogni parte genera un numero pseudo-casuale detto nonce, e lo cifra con la chiave pubblica dell altra parte. Firma digitale Ogni dispositivo firma una serie di dati e li spedisce all altra parte 42
IKE: key Exchange Entrambe le parti devono avere una chiave di sessione condivisa per cifrare il tunnel IKE. Il protocollo utilizzato per accordarsi su tale chiave di sessione è il protocollo di Diffie-Hellman. Lo scambio è autenticato come descritto sopra 43
Riassumendo 44
Riassumendo 45