Capitolo 8 La sicurezza nelle reti

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Capitolo 8 La sicurezza nelle reti"

Transcript

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

2 Capitolo 8: La sicurezza nelle reti 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) 8-2

3 Capitolo 8 La sicurezza nelle reti 8.1 Sicurezza di rete 8.2 Principi di crittografia 8.3 Autenticazione 8.4 Integrità 8.5 Distribuzione e certificazione delle chiavi 8.6 Controllo dell accesso: firewall 8.7 Attacchi e contromisure 8.8 La sicurezza ai diversi livelli 8-3

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

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 Alice canale messaggi di controllo e dati Roberto dati Mittente sicuro Ricevente sicuro dati Tommaso 8-5

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

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

8 Capitolo 8 La sicurezza nelle reti 8.1 Sicurezza di rete 8.2 Principi di crittografia 8.3 Autenticazione 8.4 Integrità 8.5 Distribuzione e certificazione delle chiavi 8.6 Controllo dell accesso: firewall 8.7 Attacchi e contromisure 8.8 La sicurezza ai diversi livelli 8-8

9 Principi di crittografia K A K B Testo in chiaro Algoritmo di cifratura Testo cifrato Algoritmo di decifratura Testo in chiaro 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 8-9

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 esempio Testo in chiaro: bob. i love you. alice Testo cifrato: nkn. s gktc wky. mgsbc 8-10

11 Crittografia a chiave simmetrica Cifrario polialfabetico: occorrenze di una stessa lettera vengono sostituite in modo diverso a seconda della posizione Lettere in chiaro: abcdefghijklmnopqrstuvwxyz C1 (k=5): fghijklmnopqrstuvwxyzabcde C2 (k=19): tuvwxyzabcdefghijklmnopqrs Utilizziamo la sequenza C1 C2 C2 C1 C2 esempio Testo in chiaro: Roberto, ti amo. Testo cifrato: whujkyh, mn trh Notate che le due r di Roberto sono codificate con lettere diverse: w e u. D: Come violare questo sistema di cifratura?: con un attacco a forza bruta (ma quanto bruta?) altri sistemi? 8-11

12 Crittografia a chiave simmetrica K A-B K A-B Testo in chiaro messaggio, m Algoritmo di cifratura Testo cifrato K A-B (m) Algoritmo di decifratura Testo in chiaro m = K ( K (m) ) A-B A-B Crittografia a chiave simmetrica: Alice e Roberto utilizzano la stessa chiave: K A-B es: la chiave è un pattern di sostituzione monoalfabetico D: come fanno Roberto e Alice a concordare la chiave? 8-12

13 Crittografia a chiave simmetrica: DES DES: 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-13

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

15 Crittografia a chiave pubblica Crittografia a chiave simmetrica Crittografia a chiave pubblica Richiede che mittente e destinatario condividano una chiave segreta approccio radicalmente diverso [Diffie- Hellman76, RSA78] D: come si concorda la chiave (specialmente se i due interlocutori non si sono mai incontrati )? 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-15

16 Crittografia a chiave pubblica K B + K B - Chiave pubblica Chiave Privata Messaggio in chiaro, m Algoritmo di cifratura Testo cifrato + K (m) B Algoritmo di decifratura Messaggio in chiaro, m - + m = K (K (m)) B B 8-16

17 Algoritmi di cifratura a chiave pubblica Requisiti: B B - + K ( ) e K ( ) tale che K (K (m)) = m B B data la chiave pubblica K B, deve essere impossibile calcolare - la chiave privata K B + Algoritmo RSA: acronimo derivato dal nome dei suoi autori: Rivest, Shamir e Adelson 8-17

18 RSA: scelta delle chiavi 1. 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

19 RSA: cifratura, decifratura 0. Dati (n,e) e (n,d) calcolati come abbiamo appena visto, 1. Per la codifica, m, si calcola c = m e mod n 2. Per decifrare il messaggio ricevuto, c, si calcola m = c d mod n Incredibile! m = (m e d mod n) mod n c 8-19

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). cifratura: lettera m m e c = m e mod n l decifratura: c c d m = c d mod n lettera l 8-20

