Sicurezza trasmissiva (cenni)isi-personale.csr.unibo.it/vittorio.maniezzo/did... · – Un host...

38
1 Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 1/76 Sicurezza trasmissiva (cenni) Vittorio Maniezzo Università di Bologna Vittorio Maniezzo – Università di Bologna 18 – Sicurezza- 2/76 Sicurezza Metodologie Aspetti della sicurezza Crittografia Integrità dei messaggi e firma digitale Autenticazione Distribuzione delle chiavi e certificazione Utilizzo: Livello applicazione: e-mail sicura Livello trasporto: commercio Internet, SSL…. Livello rete: sicurezza IP

Transcript of Sicurezza trasmissiva (cenni)isi-personale.csr.unibo.it/vittorio.maniezzo/did... · – Un host...

Page 1: Sicurezza trasmissiva (cenni)isi-personale.csr.unibo.it/vittorio.maniezzo/did... · – Un host genera pacchetti IP con indirizzi di sorgente falsi – Il ricevente non è in grado

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

Page 2: Sicurezza trasmissiva (cenni)isi-personale.csr.unibo.it/vittorio.maniezzo/did... · – Un host genera pacchetti IP con indirizzi di sorgente falsi – Il ricevente non è in grado

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.

Page 3: Sicurezza trasmissiva (cenni)isi-personale.csr.unibo.it/vittorio.maniezzo/did... · – Un host genera pacchetti IP con indirizzi di sorgente falsi – Il ricevente non è in grado

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.

Page 4: Sicurezza trasmissiva (cenni)isi-personale.csr.unibo.it/vittorio.maniezzo/did... · – Un host genera pacchetti IP con indirizzi di sorgente falsi – Il ricevente non è in grado

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.

Page 5: Sicurezza trasmissiva (cenni)isi-personale.csr.unibo.it/vittorio.maniezzo/did... · – Un host genera pacchetti IP con indirizzi di sorgente falsi – Il ricevente non è in grado

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

Page 6: Sicurezza trasmissiva (cenni)isi-personale.csr.unibo.it/vittorio.maniezzo/did... · – Un host genera pacchetti IP con indirizzi di sorgente falsi – Il ricevente non è in grado

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

Page 7: Sicurezza trasmissiva (cenni)isi-personale.csr.unibo.it/vittorio.maniezzo/did... · – Un host genera pacchetti IP con indirizzi di sorgente falsi – Il ricevente non è in grado

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

Page 8: Sicurezza trasmissiva (cenni)isi-personale.csr.unibo.it/vittorio.maniezzo/did... · – Un host genera pacchetti IP con indirizzi di sorgente falsi – Il ricevente non è in grado

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

Page 9: Sicurezza trasmissiva (cenni)isi-personale.csr.unibo.it/vittorio.maniezzo/did... · – Un host genera pacchetti IP con indirizzi di sorgente falsi – Il ricevente non è in grado

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

Page 10: Sicurezza trasmissiva (cenni)isi-personale.csr.unibo.it/vittorio.maniezzo/did... · – Un host genera pacchetti IP con indirizzi di sorgente falsi – Il ricevente non è in grado

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?

Page 11: Sicurezza trasmissiva (cenni)isi-personale.csr.unibo.it/vittorio.maniezzo/did... · – Un host genera pacchetti IP con indirizzi di sorgente falsi – Il ricevente non è in grado

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

Page 12: Sicurezza trasmissiva (cenni)isi-personale.csr.unibo.it/vittorio.maniezzo/did... · – Un host genera pacchetti IP con indirizzi di sorgente falsi – Il ricevente non è in grado

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

Page 13: Sicurezza trasmissiva (cenni)isi-personale.csr.unibo.it/vittorio.maniezzo/did... · – Un host genera pacchetti IP con indirizzi di sorgente falsi – Il ricevente non è in grado

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

Page 14: Sicurezza trasmissiva (cenni)isi-personale.csr.unibo.it/vittorio.maniezzo/did... · – Un host genera pacchetti IP con indirizzi di sorgente falsi – Il ricevente non è in grado

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)

Page 15: Sicurezza trasmissiva (cenni)isi-personale.csr.unibo.it/vittorio.maniezzo/did... · – Un host genera pacchetti IP con indirizzi di sorgente falsi – Il ricevente non è in grado

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)

Page 16: Sicurezza trasmissiva (cenni)isi-personale.csr.unibo.it/vittorio.maniezzo/did... · – Un host genera pacchetti IP con indirizzi di sorgente falsi – Il ricevente non è in grado

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

Page 17: Sicurezza trasmissiva (cenni)isi-personale.csr.unibo.it/vittorio.maniezzo/did... · – Un host genera pacchetti IP con indirizzi di sorgente falsi – Il ricevente non è in grado

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

