+ All Categories
Home > Documents > Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network...

Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network...

Date post: 16-Jul-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
52
Corso di Laurea Specialistica in Ingegneria Informatica Corso di Reti di Calcolatori II Docente: Simon Pietro Romano [email protected] Sicurezza di rete Parte I
Transcript
Page 1: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

Corso di Laurea Specialistica in Ingegneria Informatica

Corso di Reti di Calcolatori II

Docente: Simon Pietro [email protected]

Sicurezza di rete

Parte I

Page 2: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

Nota per l’utilizzo:Abbiamo preparato queste slide con l’intenzione di renderle disponibili a tutti (professori, studenti, lettori). Sono in formato PowerPoint in modo

che voi possiate aggiungere e cancellare slide (compresa questa) o modificarne il contenuto in base alle vostre esigenze.

Come potete facilmente immaginare, da parte nostra abbiamo fatto un sacco di lavoro. In cambio, vi chiediamo solo di rispettare le seguenti

condizioni:

Nota Nota didi copyright per le slide copyright per le slide didi Kurose/RossKurose/Ross

6-2

condizioni:� se utilizzate queste slide (ad esempio, in aula) in una forma

sostanzialmente inalterata, fate riferimento alla fonte (dopo tutto, ci piacerebbe che la gente usasse il nostro libro!)

� se rendete disponibili queste slide in una forma sostanzialmente inalterata su un sito web, indicate che si tratta di un adattamento (o che sono identiche) delle nostre slide, e inserite la nota relativa al copyright.

Thanks and enjoy! JFK/KWR

All material copyright 1996-2007J.F Kurose and K.W. Ross, All Rights Reserved

Reti di calcolatori e Internet: Un approccio top-down

4a edizione Jim Kurose, Keith Ross

Pearson Paravia Bruno Mondadori Spa©2008

Page 3: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

Sicurezza nella comunicazioneSicurezza 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à 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 4: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

Mittente, ricevente e Mittente, ricevente e intrusointruso

� Scenario ben noto nel mondo della sicurezza di rete� Martina e Alice vogliono comunicare in modo sicuro� Tommaso (l’intruso) può intercettare, rimuovere, aggiungere

messaggi o modificare il loro contenuto

messaggi di Alice Martina

Mittentesicuro

Riceventesicuro

canale messaggi di controllo e dati

dati dati

Alice Martina

Tommaso

Page 5: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

PersonaggiPersonaggi eded interpretiinterpreti……

Nel mondo delle reti, Alice e Martina possono essere:

�browser/server Web durante una transazione elettronica (es. un acquisto on-line)

�client/server di banche on-line�client/server di banche on-line�server DNS�sistemi che si scambiano tabelle

d’instradamento�altro…

Page 6: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

D: Cosa può fare un nemico?R: Molto!

�spiare: intercettare i messaggi

�aggiungere messaggi e sovraccaricare il sistema

I nemici della reteI nemici della rete

�impersonare un altro soggetto

�dirottare una sessione in corso e sostituirsi al mittente o al destinatario

�negare il servizio

Page 7: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

Principi di crittografiaPrincipi di crittografia

Testo in chiaro

Testoin chiaro

Testo cifrato

KA

Algoritmodi cifratura

Algoritmodi decifratura

KM

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

Page 8: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

Crittografia a chiave simmetrica Crittografia a chiave simmetrica

Algoritmo di cifratura: sostituzione di un messaggio in chiaro con uno codificato�Cifrario monoalfabetico: sostituzione di una lettera con un’altra

Lettere in chiaro: abcdefghijklmnopqrstuvwxyz

Lettere cifrate: mnbvcxzasdfghjklpoiuytrewqLettere cifrate: mnbvcxzasdfghjklpoiuytrewq

Testo in chiaro: marty. i love you. alice

Testo cifrato: hmouw. s gktc wky. mgsbc

esempio

D: Come violare questo sistema di cifratura?:� con un attacco a “forza bruta” (ma quanto bruta?)� altri sistemi?

Page 9: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

