IPsec1 IPsec Seminario di Sicurezza a.a 2003/2004 Pastorino Luca.

Post on 02-May-2015

220 views 0 download

Transcript of IPsec1 IPsec Seminario di Sicurezza a.a 2003/2004 Pastorino Luca.

IPsec 1

IPsec

Seminario di Sicurezza a.a 2003/2004

Pastorino Luca

IPsec 2

Argomenti del seminario

Perché è nato IPsecCos’è una VPNChe cos’è IPsecConcetti base di IPsec

IPsec 3

Perché è nato IPsec?

Esigenze di sicurezza su reteFondamentale insicurezza dei protocolli di reteVoler utilizzare Internet come “propria infrastruttura” per connettere le proprie reti locali in maniera sicura: VPN

IPsec 4

Cos’è una VPN?Virtual Private Network: è un concetto che può essere implementato nella pratica con l’utilizzo di tecnologie diverse fra loro. Alla base vi è la necessità di avere una insieme di calcolatori che possono fare parte fisicamente di reti diverse (distanti fra loro e topologicamente eterogenee) ma appartenere alla stessa rete logica (VPN). L’utilizzo di meccanismi di autenticazione e crittografia rende questa rete privata.

IPsec 5

VPN e IPsec

Significherebbe dunque utilizzare Internet come una Virtual Private Network (VPN), risparmiando così in termini di costi e risorse da investire.

IPsec permette tutto questo: connettere uffici e utenti privati, usando una qualsiasi IP network insicura, per una interconnessione sicura.

IPsec 6

Che cos’è IPsec?

Lo standard IPsec è un’architettura per il trasporto sicuro di dati su una rete insicura, usando criptaggio e altri servizi.Può essere impiegato su ogni rete IP anche se è usato principalmente per la costruzione di VPN su Internet.

IPsec 7

Che cos’è IPsec

Lavora a livello Network Layer (Layer 3) e si integra con la rete IP esistente.Questo approccio a livello IP porta diversi vantaggi rispetto all’uso di molte tradizionali strategie di sicurezza come link-layer e application-layer encryption.

IPsec 8

Vantaggi di IPSec

1. Per trasferire in maniera sicura dati tra due siti, c’è bisogno di IPsec solo agli endpoints: la rete “in mezzo” (Internet ad esempio) non necessita di essere abilitata a IPsec ma basta solo supporti IP (deve solo inoltrare pacchetti IP) [l’approccio link-layer (layer 2) richiede dispositivi di encryption su ogni network link tra i due siti].

2. Può essere adoperato in maniera trasparente ai client e ai server: non c’è bisogno di riconfigurare le applicazioni per lavorare con IPsec [con l’application-layer encryption ogni programma client deve avere la propria implementazione per la sicurezza e poco si può fare per rendere sicuro un programma che non ha già disponibili servizi quali il criptaggio dei dati].

IPsec 9

Vantaggi di IPSec

3. Caricando IPsec sui router o altri dispositivi di rete si semplifica il deployment: i router si occupano di applicare alcuni servizi come l’encryption e i client e i server rimangono come sono per un più facile mantenimento.

4. Applicare i servizi IPsec in punti chiave della rete permette di forzare e mantenere una politica di sicurezza consistente in tutta l’organizzazione.

5. IPsec è flessibile: si possono proteggere solo alcuni tipi di traffico lasciando al resto del traffico non segreto di circolare in chiaro per salvare risorse di sistema.

IPsec 10

Servizi forniti

IPsec non è dunque un protocollo di sicurezza, ma una architettura per la costruzione di comunicazioni sicure su una rete untrusted e fornisce diversi servizi di sicurezza:

ConfidentialityIntegrityOrigin authenticationAnti-replay

IPsec 11

Confidentiality

Garantisce la privacy per i dati che devono essere scambiati (solo il destinatario può facilmente leggere i dati).

Questa è ottenuta attraverso algoritmi crittografici.

IPsec 12

Integrity

Integrity (o data integrity) significa garantire che i dati non siano stati alterati durante il trasporto – due parti che stanno comunicando su una rete untrusted devono essere capaci di verificare che i dati ricevuti siano esattamente quelli speditiE’ ottenuta mediante algoritmi di hash crittografici

IPsec 13

Origin authentication

Origin Authentication fornisce l’assicurazione che la persona con cui si sta comunicando sia veramente chi dice di essere.Si ottiene con firme e certificati digitali.

IPsec 14

Anti-replay

Anti-Replay assicura che una transazione effettuata non possa essere ripetuta da un attaccante

Per IPsec c’è IKE (Internet Key Exchange) che fornisce l’anti-replay mediante l’uso di sequence numbers combinati con l’autenticazione.

IPsec 15

Elementi fondamentali di IPsec

Peers Transform Sets Security Associations Transport e Tunnel Modes AH e ESP IKE

IPsec 16

Peers

Un peer di un device IPsec è un altro device che partecipa ad IPsec.Può essere un router, un firewall, un server o un dispositivo di accesso remoto come un PC con supporto ad IPsec

IPsec 17

Transform SetUn Transform Set è una lista di protocolli IPsec e algoritmi crittografici che un peer può accettare.Poiché IPsec permette l’utilizzo di diversi protocolli e algoritmi, un peer deve dichiarare e negoziare con gli altri peer quali può supportare.Per poter comunicare quindi due peer devono condividere un comune Transform Set, altrimenti il loro tentativo di comunicazione fallirà.

IPsec 18

Transform Set

Un transform set generalmente contiene:1. Un IPsec security protocol (AH o ESP) che è