21 RSA: un altra importante proprietà La seguente proprietà sarà molto utile più avanti: - + K (K (m)) = m B B = + - B B K (K (m)) 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-21

22 Capitolo 8 La sicurezza nelle reti 8.1 Sicurezza di rete 8.2 Principi di crittografia 8.3 Autenticazione 8.4 Integrità 8.5 Distribuzione e certificazione delle chiavi 8.6 Controllo dell accesso: firewall 8.7 Attacchi e contromisure 8.8 La sicurezza ai diversi livelli 8-22

23 Autenticazione Obiettivo: Roberto vuole che Alice gli dimostri la sua identità Protocollo ap1.0: Alice dice Sono Alice Sono Alice Scenario con fallimento?? 8-23

24 Autenticazione Obiettivo: Roberto vuole che Alice gli dimostri la sua identità Protocollo ap1.0: Alice dice Sono Alice Sono Alice in una rete, Roberto non può vedere Alice, e Tommaso può semplicemente autenticarsi come Alice 8-24

25 Autenticazione: un altro tentativo Protocollo ap2.0: Alice dice Sono Alice in un pacchetto IP che contiene il suo indirizzo IP sorgente Indirizzo IP di Alice Sono Alice Scenario con fallimento?? 8-25

26 Autenticazione: un altro tentativo Protocollo ap2.0: Alice dice Sono Alice in un pacchetto IP che contiene il suo indirizzo IP sorgente Indirizzo IP di Alice Sono Alice Tommaso può creare un pacchetto che imita l indirizzo di Alice (spoofing) 8-26

27 Autenticazione: un altro tentativo Protocollo ap3.0: Alice dice Sono Alice e invia la sua password segreta per dimostrarlo Indir. IP di Alice Password di Alice Sono Alice Indir. IP di Alice OK Scenario con fallimento?? 8-27

28 Autenticazione: un altro tentativo Protocollo ap3.0: Alice dice Sono Alice e invia la sua password segreta per dimostrarlo Indir. IP di Alice Password di Alice Sono Alice Indir. IP di Alice Indir. IP di Alice OK Password di Alice Sono Alice attacco di replica: Tommaso registra il pacchetto di Alice e lo riproduce successivamente trasmettendolo a Roberto 8-28

29 Autenticazione: ancora un altro tentativo Protocollo ap3.1: Alice dice Sono Alice e invia la sua password segreta criptata per dimostrarlo. Indir. IP di Alice Password criptata Sono Alice Indir. IP di Alice OK Scenario con fallimento?? 8-29

30 Autenticazione: ancora un altro tentativo Protocollo ap3.1: Alice dice Sono Alice e invia la sua password segreta criptata per dimostrarlo. Indir. IP di Alice Password criptata Sono Alice Indir. IP di Alice OK Registrazione e riproduzione funzionano ancora! Indir. IP di Alice Password criptata Sono Alice 8-30

31 Autenticazione: ancora un altro tentativo Obiettivo: evitare un attacco di replica (playback attack) 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 Attacco fallito? K A-B (R) Solo Alice conosce la chiave simmetrica per decifrare il nonce. 8-31

32 Autenticazione: protocollo ap.5.0 Nel 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 R Sono Alice - K A (R) Mandami la tua chiave pubblica K A + Roberto calcola + - K A (K A(R)) = R e autentica Alice 8-32

33 Protocollo ap.5.0 : un buco nella sicurezza Attacco man-in-the-middle: Tommaso si finge Alice (nei confronti di Roberto) e si finge Roberto (nei confronti di Alice) - + m = K (K (m)) A A Sono Alice R - K (R) A Mandami la tua chiave pubblica K + A + K (m) A Tommaso decifra - + m = K (K (m)) T T e invia m ad Alice criptato con la chiave pubblica di Alice Sono Alice R - K (R) T Mandami la tua chiave pubblica K + T + K (m) T 8-33

