Sicurezza trasmissiva (cenni)isi-personale.csr.unibo.it/vittorio.maniezzo/did... · – Un host...
Transcript of Sicurezza trasmissiva (cenni)isi-personale.csr.unibo.it/vittorio.maniezzo/did... · – Un host...
1
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 1/76
Sicurezza trasmissiva(cenni)
Vittorio ManiezzoUniversità di Bologna
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 2/76
Sicurezza
MetodologieAspetti della sicurezzaCrittografiaIntegrità dei messaggi e firma digitaleAutenticazioneDistribuzione delle chiavi e certificazione
Utilizzo:Livello applicazione: e-mail sicuraLivello trasporto: commercio Internet, SSL….Livello rete: sicurezza IP
2
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 3/76
SicurezzaEsempi:• integrità di dati (cambiamenti)• disponibilità dei dati (guasti)• riservatezza, privatezza dei dati
Risorse:• di esecuzione• di memorizzazione• di comunicazione
Aspetti di sicurezza:• autenticazione• autorizzazione• riservatezza (privacy)• disponibilità (availability)• integrità• paternità
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 4/76
AutenticazioneVerifica l’autenticità, cioè l’identità dell’utente- conoscenza di una informazione privata (password)- uso di oggetti (smart card)- uso di informazione privata, personale, fisiologica (impronta digitale, fondo retina,…)
Ciascun utente deve poter verificare l’autenticita’ delle informazioni.
Si richiede di poter verificare se una informazione - non necessariamente riservata - e’ stata manipolata.
3
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 5/76
AutorizzazioneSpecifica le azioni permesse dall’utente.
Differenza fra autorizzazione e autenticazione.
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 6/76
RiservatezzaEvitare l’accesso non autorizzato (lettura) alle informazioni.Interpretazione delle informazioni (accesso e docodifica)
Nessun utente deve poter ottenere o dedurre dal sistema informazioni che non è autorizzato a conoscere.
Se una informazione e’ protetta, o se esiste una comunicazione in atto fra due utenti o processi in un certo contesto, non deve permettere di dedurre altre informazioni riservate.
4
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 7/76
IntegritàEvitare la modifica non autorizzata (scrittura) delle informazioniGarantire la comunicazione corretta. Impedire la alterazione diretta o indiretta delle informazioni, sia da parte di utenti e processi non autorizzati, che a seguito di eventi accidentali.
Se i dati vengono alterati e’ necessario fornire strumenti per poterlo verificare facilmente.
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 8/76
DisponibilitáGarantire l’accesso e l’uso delle risorse con continuitàRendere disponibili a ciascun utente abilitato le informazioni alle quali ha diritto di accedere, nei tempi e nei modi previsti.
Nei sistemi informatici, i requisiti di disponibilitàincludono prestazioni e robustezza.
5
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 9/76
Paternità (non ripudiazione)
Nessun utente deve poter ripudiare o negare messaggi da lui spediti o firmati.
Evitare che le informazioni e i messaggi siano negati dal firmatario in tempi successivi (es. firma di un contratto)
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 10/76
IntrusionePassiva• lettura di informazioni altrui• analisi del sistema e del traffico di rete
Attiva• modifica di informazioni altrui• cancellazione di informazioni altrui• modifica del sistema e del traffico di rete• falsificazione di identità• accesso non autorizzato a risorse• blocco di servizi altrui
Principio minimo di sicurezza:• protezione dagli attacchi passivi• riconoscimento degli attacchi attivi
6
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 11/76
Problemi in InternetPacket sniffing:
– Evidente in mezzi condivisi– Un adattatore di rete programmato ad hoc (NIC)
legge tutti i pacchetti in transito– Tutti i dati non cifrati (es.: password) possono
essere letti
�
�
�
src:B dest:A payload
C legge tutti ipacchetti inviati da B verso A
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 12/76
Problemi in InternetIP Spoofing:
– Un host genera pacchetti IP con indirizzi di sorgente falsi
– Il ricevente non è in grado di stabilire se l’originedei pacchetti sia quella autentica
�
�
�
src:B dest:A payload
C finge di essere B
7
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 13/76
Problemi in InternetDenial of service (DoS):
– Flusso di pacchetti “maligni” che sommerge il ricevente
– Distributed DoS (DDoS): attacco coordinatomultiplo
�
�
�
SYN
SYNSYNSYN
SYN
SYN
SYN
Attacco SYN contro A
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 14/76
CrittografiaCrittografare il messaggio = rendere un messaggio non intelleggibile a chiunque eccetto il destinatario
Diversi metodi, codifica basata su chiavi e algoritmi di codifica e decodifica
• a chiave segreta (algoritmi simmetrici)
• a chiave pubblica (algoritmi asimmetrici)
• con funzioni hash
Problemi:
segretezza della chiave
segretezza dell’algoritmo
8
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 15/76
Crittografia La crittografia è un scienza molto antica:• Mesopotamia: Assiri e Babilonesi (scritture
cuneiformi): usavano sostituire parti terminali delle parole
• Bibbia: Atbash (alfabeto rovesciato), cifratura di Babilonia nel libro di Geremia
• India, Kama Sutra: tra le 64 arti la 45-esima Mlecchita-vikalpa, che le donne devono conoscere
• Plutarco, Vite parallele: gli spartani usavano la Scytala (cilindro su cui si arrotolava la pergamena)
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 16/76
Crittografia simmetrica
Algoritmi in grado di cifrare (trasformare) il testo in modo da renderlo incomprensibile
– la codifica è funzione di una chiave (segreta).– l’operazione di decifratura e’ relativamente semplice
nel caso in cui si conosca la chiave.
Se non si conosce la chiave risulta molto difficile – ottenere informazioni, anche limitate, sul messaggio – dedurre la chiave con cui è stato cifrato un
documento anche conoscendo il testo in chiaro
9
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 17/76
Crittografia a chiave segretaL’algoritmo di cifratura deve essere notoNessun sistema è assolutamente sicuro (impraticabilità dei sistemi teoricamente sicuri)L’attacco deve essere irrealizzabile in pratica (tempo di vita delle informazioni)
Crittografia a chiave segreta condivisaA codifica il messaggio M con la funzione codifica EncryptE = Encrypt (K, M)B decodifica il messaggio M con la funzione inversa DecryptM= Decrypt(K, E)ovvero: M = Decrypt(K, Encrypt (K, M))
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 18/76
Crittografia a chiave pubblicachiave privata e chiave pubblica• chiave privata segreta• chiave pubblica, nota in associazione al nome dell’utenteUn messaggio codificato con chiave pubblica non si decodifica facilmente senza la chiave privataUn messaggio codificato con chiave privata si decodifica solo con chiave pubblicaOne way property non si riesce a falsificare la codifica di un messaggio con chiave privata anche se è nota la chiave pubblicaEs. sia Kpub-A la chiave pubblica e KA la chiave privata di AM = Decrypt(Kpub-A, Encrypt (KA, M))M = Decrypt(KA, Encrypt (Kpub-A, M))
10
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 19/76
Sicurezza in crittografia
La sicurezza in crittografia è valutata in base alle risorse di tempo e di calcolo necessarie per dedurre informazioni� ogni protocollo crittografico puo’ essere “rotto” con
sufficienti risorse di tempo e calcolo� se un algoritmo puo’ essere “rotto” usando per 30 anni
un sistema di calcolo del valore di 10 miliardi di Euro allora e’ sicuro.
La sicurezza di un algoritmo dipende dal campo di applicazione.
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 20/76
Sicurezza in crittografia
La sicurezza di un protocollo dipende anche dal numero di possibili chiavi: se ci sono molte possibili chiavi allora ci vuole molto tempo (o molta fortuna) per trovare la chiave segreta:
– 20 bit (circa 1 milione di diverse chiavi) allora non e’affatto sicuro
– 56 bit (circa 66 milioni di miliardi diverse chiavi) andava bene dieci anni fa ma oggi e’ “poco” sicuro
– 512 bit (piu’ di 40000000….0000000000 - 4 seguito da 153 zeri - diverse chiavi) oggi e’ sicuro; domani?
11
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 21/76
sicurezza in crittografia
Grandi Numeri
Colonne Enalotto 622.614.630 = 1.1 229
Secondi dalla creazione del sistema solare 1.4 257
Cicli in un secolo di una macchina a 2 GHz 2.7 261
Cicli in un secolo di 1000000 di macchine a 2 GHz 2.7 281
Numeri primi di 249 bit 1.8 2244
Elettroni nell’universo 1.8 2258
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 22/76
Storia della crittografia Nel passato algoritmi a chiave segreta:
Codice di Cesare (a sostituzione di lettere)
Esempio con chiave 5 ABCDEFGHILMNOPQRSTUVZ
FGHILMNOPQRSTUVZABCDE
12
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 23/76
Storia della crittografia
Sostituzione di cifraCifratura monoalfabetica
testo in chiaro: abcdefghijklmnopqrstuvwxyz
testo cifrato: mnbvcxzasdfghjklpoiuytrewq
testo in ch: bob. i love you. alice
testo cif.: nkn. s gktc wky. mgsbc
Esempio�
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 24/76
Storia della crittografia
Sostituzione di cifraPermutazione del testo:
– Scrivi il messaggio in blocchi di lunghezza fissa
– Riordina le lettere usando la chiave
Esempio: Nel mezzo del cammin di nostra vita
Chiave: domani
264153 123456
nelmez mnzlee
zodelc ezcdlo
ammind iadmnm
13
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 25/76
Storia della crittografiaProprietà sulla frequenza dei caratteri e le vicinanze rende facile rompere i codici precedenti
Molte altre proposte:
– Codici a sostituzione di gruppi di lettere (Porta 1563, Vigenere 1586, ...): resistono meglio ad attacchi basati sulla analisi della frequenza delle lettere nel testo, Vigenere usa sostituzioni variabili.
– Codici basati su rotori: la macchina ENIGMA (usata dalle forze dell’asse durante la seconda guerra mondiale)
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 26/76
Storia della crittografia
Un cifrario perfetto: One Time Pad– G.Vernam,impiegato ATT, 1917– La chiave è una sequenza casuale lunga
come il testo
Yi = Xi xor CiTesto in chiaro Testo cifrato
X1 X2…Xn
C1 C2…Cnchiave
La decodifica è uguale alla codifica
14
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 27/76
Storia della crittografiaCifrario perfetto: poichè C e X sono indipendenticonoscere Y non fornisce informazioni su XProb(Yi=0)=
Prob(Xi=0| Ci=0) + Prob(Xi=1| Ci=1) =Prob(Xi=0,Ci=0)/2 + Prob(Xi=1,Ci=1)/2 =Prob(Xi=0)/4 + Prob(Xi=1)/4 = . . .
Prob(Yi=1)Problemi con one time pad:
la chiave deve essere lunga come il testola chiave può essere usata solo una volta
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 28/76
Storia della crittografiaPrincipio di Kerckhoffs’:“La sicurezza di un sistema crittografico deve dipenderesolo dalla segretezza della chiave e non dalla segretezzadel metodo” Jean Guillaume Hubert Victor Francois Alexandre Auguste Kerckhoffs von Nieuwenhof (1835-1903), “La Cryptographie militaire”, 1883.
Quanto è complesso “rompere” un codice?:
� forza bruta: se il numero di chiavi e’ piccolo: il codice si “rompe” facilmente con un computer
� altri sistemi (attacchi basati sulla conoscenzadell’algoritmo di cifratura)
15
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 29/76
Algoritmi di crittografiaGli algoritmi di crittografia possono essere classificati come
– simmetrici, anche detti a chiave segreta (oprivata): usano la stessa chiave per codificare e decodificare
– asimmetrici, o a chiave pubblica: usano due chiavi distinte: una per codificare e una per decodificare.
Tutti codificano il testo a blocchi (es. 64, 128 byte)
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 30/76
Data Encryption Standard: DESDES codifica blocchi di 64 bit e usa chiavi di 56 bit; versioni successive (DES triplo) usano 2 o 3 chiavi da 56 bit (112,168 bit).Codifica e decodifica con DES sono veloci; esistono implementazioni hardwareStoria
�Maggio 1973: richiesta pubblica per standard�1976: Modifica di Lucifer (IBM) �1977: viene pubblicato lo standard�2001: Advanced Encryption Standard (AES)
16
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 31/76
DES
Permutazione iniziale16 “rounds” identici in ciascuno si applicauna funzione basatasu 48 bit della chiave(ogni volta diversi) Permutazione finale
Struttura DES
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 32/76
Struttura DES
testo
scambio
IP-1.
perm. IP
testo cifr.
blocco 16 iterazioni
schedulazione chiave:16 sottochiavi di 48 bit
chiave
.
.
.
56 bit
48 bit
48 bit
17
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 33/76
Struttura DES/ decodifica
testo cifr.
scambio
IP-1.
perm. IP
testo
blocco 16 iterazioni
schedulazione chiave:16 sottochiavi di 48 bit
chiave
56 bit
stesso algoritmosottochiavi in ordine inverso
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 34/76
Struttura DES
Singola iterazione
Li-1 Ri-1
Li Ri
f
ki è sottochiave i.Li-1 e Ri-1(32 bit) sono parte sin. e
destra di un blocco di 64 bit prima
iterazione i.Li e Ri dopoiterazione i
ki
18
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 35/76
Codifica testi Electronic codebook chaining (ECB):Dividi il messaggio in blocchi di 64 bit e codifica ciascun blocco con DES (padding se il testo non èmultiplo di 64)
DES DES DES. . . .
X1 X2 Xn
YnY1 Y2
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 36/76
Algoritmi asimmetrici Problemi con crittografia a chiave simmetricaRichiede che mittente e ricevente abbiano la stessa chiave segreta
– D.: come ci si accorda sulla chiave(specialmente tra computer)? Ci si incontra?
Nella comunicazione fra n soggetti, si usano complessivamente O(n2) chiavi
– Bisogna fare attenzione a non usare la chiavesbagliata
Esiste un sistema crittografico in cui non c’èbisogno di una chiave segreta?
19
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 37/76
Algoritmi asimmetriciGli algoritmi asimmetrici utilizzano due
chiavi distinte generate insieme:� La chiave pubblica usata per
codificare e puo’ essere distribuita� La chiave privata usata per
decodificare deve essere segreta
La stessa chiave pubblica è usata da tutti gli utenti Nella comunicazione fra n soggetti, un algoritmo asimmetrico usa 2n chiavi.
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 38/76
Algoritmi asimmetrici: codifica e decodifica
Chiave segreta Algoritmo di decodifica
Documento
Documento
Chiave pubblica Algoritmo di codifica Conoscere la chiave
pubblica non devepermetteredi conoscere la chiave segreta
20
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 39/76
Algoritmi asimmetrici: storia
Idea originaria crittografia chiave pubblica circa 1950 (non pubblicata)1978: Rivest Shamir e Adleman proposero il metodo RSA, che è ancora oggi il più usato in pratica.
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 40/76
RSA: scelta delle chiavi
1. Scegli due numeri primi grandi p, q.(es., 1024 bit ciascuno)
2. Calcola n = pq, z = (p-1)(q-1)
3. Scegli e (con e<n) tale che MCD(e,z) =1; cioè e èprivo di fattori comuni con z. (es. e=99 e z=100 non sono primi ma non hanno fattori comuni)
4. scegli d tale che ed-1 sia esattamente divisibile per z.(cioè: ed mod z = 1 ).
5. La chiave Pubblica è (n,e), quella Privata è (n,d).
21
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 41/76
RSA: cifratura, decifrazione
0. Dati (n,e) e (n,d) calcolati come al punto precedente
1. Per cifrare la stringa di bit corrispondente a m, calcola
c = m mod ne (resto di m diviso n)e
2. Per decifrare c, calcola
m = c mod nd (resto di c diviso n)d
m = (m mod n)e mod ndQuindi
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 42/76
RSA: EsempioBob sceglie p=5, q=7. Allora n=35, z=24.
e=5d=29 (ed-1 esattamente divisibile per z)
lettera m me c = m mod ne
l 12 1524832 17
c m = c mod nd
17481968572106750915091411825223072000 12cd letter
l
Cifra:
Decifra:
22
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 43/76
RSA: Perché funziona
m = (m mod n)e
mod nd
(m mod n)e mod n = m mod nd ed
Teorema: se p,q primi, n = pq, allora
x mod n = x mod ny y mod (p-1)(q-1)
= m mod ned mod (p-1)(q-1)
= m mod n1
= m
(perché (ed) èdivisibile per
(p-1)(q-1)con resto 1 )
Mostriamo che
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 44/76
RSA: scambio delle chiavi
Chiave RSA pubblica Documento crittografato/2
Documento
Documento
Chiave RSA privata Documentocrittografato/ 2
23
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 45/76
RSA: Sicurezza
Funzione one way: facilefacile da calcolare difficile da invertire
difficileFacile: Esiste Algoritmo veloce (tempo polin.)Difficile: Non esiste (o si crede che non esista)
alg. polinomiale
���������������
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 46/76
RSA: Sicurezza (cont.)
Se l’avversario sa fattorizzare N= pq allora puòconoscere la chiave segreta:Calcola (p-1)(q-1) e poi d= e-1 mod(p-1)(q-1)
Inoltre la definizione di RSA implica chese si conosce la chiave segreta allora è facile conoscere come si fattorizza N
Fattorizzare N e decodificare sono problemicomputazionalmente equivalenti
Non sono noti attacchi migliori che fattorizzare N: Es. Conoscere (p-1)(q-1) equivale a conoscere la fattorizzazione di N
24
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 47/76
RSA: Sicurezza (cont.)
Moltiplicare e fattorizzare: facile
p,q N=pq
difficileMoltiplicazione facile codifica veloceFattorizzazione difficile decodifica
molto lunga (se non si conosce la chiave)
Funzione one way:
Facile da calcolare
Difficile da invertire
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 48/76
RSA: Sicurezza (cont.)
Test primalità : facileFattorizzazione: difficile (algoritmo semplice
O(N1/2); algoritmi migliori sono noti ma non sono polinomiali)
Nota bene: algoritmo polinomiale nella lunghezza dell’input. La rappresentazione di N richiede (log N) bit.
Es.: N da 1024 bit (155 cifre decim.) O(N1/2)= O(2512)
25
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 49/76
RSA: Sicurezza (cont.)
Esempio: Ago. 1999 RSA-155 è stato fattorizzatousando 300 elaboratori (tipo Pentium 2,ws Sun-400 MHz) in 7,4 mesi
I numeri più difficili da fattorizzare sono quelli n= pq, dove p e q hanno la stessa lunghezza
Per essere tranquilli– 768 bit (230 digit) uso personale– 1024 bit per aziende– 2048 per chiavi importanti
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 50/76
RSA: utilizzo in pratica Per molte applicazioni RSA e’ lento:
si può usare RSA con DES (o con altro metodo a chiave segreta)
Esempio:A invia un messaggio M a B– A genera una chiave C, cifra C con RSA e M con DES
(con chiave C) – A invia il documento cifrato con DES e la chiave cifrata
con RSA a B– B usa la sua chiave privata RSA per conoscere la
chiave C e poi usa DES per ottenere il messaggio.
26
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 51/76
RSA: utilizzo in pratica (cont.)
Informazionein chiaro
DES
Chiave RSA pubblicadel destinatario
Chiave DEScasuale
InformazionecifrataRSA
Chiave DES casualecifrata
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 52/76
RSA: utilizzo in pratica (cont.)
Informazionecifrata
DES
Chiave RSA privatadel destinatario
Informazionein chiaro
RSA
Chiave DEScifrata
Chiave DESin chiaro
27
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 53/76
Autenticazione e firma digitaleFirma digitalemeccanismo di autenticazione del mittente di un messaggioil mittente codifica con chiave privata (ciò garantisce l’autenticazione)Per evitare copia dei messaggi, si codifica il messaggio insieme alla marca temporale con data ed ora della creazione del messaggioPer assicurare sia l’autenticazione del mittente che la privatezza del messaggio si possono usare due livelli di codifica:per un messaggio M da A a B, siano KA e KB le chiavi private di A e B, Kpub-A e Kpub-B le chiavi pubbliche di A e BA calcola X come X = Encrypt(Kpub-B, Encrypt (KA, M))B decodifica X come M = Decript(Kpub-A, Decrypt (KB, X))
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 54/76
Firma digitale
La firma di un documento digitale è una sequenza di bit che dipende dal documento firmato e dalla persona che firma
Chiunque deve poter verificare la validità della firma
La firma non deve essere falsificabile (le firme apposte dalla stessa persona su documenti diversi sono diverse)
La firma non deve essere ripudiabile (ilfirmatario non puo’ negare la sua firma)
28
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 55/76
Firma digitale con RSA
Chiave privata RSA
Documento
Firma doc.
Firma con RSA:
Si codifica il documento da firmare con la chiave privata
Nota bene: il messaggio è mandato in chiaro
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 56/76
Firma digitale con RSA (cont.)
Docum. originale
Chiave Pub.di chi firma
Firma doc.
RSA
Documento
Confronto
Firma falsa
= !=
Firma valida
Verifica: si codifica la firma con chiave pubblica
29
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 57/76
Firma con RSA: perché funziona
m = (m mod n)e
mod nd
Ricordiamo che
m = (m mod n)d
mod ne
Ma d e e sono intercambiabili, quindi
r Chiunque può verificare la validità della firma
r La firma può essere apposta solo da chi conosce la chiave privata
m Non falsificabile
m Non ripudiabile
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 58/76
Autenticazione
Obiettivo: Bob vuole che Alice “dimostri” la propria identità
Protocollo ap1.0: Alice dice “Sono Alice”
����
30
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 59/76
Autenticazione (cont.)
Protocollo ap2.0: Alice dice “sono Alice” e invia ilProprio indirizzo IP per “dimostrarlo”.
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 60/76
Autenticazione (cont.)
Protocollo ap3.0: Alice dice “sono Alice” e invia lapassword per “dimostrarlo”.
31
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 61/76
Autenticazione (cont.)Protocollo ap3.1: Alice dice “sono Alice” e invia lapassword cifrata per “dimostrarlo”.
� ����
� ��� � ��������� ��������
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 62/76
Autenticazione (cont.)
Obiettivo: evitare registrazione
Problemi? Svantaggi?
Figure 7.11 goes here
Nonce: numero R scelto casualmente (usato una sola volta)
ap4.0: Bob invia il nonce R ad Alice. Alice deve restituire R, cifrata con la chiave segreta condivisa
32
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 63/76
Figure 7.12 goes here
Autenticazione (cont.)
ap4.0 richiede una chiave simmetrica condivisa– Bisogna raggiungere accordo sulla chiave prima – Alternativa: usare chiavi publiche
ap5.0: uso di nonce e chiave pubblica
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 64/76
Figure 7.14 goes here
Autenticazione (cont.)
Attacco “Man in the middle” Trudy finge di esseresia Alice (con Bob) che Bob (con Al.)
Chiavicertificate
33
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 65/76
Chiavi garantite?
Come raggiungere l’accordo su unachiave segreta?Uso di un centro distribuzione chiavi (Key Distribution Center (KDC)) fidatoCome essere sicuri dell’autenticità di unachiave pubblica ottenuta via Web, e-mail ecc.? Uso di autorità di certificazione (CA) fidata
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 66/76
Autorità di certificazione(Key Distribution Center (KDC))
Alice e Bob voglionocondividere una chiavesegreta R (di sessione)KDC condivide chiavisegrete con ogni utente(KA-KDC [KB-KDC] con A [B])
Alice comunica con KDC, prende la chiave di sessione R e KB-KDC(A,R)(chiave, utile per comunicare con A, codificata con KB-KDC)Alice comunica a Bob KB-KDC(A,R1)Bob estrae R da KB-
KDC(A,R)Alice e Bob condividono la chiave segreta R
34
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 67/76
Autorità di CertificazioneAutorità di certificazione (CA) garantisce chiavi pubbliche di ogni utente
– Utente conosce la chiavepubblica della CA
Un utente (persona, router, etc.) registra la sua chiavepubblica con CA
– Utente fornisce a CA “garanzia di identità”
– CA crea certificatocollega utente a chiavepubblica
– Certificato è firmato dallaCA
Alice vuole conoscere la chiave pubblica di Bob: Chiede a CA certificato di Bob Verifica autenticità del certificato (verifica firma CA)
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 68/76
Autorità di certificazione (cont.)
L'Autorità di certificazione garantisce la effettiva corrispondenza di una
chiave pubblica con il soggetto che la espone.
pubblica, in un apposito registro, certificati firmati con la propria chiave privata che specificano:
– Il nome dell'Autorità– La data di emissione del certificato– La data di scadenza del certificato– Il nominativo del soggetto – La chiave pubblica del soggetto
VeriSign09/11/1998
Mario Rossi
JDF78EH9834HF903NF0H348H39GFH8H3948H
35
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 69/76
Autorità di certificazione (cont.)
Le chiavi pubbliche possono essere sospese o revocate (ad es. furto o smarrimento)
L'Autorità di certificazione gestisce un registro storico delle chiavi pubbliche revocate,
I certificati vanno chiesti al momento della verifica della firma
Esempio: verifica di un firma
Si chiede alla CA la chiave pubblica del firmatario al momento della firma.
Tale sequenza di operazioni viene svolta in modo automatico dal software
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 70/76
Autorità di certificazione (cont.)Certificati X.509
– standard supportato da molti protocolli (es.SSL, PKCS)
– i campi di un certificato X.509 includono: versione, no.Seriale, tipo algo. usato per firma, nome di chi lo rilascia, periodo di validità,nome dell’intestatario, firma dei precedenti campi.
Legislazione italiana (1997) legge “Bassanini”: “Gli atti, i dati e i documenti formati dalla pubblica
amministarzione e dai privati con strumenti informatici e telematici, i contratti stipulati nelle medesime forme, nonché la loro archiviazione e trasmissione con strumenti informatici e telematici, sono validi e rilevanti ad ogni effetto di legge.”
36
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 71/76
e-mail sicura
• genera chiave simmetrica casuale KS• codifica messaggio con KS• codifica KS con la chiave pubblica di Bob• invia KS(m) e eB(KS) a Bob.
Alice invia messaggio m e-mail segreto a Bob:
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 72/76
e-mail sicura (cont.)
Alice vuole fornire autenticazione da parte del mittente dell’integrità del messaggio
• Alice appone la sua firma digitale al messaggio• invia il messaggio (in chiaro) e la firma digitale
37
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 73/76
e-mail sicura (cont.)
Alice vuole fornire confidenzialità, integrità e autentica da parte del mittente
Alice usa sia la sua chiave privata che la chiavepubblica di Bob
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 74/76
Secure Socket Layer (SSL)SSL opera sullo strato di trasporto; fornisce sicurezza ad ogni applicazione TCP SSL: usato fra WWW browsers, servers per e-commerce (shttp).SSL servizi offerti:
– Autenticazione server– Codifica dati– Autenticazione client (opzionale)
Autenticazione Server:– browser con SSL include chiavi pubbliche per CA
fidate– Browser richiede certificato del server alla CA fidata– Browser usa la chiave pubblica della CA per estrarre
la chiave pubblica del server dal certificato
38
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 75/76
Filtraggio di pacchettiPrevenzione dell’accesso libero a host o a servizi filtro dei pacchettiSW che evita che i pacchetti passino da una rete all’altra tramite il routerla configurazione del manager specifica a quali pacchetti si applica il filtroAnalisi dell’intestazione del pacchetto nel campo header, identificando sorgente e destinazionePer il filtro sui servizi: analisi del protocollo o del servizio di alto livello corrispondente al pacchetto
Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 76/76
FirewallFiltro dei pacchetti utilizzato per proteggere una rete di una organizzazione da traffico Internet qualsiasi e non desiderato
Internet firewallsu ogni connessione della rete verso l’esterno numero limitato di host interni che accedono all’esterno (minimo uno), devono essere sicuri.