Introduzione
V
alla progressiva affermazione delle reti, sia pubbliche che private, basate sul protocollo
IP. La scelta di creare una rete di tipo Everything-over-IP favorisce lo sviluppo e
l’introduzione di nuovi servizi, riduce i costi delle comunicazioni ma fa nascere nuove
problematiche quali il controllo di accesso alla rete, la gestione della mobilità, la
garanzia della QoS (qualità del servizio), l’ottimizzazione delle risorse e nuovi pericoli
per la sicurezza. Devono, quindi, essere garantiti sistemi di autenticazione e di
autorizzazione, cioè sistemi che permettano di verificare che un utente o un server sia
chi dice di essere e che verifichino che un utente possa usufruire di un determinato
servizio; deve essere garantita l’integrità dei dati, cioè non deve essere possibile che i
dati scambiati vengano corrotti nel percorso che va dal mittente al destinatario; infine la
confidenzialità, cioè la riservatezza dei dati ovvero l’impossibilità per un utente non
autorizzato ad accedere alle informazioni trasmesse. Inoltre, bisogna anche considerare
l’impatto della sicurezza sulle prestazioni della rete. In questo lavoro di tesi si è
affrontato il problema della gestione delle chiavi di gruppo per un servizio di
conference, in particolare per un modello sviluppato nel sottosistema IMS, allo scopo di
fornirne una possibile soluzione. Al fine di acquisire gli strumenti per costruire uno
schema di group key management che rispetti le caratteristiche del servizio per il quale
viene sviluppato (sia legate alla piattaforma nel quale il servizio viene fornito che alla
sua natura multimediale) e gli obiettivi di sicurezza per il quale viene implementato,
sono stati affrontati i seguenti argomenti: sicurezza, IMS e gestione delle chiavi.
In particolare, nel primo capitolo, dedicato al tema della sicurezza nelle reti, è stata
trattata la crittografia nelle sue due tipologie, simmetrica e asimmetrica o a chiave
pubblica, analizzandone pregi e difetti e possibilità di impiego. Abbiamo parlato,
Introduzione
VI
inoltre, della firma digitale come mezzo per sostituire la firma “a mano”, dei
meccanismi per l’autenticazione dei messaggi e della funzione di hash come mezzi di
protezione contro gli attacchi attivi (falsificazione delle transazioni, alterazione dei dati)
per i quali la semplice crittografia non basta. Inoltre sempre nel primo capitolo si è visto
dove collocare i meccanismi di sicurezza nella rete e quali sono i protocolli più diffusi
per conseguire gli obiettivi di sicurezza in una rete IP ai diversi livelli della pila
ISO\OSI: IPsec, TLS\SSL, SRTP, HTTPS, http digest.
Nel secondo capitolo viene analizzato l’IMS (IP Multimedia Subsystem) che è una
struttura basata su IP che eroga servizi di tipo multimediale. Vengono spiegati i motivi
per cui è stata introdotta e ne viene descritta l’architettura. L’IMS unisce Internet e la
telefonia mobile, facilita l’introduzione e l’integrazione dei servizi, permette una
contrattazione della QoS (Quality of Service) tra gli operatori e gli utenti e fornisce agli
operatori la possibilità di applicare dei meccanismi di tariffazione dipendenti dal tipo di
servizio, dalla QoS richiesta, dalla quantità di dati scambiati o dalla durata della
connessione. Viene poi descritto il protocollo per la segnalazione scelto dall’IMS: il SIP
(Session Initiation Protocol) [1]. Le ragioni di tale scelta sono molto pratiche: la forte
somiglianza con il protocollo HTTP (HyperText Transfer Protocol), dal quale riprende
molti concetti, e la codifica dei messaggi basata sul testo. Inoltre, presenta altre
caratteristiche interessanti come la rapida programmabilità, la semplicità di debugging e
la capacità di supportare script. Ulteriori vantaggi del SIP sono l’estensibilità, nel senso
che è prevista la possibilità di introdurre nuovi metodi che non devono necessariamente
essere riconosciuti da tutte le unità SIP della rete, e la flessibilità dato che SIP non
impone alcun vincolo sull’architettura, sugli scenari di sviluppo e sui modi d’impiego.
Introduzione
VII
Viene descritto dettagliatamente anche l’SDP (Session Description Protocol), protocollo
progettato per comunicare ai partecipanti di una sessione le informazioni riguardo alle
caratteristiche della stessa necessarie per parteciparvi. Oltre alla descrizione della
architettura dell’IMS, ne viene affrontato anche il problema della sicurezza.
Nel terzo capitolo, viene offerta una panoramica sul group key management e sui
protocolli di key management centralizzati e distribuiti più comunemente utilizzati.
Nel quarto capitolo, vengono presentate alcune delle più interessanti soluzioni di group
key management tratte dalla letteratura con particolare riguardo all’applicabilità al
sottosistema IMS e quindi al protocollo SIP.
Nel quinto capitolo, infine, abbiamo presentato la nostra procedura per lo scambio delle
chiavi. Particolare attenzione è stata riservata alla segnalazione scambiata tra i terminali
utenti e i vari nodi del sottosistema IMS per la creazione del servizio di conferenza, dato
che proprio tali messaggi sono stati utilizzati per trasferire, all’interno di appositi campi
xml, le informazioni relative al contesto crittografico.
1
1.1 Introduzione
Il termine generico usato per indicare l’insieme degli strumenti finalizzati alla
protezione dei dati ed a contrastare i pirati informatici è “sicurezza dei computer”.
Prima della diffusione dei computer, la sicurezza delle informazioni ritenute preziose da
un’azienda veniva garantita ricorrendo a sistemi fisici, come armadietti dotati di
lucchetto con combinazione. Successivamente, con la diffusione dei computer, si è
passato all’uso di strumenti automatizzati per proteggere i file e altre informazioni
memorizzate.
Ma il più importante cambiamento nell’ambito della sicurezza si è avuto con
l’introduzione dei sistemi distribuiti e con l’uso delle reti di telecomunicazioni per
Capitolo
1
SICUREZZA NELLE
RETI
Capitolo 1 Sicurezza nelle reti
2
trasportare dati tra terminali e computer. In quest’ultimo caso, si sono rese necessarie
delle misure di “sicurezza di rete” per proteggere i dati durante la loro trasmissione e
per garantire l’autenticità dei dati trasmessi. In particolare, garantire la sicurezza della
rete è un compito esteso ad ogni strato dello stack TCP/IP, ciascuno dei quali fornisce il
suo contributo: nello strato fisico le intercettazioni possono essere evitate racchiudendo
le linee di trasmissione in tubi sigillati contenenti gas ad alta pressione, in modo che un
eventuale tentativo di allacciarsi alla linea, forando il tubo, provochi la fuoriuscita del
gas e la riduzione della pressione interna al tubo, facendo scattare un allarme; nello
strato del link si può ricorrere alla crittografia dei pacchetti che, lasciando un nodo,
devono attraversare un link ed entrare in un altro nodo; nello strato di rete si possono
installare dei firewall, per tenere i pacchetti buoni e scartare gli altri, e si ricorre alle
funzionalità di sicurezza IP; nello strato del trasporto si ricorre alla crittografia end-to-
end; infine altre problematiche, quali autenticazione e non ripudio, possono essere
gestite al livello applicazione.
La sicurezza delle reti e dei calcolatori deve rispettare quattro principali esigenze:
• Segretezza o confidenzialità: assicura che l’informazione immessa in rete venga
negata ad utenti non autorizzati a riceverla, vederla o leggerla.
• Autenticazione: assicura che tutte le entità coinvolte in una comunicazione siano
in effetti chi dichiarano di essere. L’autenticazione consente di stabilire la
veridicità dell’identità della persona con la quale si sta comunicando prima di
rivelare a questa informazioni importanti; ad esmpio, l’autenticazione del server
consente agli utenti di verificare di essere effettivamente in comunicazione con
Capitolo 1 Sicurezza nelle reti
3
il sito Web con cui sono convinti di essere connessi, mentre l’autenticazione del
client assicura che quest’ultimo sia proprio chi dichiara di essere.
• Integrità: assicura che il contenuto di un messaggio non abbia subito delle
modifiche dall’istante in cui è stato spedito. In questo modo solo le entità
autorizzate possono modificare (ad es. cancellare, scrivere, creare) il contenuto
di un messaggio. In caso di alterazione del messaggio durante la trasmissione, il
sistema di sicurezza deve assolutamente essere in grado di scoprirla e notificarla:
in molti sistemi, quando viene riscontrata una alterazione, il sistema di ricezione
impone la ritrasmissione del messaggio.
• Non ripudio o non disconoscimento: serve per garantire che una parte coinvolta
in una transazione non possa poi in seguito falsamente dichiarare di non aver
mai partecipato alla transazione stessa; nel mondo reale questa funzione è svolta
dalle firme apposte a mano in calce ai documenti.
1.2 Tipologie di attacchi alla sicurezza
Gli attacchi alla sicurezza possono essere classificati in due gruppi:
• Gli attacchi passivi hanno la stessa natura delle intercettazioni o dei monitoraggi
delle trasmissioni. L’intento dell’incursore è quello di ottenere informazioni
associate ad una trasmissione, il cosiddetto “sniffing”. Gli attacchi passivi
possono essere di due tipi :
1. Analisi del contenuto dei messaggi: una conversazione telefonica, una e-
mail, un file scambiato tra due utenti possono contenere informazioni
Capitolo 1 Sicurezza nelle reti
4
significative o riservate di cui l’utente malevolo vorrebbe venire a
conoscenza.
2. Analisi del traffico: l’incursore, non potendo conoscere il contenuto dei
messaggi, perché cifrati, si limita ad osservare il tipo di messaggi
scambiati, ad individuare la posizione e l’identità dei terminali
comunicanti e a misurare la frequenza e la lunghezza dei messaggi
scambiati.
Gli attacchi passivi sono molto difficili da rilevare perché non comportano
alcuna alterazione dei dati; tuttavia è più facile prevenirli, ragion per cui si
preferisce ricorrere alla prevenzione piuttosto che rilevarne la presenza.
• Gli attacchi attivi riguardano l’alterazione dei dati trasmessi o la generazione di
trasmissioni false. Ne esistono di diversi tipi:
1. Interruzione: l’intruso intercetta un flusso di dati proveniente da una
sorgente S e destinati a D, lo cattura e termina egli stesso, in modo
apparentemente corretto, la comunicazione con S. Il destinatario, di
conseguenza, non riceverà mai le informazioni!
2. Modifica: è il cosiddetto attacco Man In-The-Middle, con il quale una
entità si inserisce tra sorgente e destinazione allo scopo di modificare e/o
danneggiare i dati.
3. Sostituzione (Spoofing): una data entità finge di essere un’altra entità allo
scopo di usufruire di servizi privilegiati o supplementari.
4. Dirottamento della sessione (Session Hijacking): si ha quando
l’avversario utilizza sia lo sniffing che lo spoofing (ossia intercetta e si
Capitolo 1 Sicurezza nelle reti
5
spaccia per qualcun altro) per inserirsi in una comunicazione già stabilita
e fingersi una delle entità comunicanti, magari effettuando prima una
interruzione con uno dei partecipanti.
5. Attacchi a replica (Replay attack): consiste in una cattura passiva di unità
di dati, come una sequenza di autenticazione, e la sua successiva
ritrasmissione magari in una diversa sessione.
6. Negazione del servizio (DoS, Denial-of-service): questo tipo di attacco
consiste nella creazione di una tale mole di lavoro per le infrastrutture
collegate, da rendere impossibile, da parte degli utenti legittimi, l’uso di
un server o altre parti della rete e quindi l’esplicazione di un servizio.
Questo genere di attacchi si basa su continue e fittizie richieste di servizi
al server aggredito, la cui velocità di risposta può non essere sufficiente a
gestire tutti i pacchetti dati da generare.
1.3 La crittografia
La tecnica universale che viene usata per assicurare la riservatezza dei dati trasmessi è
nota come crittografia. La crittografia è il complesso delle tecniche che consentono di
trasformare, “cifrare”, un testo “in chiaro” in un testo codificato e viceversa. I sistemi di
crittografia sono chiamati anche sistemi di cifratura. In uno schema convenzionale di
crittografia le parole chiave sono:
• Testo in chiaro: sono i messaggi originali posti in ingresso all’algoritmo di
cifratura;il termine originale è “plaintext” e nel seguito verrà indicato con “p”;