CrittografiaCrittografia a a chiavechiave simmetricasimmetrica: : attacchiattacchi

• Attacco al testo cifrato:• l’intruso ha accesso al testo intercettato, senza alcuna

indicazione sul contenuto del messaggio• unico supporto: analisi statistica

• Attacco con informazioni sul testo in chiaro:• l’intruso conosce alcuni possibili accoppiamenti “testo in • l’intruso conosce alcuni possibili accoppiamenti “testo in

chiaro/testo cifrato”:• nomi dei corrispondenti, registrazione comunicazioni

precedenti, minuta di un messaggio scritto “in chiaro” da una delle parti

• Attacco con testo in chiaro scelto:• l’intruso è in grado di ottenere la forma cifrata di un

messaggio a lui noto

Page 10: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

Cifratura Cifratura polialfabeticapolialfabetica

• Un’evoluzione della cifratura con cifrario monoalfabetico:• le varie occorrenze di una stessa lettera vengono

codificate in modo diverso a seconda della posizione in cui appaiono nel messaggio in chiaroposizione in cui appaiono nel messaggio in chiaro

Lettere in chiaro: abcdefghijklmnopqrstuvwxyzC1(k=5): fghijklmnopqrstuvwxyzabcde

C2(k=19): tuvwxyzabcdefghijklmnopqrs

Sequenza: C 1C2C2C1C2:

Testo in chiaro: “ciao martina”

Testo cifrato: “hbtt ffkmngf”

Page 11: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

Testo in chiaroTesto cifrato

KA-M

Algoritmodi cifratura

Algoritmodi decifratura

KA-M

Testo in chiaromessaggio, m

K (m)A-MK (m)A-Mm = K ( )A-M

Crittografia a chiave simmetricaCrittografia a chiave simmetrica

Crittografia a chiave simmetrica: Alice e Martina utilizzano la stessa chiave: K

� es: la chiave è un pattern di sostituzione monoalfabetico� D: come fanno Martina e Alice a concordare la chiave?

A-M

K (m)A-M A-Mm = K ( )A-M

Page 12: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

Cifrario a blocchiCifrario a blocchi

� Un bit in

Ingresso a 64 bit

T1

8bit

8 bit

8bit

8 bit

8bit

8 bit

8bit

8 bit

8bit

8 bit

8bit

8 bit

8bit

8 bit

8bit

8 bit

Mescolamento a 64bit

ciclo pern iterazioni

T2 T3 T4 T6T5 T7 T8

NB: Ti = tabella di 8x8 bit

� Un bit in ingresso condiziona otto bit in uscita

Mescolamento a 64bit

Risultato a 64 bit

� Passaggi multipli: ciascun bit in ingresso condiziona tutti i bit in uscita

� comuni cifrari a blocchi: DES, 3DES, AES

Page 13: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

CipherCipher Block Block ChainingChaining

� Cifrario a blocchi: se un blocco in ingresso vieneripetuto, produrrà lo stesso testo cifrato

t=1 m(1) = “HTTP/1.1” blockcipher

c(1) = “k329aM02”

� Cipher block chaining:Effettua un’operazione di

t=17 m(17) = “HTTP/1.1” blockcipher

c(17) = “k329aM02”

Effettua un’operazione di XOR sull’i-esimo blocco in ingresso, m(i), con il precedente blocco di testo cifrato, c(i-1)� c(0) trasmesso in chiaro

al ricevente� Cosa accade nello

scenario “HTTP/1.1” qui a lato?

+

m(i)

c(i)

blockcipher

c(i-1)

Page 14: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

CifrariCifrari del del tipotipo ‘‘SostituzioneSostituzione--PermutazionePermutazione’’

• Nel 1949 Claude Shannon introdusse l’idea delle retiSostituzione-Permutazione (S-P)

• Tali reti rappresentano la base dei moderni cifrari a blocchi

• Le reti S-P si fondano su due operazioni crittograficheprimitive: primitive: • sostituzione (S-box)• permutazione (P-box)

• Esse garantiscono “confusione” e “diffusione” del messaggio

Page 15: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

