Identificazione e realizzazione di un modello di rappresentazione delle configurazioni di tunneling in IPv6



Documenti analoghi
Sicurezza nelle reti IP. L architettura IPsec

IPsec. Scienze dell Informazione - Cesena Corso di Sicurezza A.A. 2006/2007 Antonio Nardelli

Sicurezza nelle reti IP

UNIVERSITA` DI FACOLTA` DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA DELLE TELECOMUNICAZIONI

Reti a commutazione di pacchetti I dati vengono divisi in pacchetti I pacchetti vengono spediti singolarmente sulla rete

IPv6: aspetti generali

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

Reti di Calcolatori I

Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link. Sicurezza ai livelli di rete e data link

Lo strato di Trasporto

Corso di. Reti di Telecomunicazioni a.a

StarShell. IPSec. StarShell

Internet Protocol Cenni introduttivi

La sicurezza nelle reti di calcolatori

Laboratorio di sicurezza dei protocolli di rete - lab_100

Elementi di Sicurezza e Privatezza Lezione 14 Web Security - IPSec

RETI DI CALCOLATORI II

I protocolli di sicurezza usati nelle VPN

ISO- OSI e architetture Client-Server

Problemi legati alla sicurezza e soluzioni

Qualità del Servizio e Sicurezza Lezione del 05/06/2014

I.I.S. G.B. PENTASUGLIA MATERA ISTITUTO TECNICO SETTORE TECNOLOGICO LICEO SCIENTIFICO SCIENZE APPLICATE. Classe: 5Ci

Sicurezza. Usare un sistema di cifratura wireless per codificare le informazioni inviate per impedire la cattura e l'uso indesiderato dei dati.

IPV6. Massimiliano Sbaraglia

1) (commutazione pacchetto, prodotto banda-ritardo) 2) (frammentazione, commutazione di pacchetto) 3) (Selective Repeat)

TCP/IP: summary. Lorenzo Cavallaro, Andrea Lanzi

UDP. User Datagram Protocol. UDP Connectionless

IPSEC. le applicazioni che utilizzano IP.

La crittografia nell infrastruttura di rete

Internet (- working). Le basi.

Reti di Calcolatori I. Prof. Roberto Canonico Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I

Sicurezza a livello IP: IPsec e le reti private virtuali

MODELLI ISO/OSI e TCP/IP

Livello di Rete: Routing multicast IPv6

TECN.PROG.SIST.INF. I Socket Roberta Gerboni

INTERNET PROTOCOL RFC 791

Mariarosaria Napolitano. Architettura TCP/IP. Corso di: Laboratorio di tecnologie informatiche e telematiche

Sicurezza delle reti e dei calcolatori

Sicurezza nelle reti IP

Le Reti Informatiche

Corso di Sicurezza nelle reti a.a. 2009/2010. Raccolta di alcuni quesiti del corso da 5CFU e prima parte del corso da 9CFU

Livello rete. Piano di controllo. Introduzione: Piano dei dati e piano di controllo Architettura di un router IP: Internet Protocol

Sicurezza della comunicazione tra due entità. Prof.ssa Gaia Maselli

ITIS Fauser Novara Sistemi e reti prof. R. Fuligni

MODELLI ISO/OSI e TCP/IP

Instradamento. Fondamenti di Informatica

Implementazione di una LAN

Reti di Calcolatori I. Prof. Roberto Canonico Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione

OpenVPN: un po di teoria e di configurazione

Introduzione alle reti ed al TCP/IP

Corso di Applicazioni Telematiche

Università di Pisa Facoltà di Informatica Corso di Tecnologie di convergenza su IP a.a. 2005/2006. Gaspare Sala

III - 2. Il Livello Rete. Corso di RETI DI CALCOLATORI (9 CFU) a.a II anno / II semestre. Il Livello Rete.

UNIVERSITA DEGLI STUDI DI BERGAMO

Confidenzialità e crittografia simmetrica. Contenuto. Scenario tipico. Corso di Sicurezza su Reti Uso della crittografia simmetrica

Confidenzialità e crittografia simmetrica. Contenuto. Scenario tipico. Sicurezza su reti Uso della crittografia simmetrica

Architettura di rete. Modelli di Riferimento: TCP/IP e OSI. Modello di riferimento OSI. Modelli di riferimento. architettura di rete

Confidenzialità e crittografia simmetrica. Contenuto. Scenario tipico. Intercettazione dei dati. Uso della crittografia simmetrica

Point-to-Point Protocol (PPP)

Il livello trasporto: Introduzione e protocollo UDP

Reti di Calcolatori I. Prof. Roberto Canonico Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione

Simulazioni di protocolli di compressione dell header per sistemi wireless basati su piattaforma TCP/IP

UD 3 PROTOCOLLO ISO-OSI

Reti di calcolatori TCP/IP. Slide a cura di Simon Pietro Romano

IpSec è una proposta IETF per fare sicurezza al livello IP RFC 2041, 2042, 2046, 2048

Le Reti LAN: componenti attivi. Descrizione dei principali componenti attivi di rete: Livello 3: Router

Terminologia e concetti fondamentali La struttura di Internet (hardware e software):

SICUREZZA RIELLO CONNECT. Tecnologie utilizzate dalla soluzione Riello Connect per mantenere al sicuro i vostri dati

Le Reti Informatiche

Gennaio Gli Header di IPv6. Silvano GAI. IPV6-HEA - 1 Copyright: si veda nota a pag.

Corso di Informatica

molteplici problemi e la realizzazione di una gran quantità di servizi, da parte

UNIVERSITA DEGLI STUDI DI BERGAMO

Il livello Trasporto si occupa di come avviene lo scambio dei dati tra mittente e destinatario, gestisce quindi l invio e la ricezione dei dati.

Introduzione (parte II)

Corso di Informatica

Le reti rete La telematica telematica tele matica Aspetti evolutivi delle reti Modello con mainframe terminali Definizione di rete di computer rete

INDIRIZZI IP SUBNETTING

Reti di Calcolatori IL LIVELLO RETE

Il livello trasporto: Introduzione e protocollo UDP

Appello 13 Febbraio Tempo complessivo a disposizione per lo svolgimento: 2h Usare lo spazio dopo ogni Esercizio/Quesito per la risposta.

Fondamenti di Internet e Reti. Antonio Capone, Matteo Cesana, Ilario Filippini, Guido Maier

Corso di Laurea in Informatica Esame di Reti Prof. Panzieri frame con source address uguale a MAC_UNI X X X X X

Modi di Trasferimento

Sicurezza Documentale a.a. 2017/2018 DOCENTI: DOTT.SSA VALERIA FIONDA DOTT. GIUSEPPE PIRRÒ

Corso di Reti di Telecomunicazioni. Giovanni Schembra. Trasmissione trame su canale broadcast

Le Reti Informatiche

Protocolli e Architetture. Dr. Greco Polito Silvana

Transparent Networking e tecnologie di virtualizzazione della rete. M. Caberletti (INFN-CNAF) A. Brunengo (INFN Genova)

Architettura di Reti

Secure socket layer (SSL) Transport layer security (TLS)

Indirizzamento IPv4. Indirizzamento IP

ICMP ARP RARP DHCP -NAT

Tecnologie e applicazioni web Autenticazione

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

INTRODUZIONE AL TCP/IP TCP/IP Trasmission Control Protocol /

Transcript:

FACOLTÀ DI INGEGNERIA Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni Identificazione e realizzazione di un modello di rappresentazione delle configurazioni di tunneling in IPv6 Relatore: Chiar.mo Prof. Roberto Cusani Correlatori: Ing. Simone Ferraresi Ing. Gianluca Maiolini Candidato: Sonia Alessandrelli Matr. 796189 Anno Accademico 2006 2007

