Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim...
Transcript of Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim...
8-1
Reti di calcolatori e Internet: Un approccio top-down
3a edizione
Jim Kurose, Keith RossPearson Education Italia
©2005
Capitolo 8La sicurezza nelle reti
8-2
Obiettivi: ❒ Identificare le proprietà per una comunicazione sicura:
❍ Tecniche crittografiche ❍ Autenticazione❍ Integrità del messaggio❍ Distribuzione delle chiavi
❒ Sicurezza in pratica:❍ Firewall❍ Sicurezza a seconda dello specifico livello (applicazione,
trasporto, rete o collegamento)
Capitolo 8: La sicurezza nelle reti
8-3
Capitolo 8 La sicurezza nelle reti
8.1 Sicurezza di rete8.2 Principi di crittografia8.3 Autenticazione8.4 Integrità8.5 Distribuzione e certificazione delle chiavi8.6 Controllo dell’accesso: firewall8.7 Attacchi e contromisure8.8 La sicurezza ai diversi livelli
8-4
Sicurezza nella comunicazione
Riservatezza: solo mittente e destinatario devono comprendere il contenuto del messaggio
❍ Inviare messaggi cifrati❍ Ricevere il codice di decifratura
Autenticazione: mittente e destinatario devono essere sicuri della loro identità
Integrità del messaggio: mittente e destinatario devono essere sicuri che il contenuto non subisca alterazioni durante la trasmissione (per cause fortuite o per manipolazioni)
Disponibilità e controllo dell’accesso: un servizio deve essere accessibile a chi è legittimamente autorizzato.
8-5
Mittente, ricevente e intruso: Alice, Roberto e Tommaso❒ Scenario ben noto nel mondo della sicurezza di rete❒ Roberto e Alice vogliono comunicare in modo sicuro❒ Tommaso (l’intruso) può intercettare, rimuovere, aggiungere
messaggi o modificare il loro contenuto
Mittente sicuro
Riceventesicuro
canale messaggi di controllo e dati
dati dati
Alice Roberto
Tommaso
8-6
Chi sono Alice e Roberto?
Nella vita reale Alice e Roberto possono essere:❒ browser/server Web ❒ client/server di banche on-line❒ server DNS❒ router❒ altro
8-7
Là fuori ci sono “cattivi” ragazzi (e ragazze) D: Cosa può fare un nemico?R: Molto!
❍ spiare: intercettare i messaggi❍ aggiungere messaggi e sovraccaricare il sistema❍ impersonare un altro soggetto ❍ dirottare una sessione in corso e sostituirsi al mittente o
al destinatario ❍ negare il servizio
E molto altro ancora! ……
8-8
8.1 Sicurezza di rete8.2 Principi di crittografia8.3 Autenticazione8.4 Integrità8.5 Distribuzione e certificazione delle chiavi8.6 Controllo dell’accesso: firewall8.7 Attacchi e contromisure8.8 La sicurezza ai diversi livelli
Capitolo 8 La sicurezza nelle reti
8-9
Principi di crittografia
Sistemi a chiave simmetrica: le chiavi del mittente e del destinatario sono identiche
Sistemi a chiave pubblica: la chiave di cifratura è pubblica; la chiave di decifratura è privata
Testo in chiaro
Testo in chiaro
Testo cifrato
KA
Algoritmo di cifratura
Algoritmo di decifratura
KB
8-10
Crittografia a chiave simmetrica Algoritmo di cifratura: sostituzione di un messaggio in
chiaro con uno codificato❍ Cifrario di Cesare: sostituzione “sfasata” di k posti nell'alfabeto
Lettere in chiaro: abcdefghijklmnopqrstuvwxyz
Lettere cifrate: fghijklmnopqrstuvwxyzabcde
❍ Cifrario monoalfabetico: sostituzione di una lettera con un’altra
Lettere in chiaro: abcdefghijklmnopqrstuvwxyz
Lettere cifrate: mnbvcxzasdfghjklpoiuytrewq
Testo in chiaro: bob. i love you. alice
Testo cifrato: nkn. s gktc wky. mgsbcesempio
8-11
Crittografia a chiave simmetrica ❍ Cifrario polialfabetico: occorrenze di una stessa lettera vengono
sostituite in modo diverso a seconda della posizioneLettere in chiaro: abcdefghijklmnopqrstuvwxyzC1 (k=5): fghijklmnopqrstuvwxyzabcdeC2 (k=19): tuvwxyzabcdefghijklmnopqrs
Utilizziamo la sequenza C1 C2 C2 C1 C2
Testo in chiaro: Roberto, ti amo.
Testo cifrato: whujkyh, mn trh
esempio
D: Come violare questo sistema di cifratura?: con un attacco a “forza bruta” (ma quanto bruta?) altri sistemi?
Notate che le due “r” di Roberto sono codificate conlettere diverse: “w” e “u”.
8-12
Crittografia a chiave simmetrica: Alice e Roberto utilizzano la stessa chiave: K
❒ es: la chiave è un pattern di sostituzione monoalfabetico❒ D: come fanno Roberto e Alice a concordare la chiave?
Testo in chiaroTesto cifrato
KA-B
Algoritmo di cifratura
Algoritmo di decifratura
A-B
KA-B
Testo in chiaromessaggio, m K (m)A-B
K (m)A-Bm = K ( ) A-B
Crittografia a chiave simmetrica
8-13
Crittografia a chiave simmetrica: DESDES: Data Encryption Standard ❒ Standard codificato e aggiornato dall’U.S. National Bureau of
Standards [NIST 1993]❒ La lunghezza effettiva della chiave è di 56 bit ❒ Ma quanto è sicuro DES?
❍ DES Challenge: nel 1997, durante un concorso, la frase “Strong cryptography makes the world a safer place” fu individuata in meno di 4 mesi
8-14
AES: Advanced Encryption Standard
❒ Nel novembre 2001 NIST ha annunciato il sostituto di DES: AES.
❒ Opera con chiavi a 128, 192 e 256 bit❒ Si stima che un calcolatore può individuare
una chiave DES a 56 bit in 1 sec.; invece per violare una chiave AES a 128 bit ci impiegherebbe 149 miliardi di anni.
8-15
Crittografia a chiave pubblica
Crittografia a chiave simmetrica
❒ Richiede che mittente e destinatario condividano una chiave segreta
❒ D: come si concorda la chiave (specialmente se i due interlocutori non si sono mai “incontrati”)?
Crittografia a chiave pubblica
❒ approccio radicalmente diverso [Diffie-Hellman76, RSA78]
❒ mittente e destinatario non condividono una chiave segreta
❒ la chiave di cifratura pubblica è nota a tutti
❒ la chiave di cifratura privata è nota solo al destinatario
8-16
Crittografia a chiave pubblica
Messaggioin chiaro, m
Testo cifratoAlgoritmodi cifratura
Algoritmodi decifratura
Chiave pubblica
Messaggioin chiaro, mK (m)B
+
K B+
Chiave Privata
K B-
m = K (K (m))B+
B-
8-17
Algoritmi di cifratura a chiave pubblica
K ( ) e K ( ) tale cheB B. .
data la chiave pubblica K , deve essere impossibile calcolare la chiave privata K B
B
Requisiti:
1
2
Algoritmo RSA: acronimo derivato dal nome dei suoi autori: Rivest, Shamir e Adelson
+ -
K (K (m)) = m BB- +
+
-
8-18
RSA: scelta delle chiavi1. Scegliere due numeri primi di valore elevato: p, q. (es.: 1024 bit ciascuno)
2. Calcolare n = pq, z = (p-1)(q-1)
3. Scegliere e (con e<n) tale che non abbia fattori in comune con z. (e, z sono “relativamente primi”).
4. Scegliere d tale che ed-1 sia esattamente divisibile per z. (in altre parole: ed mod z = 1 ).
5. La chiave pubblica è (n,e), quella privata è (n,d).
K B+ K B
-
8-19
RSA: cifratura, decifratura0. Dati (n,e) e (n,d) calcolati come abbiamo appena visto,
1. Per la codifica, m, si calcolac = m mod ne
2. Per decifrare il messaggio ricevuto, c, si calcolam = c mod nd
m = (m mod n)e mod ndIncredibile!c
8-20
Un esempio di RSA:Roberto sceglie p=5, q=7. Poi n=35, z=24.
e=5 (così e, z sono relativamente primi).d=29 (così ed-1 è esattam. divisibile per z).
lettera m me c = m mod ne
l 12 1524832 17
c m = c mod nd17 481968572106750915091411825223071697 12
cd letteral
cifratura:
decifratura:
8-21
RSA: un’altra importante proprietà
La seguente proprietà sarà molto utile più avanti:
K (K (m)) = m BB- +
K (K (m)) BB+ -
=
Si usa prima la chiave pubblica,
e poi quella privata
Si usa prima la chiave privata, e
poi quella pubblica
Il risultato non cambia!
8-22
8.1 Sicurezza di rete8.2 Principi di crittografia8.3 Autenticazione8.4 Integrità8.5 Distribuzione e certificazione delle chiavi8.6 Controllo dell’accesso: firewall8.7 Attacchi e contromisure8.8 La sicurezza ai diversi livelli
Capitolo 8 La sicurezza nelle reti
8-23
AutenticazioneObiettivo: Roberto vuole che Alice gli “dimostri” la
sua identità
Protocollo ap1.0: Alice dice “Sono Alice”
Scenario con fallimento??“Sono Alice”
8-24
AutenticazioneObiettivo: Roberto vuole che Alice gli “dimostri” la
sua identità
Protocollo ap1.0: Alice dice “Sono Alice”
in una rete,Roberto non può “vedere” Alice, e
Tommaso può semplicemente
autenticarsi come Alice
“Sono Alice”
8-25
Autenticazione: un altro tentativo
Protocollo ap2.0: Alice dice “Sono Alice” in un pacchetto IPche contiene il suo indirizzo IP sorgente
Scenario con fallimento??
“Sono Alice”Indirizzo IP
di Alice
8-26
Autenticazione: un altro tentativo
Protocollo ap2.0: Alice dice “Sono Alice” in un pacchetto IPche contiene il suo indirizzo IP sorgente
Tommaso può creare un
pacchetto che imital’indirizzo di Alice
(spoofing)
“Sono Alice”Indirizzo IP
di Alice
8-27
Autenticazione: un altro tentativo
Protocollo ap3.0: Alice dice “Sono Alice” e invia la sua password segreta per “dimostrarlo”
Scenario con fallimento??
“Sono Alice”Indir. IPdi Alice
Passworddi Alice
OKIndir. IPdi Alice
8-28
Autenticazione: un altro tentativo
attacco di replica: Tommaso registra
il pacchetto di Alicee lo riproduce
successivamente trasmettendolo
a Roberto
“Sono Alice”Indir. IPdi Alice
Passworddi Alice
OKIndir. IPdi Alice
“Sono Alice”Indir. IPdi Alice
Passworddi Alice
Protocollo ap3.0: Alice dice “Sono Alice” e invia la sua password segreta per “dimostrarlo”
8-29
Autenticazione: ancora un altro tentativo
Protocollo ap3.1: Alice dice “Sono Alice” e invia la sua password segreta criptata per “dimostrarlo”.
Scenario con fallimento??
“Sono Alice”Indir. IPdi Alice
Passwordcriptata
OKIndir. IPdi Alice
8-30
Autenticazione: ancora un altro tentativo
Protocollo ap3.1: Alice dice “Sono Alice” e invia la sua password segreta criptata per “dimostrarlo”.
Registrazione eriproduzionefunzionano
ancora!
“Sono Alice”Indir. IPdi Alice
Passwordcriptata
OKIndir. IPdi Alice
“Sono Alice”Indir. IPdi Alice
Passwordcriptata
8-31
Autenticazione: ancora un altro tentativoObiettivo: evitare un attacco di replica (playback attack)
Attacco fallito?
Nonce: è un numero (R) che verrà usato soltanto una volta.
Protocollo ap4.0: Alice manda il messaggio “Sono Alice”, Roberto sceglie e manda ad Alice un nonce, R. Alice reinvia il nonce R, criptato utilizzando la chiave simmetrica segreta. “Sono Alice”
R
K (R)A-BSolo Alice
conosce la chiave simmetrica per
decifrare il nonce.
8-32
Autenticazione: protocollo ap.5.0Nel protocollo ap4.0 è stato usato un nonce e la crittografia a chiave
simmetrica ❒ Si può utilizzare la crittografia a chiave pubblica?Protocollo ap5.0: usa un nonce e la crittografia a chiave pubblica
“Sono Alice”R
Roberto calcola
K (R)A-
“Mandami la tua chiave pubblica”
K A+
(K (R)) = RA-K A
+
e autentica Alice
8-33
Protocollo ap.5.0 : un buco nella sicurezzaAttacco man-in-the-middle: Tommaso si finge Alice (nei
confronti di Roberto) e si finge Roberto (nei confronti di Alice)
Sono Alice Sono AliceR
TK (R)-
Mandami la tua chiave pubblica
TK +
AK (R)-
Mandami la tua chiave pubblica
AK +
TK (m)+
Tm = K (K (m))+
T-
Tommaso decifra
e invia m ad Alice criptato con la chiave
pubblica di Alice
AK (m)+
Am = K (K (m))+
A-
R
8-34
Protocollo ap.5.0 : un buco nella sicurezzaAttacco man-in-the-middle: Tommaso si finge Alice (nei
confronti di Roberto) e si finge Roberto (nei confronti di Alice)
Difficile da individuare: Roberto riceve sempre tutti messaggi di Alice, e viceversa (e quindi nulla li fa sospettare di un’intromissione) Il problema è che anche Tommaso riceve benissimo tutti i messaggi!
8-35
8.1 Sicurezza di rete8.2 Principi di crittografia8.3 Autenticazione8.4 Integrità8.5 Distribuzione e certificazione delle chiavi8.6 Controllo dell’accesso: firewall8.7 Attacchi e contromisure8.8 La sicurezza ai diversi livelli
Capitolo 8 La sicurezza nelle reti
8-36
Firma digitale
Tecnica crittografica analoga all’invio di una tradizionale “firma scritta”.
❒ Il mittente (Roberto) firma digitalmente un documento, stabilendo che lui è l’unico proprietario/creatore del messaggio.
❒ Verificabile e non falsificabile: il destinatario (Alice) può dimostrare che Roberto e nessun altro (Alice inclusa) può aver firmato il documento.
8-37
Firma digitaleCreazione della firma digitale di un messaggio, m:❒ Roberto firma un messaggio, m, e lo codifica utilizzando la
sua chiave privata KB, creando così un messaggio “firmato”, KB(m)
Cara Alice,
scusami se non ho potuto scriverti prima ma…
Roberto
Messaggio di Roberto, m
Algoritmodi cifratura
Chiave privataDi Roberto
K B-
Messaggio di Roberto, firmato (e criptato) con la sua
chiave privata
K B-(m)
-
-
8-38
Firma digitale❒ Supponiamo che Alice riceva un messaggio m, con la firma
digitale KB(m)
❒ Alice verifica che m è firmato da Roberto utilizzando la chiave pubblica di Roberto KB a KB(m) e controlla che KB(KB(m) ) = m.
❒ Se KB(KB(m) ) = m, chiunque abbia firmato m deve usare la chiave privata di Roberto.
+ +
-
-
-
+
Alice può verificare che:➼ Roberto ha firmato m. ➼ Nessun altro ha firmato m.➼ Roberto ha firmato m e non m’.
Non-ripudio: Alice può prendere m e la firma KB(m) per dimostrare che
Roberto ha firmato m.
-
-
8-39
Sintesi del messaggioDal punto di vista computazionale,
decifrare messaggi lunghi con crittografia a chiave pubblica risulta oneroso.
Obiettivo elaborare una “impronta digitale”, di lunghezza prefissata, facile da computare
❒ applicare la funzione hash H al messaggio m, e ottenere una sintesi del messaggio, H(m), di lunghezza prefissata.
Proprietà della funzione hash:❒ molti-a-1❒ crea messaggi di dati di
lunghezza prefissata (fingerprint)
❒ Deve essere computazionalmente impossibile trovare due messaggi x e y diversi, tali che H(x) = H(y)
Messaggio lungo
m
H: funzione hash
H(m)
8-40
Messaggiolungo
m
H: funzione hash H(m)
Firmadigitale(cifrata)
Chiave privata
di Roberto
K B-
+
Roberto invia un messaggio con la firma digitale:
Alice verifica la firma e l’integrità del messaggio con la firma digitale:
KB(H(m))-
msg digestcifrato
KB(H(m))-
msg digestcifrato
Messaggiolungo
m
H: funzionehash
H(m)
Firma digitale
(decifrata)
H(m)
Chiavepubblica
di Roberto
K B+
identico ?
Firma digitale = messaggi digest firmati
8-41
Algoritmi per le funzioni hash❒ MD5 è un algoritmo molto utilizzato nella sintesi dei messaggi
(RFC 1321) ❍ Non è ancora stato verificato se MD5 soddisfa i requisiti di
autenticazione.❒ SHA-1 è un altro importante algoritmo di sintesi
❍ Standard federale statunitense [NIST, FIPS PUB 180-1]
8-42
8.1 Sicurezza di rete8.2 Principi di crittografia8.3 Autenticazione8.4 Integrità8.5 Distribuzione e certificazione delle chiavi8.6 Controllo dell’accesso: firewall8.7 Attacchi e contromisure8.8 La sicurezza ai diversi livelli
Capitolo 8 La sicurezza nelle reti
8-43
Intermediario di fiducia
Problema per la crittografia a chiave simmetrica:
❒ Come possono le due parti concordare le chiavi prima di comunicare?
Soluzione:❒ Un centro di distribuzione delle
chiavi (KDC, key distribution center) di fiducia funge da intermediario tra le due entità
Problema per la crittografia a chiave pubblica:
❒ Quando Alice riceve la chiave pubblica di Roberto (attraverso un dischetto, il sito web o via e-mail), come fa a sapere che è veramente la chiave pubblica di Roberto e non, magari, quella di Tommaso?
Soluzione:❒ Autorità di certificazione
(CA, certification authority)
8-44
Centro di distribuzione delle chiavi (KDC)
❒ Alice e Roberto vogliono comunicare protetti dalla crittografia a chiave simmetrica, ma non sono in possesso di una chiave segreta condivisa.
❒ KDC: è un server che condivide diverse chiavi segrete con ciascun utente registrato (molti utenti)
❒ Alice e Roberto conoscono solo la propria chiave individuale,KA-KDC KB-KDC , per comunicare con KDC.
KB-KDC
KX-KDC
KY-KDC
KZ-KDC
KP-KDC
KB-KDC
KA-KDC
KA-KDC
KP-KDC
KDC
8-45
Centro di distribuzione delle chiavi (KDC)
Aliceconosce
R1
Roberto ora sa di dover usare R1 per comunicare
con Alice
Alice e Roberto comunicano usando R1 come chiave di sessione per la cifratura simmetrica condivisa
D: in che modo KDC consente a Roberto e Alice di determinare la chiave segreta simmetrica condivisa per comunicare tra loro? KDC
genera R1
KB-KDC(A,R1)
KA-KDC(A,B)
KA-KDC(R1, KB-KDC(A,R1) )
8-46
Autorità di certificazione❒ Autorità di certificazione (CA): collega una chiave pubblica a
una particolare entità, E.❒ E (persona fisica, router) registra la sua chiave pubblica con
CA.❍ E fornisce una “prova d’identità” a CA. ❍ CA crea un certificato che collega E alla sua chiave pubblica.❍ Il certificato contiene la chiave pubblica di E con firma digitale di CA (CA
dice “questa è la chiave pubblica di E”)
Chiave pubblica di
Roberto K B+
Roberto identifica
l’informazione
Firmadigitale (cifrata)
Chiave privata
di CA K CA-
K B+
Certificato per la chiave pubblica di Roberto,
firmato da CA
8-47
Autorità di certificazione❒ Quando Alice vuole la chiave pubblica di Roberto:
❍ prende il certificato di Roberto❍ applica la chiave pubblica di CA al certificato pubblico di
Roberto e ottiene la chiave pubblica di Roberto
Chiave pubblica di
Roberto K B+
Firmadigitale(cifrata)
Chiave pubblica di
CA K CA+
K B+
8-48
Un certificato contiene:❒ Numero di serie❒ Informazioni sul titolare, compreso l’algoritmo e il
valore della chiave (non illustrato)❒ Informazioni
su chi ha emesso il certificato
❒ Date valide❒ Firma digitale
di chi lo ha emesso
8-49
Capitolo 8 La sicurezza nelle reti
8.1 Sicurezza di rete8.2 Principi di crittografia8.3 Autenticazione8.4 Integrità8.5 Distribuzione e certificazione delle chiavi8.6 Controllo dell’accesso: firewall8.7 Attacchi e contromisure8.8 La sicurezza ai diversi livelli
8-50
Firewall
Struttura hardware e software che separa una rete privata dal resto di Internet e consente all’amministratore di controllare e gestire il flusso di traffico tra il mondo esterno e le risorse interne.
reteprivata
Internet
firewall
8-51
Firewall: perchéPrevenire attacchi di negazione del servizio:
❍ SYN flooding: l’intruso stabilisce molte connessioni TCP fasulle per non lasciare risorse alle connessioni “vere”.
Prevenire modifiche/accessi illegali ai dati interni.❍ es., l’intruso può sostituire l’homepage del MIUR con
qualcos’altro.Consentire solo accessi autorizzati all’interno della rete (una
serie di utenti/host autenticati)Due tipi di firewall:
❍ A livello di applicazione (gateway)❍ A filtraggio dei pacchetti (questo non lo vedremo)
8-52
Gateway
❒ Il filtraggio dei pacchetti consente di effettuare un controllo sulle intestazioni IP e TCP/UDP.
❒ Esempio: permette ai clienti interni (autorizzati) le connessioni Telnet ma impedisce il contrario.
sessione Telnet da host a gateway
sessione Telnetda gateway a hostremoto
gateway di applicazione
router e filtro
1. Tutte le connessioni Telnet verso l’esterno devono passare attraverso il gateway.
2. Il gateway non solo concede l’autorizzazione all’utente ma smista anche le informazioni fra l’utente e l’host.
3. La configurazione del filtro del router blocca tutti i collegamenti eccetto quelli che riportano l’indirizzo IP del gateway.
8-53
Limiti di firewall e gateway
❒ IP spoofing: azione utilizzata per nasconderela vera identità dell’aggressore.
❒ Se più applicazioni necessitano di un trattamento speciale, ciascuna avrà il suo gateway di applicazione.
❒ Il software del client deve sapere come contattare il gateway.
❍ Es. deve impostare l’indirizzo IP del proxy nel browser Web.
❒ Spesso sono configurati secondo una politica “intransigente” senza vie di mezzo, per esempio inibendo tutto il traffico UDP.
❒ Compromesso: grado di comunicazione con il mondo esterno/livello di sicurezza
❒ Numerosi siti con protezioni elevate sono ancora soggetti ad attacchi.
8-54
Capitolo 8 La sicurezza nelle reti
8.1 Sicurezza di rete8.2 Principi di crittografia8.3 Autenticazione8.4 Integrità8.5 Distribuzione e certificazione delle chiavi8.6 Controllo dell’accesso: firewall8.7 Attacchi e contromisure8.8 La sicurezza ai diversi livelli
8-55
Minacce alla sicurezza di InternetMapping:
❍ Prima d’attaccare i malintenzionati raccolgono il maggior numero d’informazioni sugli indirizzi IP, sui sistemi operativi installati e sui servizi offerti.
❍ Usano ping per individuare gli indirizzi IP delle macchine connesse.
❍ Effettuano la scansione delle porte: consiste nel contattare in sequenza i numeri di porta e osservare cosa succede in risposta.
❍ Nmap (http://www.insecure.org/nmap/) è un programma open source impiegato per esplorare le reti.
Quali contromisure?
8-56
Attacchi e contromisureMapping: contromisure
❍ Registrazione del traffico in entrata sulla rete❍ Ricerca di attività sospette (indirizzi IP, porte
scansionate in sequenza)
8-57
Attacchi e contromisureAnalisi dei pacchetti (packet sniffing):
❍ In ambiente broadcast ❍ Se la scheda è impostata in modalità promiscua, riceve
tutti i frame in transito❍ Può leggere tutti i dati non cifrati (e quindi anche le
password)❍ es.: C analizza (“annusa”) i pacchetti di B
A
B
C
src:B dest:A payload
Quali contromisure?
8-58
Attacchi e contromisureAnalisi dei pacchetti: contromisure
❍ È sufficiente individuare le schede che funzionano in modalità promiscua, installando sui computer un programma che segnali questa configurazione.
❍ Attivare da remoto vari espedienti (es. un host che risponde a un datagramma echo ICMP) in grado di rilevare le interfacce promiscue.
A
B
C
src:B dest:A payload
8-59
Attacchi e contromisureIP Spoofing:
❍ L’utente può inserire un indirizzo IP arbitrario.❍ Una volta camuffato l’indirizzo IP sorgente è difficile
individuare l’host che lo ha inviato. ❍ Es.: C pretende di essere B
A
B
C
src:B dest:A payload
Quali contromisure?
8-60
Attacchi e contromisureIP Spoofing: filtraggio in ingresso
❍ Controllare se l’indirizzo sorgente dei diagrammi entranti è fra quelli raggiungibili da quell’interfaccia.
❍ … ma questo filtraggio non viene effettuato da tutti e non può essere neanche imposto.
A
B
C
src:B dest:A payload
8-61
Attacchi e contromisureNegazione di servizio (DoS, denial of service):
❍ L’aggressore inonda il server di pacchetti in modo da ingolfare l’infrastruttura.
❍ Negazione di servizio distribuita (DDoS): attacco coordinato che proviene contemporaneamente da molti host.
❍ Es.: C e un host remoto attaccano A inondandolo di pacchetti SYN
A
B
CSYN
SYNSYNSYN
SYN
SYN
SYN
Quali contromisure?
8-62
Attacchi e contromisureNegazione di servizio (DOS): contromisure
❍ Filter out: il filtraggio dei pacchetti è scarsamente efficace perché è estremamente difficile riconoscere i datagrammi contraffatti, e si rischia quindi di “buttar via” quelli buoni insieme ai cattivi
❍ Traceback: è difficile risalire alla sorgente dell’azione criminosa. Una volta individuato l’host compromesso, è possibile metterlo in quarantena, ma si tratta di un processo lento, che richiede personale specializzato.
A
B
CSYN
SYNSYNSYN
SYN
SYN
SYN
8-63
Capitolo 8 La sicurezza nelle reti
8.1 Sicurezza di rete8.2 Principi di crittografia8.3 Autenticazione8.4 Integrità8.5 Distribuzione e certificazione delle chiavi8.6 Controllo dell’accesso: firewall8.7 Attacchi e contromisure8.8 La sicurezza ai diversi livelli
8.8.1 E-mail sicure8.8.2 SSL e TLS
8-64
E-mail sicure
Alice: crea una chiave simmetrica privata, KS. codifica il messaggio con KS. codifica KS con la chiave pubblica di Roberto. invia KS(m) e KB(KS) a Roberto.
Alice vuole inviare un messaggio e-mail riservato, m, a Roberto.
KS(•)
KB(•)++ -
KS(m )
KB(KS )+
m
KS
KS
KB+
Internet
KS(•)
KB(•)-
KB-
KS
mKS(m )
KB(KS )+
-
8-65
E-mail sicure
Roberto: utilizza la sua chiave privata per ottenere la chiave simmetrica KS
utilizza KS per decodificare KS(m) e ottiene m.
Alice vuole inviare un messaggio e-mail riservato, m, a Roberto.
KS(•)
KB(•)++ -
KS(m )
KB(KS )+
m
KS
KS
KB+
Internet
KS(•)
KB(•)-
KB-
KS
mKS(m )
KB(KS )+
8-66
E-mail sicure (continua)
• Alice vuole essere sicura dell’integrità del messaggio e dell’autenticazione del mittente.
• Alice firma digitalmente il messaggio. • Invia il messaggio (in chiaro) e la firma digitale.
H(•) KA(•)-
+ -
H(m )KA(H(m))-
m
KA-
Internet
m
KA(•)+KA+
KA(H(m))-
mH(•) H(m )
confronto
8-67
E-mail sicure (continua)• Alice vuole ottenere segretezza, autenticazione del mittente e integrità del messaggio.
Alice usa tre chiavi: la sua chiave privata, la chiave pubblica di Roberto e la chiave simmetrica appena generata.
H(•) KA(•)-
+
KA(H(m))-
m
KA-
m
KS(•)
KB(•)++
KB(KS )+
KS
KB+
Internet
KS
8-68
PGP (Pretty good privacy)
❒ Schema di cifratura per la posta elettronica che è diventato uno standard.
❒ Usa chiavi simmetriche di crittografia, chiavi pubbliche, funzioni hash e firme digitali.
❒ Assicura sicurezza, integrità del messaggio e autenticazione del mittente.
❒ L’inventore, Phil Zimmerman, fu indagato per tre anni dai servizi federali.
---BEGIN PGP SIGNED MESSAGE---Hash: SHA1
Bob:My husband is out of town tonight.Passionately yours, Alice
---BEGIN PGP SIGNATURE---Version: PGP 5.0Charset: noconvyhHJRHhGJGhgg/12EpJ
+lo8gE4vB3mqJhFEvZP9t6n7G6m5Gw2
---END PGP SIGNATURE---
Messagio PGP firmato:
8-69
Livello di socket sicura (SSL)
❒ Costituisce la base del protocollo di sicurezza a livello di trasporto.
❒ Ampiamente utilizzato nelle transazioni commerciali e finanziarie su Internet (shttp).
❒ Sicurezza:❍ Autenticazione del server❍ Dati criptati ❍ Autenticazione del client
(optional)
❒ Autenticazione del server:❍ Un browser SSL-
compatibile mantiene un elenco di CA e le relative chiavi pubbliche.
❍ Il browser richiede il certificato del server, emesso da una CA affidabile.
❍ Il browser usa la chiave pubblica della CA per estrarre la chiave pubblica del server dal certificato.
❒ Controllate il menu della sicurezza del vostro browser per verificare la sua CA.
8-70
SSL (continua)Sessione SSL cifrata:❒ Le informazioni fra browser e
server sono codificate dal software del trasmittente e decriptate dal software di ricezione.
❒ Il server decifra la chiave di sessione utilizzando la chiave privata.
❒ Browser e server conoscono la chiave simmetrica di sessione
❍ Tutti i dati scambiati fra browser e server, attraverso connessioni TCP, sono cifrati con la chiave simmetrica di sessione.
❒ SSL può essere usata anche per applicazioni non-Web come, ad esempio, IMAP.
❒ L’autenticazione del client può essere eseguita con i certificati del client.
8-71
La sicurezza nelle reti (riassunto)Tecniche di base …
❍ Crittografia (simmetrica e pubblica)❍ Autenticazione❍ Integrità del messaggio❍ Distribuzione di chiavi
… usate nei diversi scenari di sicurezza ❍ E-mail sicure❍ Livello di socket sicura (SSL)