supportato dal peer [è anche possibile usare AH e ESP insieme]

2. Un integrity/authentication algorithm supportato dal peer (ad esempio MD5 HMAC o SHA-1 HMAC)

3. Un algortimo crittografico supportato dal peer (DES o Triple-DES ad esempio) [è anche supportato un null encryption algorithm - cioè si può anche non criptare i dati]

IPsec 19

Security AssociationUna security association (SA) è una connessione logica che protegge il flusso di dati da un peer ad un altro utilizzando un transform set.Le security associations sono come tunnel virtuali tra due peer: il traffico che entra in una SA è protetto e trasportato dall’altra parte (l’altro peer).Le SA sono unidirezionali, quindi per una comunicazione bidirezionale sicura tra due peer c’è bisogno di due Security Associations

IPsec 20

Security Association

IPsec mantiene i dati necessari per supportare una SA tra due peer; questi parametri includono:

1. L’indentità del peer remoto che partecipa alla comunicazione con IPsec (indirizzo IP od hostname)

2. Il security protocol (AH o ESP), algoritmo di hashing (se è usato), e l’algoritmo crittografico (se è usato ESP). Queste informazioni sono negoziate quando i peer si scambiano i transform sets

3. La chiave condivisa usata dagli algoritmi di hash e criptaggio per la durata della SA (chiamata lifetime della SA)

IPsec 21

Security Association4. Una descrizione del flusso di traffico protetto dalla

SA. Solitamente questo specifica l’indirizzo IP e il numero della porta protetta dalla SA. La descrizione può essere più o meno granulare (una singola sessione TCP tra due host o tutto il traffico dalla sottorete X alla sottorete Y, ad esempio)

5. Un numero unico che identifica la SA, chiamato Security Parameter Index (SPI)

6. Timer e contatori che registrano il lifetime di una SA. E’ usato per determinare quando una SA e le sue chiavi associate diventano vecchie e devono essere aggiornate.

7. I sequence numbers per l’individuazione di attacchi di tipo replay (solo quando IKE viene usato)

IPsec 22

IPsec Transport ModeIP header Payload

IPsec header PayloadIP header

Original Packet

Protected Packet

IPsec rimuove l’header IP originale, cripta i dati realtivi ai layer OSI più alti, aggiunge in testa il security header appropriato (ESP/AH) e riapplica l’header IP originale.

Questa è la tipica soluzione host-to-host VPN

IPsec 23

IPsec Transport Mode

Il transport mode protegge il traffico tra due IPsec host e non fornisce confidentiality al flusso di traffico.Il volume di traffico trasmesso da un host ad un altro può quindi facilmente essere osservato, anche se viene usato il criptaggio, poiché gli indirizzi sorgente e destinazione originali rimangono intatti.Un attaccante potrebbe quindi usare questa informazione per determinare la locazione dei server, assumendo che i server trasmettano e ricevano molti più dati dei client.

IPsec 24

IPsec Tunnel Mode

IP header Payload

PayloadIP headerIPsec headerNew IP header

Original Packet

ProtectedPacket

A livello di network layer IPsec cripta l’intero pacchetto IP originario comprendente l’header IP e il relativo payload, viene creato l’header ESP/AH aggiunto in testa al pacchetto criptato, inoltre viene crato un nuovo Header IP che consente al client di inviare il pacchetto originario al gateway VPN appropriato.

Soluzione network-to-network VPN

IPsec 25

IPsec Tunnel Mode

Con il tunnel mode non è necessario equipaggiare ogni PC e server con IPsec; basta attivare IPsec sui routers e usare tali routers per fornire i servizi IPsec per conto dei vari computersLa tunnel mode fornisce la confidentiality del flusso di traffico poiché gli indirizzi IP del pacchetto originale sono trasportati nel payload sicuro di un pacchetto IPsec (supponendo l’encryption sia usata).

IPsec 26

Authentication Header e Encapsulating Security Payload

IPsec definisce due protocolli di sicurezza chiamati Authentication Header (AH – RFC 2402) e Encapsulating Security Payload (ESP – RFC 2406).Ciascun protocollo definisce il proprio formato per l’IPsec header che segue l’IP header di un pacchetto IPsec.Entrambi usano il concetto di Security Association.

IPsec 27

Authentication Header e Encapsulating Security Payload

AH fornisce solamente i servizi di autenticazione e integritàESP fornisce in più la riservatezzaIl fatto che esistano due protocolli con funzionalità sovrapposte è dovuto a ragioni “storiche” connesse all’opportunità di avere un protocollo “esportabile” (restrizioni all’esportazione che riguardano il software crittografico)

IPsec 28

Internet Key Exchange

Il protocollo Internet Key Exchange (IKE – RFC 2409) è un management protocol usato insieme ad Ipsec.IKE agisce nella fase di instaurazione della comunicazione IPsec, e permette di negoziare, creare, distruggere e in generale gestire le SA.

IPsec 29

Internet Key Exchange

IKE è un importante protocollo che fornisce ad IPsec i seguenti servizi:

1. Stabilisce le IPsec SA dinamicamente quando sono necessarie

2. Abilita il rekeying dinamico3. Abilita la protezione anti-replay4. Abilita la origin authentication

IPsec 30

IPsec: implementazioni freeware

FreeS/WAN (Linux) http://www.freeswan.org

KAME (FreeBSD, NetBSD) http://www.kame.org

ISAKMPD (OpenBSD) http://www.openbsd.org/faq/

faq13.html

IPsec 31

Bibliografia

RFC 2401, 2402, 2406, 2409 (http://www.rfc-editor.org/)