INDICE INTRODUZIONE...6 1 Sicurezza nelle reti...9 1.1 La Norma ITU T X.800...10 1.2 Il Modello della Sicurezza...13 1.2.1 S VPN...15 1.3 Internet Key Exchange...15 1.3.1 Scambio delle Chiavi...16 1.4 IP Security...18 1.4.1 Modalità di funzionamento...18 1.4.2 Security Association...19 1.4.3 Authentication Header...22 1.4.4 Encripted Security Payload...26 1.4.5 Network Address Translation...29 2 IPV6...32 2.1 Principali caratteristiche di IPv6...33 2.2 Le Opzioni...38 2.3 Indirizzi IPv6...40 2.3.1 Rappresentazione degli Indirizzi IPv6...40 2.3.2 Tipi di Indirizzi...41 2.3.3 Indirizzi IPv6 con Indirizzi IPv4 Embedded...44 2.4 Autoconfigurazione...44 2.4.1 Autoconfigurazione Stateless...45 2.4.2 Autoconfigurazione Stateful...46 2.5 Gestione della QoS...46 2.6 Sicurezza...47 2.6.1 Authentication Header...48 2.6.2 Encripted Security Payload...49 2.7 Interoperabilità IPv6 IPv4...49 2.7.1 Dual stack...50 2.7.2 Translation...51 2.7.3 Tunneling...55 3 Progettazione architettura di gestione per IPv6...64 3.1 Il Progetto SAS Price...65 3.1.1 SAS Manager...65 Pagina 2 di 189

3.1.2 SAS Price...66 3.2 Analisi ed Evoluzione del Progetto...70 3.2.1 Progettazione concettuale...71 3.2.2 Progettazione logica...80 3.2.3 Progettazione fisica...91 4 Realizzazione dell Aliger...99 4.1 Strumenti di sviluppo...99 4.1.1 Piattaforma.NET...99 4.1.2 C#...101 4.1.3 DataSet...102 4.2 Security Framework...105 4.2.1 Modulo Popolatore...105 4.2.2 Modulo Visualizzatore...108 4.2.3 Modulo Traduttore CSV...109 4.2.4 Moduli Split e Compose...111 4.3 Implementazione dell Aligner...111 4.3.1 Connessione ai DataBase...111 4.3.2 Evoluzione del progetto...112 4.3.3 Compatibilità tra GSDB e SMDB...115 4.3.4 Elaborazione delle informazioni delle tabelle...117 CONCLUSIONI...127 APPENDICE A: Dizionario delle tabelle del GSDB...130 APPENDICE B: Dizionario delle tabelle del DVDB...139 APPENDICE C: Dizionario delle tabelle dell SMDB...157 APPENDICE D: Codice dell Aligner...170 BIBLIOGRAFIA...188 Pagina 3 di 189

Indice delle Figure Figura 1.1: Modello della sicurezza degli accessi nella rete...13 Figura 1.2: Modello di protezione dellʹinformazione nella rete...14 Figura 1.3: IKE Fase 1: Main Mode e Aggressive Mode...17 Figura 1.4: IKE Fase 2: Quick Mode...17 Figura 1.5: IPSec Tunnel Mode e Transport Mode...19 Figura 1.6: IPSec Formato dellʹintestazioneʹah...23 Figura 1.7: Formato del pacchetto con AH in Transport Mode...24 Figura 1.8: Formato del pacchetto con AH in Tunnel Mode...25 Figura 1.9: IPSec Formato del datagramma ESP...27 Figura 1.10: Formato del pacchetto con ESP in Transport Mode...29 Figura 1.11: Formato del pacchetto con ESP in Tunnel Mode...29 Figura 1.12: Pacchetto ESP in Tunnel Mode con incapsulamento UDP...30 Figura 2.1: Intestazione di IPv6...34 Figura 2.2: Intestazione di IPv4...35 Figura 2.3: Datagramma IPv6...38 Figura 2.4: Formato del pacchetto IPv6 con AH in Transport Mode...48 Figura 2.5: Formato del pacchetto IPv6 con AH in Tunnel Mode...49 Figura 2.6: Schema del Dual Stack v4/v6...50 Figura 2.7: Schema delle Transition v4/v6 BIS e BIA...53 Figura 2.8: Translation IPv6 IPv4 con NAT PT...55 Figura 2.9: Formato del pacchetto IPv6 in IPv4...56 Figura 2.10: Tunneling IPv6 in IPv4...56 Figura 2.11: Tipi di Tunneling IPv6 IPv4...57 Figura 2.12: Manual Tunnel IPv6 in IPv4...58 Figura 2.13: Compatible IPv4 Tunnel...59 Figura 2.14: 6to4 Tunnel...63 Figura 3.1: Architettura del SAS Manager...65 Figura 3.2: Schema del progetto SAS Price...69 Figura 3.3: Rappresentazione grafica dei costrutti del modello Entità Relazione...72 Figura 3.4: Schema concettuale del GSDB...74 Figura 3.5: Schema concettuale del DVDB...78 Figura 3.6: Schermata Microsoft Visual Studio 2005 Express Edition...91 Figura 3.7: Schema Fisico del GSDB, Area Element...93 Figura 3.8: Schema Fisico del GSDB, Area Device...94 Pagina 4 di 189

Figura 3.9: Schema Fisico del GSDB, Area Conns...95 Figura 3.10: Schema Fisico del GSDB, Area Device e Area SMNP...96 Figura 3.11: Schema Fisico del GSDB, Area Rules Access List...97 Figura 3.12: Schema Fisico del GSDB, Area Firewall...98 Figura 4.1: Schermata principale di Microsoft Visual Studio...100 Figura 4.2: Esempio di tabella del DataSet...103 Figura 4.3: Security Framework, schermata principale...105 Figura 4.4: Security Framework, Modulo Popolatore...106 Figura 4.5: Security Framework, Modulo Visualizzatore...108 Figura 4.6: Funzioni allineamento GSDB SMDB...113 Figura 4.7: Diagramma E R dell SMDB...116 Figura 4.8: Compatibilità GSDB SMDB...117 Figura 4.9: Schema logico dell Aligner...126 Indice delle Tabelle Tabella 1.1 Minacce ad un sistema di comunicazione...12 Tabella 2.2 Tipi di Extension Headers IPv6...39 Tabella 2.3 Classificazione degli indirizzi IPv6 in base ai bit più significativi...41 Tabella 2.4 Tipi di traffico e livelli di priorità IPv6...47 Pagina 5 di 189