ConfusioneConfusione e e DiffusioneDiffusione

• Il cifrario deve oscurare completamente le proprietàstatistiche del messaggio originario

• La proposta di Shannon (reti S-P) suggeriva dicombinare gli elementi del messaggio per ottenere:• Diffusione

• “spalma” la struttura statistica del testo in chiaro su blocchi di testo• “spalma” la struttura statistica del testo in chiaro su blocchi di testocifrato

• Confusione• rende quanto più complessa possibile la relazione tra testo cifrato e

chiave utilizzata per la cifratura

Page 16: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

Il Il cifrariocifrario didi FeistelFeistel

• Horst Feistel inventò il cosiddetto cifrario di Feistel:• Basato sul concetto di cifrario a prodotto invertibile• Partiziona un blocco in ingresso in due metà

• L’elaborazione procede in molteplici round che:– Effettuano una sostituzione sulla parte sinistra dei dati– Applicano una specifica funzione (detta ‘round function’) alla parte destra del

blocco e ad un sottoinsieme della chiaveblocco e ad un sottoinsieme della chiave– Effettuano una permutazione mediante scambio delle due metà

• Realizza in maniera estremamente efficiente il concetto direte S-P introdotto da Shannon:

• Il medesimo hardware (o software) è utilizzato sia per la codifica cheper la decodifica

– L’inversione della procedura di codifca (e viceversa) richiede semplici modifichelegate alla modalità di utilizzo delle chiavi

Page 17: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

DES: Data DES: Data EncryptionEncryption StandardStandard

� Standard codificato e aggiornato dall’U.S. National Bureau ofStandards [NIST 1993]

� Codifica il testo in chiaro in blocchi di 64 bit; 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 “Strong cryptography makes the world a safer place” fu individuata in meno di 4 mesi

� Come rendere DES più sicuro:�usare sequenzialmente tre chiavi (3DES, triplo DES)�utilizzare il concatenamento dei blocchi cifrati

Page 18: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

Permutazione iniziale

16 iterazioni intermedie identiche, ciascuna con

Operazioni basedi DES

DES: schema logicoDES: schema logico

identiche, ciascuna con 48 bit differenti come chiave

Permutazione finale

Page 19: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

�Il sostituto di DES, annunciato nel novembre 2001 dal NIST

�AES processa i dati in blocchi da 128 bit�Opera con chiavi a 128, 192 e 256 bit

Advanced Encryption StandardAdvanced Encryption Standard

�Si stima che un calcolatore possa individuare una chiave DES a 56 bit in 1 sec

�Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe 149 miliardi di anni!

Page 20: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

Crittografia a chiave pubblicaCrittografia a chiave pubblica

Crittografia a chiave simmetrica

� Richiede che mittente e destinatario condividano una

Crittografia a chiave pubblica

� approccio radicalmente diverso

� mittente e destinatario non condividono una chiave condividano una

chiave segreta� D: come si concorda la

chiave (specialmente se i due interlocutori non si sono mai “incontrati”)?

non condividono una chiave segreta

� la chiave di cifratura pubblica è nota a tutti

� la chiave di cifratura privata è nota solo al destinatario

Page 21: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

Crittografia a chiave pubblicaCrittografia a chiave pubblica

Chiave pubblica

K M+

Chiave Privata

K M-

Messaggioin chiaro, m

Testo cifratoAlgoritmodi cifratura

Algoritmodi decifratura

Messaggioin chiaro, mK (m)M

+

m = K (K (m))M+

M-

Page 22: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

K ( ) e K () tale che:M M

Requisiti:

1+ -

K (K (m)) = mMM- +

Algoritmi di cifratura a chiave pubblicaAlgoritmi di cifratura a chiave pubblica

data la chiave pubblica K , deve essere impossibile calcolare la chiave privata K

M

M2

Algoritmo RSA: acronimo derivato dal nome dei suoi autori:Rivest, Shamir e Adelson

K (K (m)) = mMM

+

-

Page 23: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

RSA: scelta delle chiaviRSA: 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 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).