34 Protocollo ap.5.0 : un buco nella sicurezza Attacco 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-34

35 Capitolo 8 La sicurezza nelle reti 8.1 Sicurezza di rete 8.2 Principi di crittografia 8.3 Autenticazione 8.4 Integrità 8.5 Distribuzione e certificazione delle chiavi 8.6 Controllo dell accesso: firewall 8.7 Attacchi e contromisure 8.8 La sicurezza ai diversi livelli 8-35

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

37 Firma digitale Creazione della firma digitale di un messaggio, m: Roberto firma un messaggio, m, e lo codifica utilizzando la - sua chiave privata K B, creando così un messaggio - firmato, K B (m) Messaggio di Roberto, m Cara Alice, scusami se non ho potuto scriverti prima ma Roberto K B - Algoritmo di cifratura Chiave privata Di Roberto K B - (m) Messaggio di Roberto, firmato (e criptato) con la sua chiave privata 8-37

38 Firma digitale Supponiamo che Alice riceva un messaggio m, con la firma - digitale K B (m) Alice verifica che m è firmato da Roberto utilizzando la chiave pubblica di Roberto K B a K B (m) e controlla che K B (K B (m) ) = m. + - Se K B (K B (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 K B (m) per dimostrare che Roberto ha firmato m. 8-38

39 Sintesi del messaggio Dal 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: Messaggio lungo m molti-a-1 H: funzione hash H(m) 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) 8-39

40 Firma digitale = messaggi digest firmati Roberto invia un messaggio con la firma digitale: Messaggio lungo m + Chiave privata di Roberto H: funzione hash K B - H(m) Firma digitale (cifrata) msg digest cifrato - K B (H(m)) Alice verifica la firma e l integrità del messaggio con la firma digitale: Messaggio lungo m H: funzione hash H(m) Chiave pubblica di K + Roberto B msg digest cifrato - K B (H(m)) Firma digitale (decifrata) H(m) identico? 8-40

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

42 Capitolo 8 La sicurezza nelle reti 8.1 Sicurezza di rete 8.2 Principi di crittografia 8.3 Autenticazione 8.4 Integrità 8.5 Distribuzione e certificazione delle chiavi 8.6 Controllo dell accesso: firewall 8.7 Attacchi e contromisure 8.8 La sicurezza ai diversi livelli 8-42

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

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, K A-KDC K B-KDC, per comunicare con KDC. KDC K P-KDC K B-KDC K A-KDC K P-KDC K X-KDC K Y-KDC K Z-KDC K A-KDC K B-KDC 8-44

45 Centro di distribuzione delle chiavi (KDC) D: in che modo KDC consente a Roberto e Alice di determinare la chiave segreta simmetrica condivisa per comunicare tra loro? KDC K A-KDC (A,B) genera R1 Alice conosce R1 K A-KDC (R1, K B-KDC (A,R1) ) K B-KDC (A,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 8-45

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 Firma digitale (cifrata) Chiave privata di CA K - CA K B + Certificato per la chiave pubblica di Roberto, firmato da CA 8-46

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 K B + Firma digitale (cifrata) Chiave pubblica di Roberto K B + Chiave pubblica di CA K + CA 8-47

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

49 Capitolo 8 La sicurezza nelle reti 8.1 Sicurezza di rete 8.2 Principi di crittografia 8.3 Autenticazione 8.4 Integrità 8.5 Distribuzione e certificazione delle chiavi 8.6 Controllo dell accesso: firewall 8.7 Attacchi e contromisure 8.8 La sicurezza ai diversi livelli 8-49

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. rete privata Internet firewall 8-50

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

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 gateway di applicazione sessione Telnet da gateway a host remoto 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-52

53 Limiti di firewall e gateway IP spoofing: azione utilizzata per nascondere la vera identità dell aggressore. Se più applicazioni necessitano di un trattamento speciale, ciascuna avrà il suo gateway di applicazione. 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 Il software del client deve sapere come contattare il gateway. Es. deve impostare l indirizzo IP del proxy nel browser Web. Numerosi siti con protezioni elevate sono ancora soggetti ad attacchi. 8-53

54 Capitolo 8 La sicurezza nelle reti 8.1 Sicurezza di rete 8.2 Principi di crittografia 8.3 Autenticazione 8.4 Integrità 8.5 Distribuzione e certificazione delle chiavi 8.6 Controllo dell accesso: firewall 8.7 Attacchi e contromisure 8.8 La sicurezza ai diversi livelli 8-54

55 Minacce alla sicurezza di Internet Mapping: 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 ( è un programma open source impiegato per esplorare le reti. Quali contromisure? 8-55

56 Attacchi e contromisure Mapping: contromisure Registrazione del traffico in entrata sulla rete Ricerca di attività sospette (indirizzi IP, porte scansionate in sequenza) 8-56

57 Attacchi e contromisure Analisi 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 C src:b dest:a payload B Quali contromisure? 8-57

58 Attacchi e contromisure Analisi 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 C src:b dest:a payload B 8-58

59 Attacchi e contromisure IP 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 C src:b dest:a payload Quali contromisure? B 8-59

60 Attacchi e contromisure IP 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 C src:b dest:a payload B 8-60

61 Attacchi e contromisure Negazione 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 C SYN SYN SYN SYN SYN Quali contromisure? SYN SYN B 8-61

62 Attacchi e contromisure Negazione 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 C SYN SYN SYN SYN SYN SYN SYN B 8-62

63 Capitolo 8 La sicurezza nelle reti 8.1 Sicurezza di rete 8.2 Principi di crittografia 8.3 Autenticazione 8.4 Integrità 8.5 Distribuzione e certificazione delle chiavi 8.6 Controllo dell accesso: firewall 8.7 Attacchi e contromisure 8.8 La sicurezza ai diversi livelli sicure SSL e TLS 8-63

64 sicure Alice vuole inviare un messaggio riservato, m, a Roberto. K S m K S ( ) K S (m ) K S (m ) K S ( ) m K S + K B ( ) K B + + K B (K S ) + - Internet + K B (K S ) K B - K S K - B ( ) Alice: crea una chiave simmetrica privata, K S. codifica il messaggio con K S. codifica K S con la chiave pubblica di Roberto. - invia K S (m) e K B (K S ) a Roberto. 8-64

65 sicure Alice vuole inviare un messaggio riservato, m, a Roberto. K S m K S ( ) K S (m ) K S (m ) K S ( ) m K S + K B ( ) K B + + K B (K S ) + - Internet + K B (K S ) K B - K S K - B ( ) Roberto: utilizza la sua chiave privata per ottenere la chiave simmetrica K S utilizza K S per decodificare K S (m) e ottiene m. 8-65

66 sicure (continua) Alice vuole essere sicura dell integrità del messaggio e dell autenticazione del mittente. m H( ) K Ā - K A ( ) - K A (H(m)) - K A (H(m)) K A + + K A ( ) H(m ) m + - Internet m H( ) confronto H(m ) Alice firma digitalmente il messaggio. Invia il messaggio (in chiaro) e la firma digitale. 8-66

67 sicure (continua) Alice vuole ottenere segretezza, autenticazione del mittente e integrità del messaggio. m H( ) K Ā - K A ( ) - K A (H(m)) K S m + K S K S ( ) + K B ( ) Alice usa tre chiavi: la sua chiave privata, la chiave pubblica di Roberto e la chiave simmetrica appena generata. K B K B (K S ) Internet 8-67

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. Messagio PGP firmato: ---BEGIN PGP SIGNED MESSAGE--- Hash: SHA1 Bob:My husband is out of town tonight.passionately yours, Alice ---BEGIN PGP SIGNATURE--- Version: PGP 5.0 Charset: noconv yhhjrhhgjghgg/12epj +lo8ge4vb3mqjhfevzp9t6n7g6m5gw 2 ---END PGP SIGNATURE

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 SSLcompatibile 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-69

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

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 sicure Livello di socket sicura (SSL) 8-71