INTRODUZIONE Una rete di telecomunicazioni è definibile come un insieme di nodi, canali trasmissivi e procedure mediante le quali due o più dispositivi possono scambiarsi delle informazioni. In particolare le entità comunicano utilizzando un protocollo, ovvero un insieme di regole che definiscono il formato, la sintassi e la semantica dei messaggi scambiati. La rete oggi più estesa e conosciuta è Internet, con quasi 400 milioni di nodi connessi, ed il protocollo su cui si basa è IP, Internet Protocol. Esistono diverse versioni di IP, aventi in comune le caratteristiche di base pur restando comunque protocolli distinti. In particolare la versione 4 di Internet Protocol è quella attualmente utilizzata su Internet e nella maggior parte delle reti locali mentre Internet Protocol versione 6, inizialmente sviluppato con il nome di IPng (IP next generation), è stato formalizzato negli anni 90 e si sta affiancando progressivamente ad IPv4 con l obiettivo di sostituirlo. Sicuramente IPv6 supera numerose limitazioni di IPv4 e molti suoi aspetti sono stati progettati alla luce delle problematiche emerse negli ultimi 20 anni di intenso utilizzo di IPv4. Purtroppo però IPv4 e IPv6 non sono compatibili e, pertanto, programmi e sistemi progettati per uno standard non possono comunicare direttamente con quelli pensati per l altro. Inoltre la diffusione capillare e radicata dei sistemi basati su IPv4 non consente al giorno d oggi di realizzare una transizione rapida dal vecchio al nuovo protocollo, rendendo di conseguenza necessaria l implementazione di meccanismi e funzionalità in grado di permettere alle applicazioni di continuare a funzionare correttamente durante tutta la lunga fase di aggiornamento della rete mondiale. Uno degli aspetti di IPv4 che si è cercato di migiorare in IPv6 è quello relativo alla sicurezza, rendendola integrata nello stesso protocollo. Infatti, la tutela della privacy e la sicurezza delle informazioni diventano requisiti di primaria importanza nella società odierna. Sono definiti diversi requisiti che individuano uno specifico livello di sicurezza. In particolare per la sicurezza in rete devono essere garantiti almeno l autenticazione, l integrità e la riservatezza. Questi requisiti sono offerti mediante dispositivi come un Security Gateway. La generazione delle regole di sicurezza e delle configurazioni di questi dispositivi spesso è fatta manualmente da un Pagina 6 di 189

amministratore di rete nodo per nodo. La mancanza di un meccanismo di configurazione automatico dei dispositivi incrementa la potenziale esistenza di vulnerabilità o malfunzionamenti dovuti ad errori all interno della configurazione. In questo senso è utile avere a disposizione uno strumento denominato NMS (Network Management System) con una funzionalità aggiuntiva di generazione automatica delle configurazioni dei dispositivi e risoluzione dei conflitti dovuti a errori nelle policy di sicurezza che possa aiutare l amministratore di rete nel suo compito. Lo strumento di amministrazione di rete che è stato analizzato nel corso di questa tesi è l NMS SAS Manager, un prodotto dei laboratori ElsagDatamat. Lo scopo di questa tesi è lo studio e l integrazione all interno del SAS Manager di nuove tecnologie come IPv6 nonché rendere possibile l integrazione di queste tecnologie con funzionalità già implementate come gli strumenti di gestione avanzata della sicurezza nelle comunicazioni. In particolare in questo elaborato verranno esaminate le tecniche di traduzione degli indirizzi IP v6/v4 e verrà approfondito il concetto di tunneling come meccanismo che permette di incapsulare i dati in transito tra reti IPv6 su una rete IPv4. Il concetto di tunneling v4/v6 verrà confrontato coi sistemi di tunneling SVPN già integrati all interno del sistema di NMS analizzato, al fine di rappresentare i dati in modo più uniforme e semplificato possibile all interno dell architettura di rete. Questo progetto si inserisce in un progetto più ampio, formato da più sottosistemi con un obiettivo comune: creare un unico sistema che permetta l armonizzazione della rete, finalizzata ad una semplificazione della gestione della rete stessa in assenza di conflitti tra policy di sicurezza. Il lavoro è articolato in quattro capitoli. La tesi prevede in primo luogo la descrizione dei servizi di sicurezza che possono essere offerti in un contesto di rete, quali protezione della trasmissione dei dati mediante la realizzazione di SVPN IKE/IPSec. Nel secondo capitolo è fornita una descrizione del protocollo IPv6, degli aspetti di sicurezza implementati su tale protocollo e le tecniche di traduzione degli indirizzi v6/v4 e il concetto di tunneling. Nel terzo capitolo si introduce il progetto specifico del quale fa parte questo lavoro, il progetto SAS Price. Nell ambito di tale progetto si evidenzia l esigenza di implementare IPv6 all interno dei database SQL su cui opera e verranno relazionate le funzionalità ad esso collegate con la struttura Pagina 7 di 189

preesistente di gestione delle SVPN. Infine verrà implementato IPv6 all interno di tali database scegliendo la soluzione di migliore utilizzo delle risorse. Nel quarto capitolo, infine, è descritta la fase di progettazione ed implementazione di un modulo software C# per realizzare la traduzione delle informazioni presenti nei database modificati tramite l implementazione di IPv6 verso il database sul quale si basa il SAS Manager in modo da realizzare l evoluzione teconologica di tale strumento. Ringraziamenti Prima di ringraziare le persone che hanno collaborato alla realizzazione di questa tesi, vorrei ringraziare le persone della società ELSAGDATAMAT in cui lavoro da circa tre anni, perché hanno creduto in me e mi hanno supportato in tutto il difficoltoso cammino della laurea specialistica e del lavoro quotidiano che ho svolto con loro, in particolare rivolgo il mio più vorrei sentito ringraziamento al mio capo, il migliore che potessi sperare, Stefano Ponzuoli. Non ultimo in ordine di importanza sentitamente ringraziare mia madre Loretta Bolognini per avermi supportato in questi tre lunghi anni. Pagina 8 di 189

1 Sicurezza nelle reti La protezione delle informazioni ha subito notevoli cambiamenti nel corso degli ultimi decenni, a partire dall avvento di nuovi sistemi di immagazzinamento e trasferimento dei dati. In particolare, oltre agli aspetti di protezione di tipo fisico, che presuppongono l accesso diretto all elemento protetto per comprometterne la riservatezza, si è reso ultimamente necessario porre in primo piano l aspetto della sicurezza logica, per proteggere le informazioni residenti in sistemi remoti o in transito tra essi. Con il termine sicurezza si intende l insieme delle misure tese ad assicurare a ciascun utente autorizzato tutti e soli i servizi previsti per quell utente, nei tempi e nelle modalità previste. Secondo la definizione ISO, la sicurezza è l insieme delle misure atte a garantire la disponibilità, l integrità e la riservatezza delle informazioni gestite: Disponibilità: il sistema deve rendere disponibili a ciascun utente abilitato le informazioni alle quali ha diritto di accedere, nei tempi e nei modi previsti. Nei sistemi informatici, i requisiti di disponibilità sono legati a quelli di prestazione, di robustezza, di tolleranza ai guasti e di recupero dai guasti (garantire il rientro in funzione in tempo utile del sistema informatico, a seguito di eventi negativi anche gravi). La disponibilità di una informazione ad un utente, infatti, deve essere assicurata in modo ininterrotto durante tutto il periodo di tempo previsto (continuità del servizio); Integrità: il sistema deve impedire l alterazione diretta o indiretta delle informazioni, sia da parte di utenti e processi non autorizzati, che a seguito di eventi accidentali. Anche la perdita di dati (per esempio a seguito di cancellazione o danneggiamento), viene considerata come alterazione; Riservatezza: il sistema deve impedire a chiunque di ottenere o dedurre, direttamente o indirettamente, informazioni che non è autorizzato a conoscere. In un contesto di sistemi distribuiti, in cui la rete diventa un elemento fondamentale, si parla di sicurezza di rete ad indicare l insieme di procedure, pratiche e tecnologie per proteggere le risorse, gli utenti e le organizzazioni che operano in rete. Pagina 9 di 189