KM+ KM

-

Page 24: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

RSA: cifratura, decifraturaRSA: cifratura, decifratura

0. 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 25: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

Un esempio di RSA:Un esempio di RSA:

Martina 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 nelettera m me c = m mod ne

l 12 1524832 17

c m = c mod nd17 481968572106750915091411825223071697 12

cd letteral

cifratura:

decifratura:

Page 26: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

m = (m mod n)e mod nd

(m mod n)e mod n = m mod nd ed

Utilizziamo la teoria dei numeri: se p e q sono primie n = pq, allora:

x mod n = x mod ny y mod (p-1)(q-1)

RSA: pRSA: perchéerché

(m mod n) mod n = m mod n

= m mod ned mod (p-1)(q-1)

= m mod n1

= m

(usando la teoria dei numeri vista sopra)

(perché abbiamo scelto che e e d siano divisibili per(p-1)(q-1) con resto 1 )

Page 27: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

RSA: un’altra importante proprietàRSA: un’altra importante proprietà

La seguente proprietà sarà molto utile più avanti:

K (K (m)) = mMM- +

K (K (m))MM+ -

=

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 28: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

Integrità del messaggioIntegrità del messaggio

Martina riceve un messaggio da Alice, e vuole esseresicura che:

� il messaggio provenga effettivamente da Alice � il messaggio non sia stato alterato lungo il camminoFunzioni hash crittografiche❒ prende in input m, produce un valore a lunghezza fissa, ❒ prende in input m, produce un valore a lunghezza fissa,

H(m)❍ Come nella checksum Internet

❒ Deve essere computazionalmente impossibile trovare due messaggi x e y tali che H(x) = H(y)

❍ o anche: dato m = H(x), (con x sconosciuta), è impossibiledeterminare x.

❍ nota: ciò non accade con la checksum Internet!

Page 29: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

La checksum di Internet ha alcune delle proprietà di una funzione hash:➼ Crea sintesi di messaggi di lunghezza fissa (16 bit)➼ È molti-a-uno

Ma è relativamente semplice trovare altri dati che utilizzano la stessa checksum del messaggio originale:

La checksum La checksum didi InternetInternet

utilizzano la stessa checksum del messaggio originale:

I O U 10 0 . 99 B O B

49 4F 55 3130 30 2E 3939 42 D2 42

Messaggio Rappresentaz. ASCII

B2 C1 D2 AC

I O U 90 0 . 19 B O B

49 4F 55 3930 30 2E 3139 42 D2 42

B2 C1 D2 ACMessaggi diversima checksum identica!

Messaggio Rappresentaz. ASCII

Page 30: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

Codice di autenticazione dei messaggiCodice di autenticazione dei messaggi

m

(messaggio)Internet

aggiungem H(m+s)

s

confronta

mH(.)

H(m+s)

(segreto condiviso)

m

s(segreto condiviso)

H(.) H(m+s)

aggiunge

H(m+s)

Page 31: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

Codice di autenticazione dei Codice di autenticazione dei messaggimessaggi

�MD5 è molto usato per per l’hash deimessaggi (RFC 1321)� Calcola una hash di 128 bit con un processo a 4 fasi� Con una stringa x di 128 bit arbitrari, appare difficilecostruire un messaggio m il cui hash MD5 sia uguale a x• recentemente (2005) sono stati condotti attacchi contro MD5• recentemente (2005) sono stati condotti attacchi contro MD5

�È molto usato anche hash sicuro (SHA-1)� Standard statunitense� Produce una sintesi del messaggio di 160 bit

Page 32: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

Firma digitaleFirma digitale

Tecnica crittografica analoga all’invio di una tradizionale “firma scritta”

�Il mittente (Martina) firma digitalmente un documento, stabilendo che lei è l’unica proprietaria/creatrice del messaggio.proprietaria/creatrice del messaggio.

�Verificabile e non falsificabile: il destinatario (Alice) può dimostrare che Martina e nessun altro (Alice inclusa) può aver firmato il documento.

Page 33: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

Firma digitaleFirma digitale

