Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim...

71
8-1 Reti di calcolatori e Internet: Un approccio top-down 3 a edizione Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti

Transcript of Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim...

Page 1: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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

Page 2: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La 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

Page 3: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 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

Page 4: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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.

Page 5: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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

Page 6: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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

Page 7: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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! ……

Page 8: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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

Page 9: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 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

Page 10: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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

Page 11: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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”.

Page 12: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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

Page 13: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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

Page 14: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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.

Page 15: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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

Page 16: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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-

Page 17: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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- +

+

-

Page 18: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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

-

Page 19: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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

Page 20: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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:

Page 21: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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!

Page 22: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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

Page 23: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 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”

Page 24: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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”

Page 25: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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

Page 26: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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

Page 27: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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

Page 28: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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”

Page 29: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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

Page 30: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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

Page 31: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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.

Page 32: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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

Page 33: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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

Page 34: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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!

Page 35: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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

Page 36: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 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.

Page 37: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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)

-

-

Page 38: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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.

-

-

Page 39: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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)

Page 40: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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

Page 41: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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]

Page 42: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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

Page 43: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 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)

Page 44: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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

Page 45: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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) )

Page 46: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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

Page 47: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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+

Page 48: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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

Page 49: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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

Page 50: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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

Page 51: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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)

Page 52: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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.

Page 53: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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.

Page 54: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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

Page 55: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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?

Page 56: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

8-56

Attacchi e contromisureMapping: contromisure

❍ Registrazione del traffico in entrata sulla rete❍ Ricerca di attività sospette (indirizzi IP, porte

scansionate in sequenza)

Page 57: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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?

Page 58: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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

Page 59: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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?

Page 60: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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

Page 61: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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?

Page 62: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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

Page 63: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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

Page 64: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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 )+

-

Page 65: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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 )+

Page 66: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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

Page 67: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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

Page 68: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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:

Page 69: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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.

Page 70: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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.

Page 71: Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim Kurose, Keith Ross Pearson Education Italia ©2005 Capitolo 8 La sicurezza nelle reti.

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)