In questo capitolo sarà affrontato il problema della sicurezza nelle reti, partendo dal concetti generale di sicurezza per poi descrivere il modello di rete sicura S VPN. In particolare, con riferimento alle SVPN di descriveranno le caratteristiche dei security gateway preposti alla cifratura del traffico e la suite di protocolli IKE/IPSec utilizzati. 1.1 LA NORMA ITU-T X.800 La sicurezza delle reti in termini di attacchi, servizi di sicurezza atti a prevenirne il verificarsi e meccanismi di sicurezza che implementano tali servizi è stata oggetto di standardizzazione nella norma ITU T X.800 Security Architecture for Open Systems Interconnection for CCITT Applications [9]. La norma ITU T X.800 identifica tre componenti principali caratterizzanti un sistema di sicurezza: - Evento indesiderato (attacco): rappresenta una qualunque azione indebita che miri a impedire il funzionamento di un servizio di sicurezza infrangendo uno o più meccanismi di sicurezza sfruttando le loro vulnerabilità o debolezze e guadagnando in tal modo l accesso non autorizzato a dati protetti. - Servizio: rappresenta una funzionalità che fornisce alcune garanzie di sicurezza al sistema di comunicazione, da cui l utente può aspettarsi un determinato livello di protezione per l informazione trasmessa. - Meccanismo: rappresenta il mezzo con cui è implementato un servizio di sicurezza, ed è ogni soluzione progettata per scoprire, prevenire e recuperare un attacco La norma ITU T X.800 definisce cinque categorie di servizi di sicurezza: - Autenticazione: insieme di servizi che forniscono le prove dell identità dell utente nel corso di una comunicazione. - Controllo dell Accesso: insieme di servizi che permettono l accesso di un certo utente ad un numero limitato di risorse, ovvero tutte e sole le risorse per le quali è autorizzato. - Confidenzialità dei dati: insieme di servizi che proteggono i dati da letture, parziali o totali, non autorizzate. Pagina 10 di 189

- Integrità dei dati: insieme di servizi che mirano a garantire che i dati ricevuti siano effettivamente tutti e soli quelli inviati, e che quindi l informazione trasportata non sia stata alterata. - Non Ripudio: insieme di servizi che impediscono di negare al mittente dell informazione che egli l abbia originata, ed al destinatario che egli l abbia ricevuta. Questi servizi sono realizzati tramite i seguenti meccanismi di sicurezza: - Cifratura: trasformazione (reversibile da parte del legittimo destinatario) dei dati in modo da renderli inintelligibili a una terza parte non autorizzata. - Firma Numerica: autenticazione dei dati tramite aggiunta di una firma ricavabile solo da chi è in possesso di una determinata informazione segreta che lo identifica univocamente. - Controllo d Accesso: verifica dell identità (tramite autenticazione) di chi accede ad un dato sistema o ad una data risorsa di comunicazione. - Integrità dei dati: aggiunta ai dati inviati di un codice univocamente ricavabile dai dati stessi che permette di verificare che non siano stati modificati durante il transito. - Scambio di Autenticazione: mutua autenticazione fra le due entità partecipanti allo scambio dei dati. - Traffico di riempimento (traffic padding): generazione di traffico che non contiene dati d utente validi al fine di prevenire l analisi del traffico. - Controllo dell instradamento: controllo del cammino seguito dai dati all interno della rete che li trasporta alla destinazione. - Certificazione mediante terze parti: autenticazione delle due entità partecipanti allo scambio dei dati da parte di una terza entità esterna ritenuta affidabile da entrambe. La norma ITU T X.800 modella anche le minacce ad un sistema di comunicazione ed ai dati da esso trasportati: - Distruzione: distruzione dell informazione o delle risorse del sistema di comunicazione. - Corruzione: modifica irreversibile e non autorizzata dell informazione che la renda inutilizzabile. Pagina 11 di 189

- Rimozione: furto o perdita dei dati o di altre risorse del sistema di comunicazione. - Rivelazione: divulgazione non autorizzata di dati e informazioni. - Interruzione: indisponibilità dei dati o delle risorse necessarie alla loro trasmissione. Tipo di Minaccia Distruzione Tipo di Attacco Disponibilità Oggetto Distruzione di dati/informazioni o risorse di connettività Corruzione Integrità Modifica non autorizzata di dati Rimozione Disponibilità Furto o perdita di dati e altre risorse Rivelazione Confidenzialità Divulgazione non autorizzata di dati e informazioni. Interruzione Disponibilità Rendere indisponibile le risorse di rete Tabella 1.1 Minacce ad un sistema di comunicazione Per quanto riguarda gli attacchi alla sicurezza, la norma distingue fra attacchi passivi ed attacchi attivi. I primi non modificano le risorse o il funzionamento del sistema, ma compromettono la confidenzialità dei dati. Due esempi di attacchi passivi sono: - Intercettazione del contenuto dei messaggi - Analisi del traffico Gli attacchi attivi, invece, prevedono una modifica del flusso dei dati o la creazione di un falso flusso e possono essere suddivisi in quattro categorie: - Mascheramento: assunzione da parte dell entità attaccante di un identità non propria; Pagina 12 di 189

- Reply: replica di un messaggio (o di parte di lui) al fine di ottenere effetti non autorizzati ed imprevisti; - Modifica: alterazione dell informazione durante il transito; - Denial of Service: attacco alla disponibilità delle risorse necessarie alla trasmissione dei dati; 1.2 IL MODELLO DELLA SICUREZZA L attuale implementazione della struttura delle reti presenta numerosi problemi a livello di sicurezza. In particolare le informazioni presenti negli header dei pacchetti sono in genere ritenute corrette, e ciò permette agli hacker di attuare varie tipologie di attacco tramite la creazione di pacchetti falsi al fine di carpire informazioni o creare disservizio agli utenti. Inoltre, tutti i dati che si appoggiano su protocolli non crittografici, attraverso la rete pubblica sono esposti allʹosservazione di chiunque si trovi in rete. La sicurezza è necessaria qualora si debba proteggere le informazioni da chiunque possa rappresentare una minaccia ai requisiti richiesti di sicurezza dei dati, quali: Confidenzialità; Autenticità; Integrità. Il modello di sicurezza degli accessi ad una rete privata ha come obiettivo limitare gli accessi a coloro che sono autorizzati e monitorare le attività della rete nel tentativo di rilevare la presenza di intrusi. La Figura 1.1 mostra un modello rappresentativo della nozione di sicurezza degli accessi alla rete. Figura 1.1: Modello della sicurezza degli accessi nella rete Pagina 13 di 189

La Figura 1.2 mostra un modello rappresentativo della nozione di sicurezza della rete in termini di protezione dell informazione in fase di trasmissione. Un messaggio deve essere trasmesso da un entità sorgente ad un entità di destinazione e ciò richiede l attraversamento di una rete (o di una serie di reti interconnesse). Figura 1.2: Modello di protezione dellʹinformazione nella rete Affinché lo scambio vada a buon fine è necessario stabilire un canale logico che permetta il trasferimento delle informazioni: ciò si realizza mediante l instaurazione di un percorso all interno della rete che collega le due entità e mediante l uso cooperativo di protocolli di comunicazione da parte di tutti i nodi di questo percorso. In ogni caso un sistema crittografico di sicurezza si basa sulle due componenti: Una trasformazione di sicurezza delle informazioni trasmesse. La crittografia realizza una codifica del messaggio in modo che questo risulti illeggibile da parte di un estraneo. Un informazione segreta nota ai due protagonisti dello scambio oppure solamente ad uno dei due. La chiave di crittografia viene utilizzata per codificare il messaggio prima della trasmissione e per decodificarlo dopo la ricezione. L informazione segreta ed il messaggio da proteggere sono i due input della funzione di trasformazione di sicurezza, la quale a sua volta restituisce in output il messaggio protetto. Pagina 14 di 189