Creazione della firma digitale di un messaggio, m:• Martina firma un messaggio, m, e lo codifica utilizzando la

sua chiave privata KM, creando così un messaggio “firmato”, KM(m)

Messaggio di Martina, m Chiave privataDi MartinaK M

- K M-(m)

--

Cara Alice,

scusami se non ho potuto scriverti prima ma...

Martina

Algoritmodi cifratura

Chiave privataDi MartinaK M

Messaggio di Martina, firmato (e criptato) con la sua chiave

privata

K M(m)

Page 34: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

� Supponiamo che Alice riceva un messaggio m, con la firma digitale KM(m)

� Alice verifica che m è firmato da Martina applicando la chiave pubblica di Martina KM a KM(m) e controlla che KM(KM(m) ) = m.

� Se KM(KM(m) ) = m, chiunque abbia firmato m deve usare la chiave privata di Martina

- +-

-

+

+

-

Firma Firma digitaledigitale

Alice può verificare che:� Martina ha firmato m. � Nessun altro ha firmato m.� Martina ha firmato m e non m’.

Non-ripudio:� Alice può prendere m, e la firma KM(m) per dimostrare che

Martina ha firmato m.

-

Page 35: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

Messaggiolungom

H: funzionehash H(m)

FirmaChiave

Martina invia un messaggio con la firma digitale:

Alice verifica la firma e l’integrità del messaggio con la firma digitale:

KM(H(m))-

msg digestcifrato

Messaggio

Firma Firma digitaledigitale = = messaggimessaggi digest digest firmatifirmati

Firmadigitale(cifrata)

Chiaveprivata

diMartina K M

-

+ KM(H(m))-

msg digestcifrato

Messaggiolungom

H: funzionehash

H(m)

Firma digitale

(decifrata)

H(m)

Chiavepubblica

diMartina K M

+

identico?

Page 36: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

Certificazione della chiave pubblicaCertificazione della chiave pubblica

Problema per la crittografia a chiave pubblica:�Quando Alice riceve la chiave pubblica di

Martina (attraverso un dischetto, il sito web o via e-mail), come fa a sapere che è veramente la chiave pubblica di Martina e non, magari, la chiave pubblica di Martina e non, magari, quella di Tommaso?

Soluzione:�Autorità di certificazione (CA, certification

authority)

Page 37: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

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

CertificationCertification AuthorityAuthority

“questa è la chiave pubblica di E”)

Chiave pubblica di

Martina K M+

Martina identifica

l’informazione

Firmadigitale (cifrata)

Chiave privatadi CA K CA

-

K M+

Certificato per la chiave pubblica di Martina,

firmato da CA

Page 38: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

� Quando Alice vuole la chiave pubblica di Martina:� prende il certificato di Martina� applica la chiave pubblica di CA al certificato pubblico di

Martina e ottiene la chiave pubblica di Martina

CertificationCertification Authority (Authority (contcont.).)

Chiave pubblica di

MartinaK M+

Firmadigitale(cifrata)

Chiave pubblica di

CA K CA+

K M+

Page 39: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

Certificati digitali: strutturaCertificati digitali: struttura

Page 40: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

Certificati digitali: struttura (Certificati digitali: struttura (contcont.).)

Page 41: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

Obiettivo: Martina vuole che Alice le “dimostri” la sua identità

Protocollo ap1.0: Alice dice “Sono Alice”

Autenticazione Autenticazione endend--toto--endend

Scenario con fallimento??“Sono Alice”

Page 42: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

Obiettivo: Martina vuole che Alice le “dimostri” la sua identità

Protocollo ap1.0: Alice dice “Sono Alice”

AutenticazioneAutenticazione

in una rete,Martina non può “vedere” Alice, e Tommaso può semplicemente

autenticarsi come Alice

“Sono Alice”

Page 43: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

Autenticazione: un altro tentativoAutenticazione: un altro tentativo

Protocollo ap2.0:Se Alice avesse un indirizzo di rete conosciuto, potrebbe