Page 18: Sicurezza trasmissiva (cenni)isi-personale.csr.unibo.it/vittorio.maniezzo/did... · – Un host genera pacchetti IP con indirizzi di sorgente falsi – Il ricevente non è in grado

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?

Page 19: Sicurezza trasmissiva (cenni)isi-personale.csr.unibo.it/vittorio.maniezzo/did... · – Un host genera pacchetti IP con indirizzi di sorgente falsi – Il ricevente non è in grado

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

Page 20: Sicurezza trasmissiva (cenni)isi-personale.csr.unibo.it/vittorio.maniezzo/did... · – Un host genera pacchetti IP con indirizzi di sorgente falsi – Il ricevente non è in grado

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

Page 21: Sicurezza trasmissiva (cenni)isi-personale.csr.unibo.it/vittorio.maniezzo/did... · – Un host genera pacchetti IP con indirizzi di sorgente falsi – Il ricevente non è in grado

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:

Page 22: Sicurezza trasmissiva (cenni)isi-personale.csr.unibo.it/vittorio.maniezzo/did... · – Un host genera pacchetti IP con indirizzi di sorgente falsi – Il ricevente non è in grado

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

Page 23: Sicurezza trasmissiva (cenni)isi-personale.csr.unibo.it/vittorio.maniezzo/did... · – Un host genera pacchetti IP con indirizzi di sorgente falsi – Il ricevente non è in grado

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

Page 24: Sicurezza trasmissiva (cenni)isi-personale.csr.unibo.it/vittorio.maniezzo/did... · – Un host genera pacchetti IP con indirizzi di sorgente falsi – Il ricevente non è in grado

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)

Page 25: Sicurezza trasmissiva (cenni)isi-personale.csr.unibo.it/vittorio.maniezzo/did... · – Un host genera pacchetti IP con indirizzi di sorgente falsi – Il ricevente non è in grado

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.

Page 26: Sicurezza trasmissiva (cenni)isi-personale.csr.unibo.it/vittorio.maniezzo/did... · – Un host genera pacchetti IP con indirizzi di sorgente falsi – Il ricevente non è in grado

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

Page 27: Sicurezza trasmissiva (cenni)isi-personale.csr.unibo.it/vittorio.maniezzo/did... · – Un host genera pacchetti IP con indirizzi di sorgente falsi – Il ricevente non è in grado

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)

Page 28: Sicurezza trasmissiva (cenni)isi-personale.csr.unibo.it/vittorio.maniezzo/did... · – Un host genera pacchetti IP con indirizzi di sorgente falsi – Il ricevente non è in grado

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

Page 29: Sicurezza trasmissiva (cenni)isi-personale.csr.unibo.it/vittorio.maniezzo/did... · – Un host genera pacchetti IP con indirizzi di sorgente falsi – Il ricevente non è in grado

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”

����

Page 30: Sicurezza trasmissiva (cenni)isi-personale.csr.unibo.it/vittorio.maniezzo/did... · – Un host genera pacchetti IP con indirizzi di sorgente falsi – Il ricevente non è in grado

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

Page 31: Sicurezza trasmissiva (cenni)isi-personale.csr.unibo.it/vittorio.maniezzo/did... · – Un host genera pacchetti IP con indirizzi di sorgente falsi – Il ricevente non è in grado

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

Page 32: Sicurezza trasmissiva (cenni)isi-personale.csr.unibo.it/vittorio.maniezzo/did... · – Un host genera pacchetti IP con indirizzi di sorgente falsi – Il ricevente non è in grado

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

Page 33: Sicurezza trasmissiva (cenni)isi-personale.csr.unibo.it/vittorio.maniezzo/did... · – Un host genera pacchetti IP con indirizzi di sorgente falsi – Il ricevente non è in grado

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

Page 34: Sicurezza trasmissiva (cenni)isi-personale.csr.unibo.it/vittorio.maniezzo/did... · – Un host genera pacchetti IP con indirizzi di sorgente falsi – Il ricevente non è in grado

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

Page 35: Sicurezza trasmissiva (cenni)isi-personale.csr.unibo.it/vittorio.maniezzo/did... · – Un host genera pacchetti IP con indirizzi di sorgente falsi – Il ricevente non è in grado

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

Page 36: Sicurezza trasmissiva (cenni)isi-personale.csr.unibo.it/vittorio.maniezzo/did... · – Un host genera pacchetti IP con indirizzi di sorgente falsi – Il ricevente non è in grado

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

Page 37: Sicurezza trasmissiva (cenni)isi-personale.csr.unibo.it/vittorio.maniezzo/did... · – Un host genera pacchetti IP con indirizzi di sorgente falsi – Il ricevente non è in grado

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

Page 38: Sicurezza trasmissiva (cenni)isi-personale.csr.unibo.it/vittorio.maniezzo/did... · – Un host genera pacchetti IP con indirizzi di sorgente falsi – Il ricevente non è in grado

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.