1.2.1 S VPN La Virtual Private Network (VPN) è una rete privata virtuale che viene creata utilizzando un infrastruttura di rete pubblica e condivisa (come Internet) per fornire un accesso e comunicazioni sicure tra utenti remoti. La VPN è utilizzata spesso per interconnettere gli uffici remoti di un azienda in modo sicuro, ed è una soluzione meno onerosa rispetto all utilizzo di una linea dedicata. Le due reti fisicamente distanti tra loro saranno quindi mutuamente raggiungibili mantenendo il loro piano di indirizzamento privato. La VPN costituisce un Tunnel in cui i pacchetti tra reti private viaggiano, opportunamente modificati, tra due gateway correttamente configurati. Una VPN opera in modo trasparente agli host e quindi anche agli utenti. Quando una VPN offre dei Servizi di Sicurezza prende il nome di Secure Virtual Private Network (S VPN). Una S VPN ha lo scopo di instaurare un canale di comunicazione (tunnel) che realizzi una connessione sicura tra due entità di pari livello quali host e/o Security Gateway, secondo un determinato protocollo. Il protocollo che rappresenta lo standard de facto attuale è IKE/IPSec (definito dall IETF nelle RFC da 4301 a 4309) [21], [16]. Un Security Gateway è un dispositivo di rete che implementa il protocollo di sicurezza IPSec (come da RFC 4301) [21]. In termini più specifici un Security Gateway è un dispositivo in grado di processare traffico di S VPN secondo lo standard IPSec, garantendo quindi i tipici servizi di sicurezza già visti in precedenza. I Security Gateway IPSec gestiscono le associazioni con altri dispositivi dello stesso tipo. Tali associazioni sono definite Security Association (cfr. par. 1.4.2). In tal modo sono forniti servizi di tipo S VPN in maniera trasparente rispetto all utente. 1.3 INTERNET KEY EXCHANGE Internet Key Exchange (IKE) è il protocollo usato per inizializzare una Security Association (SA) nella suite di protocolli IPsec. IKE definisce un meccanismo per condividere delle chiavi di cifratura, basandosi a sua volta sul meccanismo Internet Security Association and Key Management Protocol (ISAKMP). Pagina 15 di 189

IKE è standardizzato nelle RFC 2409 The Internet Key Exchange (IKE) e definito anche nelle RFC 2407, RFC 2408 e RFC 4306 (IKEv2) [8], [23], [22], [19]. 1.3.1 Scambio delle Chiavi IKE è un protocollo di livello applicazione e utilizza il protocollo UDP come protocollo di trasporto. La porta su cui viene stabilita la connessione è la 500. Lʹobiettivo di IKE è stabilre uno shared session secret, ossia una chiave condivisa corrispondente alla sessione da instaurare. Per inizializzare lo shared secret IKE utilizza lo standard di key exchange Diffie Hellman, da cui vengono derivate le chiavi crittografiche che verranno utilizzate per la successiva comunicazione. L IKE, utilizzando ISAKMP come schema di scambi, si articola in due fasi: Fase 1: i due interlocutori concordano su come proteggere le loro successive interazioni, costituendo una Security Association ISAKMP, che permetterà loro di inviare nella fase successiva pacchetti cifrati ed autenticati; Fase 2: vengono utilizzate le SA IKE, negoziate nella fase precedente, per instaurare una o più associazioni di sicurezza IPSec con lo scambio delle relative chiavi. Nel corso della prima fase i due interlocutori negoziano gli algoritmi di cifratura (DES, 3DES, AES) ed hashing (MD5, SHA 1) da utilizzare. Mediante l algoritmo di Diffie Hellman è generato il segreto condiviso dal quale sono ricavate le chiavi per tali algoritmi. In tal modo il peer con il quale viene instaurata la comunicazione è autenticato in modo forte. L autenticazione forte prevede l utilizzo di informazioni non scambiate direttamente tra i due peer. Per realizzare l autenticazione forte si può ricorrere ad esempio ad una preshared key, ovvero ad un segreto precondiviso, oppure a dei meccanismi di firma numerica. [22] La fase 1 può avvenire con due modalità: Main Mode: essendo già stabilito il segreto condiviso nei primi quattro pacchetti scambiati, nel quinto e sesto pacchetto fornisce protezione di identità in quanto l informazione viaggia cifrata. La negoziazione richiede in totale lo scambio di sei pacchetti; Pagina 16 di 189

Aggressive Mode: utilizza solamente tre pacchetti ed in caso di autenticazione con crittografia a chiave pubblica fornisce la protezione d identità. Figura 1.3: IKE Fase 1: Main Mode e Aggressive Mode Durante questa fase avviene la negoziazione dei protocolli con relativi algoritmi e chiavi, da utilizzare per fornire i servizi di sicurezza richiesti dalla SA IPSec. Nella fase 2 lo scambio può avvenire in un unica modalità: il Quick Mode. Figura 1.4: IKE Fase 2: Quick Mode Pagina 17 di 189

Le chiavi e le informazioni negoziate vengono quindi date allo stack IPSec. Ad esempio, si può trattare di una chiave AES, e informazioni che identificano gli endpoints IP e le porte che devono essere protette, così come i tipi di tunnel IPsec che devono essere creati. Lo stack IPsec, a sua volta, intercetta i pacchetti IP ed effettua la cifratura/decifratura degli stessi. 1.4 IP SECURITY IP Security (IPSec) è un protocollo standard operante al livello 3 della pila OSI, utilizzato per creare connessioni sicure su reti IP. La sicurezza è ottenuta attraverso la cifratura e lʹautenticazione dei pacchetti IP ed è quindi fornita a livello di rete. La capacità di fornire protezione a livello di rete rende questo protocollo trasparente al livello delle applicazioni. IPsec è parte integrante di IPv6, mentre un estensione opzionale del protocollo IPv4. Il protocollo è definito negli RFC 2401 e RFC 2412 [2]. 1.4.1 Modalità di funzionamento IPsec è una suite di protocolli formata da protocolli che implementano lo scambio delle chiavi per realizzare il flusso crittografato (IKE) e protocolli che forniscono la cifratura del flusso di dati tra cui: Authentication Header (AH): garantisce lʹautenticazione e lʹintegrità del messaggio ma non offre la confidenzialità (protocollo IP 51); Encapsulating Security Payload (ESP): fornisce autenticazione, confidenzialità e controllo di integrità del messaggio (protocollo IP 50). IPsec supporta due modalità di funzionamento: Transport mode: usato per la connessione host to host dagli end point (non dai gateway). Nel Transport mode viene cifrato solo il payload dei datagram IP, ma non lʹheader, per cui mittente e destinazione restano in chiaro. Ogni host che vuole comunicare deve implementare IPsec; Tunnel mode: usato per la connessione gateway to gateway ed è utilizzato per realizzare le SVPN. Nel Tunnel mode viene cifrato tutto il pacchetto IP originale. L intero pacchetto IP originale viene incapsulato in un nuovo pacchetto con una nuova intestazione, che Pagina 18 di 189

reca come mittente e destinatario i security gateway. Viene aggiunto lʹheader IPsec, inoltre il mittente e il destinatario sono cifrati per cui non risultano visibili. Ogni host che vuole comunicare non deve implementare IPsec, ma devono implementarlo solo i gateway agli estremi della comunicazione. Lo svantaggio è che in tal modo si inseriscono punti di centralizzazione che diventano single point of failure. Figura 1.5: IPSec Tunnel Mode e Transport Mode IPsec può essere utilizzato anche per connessioni tra gateway e host nella modalità transport. 1.4.2 Security Association Un concetto fondamentale sia per AH che per ESP è quello di Security Association (SA). Una SA è una relazione, fra due entità in comunicazione, che identifica particolari condizioni di sicurezza. Un associazione di sicurezza è una relazione one way (unidirezionale) tra il mittente ed il destinatario. Quindi, durante la creazione della connessione le entità coinvolte creano e gestiscono una SA per ognuno dei versi della comunicazione, quindi due SA individuano un canale full duplex per uno scambio bidirezionale sicuro. Pagina 19 di 189