spedire il messaggio “Sono Alice” in un pacchetto IP avente tale indirizzo come indirizzo IP sorgente

Scenario con fallimento??

“Sono Alice”Indirizzo IPdi Alice

Page 44: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

Autenticazione: un altro tentativoAutenticazione: 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 IPdi Alice

Page 45: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

Autenticazione: un altro tentativoAutenticazione: un altro tentativo

Protocollo ap3.0: Alice dice “Sono Alice” e inviala sua password segreta per “dimostrarlo”

Indir. IP Password

Scenario con fallimento??

“Sono Alice”Indir. IPdi Alice

Passworddi Alice

OKIndir. IPdi Alice

Page 46: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

Autenticazione: un altro tentativoAutenticazione: un altro tentativo

Indir. IP Password

Protocollo ap3.0: Alice dice “Sono Alice” e inviala sua password segreta per “dimostrarlo”

attacco di replica:Tommaso registrail pacchetto di Alice

e lo riproduce successivamente trasmettendolo

a Martina

“Sono Alice”Indir. IPdi Alice

Passworddi Alice

OKIndir. IPdi Alice

“Sono Alice”Indir. IPdi Alice

Passworddi Alice

Page 47: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

Protocollo ap3.1: Alice dice “Sono Alice” e inviala sua password segreta criptata per “dimostrarlo”.

Indir. IP Password

Autenticazione: ancora un altro tentativoAutenticazione: ancora un altro tentativo

Scenario con fallimento??

“Sono Alice”Indir. IPdi Alice

Passwordcriptata

OKIndir. IPdi Alice

Page 48: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

Protocollo ap3.1: Alice dice “Sono Alice” e inviala sua password segreta criptata per “dimostrarlo”.

Indir. IP Password

Autenticazione: ancora un altro tentativoAutenticazione: ancora un altro tentativo

Registrazione eriproduzionefunzionanoancora!

“Sono Alice”Indir. IPdi Alice

Passwordcriptata

OKIndir. IPdi Alice

“Sono Alice”Indir. IPdi Alice

Passwordcriptata

Page 49: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

Obiettivo: evitare un attacco di replica (playback attack)

Nonce: è un numero (R) che verrà usato soltanto una volta (NB: ‘number + once’ = ‘nonce’) .

Protocollo ap4.0: Alice manda il messaggio “Sono Alice”, Martina sceglie e manda ad Alice un nonce, R. Alice reinvia il nonce R, criptato utilizzando la chiave simmetrica segreta.

Autenticazione: ancora un altro tentativoAutenticazione: ancora un altro tentativo

Attacco fallito?

segreta. “Sono Alice”

R

K (R)A-MSolo Alice

conosce la chiave simmetrica per decifrare il

nonce.

Page 50: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

Autenticazione: protocollo Autenticazione: protocollo apap.5.0.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

“Sono Alice”“Sono Alice”

RMartina calcolaK (R)A

-

“Mandami la tua chiave pubblica”

K A+

(K (R)) = RA-K A

+

e autentica Alice

Page 51: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

Attacco man-in-the-middle: Tommaso si finge Alice (nei confronti di Martina) e si finge Martina (nei confronti di Alice)

Sono Alice Sono AliceR

TK (R)-

R

Protocollo Protocollo apap.5.0 : un buco nella sicurezza.5.0 : un buco nella sicurezza

TK +A

K (R)-

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 52: Sicurezzadirete Parte I - UniNa STiDuEunina.stidue.net/Reti di Calcolatori 2/Materiale/04 - Network Security... · Per violare una chiave AES a 128 bit lo stesso computer impiegherebbe

Attacco man-in-the-middle: Tommaso si finge Alice (nei confronti di Martina) e si finge Martina (nei confronti di Alice)

Protocollo Protocollo apap.5.0 : un buco nella sicurezza.5.0 : un buco nella sicurezza

Difficile da individuare:� Martina riceve sempre tutti messaggi di Alice, e viceversa (e quindi nulla fa loro sospettare di un’intromissione)� Il problema è che anche Tommaso riceve benissimo tutti i messaggi!


Recommended