Il concetto di Security Association è alla base del funzionamento di IPsec. Una SA è un ʺcontrattoʺ fra le due entità coinvolte nella comunicazione in cui vengono stabiliti i meccanismi di protezione e le chiavi da utilizzare durante il successivo trasferimento dei dati. Le entità coinvolte nella comunicazione sono denominate peer e possono essere Security Gateway o Host che implementano il protocollo stesso. Ogni SA è identificata univocamente dalla combinazione dellʹindirizzo del destinatario e di un determinato Security Parameter Index (SPI). Lo SPI è negoziato nel corso dell inizializzazione della comunicazione e in combinazione con l indirizzo IP di destinazione ed il protocollo di sicurezza, identifica univocamente l associazione di sicurezza per questo datagramma. L insieme dei valori SPI nell intervallo da 1 a 255 sono riservati dalla IANA per usi futuri. Lo SPI è definito dalla stazione sorgente e nel caso di multicast dovrà essere lo stesso per tutte le stazioni del gruppo. Ogni implementazione di AH e di ESP deve supportare il concetto di Security Association, sebbene possa supportare anche ulteriori parametri come componenti di una SA. Nellʹambito di IPsec, le security association possono essere impostarle manualmente, ma tale procedura è sconsigliata in quanto può introdurre errori che indeboliscono il tunnel. Per stabilire le security association in modo automatico in IPSec è utilizzato il protocollo IKE. In particolare della creazione, gestione e distruzione delle SA si occupa l Internet Security Association and Key Management Protocol (ISAKMP). L ISAKMP combina i concetti di autenticazione, gestione delle chiavi e associazione di sicurezza per fornire sicurezza alle comunicazioni su Internet. Tale protocollo non è limitato ad alcuno specifico algoritmo di cifratura, tecnica di generazione di chiavi o meccanismo di sicurezza. L ISAKMP scambia informazioni fra le entità che stanno negoziando e infine stabilisce un associazione di sicurezza tra queste parti sulla base di un protocollo stabilito (ESP o AH). Prima il protocollo di scambio iniziale IKE permette ad un insieme di attributi base di essere accettati e condivisi fra le parti. Tali attributi forniranno sicurezza per le successive comunicazioni dell ISAKMP. Dopo che sono stati accettati questi attributi di base, autenticate le entità e generate le chiavi, l associazione di sicurezza stabilita può essere utilizzata per comunicazioni successive dall entità che ha invocato l ISAKMP. Pagina 20 di 189

Le tecniche più importanti e sicure per scambiare chiavi di sessione e segreti condivisi fra più utenti sono basate sulla crittografia a chiave pubblica. Da notare che le chiavi crittografiche possono proteggere informazioni per un lungo periodo di tempo, ma è bene distruggerle dopo ogni uso e rigenerarle successivamente. Al fine di semplificare la gestione delle SA, viene utilizzato un apposito database detto SAD (Security Association Database), dove viene tenuta traccia delle SA attive in un dato istante su un Security Gateway. Una SA contiene le informazioni necessarie per stabilire in che modo il traffico deve essere protetto. È infatti costituita dai seguenti parametri: Gli indirizzi IP dei peer coinvolti nella comunicazione; Il protocollo che verrà utilizzato per il tunnel (AH o ESP); Le tecniche di cifratura utilizzate e le relative chiavi; SPI, Security Parameter Index (numero intero a 32 bit). La Security Policy (SP) si occupa invece di definire quale traffico passante per il Security Gateway deve essere protetto. Una SP è una regola che stabilisce che tipo di traffico deve essere instradato nel tunnel e quindi essere coperto da IPsec. Questo avviene tramite il riconoscimento del flusso di traffico a cui il pacchetto IP appartiene. Tale riconoscimento avviene mediante il confronto dell intestazione di ogni singolo pacchetto con un selettore: per ogni pacchetto viene quindi deciso se debba essere scartato, lasciato passare in chiaro oppure elaborato tramite IPSec. Quando un Security Gateway riceve un pacchetto che soddisfa i criteri di filtraggio per l elaborazione in IpSec, stabilisce un appropriato tunnel di sicurezza se non già presente e invia il pacchetto ricevuto attraverso tale tunnel verso l entità destinataria. In modo analogo alle SA, le SP attive in un dato istante su un Security Gateway sono contenute in un SPD (Security Policy Database). La security policy contiene: Indirizzo sorgente e indirizzo destinazione del pacchetto. Tale informazione è già contenuta nella SA, ma non è ridondante. Infatti, questa informazione è necessaria, quando viene utilizzato il Tunnel mode. Il protocollo e la relativa porta da instradare nel tunnel. Questa opzione dipende dallʹimplementazione del protocollo e non è sempre prevista. Nel caso non sia disponibile, tutto il traffico prodotto viene veicolato nel tunnel. Un identificativo della SA da utilizzare per processare i dati. Pagina 21 di 189

Quindi nei due database SAD e SPD sono mantenuti rispettivamente i criteri di selezione del traffico e le modalità di protezione dello stesso. Una volta stabilita la Security Association e la Security Policy, può cominciare la comunicazione in base al protocollo AH o il protocollo ESP. A tali protocolli verrà passato il parametro SPI, che permetterà di risalire alle tecniche crittografiche da utilizzare per la trasmissione. 1.4.3 Authentication Header LʹAuthentication Header (AH), è un protocollo che fa parte della suite IPsec, le cui finalità sono di garantire: Integrità. AH fornisce un controllo di integrità sul pacchetto; Autenticazione. AH verifica dellʹautenticità del mittente. Inoltre AH fornisce rotezione contro i replay attack. AH non garantisce in alcun modo la confidenzialità e la protezione dallʹanalisi del traffico del messaggio. Lʹautenticità è garantita tramite funzioni di hash a chiave simmetrica, ossia tramite il meccanismo delle pre shared keys. Infatti, per poter comunicare, due entità devono condividere la medesima chiave. Tale chiave viene combinata con il messaggio originale e quindi viene calcolata la checksum tramite una funzione di hash crittografico (MD5 o SHA). Il messaggio e la checksum vengono poi inviati al peer remoto. Il peer remoto può leggere il messaggio, dato che è in chiaro, e combinalo con la chiave di cui è a conoscenza per calcolare la checksum. Se la checksum corrisponde a quella inviata, il messaggio è autentico e viene accettato altrimenti viene scartato in quanto è stato modificato in un modo non consentito. Il protocollo utilizzato per implementare l autenticazione è tuttavia ancora in fase di definizione. Lʹalgoritmo MD5, da solo non fornisce il non ripudio. Il non ripudio può essere fornito da alcuni algoritmi di autenticazione (algoritmi asimmetrici) usati con lʹah, ma non è necessariamente supportato da tutti gli algoritmi che possono essere usati con AH. Lʹuso di AH aumenta i costi dellʹip processing nei sistemi condivisi e aumenta la latenza delle comunicazioni. Ciò è dovuto principalmente al calcolo dellʹautenticazione dei dati da parte del mittente e al calcolo dellʹautenticazione e al confronto dei dati di ogni datagramma IP contenente AH, da parte di ogni ricevente. AH fornisce una sicurezza maggiore di quella Pagina 22 di 189

che esiste attualmente in Internet, e non influenza la portabilità e non aumenta significativamente i costi implementativi [4]. Formato del Pacchetto AH L autenticazione del pacchetto è realizzata utilizzando l Authentication Header che permette di fornire lʹautenticazione e il controllo di integrità (ma senza riservatezza) dei pacchetti IP. Lʹintestazione di autenticazione ha il formato descritto in figura: 8 bit 8 bit 8 bit 8 bit Next Header Lunghezza Riservato SPI (Security Parameter Index) Numero di Sequenza Dati di Autenticazione Figura 1.6: IPSec Formato dellʹintestazioneʹah La spiegazione del significato dei vari campi dell intestazione è riportato di seguito: - Next Header: (8 bit) indica lʹintestazione successiva, e contiene gli stessi valori del campo omonimo nellʹintestazione principale di IPv6; - Lunghezza: (Length, 8 bit) lunghezza dellʹintestazione di autenticazione, espressa in multipli di 32 bit; - Riservato: (16 bit) deve essere posto a zero; - SPI (Security Parameter Index): (32 bit) indice di sicurezza che è stabilito nella associazione di sicurezza durante l inizializzazione della comunicazione sicura; - Numero di Sequenza: (32 bit) contiene un contatore crescente. È il valore che indica la sequenza di invio del pacchetto. Tale valore è assegnato dall host sorgente al momento della creazione del datagramma ed è incrementato ad ogni pacchetto inviato. Il mittente deve sempre trasmettere questo campo mentre il ricevente non ha bisogno di effettuare particolari azioni su di esso. Il contatore del mittente e del ricevente devono essere inizializzati a zero al momento della creazione di un associazione di sicurezza (il primo pacchetto Pagina 23 di 189

trasmesso utilizzando una certa SA avrà il Sequence Number pari a 1). Previene da replay attack; - Dati di Autenticazione: Authentication Data (campo di lunghezza variabile, dipendente dalla funzione di autenticazione selezionata) contiene un valore di controllo di integrità (ICV, Integrity Check Value), di dimensione pari a un multiplo intero di 32 bit che può contenere un padding per allineare lʹintestazione a 64 bit. Tutti gli algoritmi di autenticazione devono provvedere questa capacità. Tale campo è opzionale ed è incluso solo se è stato selezionato un servizio di autenticazione per la SA in questione. Modalità di incapsulamento AH supporta nativamente sia il Transport mode che il Tunnel mode: Modalità Trasporto. Questa modalità è utilizzabile solo per comunicazioni tra host singoli che supportino lʹautenticazione. Nel Transport Mode lʹah fornisce protezione al datagram proveniente dal livello superiore (TCP, UDP, etc ) Il formato del datagramma con AH in Transport Mode è mostrato nella figura seguente (in giallo è indicato il pacchetto originale): IP Header AH Header TCP Header DATI Figura 1.7: Formato del pacchetto con AH in Transport Mode Modalità Tunnel. In questa modalità lʹah fornisce protezione allʹintero datagramma IP. Il pacchetto IP originale viene incapsulato in un nuovo pacchetto IP, dopo essere stato elaborato da AH. LʹHeader IP originale è incapsulato ed è posto un Header IP esterno, per consentire il trasporto del pacchetto. Infatti, poiché l Header IP contiene l indirizzo destinazione, eventuali direttive di routing ed informazioni sulle opzioni hop by hop, non è possibile trasmettere semplicemente il pacchetto IP cifrato preceduto dall Header AH, quindi, è necessario incapsulare l intero blocco (Header AH più lʹintero pacchetto IP cifrato) con un nuovo Header IP che conterrà informazioni sufficienti per il routing ma non per l analisi del traffico. Questa modalità può essere utilizzata sia per comunicazioni tra host singoli che con un gateway di sicurezza. Infatti, mentre la modalità trasporto si adatta bene a proteggere connessioni tra host che supportano l AH, la modalità tunnel è Pagina 24 di 189

utile per le configurazioni che includono un firewall o gateway di sicurezza che proteggono una rete privata da reti esterne. In quest ultimo caso, la cifratura è necessaria solo tra un host esterno ed il gateway di sicurezza, oppure fra due gateway di sicurezza. Questo alleggerisce gli host della rete interna dal carico di lavoro della cifratura e semplifica anche il processo di distribuzione delle chiavi riducendo il numero delle chiavi richieste. Il formato del datagramma con AH in Tunnel Mode è mostrato nella figura seguente (in giallo è indicato il pacchetto originale): IP Header Esterno AH Header IP Header TCP Header Dati Figura 1.8: Formato del pacchetto con AH in Tunnel Mode Un alterazione del payload del messaggio originale (che viaggia in chiaro) verrebbe subito rilevata dal destinatario in quanto il pacchetto interno non sarebbe più autenticato (i dati di autenticazione contengono un hash crittografico dell intero pacchetto). Il protocollo AH è progettato per proteggere lʹintero pacchetto IP inviato. Infatti, dal punto di vista della protezione, in entrambi i casi, i pacchetti sono autenticati completamente, ad eccezione dei campi variabili dell intestazione IP (Type Of Service, flags, fragment offset, Time To Live, header checksum ed alcune delle opzioni). Questi campi, essendo modificabili dai nodi intermedi, variano durante la trasmissione e perciò non possono essere autenticati. Queste modifiche devono essere necessariamente consentite per esigenze di instradamento del pacchetto. Quindi i dati per lʹautenticazione vengono calcolati escludendo i campi dellʹheader IP che variano durante il tragitto. Tali campi vengono inizializzati a zero sia dalla sorgente che dalla destinazione prima di calcolare la funzione di hash, necessaria per la protezione del pacchetto. Lʹesclusione di questi campi comunque non influenza la sicurezza. Il protocollo AH è incompatibile con le varie tecniche di NAT, infatti, poiché, in entrambe le modalità, vengono alterati i campi indirizzo nellʹheader IP, in ricezione la checksum fallisce. Pagina 25 di 189

1.4.4 Encripted Security Payload L ESP, Encripted Security Payload è un protocollo che fa parte della suite IPsec ed è progettato per fornire: Integrità. ESP fornisce un controllo di integrità sul pacchetto; Autenticazione. ESP verifica dellʹautenticità del mittente; Confidenzialità. ESP fornisce protezione dallʹanalisi del traffico del messaggio. Inoltre ESP fornisce rotezione contro i replay attack. LʹESP, diversamente da AH, non è costituito da un unico header che precede le informazioni da proteggere, ma è costituito da tre blocchi che delimitano i dati protetti. I campi dei tre blocchi, insieme ai dati protetti, costituiscono lʹheader ESP. Contrariamente ad AH, lʹheader IP non viene coperto dai controlli. Infatti, in ESP l autenticazione non riguarda il contenuto dell intestazione IP del pacchetto che viene trasmesso tra Security Gateway, ma solo il datagramma originale con l aggiunta dello stesso ESP header. Il controllo di integrità e autenticità viene eseguito tramite HMAC (funzioni di hash). Lʹhash viene calcolato tramite una funzione di hash (MD5 o SHA1), utilizzando una chiave condivisa. Lʹhash ottenuto viene allegato al messaggio e inviato. In ricezione viene controllata lʹintegrità del messaggio. I pacchetti in uscita vengono incapsulati per intero all interno del campo payload del pacchetto ESP, utilizzando se necessario anche un campo padding. Il risultato viene crittografato utilizzando la chiave, l algoritmo crittografico e la modalità di applicazione dell algoritmo indicati dalla rispettiva SA. Gli algoritmi di cifratura usati possono essere: Data Encryption Standard (DES), 3DES, AES e Blowfish [3]. ESP supporta sia il Tunnel mode che il Transport mode come per AH. Formato del Pacchetto ESP Un pacchetto cifrato ha una struttura del tipo di quella mostrata in figura (in rosso sono indicati i dati cifrati): Pagina 26 di 189

8 bit 8 bit 8 bit 8 bit SPI (Security Parameter Index) Numero di Sequenza Vettore di Inizializzazione Carico (Payload) Padding Lunghezza Padding Dati di Autenticazione Padding Tipo di carico Figura 1.9: IPSec Formato del datagramma ESP La spiegazione del significato dei vari campi del datagramma è riportato di seguito: - SPI (Security Parameter Index): (32 bit) indice di sicurezza che è stabilito nella associazione di sicurezza durante l inizializzazione della comunicazione sicura (questo campo è uguale a quello presente nell Authentication Header); - Numero di Sequenza: (32 bit) contiene un contatore crescente. È il valore che indica la sequenza di invio del pacchetto, previene da replayattack; - Vettore di Inizializzazione: Se l algoritmo di cifratura utilizzato per cifrare i dati richiede l utilizzo di un vettore di inizializzazione (IV), questo può essere inglobato nel campo Payload Data. L algoritmo di cifratura deve specificare la lunghezza di tale informazione. Ci sono due modi per utilizzare l IV all interno del campo Payload Data: - Il ricevente considera l IV come la parte iniziale del testo cifrato utilizzandolo nell algoritmo direttamente; - Il ricevente legge l IV separatamente dal testo cifrato. In questo caso le specifiche dell algoritmo devono indicare come effettuare l allineamento del testo cifrato. - Carico (Payload): (campo di lunghezza variabile) contiene i dati del pacchetto protetti da cifratura. Tale campo è obbligatorio. Pagina 27 di 189

- Padding: (campo di lunghezza variabile tra 0 e 255 byte), è un campo di riempimento. Il Padding è richiesto da alcuni fattori: - Alcuni codici di cifratura lavorano su blocchi di lunghezza fissa. Serve a far crescere la dimensione dei dati fino a divenire multiplo del blocco che lʹalgoritmo in uso riesce a gestire; - Alcuni algoritmi di decifratura richiedono che il messaggio cifrato sia seguito da zeri; - Può essere necessario per ragioni di allineamento dei campi successivi; - Può essere utilizzato per allungare arbitrariamente il pacchetto, per confondere lʹanalisi del traffico. - Lunghezza Padding: (8 bit) Pad Length indica il numero di byte di padding (presenti nel campo precedente). L intervallo dei valori validi è da 0 a 255, dove il valore 0 indica che non ci sono byte di padding. Il campo pad length è obbligatorio; - Tipo di carico: (8 bit) identifica il tipo di dati contenuto nel campo Payload data; - Dati di Autenticazione: Authentication Data (campo di lunghezza variabile) Contiene i dati usati per autenticare il pacchetto. Tutti i campi sono in chiaro fino al vettore di inizializzazione, il resto è crittografato. Se è richiesta anche l autenticazione, la trasformazione crittografica deve essere effettuata senza comprendere il campo Authentication Data, quindi solo i campi di Payload, (l eventuale) Padding, Lunghezza Padding e Next Header saranno cifrati. In caso di frammentazione lʹesp è processato prima della frammentazione e dopo il riassemblaggio. Modalità di incapsulamento Essendo un protocollo per il trasferimento dati della suite IPsec, ESP supporta sia il Tunnel mode che il Transport mode: Modalità Trasporto. LʹESP header in questa modalità, è inserito nel pacchetto IP immediatamente prima dellʹheader del protocollo di livello di trasporto. In questo modo si risparmia banda di trasmissione perchè non ci sono header o Pagina 28 di 189

opzioni IP cifrate. richieste. Il formato del datagramma con ESP in Trasport Mode è mostrato nella figura seguente (in arancione è indicata la parte di pacchetto che viene sottoposta a controllo di autenticità e integrità; in rosso sono indicate le zone di pacchetto che vengono protette anche tramite algoritmi crittografici): IP Header ESP Header TCP Header Dati ESP Trailer Figura 1.10: Formato del pacchetto con ESP in Transport Mode ESP Auth Modalità Tunnel. Il pacchetto IP è contenuto nella parte cifrata dellʹesp e lʹintero ESP è contenuto in un pacchetto avente headers IP in chiaro. Questi header sono usati per instradare il pacchetto dalla sorgente alla destinazione. richieste. Il formato del datagramma con ESP in Tunnel Mode è mostrato nella figura seguente (in arancione è indicata la parte di pacchetto che viene sottoposta a controllo di autenticità e integrità; in rosso sono indicate le zone di pacchetto che vengono protette anche tramite algoritmi crittografici): IP Header esterno ESP Header IP Header TCP Header Dati Figura 1.11: Formato del pacchetto con ESP in Tunnel Mode ESP Trailer ESP Auth Lʹindirizzo IP più esterno non viene coperto dal controllo di integrità. Tale opzioni rende il protocollo ESP adatto ad essere utilizzato in alcuni tipi di NAT, in particolare in quelli statici. Tuttavia esistono soluzioni ad hoc per il funzionamento congiunto di IPsec e NAT come il NAT Traversal. 1.4.5 Network Address Translation Il NAT Network Address Translation è una tecnica utilizzata per il riutilizzo degli indirizzi IP. Questo protocollo viene implementato dai router di frontiera, connessi sia con la rete privata che con quella pubblica. Tale router ha almeno due indirizzi, uno privato, con il quale è riconosciuto all interno della rete privata, e uno pubblico con il quale può essere raggiunto dalla rete pubblica. Il NAT modifica i pacchetti che della rete privata devono accedere alla rete pubblica. Tale modifica consiste nell inserimento l indirizzo pubblico del Pagina 29 di 189

router in luogo dell indirizzo privato dell host sorgente nel campo Source IP Address dell intestazione del pacchetto. In questo modo i pacchetti che dalla rete pubblica sono diretti all host privato saranno destinati al router stesso che, tenendo memoria delle precedenti richieste, inoltrerà all host ricevente i pacchetti ricevuti in risposta al flusso uscente. Risulta evidente che questa soluzione non permette a due reti private geograficamente distanti, connesse alla rete pubblica, di comunicare tra loro. Questo problema può essere superato in parte grazie all utilizzo delle Virtual Private Network (VPN). Tuttavia gli host dietro un router (o un firewall) che effettua operazioni di NAT non godono di connettività end to end. Il NAT modifica degli header del pacchetto e ciò è in contrasto con IPsec che ha tra le sue funzionalità il controllo dellʹintegrità del pacchetto. In particolare il NAT è incompatibile con AH sia in tunnel mode che in transport mode, in quanto AH verifica lʹintegrità di tutto il pacchetto IP. L ESP in Tunnel mode o in Transport mode non copre invece lʹheader IP con controlli, per cui risulta adatto nel caso in cui il NAT eseguito sia di tipo SNAT. Quindi la modifica apportata dal router deve coinvolgere solamente lʹheader IP e non anche la porta del livello superiore. Il NAT ha problemi di compatibilità anche con IKE e soprattutto in main mode. Il main mode usato congiuntamente al metodo delle preshared keys richiede lʹautenticazione degli host coinvolti nella comunicazione e tale autenticazione prevede un controllo sugli indirizzi IP. Lʹalterazione dellʹindirizzo da parte di un dispositivo che effettua il NAT provoca quindi il fallimento dellʹautenticazione. In questi casi, viene utilizzato il NAT Traversal (NAT T). Di seguito viene indicato il formato del pacchetto ESP in Tunnel Mode che subisce la modifica tramite NAT T (in arancione è indicata la parte di pacchetto che viene sottoposta a controllo di autenticità e integrità; in rosso sono indicate le zone di pacchetto che vengono protette anche tramite algoritmi crittografici; in verde sono indicati i campi di NAT T): IP Header esterno ESP Header IP Header TCP Header Dati ESP Trailer ESP Auth IP Header esterno UDP Header NAT T Header ESP Header IP Header TCP Header Dati Figura 1.12: Pacchetto ESP in Tunnel Mode con incapsulamento UDP ESP Trailer ESP Auth Pagina 30 di 189