82
17/05/2010 1 La Sicurezza nelle La Sicurezza nelle Reti Reti Sicurezza in Internet, Crittografia - Slide 1 13 maggio 2010 13 maggio 2010 Reti Reti

La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

1

La Sicurezza nelle La Sicurezza nelle RetiReti

Sicurezza in Internet, Crittografia - Slide 113 maggio 201013 maggio 2010

RetiReti

Page 2: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

2

� In generale, la violazione della sicurezza di un sistema si traduce nel fatto che un soggetto (esterno o interno) al sistema stesso ottiene privilegi (exploit) che non gli

� In generale, la violazione della sicurezza di un sistema si traduce nel fatto che un soggetto (esterno o interno) al sistema stesso ottiene privilegi (exploit) che non gli

Sicurezza nelle RetiSicurezza nelle RetiSicurezza nelle RetiSicurezza nelle Reti

Sicurezza in Internet, Crittografia - Slide 213 maggio 201013 maggio 2010

stesso ottiene privilegi (exploit) che non gli competono.

� Il soggetto può allora utilizzare il sistema in modo abusivo e/o renderlo inutilizzabile.

stesso ottiene privilegi (exploit) che non gli competono.

� Il soggetto può allora utilizzare il sistema in modo abusivo e/o renderlo inutilizzabile.

Page 3: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

3

� I principali sistemi che intervengono nella sicurezza in Internet:

– Password

� I principali sistemi che intervengono nella sicurezza in Internet:

– Password

Sicurezza nelle RetiSicurezza nelle RetiSicurezza nelle RetiSicurezza nelle Reti

Sicurezza in Internet, Crittografia - Slide 313 maggio 201013 maggio 2010

– Password

– Sistemi crittografici

– Protezione dai “virus”

– Firewall

– Proxy (un ambito di applicazione più esteso della semplice sicurezza)

– Password

– Sistemi crittografici

– Protezione dai “virus”

– Firewall

– Proxy (un ambito di applicazione più esteso della semplice sicurezza)

Page 4: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

4

� Alcune precauzioni possono sembrare affatto ovvie.

– Raccomandazioni del tipo: » “non lasciare la porta aperta quando esci”

� Alcune precauzioni possono sembrare affatto ovvie.

– Raccomandazioni del tipo: » “non lasciare la porta aperta quando esci”

Sicurezza nelle Reti: PasswordSicurezza nelle Reti: PasswordSicurezza nelle Reti: PasswordSicurezza nelle Reti: Password

Sicurezza in Internet, Crittografia - Slide 413 maggio 201013 maggio 2010

» “non lasciare la porta aperta quando esci”» “non mettere la chiave di casa sotto lo stuoino”

– Nel mondo dei computer potremmo tradurre queste raccomandazioni come:

» “Usate delle buone password”

– Secondo il CERT (Computer Emergency Response Team), circa l’80% dei problemi di sicurezza deriva da password inadatte.

» “non lasciare la porta aperta quando esci”» “non mettere la chiave di casa sotto lo stuoino”

– Nel mondo dei computer potremmo tradurre queste raccomandazioni come:

» “Usate delle buone password”

– Secondo il CERT (Computer Emergency Response Team), circa l’80% dei problemi di sicurezza deriva da password inadatte.

Page 5: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

5

� Alcune raccomandazioni per le password:

– Usare un misto di numeri e lettere,

� Alcune raccomandazioni per le password:

– Usare un misto di numeri e lettere,

Sicurezza nelle Reti: PasswordSicurezza nelle Reti: PasswordSicurezza nelle Reti: PasswordSicurezza nelle Reti: Password

Sicurezza in Internet, Crittografia - Slide 513 maggio 201013 maggio 2010

– Usare un misto di numeri e lettere, maiuscole e minuscole.

– Usare password di almeno otto caratteri (meglio almeno 12).

– Usare un insieme apparentemente casuale di numeri e lettere.

– Usare un misto di numeri e lettere, maiuscole e minuscole.

– Usare password di almeno otto caratteri (meglio almeno 12).

– Usare un insieme apparentemente casuale di numeri e lettere.

Page 6: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

6

Sistemi Sistemi CrittograficiCrittografici

Sicurezza in Internet, Crittografia - Slide 613 maggio 201013 maggio 2010

CrittograficiCrittografici

Page 7: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

7

� Crittografia:–– daldal greco κρυπτός (nascosto) e γραφή

(scrittura).

– Il termine si riferisce ad una qualche forma di

� Crittografia:–– daldal greco κρυπτός (nascosto) e γραφή

(scrittura).

– Il termine si riferisce ad una qualche forma di

Sistemi CrittograficiSistemi CrittograficiSistemi CrittograficiSistemi Crittografici

Sicurezza in Internet, Crittografia - Slide 713 maggio 201013 maggio 2010

– Il termine si riferisce ad una qualche forma di codifica della scrittura, ovvero del mezzo di comunicazione, in modo da renderlo incomprensibile a chi non conosce il sistema di decifrazione.

– La crittazione riguarda il mezzo, non il significato del messaggio.

– Il termine si riferisce ad una qualche forma di codifica della scrittura, ovvero del mezzo di comunicazione, in modo da renderlo incomprensibile a chi non conosce il sistema di decifrazione.

– La crittazione riguarda il mezzo, non il significato del messaggio.

Page 8: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

8

� Possiamo dividere i sistemi crittografici in due grandi categorie:

– sistemi basati sulla conoscenza esclusiva del metodo di crittazione

� Possiamo dividere i sistemi crittografici in due grandi categorie:

– sistemi basati sulla conoscenza esclusiva del metodo di crittazione

Sistemi CrittograficiSistemi CrittograficiSistemi CrittograficiSistemi Crittografici

Sicurezza in Internet, Crittografia - Slide 813 maggio 201013 maggio 2010

» Oggigiorno sono generalmente considerati metodi poco sicuri, a causa delle crescenti potenze di calcolo disponibili

» Sono poco pratici. Se il metodo viene reso noto, bisogna riprogrammare tutti i sistemi di codifica/decodifica.

– sistemi che richiedono la conoscenza non solo del metodo, ma anche di una chiave

» Sono considerati sistemi più sicuri

» Offrono diversi vantaggi pratici: anche se il metodo è noto, non sono in grado di decifrare nulla, se non conosco anche la chiave.

» Oggigiorno sono generalmente considerati metodi poco sicuri, a causa delle crescenti potenze di calcolo disponibili

» Sono poco pratici. Se il metodo viene reso noto, bisogna riprogrammare tutti i sistemi di codifica/decodifica.

– sistemi che richiedono la conoscenza non solo del metodo, ma anche di una chiave

» Sono considerati sistemi più sicuri

» Offrono diversi vantaggi pratici: anche se il metodo è noto, non sono in grado di decifrare nulla, se non conosco anche la chiave.

Page 9: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

9

� Nel 1883, August Kerckhoffs, un linguista e crittologo franco-olandese pubblica un articolo (“La cryptographie militaire”) sull’uso delle tecniche crittografiche in campo militare.

� Nel 1883, August Kerckhoffs, un linguista e crittologo franco-olandese pubblica un articolo (“La cryptographie militaire”) sull’uso delle tecniche crittografiche in campo militare.

Sistemi CrittograficiSistemi CrittograficiSistemi CrittograficiSistemi Crittografici

Sicurezza in Internet, Crittografia - Slide 913 maggio 201013 maggio 2010

crittografiche in campo militare.

� Principio di Kerckhoffs:

“La sicurezza di un sistema crittografico deve essere legata alla sola conoscenza della chiave”

crittografiche in campo militare.

� Principio di Kerckhoffs:

“La sicurezza di un sistema crittografico deve essere legata alla sola conoscenza della chiave”

Page 10: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

10

� Il Principio di Kerckhoffs è stato riformulato (forse in modo indipendente) da Claude Shannon, il fondatore della teoria

� Il Principio di Kerckhoffs è stato riformulato (forse in modo indipendente) da Claude Shannon, il fondatore della teoria

Sistemi CrittograficiSistemi CrittograficiSistemi CrittograficiSistemi Crittografici

Sicurezza in Internet, Crittografia - Slide 1013 maggio 201013 maggio 2010

Shannon, il fondatore della teoria dell’informazione, nella forma “il nemico conosce il sistema”.

� In questa forma è chiamato massima di Shannon.

Shannon, il fondatore della teoria dell’informazione, nella forma “il nemico conosce il sistema”.

� In questa forma è chiamato massima di Shannon.

Page 11: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

11

� Crittografia a chiave:

– La possibilità di decifrare il messaggio è basata sulla conoscenza esclusiva di una chiave

� Crittografia a chiave:

– La possibilità di decifrare il messaggio è basata sulla conoscenza esclusiva di una chiave

Sistemi CrittograficiSistemi CrittograficiSistemi CrittograficiSistemi Crittografici

Sicurezza in Internet, Crittografia - Slide 1113 maggio 201013 maggio 2010

sulla conoscenza esclusiva di una chiave (generalmente un insieme di caratteri alfanumerici)

– E’ possibile utilizzare una chiave diversa per ogni messaggio. La chiave è associata in qualche modo al messaggio stesso.

sulla conoscenza esclusiva di una chiave (generalmente un insieme di caratteri alfanumerici)

– E’ possibile utilizzare una chiave diversa per ogni messaggio. La chiave è associata in qualche modo al messaggio stesso.

Page 12: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

12

� L’applicazione del principio di Kerckhoffs porta ad alcune interessanti conseguenze:

– Non ha nessuna importanza che il metodo di codifica sia

� L’applicazione del principio di Kerckhoffs porta ad alcune interessanti conseguenze:

– Non ha nessuna importanza che il metodo di codifica sia

Sistemi CrittograficiSistemi CrittograficiSistemi CrittograficiSistemi Crittografici

Sicurezza in Internet, Crittografia - Slide 1213 maggio 201013 maggio 2010

– Non ha nessuna importanza che il metodo di codifica sia universalmente noto.

– E’ auspicabile che il metodo di codifica sia universalmente noto.

– In una comunità ad alta circolazione dell’informazione le possibilità di superare il codice, grazie a difetti e debolezze del metodo di codifica, si riducono enormemente.

– Non ha nessuna importanza che il metodo di codifica sia universalmente noto.

– E’ auspicabile che il metodo di codifica sia universalmente noto.

– In una comunità ad alta circolazione dell’informazione le possibilità di superare il codice, grazie a difetti e debolezze del metodo di codifica, si riducono enormemente.

Page 13: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

13

� E’ possibile concepire un sistema crittografico inviolabile?

� In linea teorica la risposta è: sì.

� E’ possibile concepire un sistema crittografico inviolabile?

� In linea teorica la risposta è: sì.

Sistemi CrittograficiSistemi CrittograficiSistemi CrittograficiSistemi Crittografici

Sicurezza in Internet, Crittografia - Slide 1313 maggio 201013 maggio 2010

� In linea teorica la risposta è: sì.

– La matematica è un sistema logico in grado di manipolare l’infinito.

� Dal punto di vista pratico non siamo in grado di costruire un codice inviolabile.

– I sistemi reali (e i computer in particolare) sono aleatori e finiti.

� In linea teorica la risposta è: sì.

– La matematica è un sistema logico in grado di manipolare l’infinito.

� Dal punto di vista pratico non siamo in grado di costruire un codice inviolabile.

– I sistemi reali (e i computer in particolare) sono aleatori e finiti.

Page 14: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

14

� Il grado di sicurezza dei sistemi crittografici viene valutato in base al tempo richiesto per forzare un messaggio cifrato, tipicamente

� Il grado di sicurezza dei sistemi crittografici viene valutato in base al tempo richiesto per forzare un messaggio cifrato, tipicamente

Il CifrarioIl CifrarioIl CifrarioIl Cifrario

Sicurezza in Internet, Crittografia - Slide 1413 maggio 201013 maggio 2010

messaggio cifrato, tipicamente ricostruendo la chiave di cifratura.

� Un cifrario è sicuro se non può essere violato in tempo utile , anche se il metodo crittografico è universalmente noto.

messaggio cifrato, tipicamente ricostruendo la chiave di cifratura.

� Un cifrario è sicuro se non può essere violato in tempo utile , anche se il metodo crittografico è universalmente noto.

Page 15: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

15

� Il cifrario è il metodo di codifica.

� Essenzialmente si tratta di una funzione che opera su un carattere o

� Il cifrario è il metodo di codifica.

� Essenzialmente si tratta di una funzione che opera su un carattere o

Il CifrarioIl CifrarioIl CifrarioIl Cifrario

Sicurezza in Internet, Crittografia - Slide 1513 maggio 201013 maggio 2010

funzione che opera su un carattere o un blocco di caratteri trasformandoli in un blocco diverso.

� Viene anche detto algoritmo di encryption

funzione che opera su un carattere o un blocco di caratteri trasformandoli in un blocco diverso.

� Viene anche detto algoritmo di encryption

Page 16: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

16

Sistemi CrittograficiSistemi CrittograficiSistemi CrittograficiSistemi Crittografici

Per documenti di grandi dimensioni si suddivide il testo in chiaro in Per documenti di grandi dimensioni si suddivide il testo in chiaro in blocchi di lunghezza fissa. Ogni blocco viene cifrato separatamente; blocchi di lunghezza fissa. Ogni blocco viene cifrato separatamente; alla fine i blocchi vengono riuniti (alla fine i blocchi vengono riuniti (block cipherblock cipher))

Sicurezza in Internet, Crittografia - Slide 1613 maggio 201013 maggio 2010

Algoritmo di encryptionAlgoritmo di encryptionTesto in Testo in

chiarochiaro

Testo cifratoTesto cifrato

Chiave (key)Chiave (key)

Page 17: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

17

� Discutere delle proprietà dei cifrari ci porterebbe troppo lontano.

� Secondo Shannon un buon cifrario deve produrre “confusione e diffusione” nel testo cifrato.

� Discutere delle proprietà dei cifrari ci porterebbe troppo lontano.

� Secondo Shannon un buon cifrario deve produrre “confusione e diffusione” nel testo cifrato.

Il CifrarioIl CifrarioIl CifrarioIl Cifrario

Sicurezza in Internet, Crittografia - Slide 1713 maggio 201013 maggio 2010

“confusione e diffusione” nel testo cifrato.

� In sostanza l’analisi di una qualunque porzione di un testo cifrato non deve fornire una quantità d’informazione diversa da qualunque altra sua parte e dal testo nel suo complesso (ridondanze, ripetizioni etc.)

“confusione e diffusione” nel testo cifrato.

� In sostanza l’analisi di una qualunque porzione di un testo cifrato non deve fornire una quantità d’informazione diversa da qualunque altra sua parte e dal testo nel suo complesso (ridondanze, ripetizioni etc.)

Page 18: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

18

� Possiamo raggruppare i cifrari a chiave, correntemente usati nella rete, in due grandi categorie:

� Possiamo raggruppare i cifrari a chiave, correntemente usati nella rete, in due grandi categorie:

Il CifrarioIl CifrarioIl CifrarioIl Cifrario

Sicurezza in Internet, Crittografia - Slide 1813 maggio 201013 maggio 2010

in due grandi categorie:

– Cifrari simmetrici

– Cifrari asimmetrici o a chiave pubblica (public key)

in due grandi categorie:

– Cifrari simmetrici

– Cifrari asimmetrici o a chiave pubblica (public key)

Page 19: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

19

� E’ un metodo in cui si utilizza la stessa chiave per le operazioni di cifratura e decifrazione.

� E’ un metodo in cui si utilizza la stessa chiave per le operazioni di cifratura e decifrazione.

Il Cifrario SimmetricoIl Cifrario SimmetricoIl Cifrario SimmetricoIl Cifrario Simmetrico

chiavechiaveCanale sicuroCanale sicuro

Sicurezza in Internet, Crittografia - Slide 1913 maggio 201013 maggio 2010

cifracifra decifradecifra

chiavechiave

Testo in Testo in

chiarochiaro

Testo in Testo in

chiarochiaro

A B

Page 20: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

20

� Il cifrario è detto simmetrico perchè entrambi gli utenti sono in possesso della stessa chiave.

� Ognuno degli utenti può quindi cifrare e decifrare indifferentemente.

� Il cifrario è detto simmetrico perchè entrambi gli utenti sono in possesso della stessa chiave.

� Ognuno degli utenti può quindi cifrare e decifrare indifferentemente.

Il Cifrario SimmetricoIl Cifrario SimmetricoIl Cifrario SimmetricoIl Cifrario Simmetrico

Sicurezza in Internet, Crittografia - Slide 2013 maggio 201013 maggio 2010

indifferentemente.

� Controindicazioni:

– Occorre un canale sicuro, che non possa essere letto da terze parti.

– Ogni comunicazione con un utente diverso richiede lo scambio di una chiave apposita. Occorre scambiare un gran numero di chiavi tutte su canali sicuri.

indifferentemente.

� Controindicazioni:

– Occorre un canale sicuro, che non possa essere letto da terze parti.

– Ogni comunicazione con un utente diverso richiede lo scambio di una chiave apposita. Occorre scambiare un gran numero di chiavi tutte su canali sicuri.

Page 21: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

21

� La risoluzione dei problemi di comunicazione della chiave è ottenuta con un metodo misto. Si utilizzano

� La risoluzione dei problemi di comunicazione della chiave è ottenuta con un metodo misto. Si utilizzano

Il Cifrario SimmetricoIl Cifrario SimmetricoIl Cifrario SimmetricoIl Cifrario Simmetrico

Sicurezza in Internet, Crittografia - Slide 2113 maggio 201013 maggio 2010

con un metodo misto. Si utilizzano cioè dei metodi di strong encryption(tipicamente cifrari asimmetrici) per scambiare le chiavi.

con un metodo misto. Si utilizzano cioè dei metodi di strong encryption(tipicamente cifrari asimmetrici) per scambiare le chiavi.

Page 22: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

22

� DES (1976, IBM)

� 3DES (evoluzione del DES)

� DES (1976, IBM)

� 3DES (evoluzione del DES)

Il Cifrario Simmetrico: AlgoritmiIl Cifrario Simmetrico: AlgoritmiIl Cifrario Simmetrico: AlgoritmiIl Cifrario Simmetrico: Algoritmi

Sicurezza in Internet, Crittografia - Slide 2213 maggio 201013 maggio 2010

� 3DES (evoluzione del DES)

� Blowfish (1993, Bruce Schneier)

� AES – Rijndael (2000, Joan Daemen e Vincent Rijndael)

� 3DES (evoluzione del DES)

� Blowfish (1993, Bruce Schneier)

� AES – Rijndael (2000, Joan Daemen e Vincent Rijndael)

Page 23: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

23

� E’ un cifrario a blocchi (64 bit)

� Chiave da 56 bit

� E’ un cifrario a blocchi (64 bit)

� Chiave da 56 bit

Algoritmi: DESAlgoritmi: DESAlgoritmi: DESAlgoritmi: DES

Sicurezza in Internet, Crittografia - Slide 2313 maggio 201013 maggio 2010

� Nessuna ridondanza: il messaggio criptato ha la stessa lunghezza del messaggio in chiaro

� E’ basato sull’impiego ciclico di 16 reti di Feistel + due permutazioni (iniziale e finale)

� Nessuna ridondanza: il messaggio criptato ha la stessa lunghezza del messaggio in chiaro

� E’ basato sull’impiego ciclico di 16 reti di Feistel + due permutazioni (iniziale e finale)

Page 24: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

24

� Il DES fu violato nel 1998.

� Si dimostrò che con 56 ore di calcolo

� Il DES fu violato nel 1998.

� Si dimostrò che con 56 ore di calcolo

Algoritmi: DESAlgoritmi: DESAlgoritmi: DESAlgoritmi: DES

Sicurezza in Internet, Crittografia - Slide 2413 maggio 201013 maggio 2010

� Si dimostrò che con 56 ore di calcolo su di un supercomputer parallelo era possibile generare tutte le possibili chiavi a 56 bit e decifrare il messaggio

� Violazione di tipo brute force.

� Si dimostrò che con 56 ore di calcolo su di un supercomputer parallelo era possibile generare tutte le possibili chiavi a 56 bit e decifrare il messaggio

� Violazione di tipo brute force.

Page 25: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

25

� Evoluzione del DES

� Basato sulla tecnica EDE (Encrypt, Decrypt, Encrypt)

– Uso di una chiave simmetrica per 3 volte su uno stesso blocco di dati.

– Cifratura con la chiave 1, decifrazione con la chiave 2, nuova cifratura

� Evoluzione del DES

� Basato sulla tecnica EDE (Encrypt, Decrypt, Encrypt)

– Uso di una chiave simmetrica per 3 volte su uno stesso blocco di dati.

– Cifratura con la chiave 1, decifrazione con la chiave 2, nuova cifratura

Algoritmi: 3DESAlgoritmi: 3DESAlgoritmi: 3DESAlgoritmi: 3DES

Sicurezza in Internet, Crittografia - Slide 2513 maggio 201013 maggio 2010

– Cifratura con la chiave 1, decifrazione con la chiave 2, nuova cifratura con la chiave 1.

– Complessivamente la chiave è lunga 112 bit (56+56).

– Notare che durante la fase 2 non si ottiene un testo in chiaro.

– Non è detto che ripetendo più volte il ciclo EDE si ottengano cifrature più affidabili (effetti ciclici).

� L’affidabilità di un algoritmo di cifratura dipende dal modo in cui vengono mescolati i bit.

– Cifratura con la chiave 1, decifrazione con la chiave 2, nuova cifratura con la chiave 1.

– Complessivamente la chiave è lunga 112 bit (56+56).

– Notare che durante la fase 2 non si ottiene un testo in chiaro.

– Non è detto che ripetendo più volte il ciclo EDE si ottengano cifrature più affidabili (effetti ciclici).

� L’affidabilità di un algoritmo di cifratura dipende dal modo in cui vengono mescolati i bit.

Page 26: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

26

� Più veloce del DES.

� Non esegue le operazioni di permutazione all’inizio e alla fine.

� Più veloce del DES.

� Non esegue le operazioni di permutazione all’inizio e alla fine.

Algoritmi: BlowfishAlgoritmi: BlowfishAlgoritmi: BlowfishAlgoritmi: Blowfish

Sicurezza in Internet, Crittografia - Slide 2613 maggio 201013 maggio 2010

e alla fine.

� Usa reti di Feistel modificate.

� Chiavi di dimensioni variabili fino a 448 bit.

� Non si conoscono attualmente attacchi efficaci.

� Non è brevettato ed è largamente usato nei sistemi Open Source.

e alla fine.

� Usa reti di Feistel modificate.

� Chiavi di dimensioni variabili fino a 448 bit.

� Non si conoscono attualmente attacchi efficaci.

� Non è brevettato ed è largamente usato nei sistemi Open Source.

Page 27: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

27

� Chiavi di lunghezza variabile: 128, 192, 256 bit.

� E’ possibile variare la lunghezza della chiave per multipli di 32 bit.

� Chiavi di lunghezza variabile: 128, 192, 256 bit.

� E’ possibile variare la lunghezza della chiave per multipli di 32 bit.

Algoritmi: Rijndael (AES)Algoritmi: Rijndael (AES)Algoritmi: Rijndael (AES)Algoritmi: Rijndael (AES)

Sicurezza in Internet, Crittografia - Slide 2713 maggio 201013 maggio 2010

� Lavora su blocchi di 128 bit con operazioni XOR e tabelle di sostituzione (funzioni S-box).

� Operazioni in algebra modulo n (campi di Galois).

� Numero di cicli variabile in funzione della lunghezza della chiave: 9 per chiavi da 128 bit, 11 per 192 e 13 per chiavi da 256 bit.

� Lavora su blocchi di 128 bit con operazioni XOR e tabelle di sostituzione (funzioni S-box).

� Operazioni in algebra modulo n (campi di Galois).

� Numero di cicli variabile in funzione della lunghezza della chiave: 9 per chiavi da 128 bit, 11 per 192 e 13 per chiavi da 256 bit.

Page 28: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

28

�� Si usa una coppia di chiavi:Si usa una coppia di chiavi:

–– La prima chiave è pubblica (La prima chiave è pubblica (public keypublic key); in linea ); in linea di principio è nota a tutti.di principio è nota a tutti.

–– La seconda chiave è privata (La seconda chiave è privata (private keyprivate key), e ), e

�� Si usa una coppia di chiavi:Si usa una coppia di chiavi:

–– La prima chiave è pubblica (La prima chiave è pubblica (public keypublic key); in linea ); in linea di principio è nota a tutti.di principio è nota a tutti.

–– La seconda chiave è privata (La seconda chiave è privata (private keyprivate key), e ), e

Cifrari AsimmetriciCifrari AsimmetriciCifrari AsimmetriciCifrari Asimmetrici

Sicurezza in Internet, Crittografia - Slide 2813 maggio 201013 maggio 2010

–– La seconda chiave è privata (La seconda chiave è privata (private keyprivate key), e ), e quindi quindi segreta; deve essere nota solo al segreta; deve essere nota solo al possessore. possessore.

–– Le due chiavi che compongono la coppia sono in Le due chiavi che compongono la coppia sono in relazione biunivoca. Una ed una sola relazione biunivoca. Una ed una sola public keypublic keycorrisponde ad una data corrisponde ad una data private keyprivate key e viceversa.e viceversa.

–– La seconda chiave è privata (La seconda chiave è privata (private keyprivate key), e ), e quindi quindi segreta; deve essere nota solo al segreta; deve essere nota solo al possessore. possessore.

–– Le due chiavi che compongono la coppia sono in Le due chiavi che compongono la coppia sono in relazione biunivoca. Una ed una sola relazione biunivoca. Una ed una sola public keypublic keycorrisponde ad una data corrisponde ad una data private keyprivate key e viceversa.e viceversa.

Page 29: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

29

�� Le due Le due chiavichiavi vengonovengono usateusate separatamenteseparatamente: : ciciòò

cheche vieneviene cifratocifrato con con unauna chiavechiave pupuòò essereessere

decifratodecifrato solo con solo con l’altral’altra chiavechiave

�� Le due Le due chiavichiavi vengonovengono usateusate separatamenteseparatamente: : ciciòò

cheche vieneviene cifratocifrato con con unauna chiavechiave pupuòò essereessere

decifratodecifrato solo con solo con l’altral’altra chiavechiave

Cifrari AsimmetriciCifrari AsimmetriciCifrari AsimmetriciCifrari Asimmetrici

Sicurezza in Internet, Crittografia - Slide 2913 maggio 201013 maggio 2010

decifratodecifrato solo con solo con l’altral’altra chiavechiave

�� Voglio inviare un messaggio criptato al destinatario Voglio inviare un messaggio criptato al destinatario

B: B: cifro il messaggio con la chiave pubblica di Bcifro il messaggio con la chiave pubblica di B. .

Solo B può decifrare il messaggio con la sua chiave Solo B può decifrare il messaggio con la sua chiave

privataprivata. .

decifratodecifrato solo con solo con l’altral’altra chiavechiave

�� Voglio inviare un messaggio criptato al destinatario Voglio inviare un messaggio criptato al destinatario

B: B: cifro il messaggio con la chiave pubblica di Bcifro il messaggio con la chiave pubblica di B. .

Solo B può decifrare il messaggio con la sua chiave Solo B può decifrare il messaggio con la sua chiave

privataprivata. .

Page 30: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

30

Cifrari AsimmetriciCifrari Asimmetrici

Testo in

chiaro

Messaggio criptato con

la chiave pubblica di B

Utente A Utente B

Testo in chiaro

decrittato con la

chiave privata di B

Testo da

autenticareMessaggio criptato

con la chiave privata di A

Utente A Utente B

Testo autenticato

con la chiave

pubblica di A

Page 31: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

31

�� Chiave pubblica e privata sono strettamente collegate da una Chiave pubblica e privata sono strettamente collegate da una relazione matematica, considerata attualmente inviolabile.relazione matematica, considerata attualmente inviolabile.

�� La forza della cifratura asimmetrica risiede tutta nella La forza della cifratura asimmetrica risiede tutta nella domanda: “E’ possibile ricavare la chiave privata da quella domanda: “E’ possibile ricavare la chiave privata da quella pubblica?”pubblica?”

�� Chiave pubblica e privata sono strettamente collegate da una Chiave pubblica e privata sono strettamente collegate da una relazione matematica, considerata attualmente inviolabile.relazione matematica, considerata attualmente inviolabile.

�� La forza della cifratura asimmetrica risiede tutta nella La forza della cifratura asimmetrica risiede tutta nella domanda: “E’ possibile ricavare la chiave privata da quella domanda: “E’ possibile ricavare la chiave privata da quella pubblica?”pubblica?”

Cifrari AsimmetriciCifrari AsimmetriciCifrari AsimmetriciCifrari Asimmetrici

Sicurezza in Internet, Crittografia - Slide 3113 maggio 201013 maggio 2010

–– L’algoritmo che lega le due chiavi è generalmente basato L’algoritmo che lega le due chiavi è generalmente basato su su tecniche di fattorizzazione (scomposizione in fattori primi) o di tecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre).elevamento a potenza di numeri grandi (> 200 cifre).

–– La violazione della chiave asimmetrica con metodi La violazione della chiave asimmetrica con metodi brute brute forceforcerichiede di risolvere questo problema per un enorme quantità di richiede di risolvere questo problema per un enorme quantità di possibili numeri.possibili numeri.

–– Non esistono attualmente computer in grado di risolvere questo Non esistono attualmente computer in grado di risolvere questo problema in tempi utili.problema in tempi utili.

–– L’algoritmo che lega le due chiavi è generalmente basato L’algoritmo che lega le due chiavi è generalmente basato su su tecniche di fattorizzazione (scomposizione in fattori primi) o di tecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre).elevamento a potenza di numeri grandi (> 200 cifre).

–– La violazione della chiave asimmetrica con metodi La violazione della chiave asimmetrica con metodi brute brute forceforcerichiede di risolvere questo problema per un enorme quantità di richiede di risolvere questo problema per un enorme quantità di possibili numeri.possibili numeri.

–– Non esistono attualmente computer in grado di risolvere questo Non esistono attualmente computer in grado di risolvere questo problema in tempi utili.problema in tempi utili.

Page 32: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

32

�� DiffieDiffie--HellmanHellman : 1976, W. Diffie e M. : 1976, W. Diffie e M. HellmanHellman

�� RSARSA: 1977, Ronal Rivest, Adi Shamir : 1977, Ronal Rivest, Adi Shamir

�� DiffieDiffie--HellmanHellman : 1976, W. Diffie e M. : 1976, W. Diffie e M. HellmanHellman

�� RSARSA: 1977, Ronal Rivest, Adi Shamir : 1977, Ronal Rivest, Adi Shamir

Cifrari Asimmetrici: AlgoritmiCifrari Asimmetrici: AlgoritmiCifrari Asimmetrici: AlgoritmiCifrari Asimmetrici: Algoritmi

Sicurezza in Internet, Crittografia - Slide 3213 maggio 201013 maggio 2010

�� RSARSA: 1977, Ronal Rivest, Adi Shamir : 1977, Ronal Rivest, Adi Shamir e Leonard Adelman (ricercatori del e Leonard Adelman (ricercatori del MIT). E’ pubblico dal 6 settembre 2000 MIT). E’ pubblico dal 6 settembre 2000 (scadenza brevetto).(scadenza brevetto).

�� Sistemi ibridiSistemi ibridi : PGP (: PGP (Pretty Good Pretty Good PrivacyPrivacy) di Philip Zimmermann.) di Philip Zimmermann.

�� RSARSA: 1977, Ronal Rivest, Adi Shamir : 1977, Ronal Rivest, Adi Shamir e Leonard Adelman (ricercatori del e Leonard Adelman (ricercatori del MIT). E’ pubblico dal 6 settembre 2000 MIT). E’ pubblico dal 6 settembre 2000 (scadenza brevetto).(scadenza brevetto).

�� Sistemi ibridiSistemi ibridi : PGP (: PGP (Pretty Good Pretty Good PrivacyPrivacy) di Philip Zimmermann.) di Philip Zimmermann.

Page 33: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

33

�� La La traptrap--door function door function f è rappresentata dal calcolo di bf è rappresentata dal calcolo di bkk con con bb∈∈GF(q).GF(q).

�� GF(q) è un campo di Galois di ordine q (dove q è un numero elevato, GF(q) è un campo di Galois di ordine q (dove q è un numero elevato, ad esempio con più di 100 cifre) e k un numero intero con 1 < k < qad esempio con più di 100 cifre) e k un numero intero con 1 < k < q--1.1.

�� La La traptrap--door function door function f è rappresentata dal calcolo di bf è rappresentata dal calcolo di bkk con con bb∈∈GF(q).GF(q).

�� GF(q) è un campo di Galois di ordine q (dove q è un numero elevato, GF(q) è un campo di Galois di ordine q (dove q è un numero elevato, ad esempio con più di 100 cifre) e k un numero intero con 1 < k < qad esempio con più di 100 cifre) e k un numero intero con 1 < k < q--1.1.

Algoritmi: DiffieAlgoritmi: Diffie --HellmanHellmanAlgoritmi: DiffieAlgoritmi: Diffie --HellmanHellman

Sicurezza in Internet, Crittografia - Slide 3313 maggio 201013 maggio 2010

�� La sicurezza di questo metodo è basata sul fatto che il calcolo della La sicurezza di questo metodo è basata sul fatto che il calcolo della funzione inversa ffunzione inversa f--11 = log= logbb(b(bkk), rappresentato dal logaritmo discreto in ), rappresentato dal logaritmo discreto in base b, è di difficile attuazione (si dice, in termini algoritmici, che il base b, è di difficile attuazione (si dice, in termini algoritmici, che il problema ha una complessità computazionale elevata).problema ha una complessità computazionale elevata).

(Tratto da(Tratto da Corso Introduzione alla crittografia Corso Introduzione alla crittografia –– Prof. G.Boff i Prof. G.Boffi –– A.A. 2001/2 A.A. 2001/2 –– Università degli Studi “G.d’Annunzio”Università degli Studi “G.d’Annunzio”

Autori: Prof. Giandomenico Boffi, Enrico Zimuel Autori: Prof. Giandomenico Boffi, Enrico Zimuel -- Data ultima revisione: 28/02/2002)Data ultima revisione: 28/02/2002)

�� La sicurezza di questo metodo è basata sul fatto che il calcolo della La sicurezza di questo metodo è basata sul fatto che il calcolo della funzione inversa ffunzione inversa f--11 = log= logbb(b(bkk), rappresentato dal logaritmo discreto in ), rappresentato dal logaritmo discreto in base b, è di difficile attuazione (si dice, in termini algoritmici, che il base b, è di difficile attuazione (si dice, in termini algoritmici, che il problema ha una complessità computazionale elevata).problema ha una complessità computazionale elevata).

(Tratto da(Tratto da Corso Introduzione alla crittografia Corso Introduzione alla crittografia –– Prof. G.Boff i Prof. G.Boffi –– A.A. 2001/2 A.A. 2001/2 –– Università degli Studi “G.d’Annunzio”Università degli Studi “G.d’Annunzio”

Autori: Prof. Giandomenico Boffi, Enrico Zimuel Autori: Prof. Giandomenico Boffi, Enrico Zimuel -- Data ultima revisione: 28/02/2002)Data ultima revisione: 28/02/2002)

Page 34: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

34

�� Semplificando al massimo, Semplificando al massimo, bbkk

corrisponde grosso modo alla chiave corrisponde grosso modo alla chiave pubblica e pubblica e kk alla chiave privata.alla chiave privata.

�� Semplificando al massimo, Semplificando al massimo, bbkk

corrisponde grosso modo alla chiave corrisponde grosso modo alla chiave pubblica e pubblica e kk alla chiave privata.alla chiave privata.

Algoritmi: DiffieAlgoritmi: Diffie --HellmanHellmanAlgoritmi: DiffieAlgoritmi: Diffie --HellmanHellman

Sicurezza in Internet, Crittografia - Slide 3413 maggio 201013 maggio 2010

�� k = logk = logbb(b(bkk).).

�� Noto il valore di Noto il valore di bbkk, occorre risolvere il , occorre risolvere il logaritmo per tutte le possibili coppie logaritmo per tutte le possibili coppie b, kb, k che danno che danno bbkk..

�� k = logk = logbb(b(bkk).).

�� Noto il valore di Noto il valore di bbkk, occorre risolvere il , occorre risolvere il logaritmo per tutte le possibili coppie logaritmo per tutte le possibili coppie b, kb, k che danno che danno bbkk..

Page 35: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

35

�� Combinano cifrari asimmetrici e Combinano cifrari asimmetrici e simmetrici.simmetrici.

�� L’algoritmo asimmetrico è piuttosto L’algoritmo asimmetrico è piuttosto

�� Combinano cifrari asimmetrici e Combinano cifrari asimmetrici e simmetrici.simmetrici.

�� L’algoritmo asimmetrico è piuttosto L’algoritmo asimmetrico è piuttosto

Algoritmi: Sistemi IbridiAlgoritmi: Sistemi IbridiAlgoritmi: Sistemi IbridiAlgoritmi: Sistemi Ibridi

Sicurezza in Internet, Crittografia - Slide 3513 maggio 201013 maggio 2010

�� L’algoritmo asimmetrico è piuttosto L’algoritmo asimmetrico è piuttosto lento.lento.

�� L’algoritmo asimmetrico viene usato L’algoritmo asimmetrico viene usato per scambiare in modo sicuro la per scambiare in modo sicuro la chiave del cifrario simmetrico. chiave del cifrario simmetrico.

�� L’algoritmo asimmetrico è piuttosto L’algoritmo asimmetrico è piuttosto lento.lento.

�� L’algoritmo asimmetrico viene usato L’algoritmo asimmetrico viene usato per scambiare in modo sicuro la per scambiare in modo sicuro la chiave del cifrario simmetrico. chiave del cifrario simmetrico.

Page 36: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

36

Cifrari Ibridi: PGPCifrari Ibridi: PGPCifrari Ibridi: PGPCifrari Ibridi: PGP

MessaggioMessaggio

ZIP

Random

MessaggioMessaggiocompressocompresso

IDEACifratura messaggio

Chiave Chiave simmetricasimmetrica

Sicurezza in Internet, Crittografia - Slide 3613 maggio 201013 maggio 2010

Random

SeedSeed

messaggio

RSACifratura chiaveChiave pubblicaChiave pubblica

destinatariodestinatario

Messaggiocifrato

+Chiave cifrata

RADIX-64

Page 37: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

37

�� IDEA:IDEA: algoritmo asimmetrico a blocchi di 64 algoritmo asimmetrico a blocchi di 64 bit con chiavi di 128 bit. bit con chiavi di 128 bit.

�� RADIXRADIX--64:64: consente di convertire l’alfabeto consente di convertire l’alfabeto

�� IDEA:IDEA: algoritmo asimmetrico a blocchi di 64 algoritmo asimmetrico a blocchi di 64 bit con chiavi di 128 bit. bit con chiavi di 128 bit.

�� RADIXRADIX--64:64: consente di convertire l’alfabeto consente di convertire l’alfabeto

Cifrari Ibridi: PGPCifrari Ibridi: PGPCifrari Ibridi: PGPCifrari Ibridi: PGP

Sicurezza in Internet, Crittografia - Slide 3713 maggio 201013 maggio 2010

RADIXRADIX--64:64: consente di convertire l’alfabeto consente di convertire l’alfabeto del messaggio nell’insieme standard di del messaggio nell’insieme standard di caratteri internazionali. Serve ad evitare caratteri internazionali. Serve ad evitare confusione tra i set di caratteri di alfabeti confusione tra i set di caratteri di alfabeti diversi ed anche a eliminare i problemi diversi ed anche a eliminare i problemi dovuti alle differenze fra insiemi di caratteri dovuti alle differenze fra insiemi di caratteri usati su elaboratori diversi. usati su elaboratori diversi.

RADIXRADIX--64:64: consente di convertire l’alfabeto consente di convertire l’alfabeto del messaggio nell’insieme standard di del messaggio nell’insieme standard di caratteri internazionali. Serve ad evitare caratteri internazionali. Serve ad evitare confusione tra i set di caratteri di alfabeti confusione tra i set di caratteri di alfabeti diversi ed anche a eliminare i problemi diversi ed anche a eliminare i problemi dovuti alle differenze fra insiemi di caratteri dovuti alle differenze fra insiemi di caratteri usati su elaboratori diversi. usati su elaboratori diversi.

Page 38: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

38

�� Un metodo per collegare in modo univoco un Un metodo per collegare in modo univoco un documento al suo proprietario tramite una documento al suo proprietario tramite una particolare sequenza di cifre binarie detta particolare sequenza di cifre binarie detta firma firma digitaledigitale..

�� Un metodo per collegare in modo univoco un Un metodo per collegare in modo univoco un documento al suo proprietario tramite una documento al suo proprietario tramite una particolare sequenza di cifre binarie detta particolare sequenza di cifre binarie detta firma firma digitaledigitale..

La Firma DigitaleLa Firma DigitaleLa Firma DigitaleLa Firma Digitale

Sicurezza in Internet, Crittografia - Slide 3813 maggio 201013 maggio 2010

�� Il metodo si basa sulla crittografia asimmetrica.Il metodo si basa sulla crittografia asimmetrica.�� Il metodo si basa sulla crittografia asimmetrica.Il metodo si basa sulla crittografia asimmetrica.

Testo daTesto da

autenticareautenticare

Messaggio criptato

con la chiave privata di A

Utente A Utente B

Testo autenticatoTesto autenticato

con la chiavecon la chiave

pubblica di Apubblica di A

Page 39: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

39

�� La coppia chiave pubblica/privata consente La coppia chiave pubblica/privata consente anche di autenticare i messaggi. Può anche di autenticare i messaggi. Può essere usata come essere usata come firma firma digitaledigitale ..

�� Sui canali insicuri (Internet) gira liberamente Sui canali insicuri (Internet) gira liberamente

�� La coppia chiave pubblica/privata consente La coppia chiave pubblica/privata consente anche di autenticare i messaggi. Può anche di autenticare i messaggi. Può essere usata come essere usata come firma firma digitaledigitale ..

�� Sui canali insicuri (Internet) gira liberamente Sui canali insicuri (Internet) gira liberamente

Cifrari AsimmetriciCifrari AsimmetriciCifrari AsimmetriciCifrari Asimmetrici

Sicurezza in Internet, Crittografia - Slide 3913 maggio 201013 maggio 2010

�� Sui canali insicuri (Internet) gira liberamente Sui canali insicuri (Internet) gira liberamente solo la chiave pubblica.solo la chiave pubblica.

�� Esistono appositi siti internet, i Esistono appositi siti internet, i key serverkey server, , che raccolgono le che raccolgono le public keypublic key, un po’ come , un po’ come gli gli uffici dell’anagrafe.uffici dell’anagrafe.

�� Sui canali insicuri (Internet) gira liberamente Sui canali insicuri (Internet) gira liberamente solo la chiave pubblica.solo la chiave pubblica.

�� Esistono appositi siti internet, i Esistono appositi siti internet, i key serverkey server, , che raccolgono le che raccolgono le public keypublic key, un po’ come , un po’ come gli gli uffici dell’anagrafe.uffici dell’anagrafe.

Page 40: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

40

�� Come vedremo più avanti, i Come vedremo più avanti, i key serverkey serversono concatenati fra loro. sono concatenati fra loro.

�� Se volete conoscere le chiavi Se volete conoscere le chiavi

�� Come vedremo più avanti, i Come vedremo più avanti, i key serverkey serversono concatenati fra loro. sono concatenati fra loro.

�� Se volete conoscere le chiavi Se volete conoscere le chiavi

Cifrari AsimmetriciCifrari AsimmetriciCifrari AsimmetriciCifrari Asimmetrici

Sicurezza in Internet, Crittografia - Slide 4013 maggio 201013 maggio 2010

�� Se volete conoscere le chiavi Se volete conoscere le chiavi pubbliche del personale CNR, pubbliche del personale CNR, registrato presso il GARR:registrato presso il GARR:

�� https://ca.garr.it/mgt/scert.phphttps://ca.garr.it/mgt/scert.php

�� Se volete conoscere le chiavi Se volete conoscere le chiavi pubbliche del personale CNR, pubbliche del personale CNR, registrato presso il GARR:registrato presso il GARR:

�� https://ca.garr.it/mgt/scert.phphttps://ca.garr.it/mgt/scert.php

Page 41: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

41

�� Notare che il documento non è Notare che il documento non è protetto. Infatti il documento è cifrato protetto. Infatti il documento è cifrato con la chiave privata di A; pertanto con la chiave privata di A; pertanto chiunque lo può leggere usando la chiunque lo può leggere usando la

�� Notare che il documento non è Notare che il documento non è protetto. Infatti il documento è cifrato protetto. Infatti il documento è cifrato con la chiave privata di A; pertanto con la chiave privata di A; pertanto chiunque lo può leggere usando la chiunque lo può leggere usando la

La Firma DigitaleLa Firma DigitaleLa Firma DigitaleLa Firma Digitale

Sicurezza in Internet, Crittografia - Slide 4113 maggio 201013 maggio 2010

chiunque lo può leggere usando la chiunque lo può leggere usando la corrispondente chiave pubblica.corrispondente chiave pubblica.

�� Il sistema serve a garantire Il sistema serve a garantire l’autenticità, la legittimità, dell’uso di l’autenticità, la legittimità, dell’uso di una particolare coppia di chiavi.una particolare coppia di chiavi.

chiunque lo può leggere usando la chiunque lo può leggere usando la corrispondente chiave pubblica.corrispondente chiave pubblica.

�� Il sistema serve a garantire Il sistema serve a garantire l’autenticità, la legittimità, dell’uso di l’autenticità, la legittimità, dell’uso di una particolare coppia di chiavi.una particolare coppia di chiavi.

Page 42: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

42

�� L’applicazione di algoritmi asimmetrici è L’applicazione di algoritmi asimmetrici è computazionalmente abbastanza impegnativa. computazionalmente abbastanza impegnativa.

�� Occorre evitare lungaggini e sovraccarichi, quali la Occorre evitare lungaggini e sovraccarichi, quali la possibilitpossibilità che la firma digitale prenda la stessa à che la firma digitale prenda la stessa

�� L’applicazione di algoritmi asimmetrici è L’applicazione di algoritmi asimmetrici è computazionalmente abbastanza impegnativa. computazionalmente abbastanza impegnativa.

�� Occorre evitare lungaggini e sovraccarichi, quali la Occorre evitare lungaggini e sovraccarichi, quali la possibilitpossibilità che la firma digitale prenda la stessa à che la firma digitale prenda la stessa

La Firma DigitaleLa Firma DigitaleLa Firma DigitaleLa Firma Digitale

Sicurezza in Internet, Crittografia - Slide 4213 maggio 201013 maggio 2010

possibilitpossibilità che la firma digitale prenda la stessa à che la firma digitale prenda la stessa lunghezza del documento.lunghezza del documento.

�� La firma digitale viene apposta solo ad un sunto del La firma digitale viene apposta solo ad un sunto del documento. Il sunto firmato viene inviato assieme documento. Il sunto firmato viene inviato assieme al documento, a garanzia della sua autenticital documento, a garanzia della sua autenticità.à.

�� A questo scopo si usano le cosiddette funzioni di A questo scopo si usano le cosiddette funzioni di hashhash..

possibilitpossibilità che la firma digitale prenda la stessa à che la firma digitale prenda la stessa lunghezza del documento.lunghezza del documento.

�� La firma digitale viene apposta solo ad un sunto del La firma digitale viene apposta solo ad un sunto del documento. Il sunto firmato viene inviato assieme documento. Il sunto firmato viene inviato assieme al documento, a garanzia della sua autenticital documento, a garanzia della sua autenticità.à.

�� A questo scopo si usano le cosiddette funzioni di A questo scopo si usano le cosiddette funzioni di hashhash..

Page 43: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

43

�� Condensano i tratti salienti di un Condensano i tratti salienti di un documento anche molto lungo in documento anche molto lungo in poche centinaia di byte.poche centinaia di byte.

�� Condensano i tratti salienti di un Condensano i tratti salienti di un documento anche molto lungo in documento anche molto lungo in poche centinaia di byte.poche centinaia di byte.

La Firma Digitale: funzioni HashLa Firma Digitale: funzioni HashLa Firma Digitale: funzioni HashLa Firma Digitale: funzioni Hash

Sicurezza in Internet, Crittografia - Slide 4313 maggio 201013 maggio 2010

�� Il risultato di una funzione Il risultato di una funzione hashhash è un è un documento di lunghezza fissa in documento di lunghezza fissa in corrispondenza biunivoca con il corrispondenza biunivoca con il documento originale.documento originale.

�� Il risultato di una funzione Il risultato di una funzione hashhash è un è un documento di lunghezza fissa in documento di lunghezza fissa in corrispondenza biunivoca con il corrispondenza biunivoca con il documento originale.documento originale.

Page 44: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

44

�� Requisiti di una funzione Requisiti di una funzione hashhash (H):(H):

–– H può essere applicata ad un blocco dati di qualunque H può essere applicata ad un blocco dati di qualunque dimensione.dimensione.

–– H produce un risultato di lunghezza fissa.H produce un risultato di lunghezza fissa.

–– Per qualunque codice Per qualunque codice hh il calcolo di il calcolo di xx, , H(x)=hH(x)=h, deve avere una , deve avere una

�� Requisiti di una funzione Requisiti di una funzione hashhash (H):(H):

–– H può essere applicata ad un blocco dati di qualunque H può essere applicata ad un blocco dati di qualunque dimensione.dimensione.

–– H produce un risultato di lunghezza fissa.H produce un risultato di lunghezza fissa.

–– Per qualunque codice Per qualunque codice hh il calcolo di il calcolo di xx, , H(x)=hH(x)=h, deve avere una , deve avere una

La Firma Digitale: funzioni HashLa Firma Digitale: funzioni HashLa Firma Digitale: funzioni HashLa Firma Digitale: funzioni Hash

Sicurezza in Internet, Crittografia - Slide 4413 maggio 201013 maggio 2010

–– Per qualunque codice Per qualunque codice hh il calcolo di il calcolo di xx, , H(x)=hH(x)=h, deve avere una , deve avere una complessità computazionale improponibile. In pratica non posso complessità computazionale improponibile. In pratica non posso prendere lo stesso documento e apporvi una firma digitale prendere lo stesso documento e apporvi una firma digitale diversa ottenendo lo stesso risultato.diversa ottenendo lo stesso risultato.

–– Per qualunque blocco di dati Per qualunque blocco di dati xx, il calcolo , il calcolo di di y (y (≠≠ x),x), tale che tale che H(x)=H(y)H(x)=H(y), deve avere una complessità computazionale , deve avere una complessità computazionale improponibile. In pratica non posso prendere un documento improponibile. In pratica non posso prendere un documento diverso e apporvi la stessa firma digitale ottenendo lo stesso diverso e apporvi la stessa firma digitale ottenendo lo stesso risultato.risultato.

–– H(x)H(x) deve essere abbastanza semplice da calcolare.deve essere abbastanza semplice da calcolare.

–– Per qualunque codice Per qualunque codice hh il calcolo di il calcolo di xx, , H(x)=hH(x)=h, deve avere una , deve avere una complessità computazionale improponibile. In pratica non posso complessità computazionale improponibile. In pratica non posso prendere lo stesso documento e apporvi una firma digitale prendere lo stesso documento e apporvi una firma digitale diversa ottenendo lo stesso risultato.diversa ottenendo lo stesso risultato.

–– Per qualunque blocco di dati Per qualunque blocco di dati xx, il calcolo , il calcolo di di y (y (≠≠ x),x), tale che tale che H(x)=H(y)H(x)=H(y), deve avere una complessità computazionale , deve avere una complessità computazionale improponibile. In pratica non posso prendere un documento improponibile. In pratica non posso prendere un documento diverso e apporvi la stessa firma digitale ottenendo lo stesso diverso e apporvi la stessa firma digitale ottenendo lo stesso risultato.risultato.

–– H(x)H(x) deve essere abbastanza semplice da calcolare.deve essere abbastanza semplice da calcolare.

Page 45: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

45

�� Per apporre la firma digitale ad un Per apporre la firma digitale ad un documento uso la mia chiave privata.documento uso la mia chiave privata.

�� Chiunque voglia verificare l’autenticità della Chiunque voglia verificare l’autenticità della firma sul documento deve ottenere la mia firma sul documento deve ottenere la mia

�� Per apporre la firma digitale ad un Per apporre la firma digitale ad un documento uso la mia chiave privata.documento uso la mia chiave privata.

�� Chiunque voglia verificare l’autenticità della Chiunque voglia verificare l’autenticità della firma sul documento deve ottenere la mia firma sul documento deve ottenere la mia

La Firma DigitaleLa Firma DigitaleLa Firma DigitaleLa Firma Digitale

Sicurezza in Internet, Crittografia - Slide 4513 maggio 201013 maggio 2010

firma sul documento deve ottenere la mia firma sul documento deve ottenere la mia chiave pubblica.chiave pubblica.

�� La chiave pubblica deve essere registrata La chiave pubblica deve essere registrata in un archivio affidabile che associ in modo in un archivio affidabile che associ in modo certo e inequivocabile la mia identità alla certo e inequivocabile la mia identità alla chiave pubblica.chiave pubblica.

firma sul documento deve ottenere la mia firma sul documento deve ottenere la mia chiave pubblica.chiave pubblica.

�� La chiave pubblica deve essere registrata La chiave pubblica deve essere registrata in un archivio affidabile che associ in modo in un archivio affidabile che associ in modo certo e inequivocabile la mia identità alla certo e inequivocabile la mia identità alla chiave pubblica.chiave pubblica.

Page 46: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

46

�� Chiunque può verificare l'autenticità di un Chiunque può verificare l'autenticità di un documento: per farlo, decifra la firma del documento: per farlo, decifra la firma del documento con la documento con la chiave pubblica del chiave pubblica del mittentemittente, ottenendo l'impronta digitale del , ottenendo l'impronta digitale del documento.documento.

�� Chiunque può verificare l'autenticità di un Chiunque può verificare l'autenticità di un documento: per farlo, decifra la firma del documento: per farlo, decifra la firma del documento con la documento con la chiave pubblica del chiave pubblica del mittentemittente, ottenendo l'impronta digitale del , ottenendo l'impronta digitale del documento.documento.

La Firma DigitaleLa Firma DigitaleLa Firma DigitaleLa Firma Digitale

Sicurezza in Internet, Crittografia - Slide 4613 maggio 201013 maggio 2010

mittentemittente, ottenendo l'impronta digitale del , ottenendo l'impronta digitale del documento.documento.

�� Confronta quest'ultima con quella che si Confronta quest'ultima con quella che si ottiene applicando la funzione ottiene applicando la funzione hashhash al al documento ricevuto; se le due impronte documento ricevuto; se le due impronte sono uguali, l'autenticità e l'integrità del sono uguali, l'autenticità e l'integrità del documento sono garantite.documento sono garantite.

mittentemittente, ottenendo l'impronta digitale del , ottenendo l'impronta digitale del documento.documento.

�� Confronta quest'ultima con quella che si Confronta quest'ultima con quella che si ottiene applicando la funzione ottiene applicando la funzione hashhash al al documento ricevuto; se le due impronte documento ricevuto; se le due impronte sono uguali, l'autenticità e l'integrità del sono uguali, l'autenticità e l'integrità del documento sono garantite.documento sono garantite.

Page 47: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

47

�� In linea di principio posso associare un’identità In linea di principio posso associare un’identità certificata a qualunque risorsa presente sulla rete, certificata a qualunque risorsa presente sulla rete, purché abbia determinate caratteristiche (identità, purché abbia determinate caratteristiche (identità, permanenza …).permanenza …).

�� In linea di principio posso associare un’identità In linea di principio posso associare un’identità certificata a qualunque risorsa presente sulla rete, certificata a qualunque risorsa presente sulla rete, purché abbia determinate caratteristiche (identità, purché abbia determinate caratteristiche (identità, permanenza …).permanenza …).

La Firma La Firma Digitale: CertificatiDigitale: CertificatiLa Firma La Firma Digitale: CertificatiDigitale: Certificati

Sicurezza in Internet, Crittografia - Slide 4713 maggio 201013 maggio 2010

�� Ovviamente le risorse più importanti sono le Ovviamente le risorse più importanti sono le identità personali ed i servizi, associati a identità personali ed i servizi, associati a determinati determinati serverserver, che devono essere identificati , che devono essere identificati con sicurezza assoluta. con sicurezza assoluta.

�� Tale sicurezza può essere raggiunta associando in Tale sicurezza può essere raggiunta associando in modo certo l’identità del soggetto alla sua chiave modo certo l’identità del soggetto alla sua chiave pubblica.pubblica.

�� Ovviamente le risorse più importanti sono le Ovviamente le risorse più importanti sono le identità personali ed i servizi, associati a identità personali ed i servizi, associati a determinati determinati serverserver, che devono essere identificati , che devono essere identificati con sicurezza assoluta. con sicurezza assoluta.

�� Tale sicurezza può essere raggiunta associando in Tale sicurezza può essere raggiunta associando in modo certo l’identità del soggetto alla sua chiave modo certo l’identità del soggetto alla sua chiave pubblica.pubblica.

Page 48: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

48

�� PKI (PKI (Public Key Public Key InfrastructureInfrastructure)): il termine : il termine viene usato per indicare la viene usato per indicare la CertificationCertificationAutorithyAutorithy (CA) e l’insieme di accordi che ne (CA) e l’insieme di accordi che ne riconoscono e garantiscono l’autorità.riconoscono e garantiscono l’autorità.

�� PKI (PKI (Public Key Public Key InfrastructureInfrastructure)): il termine : il termine viene usato per indicare la viene usato per indicare la CertificationCertificationAutorithyAutorithy (CA) e l’insieme di accordi che ne (CA) e l’insieme di accordi che ne riconoscono e garantiscono l’autorità.riconoscono e garantiscono l’autorità.

Certificato DigitaleCertificato DigitaleCertificato DigitaleCertificato Digitale

Sicurezza in Internet, Crittografia - Slide 4813 maggio 201013 maggio 2010

riconoscono e garantiscono l’autorità.riconoscono e garantiscono l’autorità.

�� CA (CA (CertificationCertification AuthorityAuthority):): è una delle è una delle strutture più importanti della PKI. Garantisce strutture più importanti della PKI. Garantisce la corrispondenza biunivoca tra chiavi la corrispondenza biunivoca tra chiavi pubbliche ed utenti. Rilascia il pubbliche ed utenti. Rilascia il Certificato Certificato Digitale.Digitale.

riconoscono e garantiscono l’autorità.riconoscono e garantiscono l’autorità.

�� CA (CA (CertificationCertification AuthorityAuthority):): è una delle è una delle strutture più importanti della PKI. Garantisce strutture più importanti della PKI. Garantisce la corrispondenza biunivoca tra chiavi la corrispondenza biunivoca tra chiavi pubbliche ed utenti. Rilascia il pubbliche ed utenti. Rilascia il Certificato Certificato Digitale.Digitale.

Page 49: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

49

�� RA (RA (RegistrationRegistration AuthorityAuthority): ): gli gli utenti si utenti si rivolgono rivolgono alla RA per alla RA per richiedere la richiedere la certificazione delle chiavi, identificandosi e certificazione delle chiavi, identificandosi e fornendo almeno la chiave pubblica e fornendo almeno la chiave pubblica e l’indirizzo el’indirizzo e--mail.mail.

�� RA (RA (RegistrationRegistration AuthorityAuthority): ): gli gli utenti si utenti si rivolgono rivolgono alla RA per alla RA per richiedere la richiedere la certificazione delle chiavi, identificandosi e certificazione delle chiavi, identificandosi e fornendo almeno la chiave pubblica e fornendo almeno la chiave pubblica e l’indirizzo el’indirizzo e--mail.mail.

Certificato DigitaleCertificato DigitaleCertificato DigitaleCertificato Digitale

Sicurezza in Internet, Crittografia - Slide 4913 maggio 201013 maggio 2010

fornendo almeno la chiave pubblica e fornendo almeno la chiave pubblica e l’indirizzo el’indirizzo e--mail.mail.

�� CSCS ((Certificate ServerCertificate Server)): : un servizio di un servizio di gestione di elenchi (gestione di elenchi (directorydirectory). Esso è ). Esso è principalmente una lista di pubblicazione dei principalmente una lista di pubblicazione dei certificati e delle liste di certificati revocati e certificati e delle liste di certificati revocati e sospesi.sospesi.

fornendo almeno la chiave pubblica e fornendo almeno la chiave pubblica e l’indirizzo el’indirizzo e--mail.mail.

�� CSCS ((Certificate ServerCertificate Server)): : un servizio di un servizio di gestione di elenchi (gestione di elenchi (directorydirectory). Esso è ). Esso è principalmente una lista di pubblicazione dei principalmente una lista di pubblicazione dei certificati e delle liste di certificati revocati e certificati e delle liste di certificati revocati e sospesi.sospesi.

Page 50: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

50

�� In genere il certificato relativo ad un determinato In genere il certificato relativo ad un determinato soggetto (persona fisica o giuridica) contiene:soggetto (persona fisica o giuridica) contiene:

–– il valore della chiave pubblica del soggetto il valore della chiave pubblica del soggetto

–– informazioni di identificazione del soggetto, quali il nome e informazioni di identificazione del soggetto, quali il nome e

�� In genere il certificato relativo ad un determinato In genere il certificato relativo ad un determinato soggetto (persona fisica o giuridica) contiene:soggetto (persona fisica o giuridica) contiene:

–– il valore della chiave pubblica del soggetto il valore della chiave pubblica del soggetto

–– informazioni di identificazione del soggetto, quali il nome e informazioni di identificazione del soggetto, quali il nome e

Certificato DigitaleCertificato DigitaleCertificato DigitaleCertificato Digitale

Sicurezza in Internet, Crittografia - Slide 5013 maggio 201013 maggio 2010

–– informazioni di identificazione del soggetto, quali il nome e informazioni di identificazione del soggetto, quali il nome e l'indirizzo di posta elettronica l'indirizzo di posta elettronica

–– il periodo di validità (il periodo nel quale il certificato è il periodo di validità (il periodo nel quale il certificato è considerato valido) considerato valido)

–– informazioni di identificazione dell'autorità emittente informazioni di identificazione dell'autorità emittente

–– la firma digitale dell'autorità emittente, che attesta la la firma digitale dell'autorità emittente, che attesta la validità del legame tra la chiave pubblica e le informazioni validità del legame tra la chiave pubblica e le informazioni di identificazione del soggetto. di identificazione del soggetto.

–– informazioni di identificazione del soggetto, quali il nome e informazioni di identificazione del soggetto, quali il nome e l'indirizzo di posta elettronica l'indirizzo di posta elettronica

–– il periodo di validità (il periodo nel quale il certificato è il periodo di validità (il periodo nel quale il certificato è considerato valido) considerato valido)

–– informazioni di identificazione dell'autorità emittente informazioni di identificazione dell'autorità emittente

–– la firma digitale dell'autorità emittente, che attesta la la firma digitale dell'autorità emittente, che attesta la validità del legame tra la chiave pubblica e le informazioni validità del legame tra la chiave pubblica e le informazioni di identificazione del soggetto. di identificazione del soggetto.

Page 51: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

51

�� Richiesta di certificato:Richiesta di certificato:

–– Si generano una coppia di chiavi (pubblica e privata) e una Si generano una coppia di chiavi (pubblica e privata) e una Certificate Certificate SigningSigning RequestRequest ((csrcsr).).

–– Si Si inviano i dati personali compresa la chiave pubblica alla inviano i dati personali compresa la chiave pubblica alla RARA..

–– La La RA RA verifica verifica l’identità reale del richiedente e la l’identità reale del richiedente e la correttezza e correttezza e

�� Richiesta di certificato:Richiesta di certificato:

–– Si generano una coppia di chiavi (pubblica e privata) e una Si generano una coppia di chiavi (pubblica e privata) e una Certificate Certificate SigningSigning RequestRequest ((csrcsr).).

–– Si Si inviano i dati personali compresa la chiave pubblica alla inviano i dati personali compresa la chiave pubblica alla RARA..

–– La La RA RA verifica verifica l’identità reale del richiedente e la l’identità reale del richiedente e la correttezza e correttezza e

Certificato DigitaleCertificato DigitaleCertificato DigitaleCertificato Digitale

Sicurezza in Internet, Crittografia - Slide 5113 maggio 201013 maggio 2010

–– La La RA RA verifica verifica l’identità reale del richiedente e la l’identità reale del richiedente e la correttezza e correttezza e l’unicità dei l’unicità dei dati e li invia alla dati e li invia alla CACA. .

–– La CA La CA li inserisce in archivio e assegna un codice (ID) all’utente.li inserisce in archivio e assegna un codice (ID) all’utente.

–– Il certificato digitale viene costruito apponendo la chiave privata Il certificato digitale viene costruito apponendo la chiave privata della CA sui dati dell’utente (ID e chiave pubblica).della CA sui dati dell’utente (ID e chiave pubblica).

–– La verifica del certificato da parte del destinatario è fatta La verifica del certificato da parte del destinatario è fatta utilizzando la chiave pubblica della utilizzando la chiave pubblica della CACA..

–– A questo punto i dati all’interno del certificato, compresa la A questo punto i dati all’interno del certificato, compresa la chiave pubblica dell’utente sono convalidatichiave pubblica dell’utente sono convalidati..

–– La La RA RA verifica verifica l’identità reale del richiedente e la l’identità reale del richiedente e la correttezza e correttezza e l’unicità dei l’unicità dei dati e li invia alla dati e li invia alla CACA. .

–– La CA La CA li inserisce in archivio e assegna un codice (ID) all’utente.li inserisce in archivio e assegna un codice (ID) all’utente.

–– Il certificato digitale viene costruito apponendo la chiave privata Il certificato digitale viene costruito apponendo la chiave privata della CA sui dati dell’utente (ID e chiave pubblica).della CA sui dati dell’utente (ID e chiave pubblica).

–– La verifica del certificato da parte del destinatario è fatta La verifica del certificato da parte del destinatario è fatta utilizzando la chiave pubblica della utilizzando la chiave pubblica della CACA..

–– A questo punto i dati all’interno del certificato, compresa la A questo punto i dati all’interno del certificato, compresa la chiave pubblica dell’utente sono convalidatichiave pubblica dell’utente sono convalidati..

Page 52: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

52

�� La richiesta di un certificato personale in pratica:La richiesta di un certificato personale in pratica:

–– Si generano una coppia di chiavi (pubblica e privata) e una Si generano una coppia di chiavi (pubblica e privata) e una Certificate Certificate SigningSigning RequestRequest ((csrcsr).).

–– Si Si inviano i dati personali compresa la chiave pubblica alla inviano i dati personali compresa la chiave pubblica alla RARA..

–– La La RA RA verifica verifica l’identità reale del richiedente e la l’identità reale del richiedente e la correttezza e correttezza e

�� La richiesta di un certificato personale in pratica:La richiesta di un certificato personale in pratica:

–– Si generano una coppia di chiavi (pubblica e privata) e una Si generano una coppia di chiavi (pubblica e privata) e una Certificate Certificate SigningSigning RequestRequest ((csrcsr).).

–– Si Si inviano i dati personali compresa la chiave pubblica alla inviano i dati personali compresa la chiave pubblica alla RARA..

–– La La RA RA verifica verifica l’identità reale del richiedente e la l’identità reale del richiedente e la correttezza e correttezza e

La Firma La Firma Digitale: Richiesta CertificatoDigitale: Richiesta CertificatoLa Firma La Firma Digitale: Richiesta CertificatoDigitale: Richiesta Certificato

Sicurezza in Internet, Crittografia - Slide 5213 maggio 201013 maggio 2010

–– La La RA RA verifica verifica l’identità reale del richiedente e la l’identità reale del richiedente e la correttezza e correttezza e l’unicità dei l’unicità dei dati e li invia alla dati e li invia alla CACA. .

–– La CA La CA li inserisce in archivio e assegna un codice (ID) all’utente.li inserisce in archivio e assegna un codice (ID) all’utente.

–– Il certificato digitale viene costruito apponendo la chiave privata Il certificato digitale viene costruito apponendo la chiave privata della CA sui dati dell’utente (ID e chiave pubblica).della CA sui dati dell’utente (ID e chiave pubblica).

–– La verifica del certificato da parte del destinatario è fatta La verifica del certificato da parte del destinatario è fatta utilizzando la chiave pubblica della utilizzando la chiave pubblica della CACA..

–– A questo punto i dati all’interno del certificato, compresa la A questo punto i dati all’interno del certificato, compresa la chiave pubblica dell’utente sono convalidatichiave pubblica dell’utente sono convalidati..

–– La La RA RA verifica verifica l’identità reale del richiedente e la l’identità reale del richiedente e la correttezza e correttezza e l’unicità dei l’unicità dei dati e li invia alla dati e li invia alla CACA. .

–– La CA La CA li inserisce in archivio e assegna un codice (ID) all’utente.li inserisce in archivio e assegna un codice (ID) all’utente.

–– Il certificato digitale viene costruito apponendo la chiave privata Il certificato digitale viene costruito apponendo la chiave privata della CA sui dati dell’utente (ID e chiave pubblica).della CA sui dati dell’utente (ID e chiave pubblica).

–– La verifica del certificato da parte del destinatario è fatta La verifica del certificato da parte del destinatario è fatta utilizzando la chiave pubblica della utilizzando la chiave pubblica della CACA..

–– A questo punto i dati all’interno del certificato, compresa la A questo punto i dati all’interno del certificato, compresa la chiave pubblica dell’utente sono convalidatichiave pubblica dell’utente sono convalidati..

Page 53: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

53

�� Personale CNR Area di BolognaPersonale CNR Area di Bologna -- richiesta di un certificato richiesta di un certificato personale:personale:

–– La RA La RA è costituita da Simona è costituita da Simona TubertiniTubertini e Franco e Franco TinarelliTinarelli, l, la CA a CA è è il GARR. il GARR.

–– Si va da uno dei membri della RA e ci si fa identificare; viene Si va da uno dei membri della RA e ci si fa identificare; viene rilasciato un codice (ID). rilasciato un codice (ID).

�� Personale CNR Area di BolognaPersonale CNR Area di Bologna -- richiesta di un certificato richiesta di un certificato personale:personale:

–– La RA La RA è costituita da Simona è costituita da Simona TubertiniTubertini e Franco e Franco TinarelliTinarelli, l, la CA a CA è è il GARR. il GARR.

–– Si va da uno dei membri della RA e ci si fa identificare; viene Si va da uno dei membri della RA e ci si fa identificare; viene rilasciato un codice (ID). rilasciato un codice (ID).

La Firma La Firma Digitale: Richiesta CertificatoDigitale: Richiesta CertificatoLa Firma La Firma Digitale: Richiesta CertificatoDigitale: Richiesta Certificato

Sicurezza in Internet, Crittografia - Slide 5313 maggio 201013 maggio 2010

rilasciato un codice (ID). rilasciato un codice (ID).

–– Si va allo URL Si va allo URL https://ca.garr.it/mgt/restricted/ucert.phphttps://ca.garr.it/mgt/restricted/ucert.php

–– Si segue il link Si segue il link scaricarescaricare per installare il certificato GARR nel per installare il certificato GARR nel proprio browser.proprio browser.

–– Si torna alla pagina precedente e si compilano i campi richiesti Si torna alla pagina precedente e si compilano i campi richiesti (nome , cognome …) e si invia la richiesta al GARR.(nome , cognome …) e si invia la richiesta al GARR.

–– Ulteriori informazioni allo URL: Ulteriori informazioni allo URL: https://ca.garr.it/docs/https://ca.garr.it/docs/

rilasciato un codice (ID). rilasciato un codice (ID).

–– Si va allo URL Si va allo URL https://ca.garr.it/mgt/restricted/ucert.phphttps://ca.garr.it/mgt/restricted/ucert.php

–– Si segue il link Si segue il link scaricarescaricare per installare il certificato GARR nel per installare il certificato GARR nel proprio browser.proprio browser.

–– Si torna alla pagina precedente e si compilano i campi richiesti Si torna alla pagina precedente e si compilano i campi richiesti (nome , cognome …) e si invia la richiesta al GARR.(nome , cognome …) e si invia la richiesta al GARR.

–– Ulteriori informazioni allo URL: Ulteriori informazioni allo URL: https://ca.garr.it/docs/https://ca.garr.it/docs/

Page 54: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

54

Estensioni comuni per i file contenenti i certificati X.509:Estensioni comuni per i file contenenti i certificati X.509:

.CER .CER -- certificato codificato con DER, a volte sequenze di certificato codificato con DER, a volte sequenze di certificati;certificati;

.DER .DER -- certificato codificato con DER;certificato codificato con DER;

.PEM .PEM -- certificato codificato con Base64, racchiuso tra "certificato codificato con Base64, racchiuso tra "----------BEGIN BEGIN

Estensioni comuni per i file contenenti i certificati X.509:Estensioni comuni per i file contenenti i certificati X.509:

.CER .CER -- certificato codificato con DER, a volte sequenze di certificato codificato con DER, a volte sequenze di certificati;certificati;

.DER .DER -- certificato codificato con DER;certificato codificato con DER;

.PEM .PEM -- certificato codificato con Base64, racchiuso tra "certificato codificato con Base64, racchiuso tra "----------BEGIN BEGIN

Certificato DigitaleCertificato DigitaleCertificato DigitaleCertificato Digitale

Sicurezza in Internet, Crittografia - Slide 5413 maggio 201013 maggio 2010

.PEM .PEM -- certificato codificato con Base64, racchiuso tra "certificato codificato con Base64, racchiuso tra "----------BEGIN BEGIN CERTIFICATECERTIFICATE----------" e "" e "----------END CERTIFICATEEND CERTIFICATE----------";";

.P7B .P7B -- vedi .p7cvedi .p7c

.P7C .P7C -- struttura struttura SignedDataSignedData PKCS#7 senza dati, solo il/i certificato/i PKCS#7 senza dati, solo il/i certificato/i o la/le CRL (Certificate o la/le CRL (Certificate revocationrevocation listlist););

.PFX .PFX -- vedi .p12vedi .p12

.P12 .P12 -- PKCS#12, può contenere certificati e chiavi pubbliche e PKCS#12, può contenere certificati e chiavi pubbliche e private (protette da password).private (protette da password).

.PEM .PEM -- certificato codificato con Base64, racchiuso tra "certificato codificato con Base64, racchiuso tra "----------BEGIN BEGIN CERTIFICATECERTIFICATE----------" e "" e "----------END CERTIFICATEEND CERTIFICATE----------";";

.P7B .P7B -- vedi .p7cvedi .p7c

.P7C .P7C -- struttura struttura SignedDataSignedData PKCS#7 senza dati, solo il/i certificato/i PKCS#7 senza dati, solo il/i certificato/i o la/le CRL (Certificate o la/le CRL (Certificate revocationrevocation listlist););

.PFX .PFX -- vedi .p12vedi .p12

.P12 .P12 -- PKCS#12, può contenere certificati e chiavi pubbliche e PKCS#12, può contenere certificati e chiavi pubbliche e private (protette da password).private (protette da password).

Page 55: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

55

PKCS #7 è uno standard per la firma o la crittazione (viene PKCS #7 è uno standard per la firma o la crittazione (viene chiamata "chiamata "imbustamentoimbustamento", "", "incapsulazioneincapsulazione", "", "envelopingenveloping" in " in inglese) dei dati.inglese) dei dati.

Poiché è necessario un certificato per verificare i dati firmati, è Poiché è necessario un certificato per verificare i dati firmati, è possibile include possibile include rlirli in una struttura in una struttura SignedDataSignedData. Un file .P7C . Un file .P7C

PKCS #7 è uno standard per la firma o la crittazione (viene PKCS #7 è uno standard per la firma o la crittazione (viene chiamata "chiamata "imbustamentoimbustamento", "", "incapsulazioneincapsulazione", "", "envelopingenveloping" in " in inglese) dei dati.inglese) dei dati.

Poiché è necessario un certificato per verificare i dati firmati, è Poiché è necessario un certificato per verificare i dati firmati, è possibile include possibile include rlirli in una struttura in una struttura SignedDataSignedData. Un file .P7C . Un file .P7C

Certificato DigitaleCertificato DigitaleCertificato DigitaleCertificato Digitale

Sicurezza in Internet, Crittografia - Slide 5513 maggio 201013 maggio 2010

possibile include possibile include rlirli in una struttura in una struttura SignedDataSignedData. Un file .P7C . Un file .P7C non è altro chenon è altro che

una struttura una struttura SignedDataSignedData "degenere" (senza dati firmati)."degenere" (senza dati firmati).

PKCS #12 è nato dallo standard PFX (Personal PKCS #12 è nato dallo standard PFX (Personal inFormationinFormationeXchangeeXchange) ed è usato per scambiarsi oggetti pubblici e privati ) ed è usato per scambiarsi oggetti pubblici e privati all'interno dello stesso file.all'interno dello stesso file.

Un file .PEM può contenere certificati o chiavi private, racchiusi Un file .PEM può contenere certificati o chiavi private, racchiusi tra le apposite linee BEGIN/END.tra le apposite linee BEGIN/END.

possibile include possibile include rlirli in una struttura in una struttura SignedDataSignedData. Un file .P7C . Un file .P7C non è altro chenon è altro che

una struttura una struttura SignedDataSignedData "degenere" (senza dati firmati)."degenere" (senza dati firmati).

PKCS #12 è nato dallo standard PFX (Personal PKCS #12 è nato dallo standard PFX (Personal inFormationinFormationeXchangeeXchange) ed è usato per scambiarsi oggetti pubblici e privati ) ed è usato per scambiarsi oggetti pubblici e privati all'interno dello stesso file.all'interno dello stesso file.

Un file .PEM può contenere certificati o chiavi private, racchiusi Un file .PEM può contenere certificati o chiavi private, racchiusi tra le apposite linee BEGIN/END.tra le apposite linee BEGIN/END.

Page 56: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

56

�� In genere un sistema operativo contiene fin In genere un sistema operativo contiene fin dall’origine, nel suo supporto d’installazione, una dall’origine, nel suo supporto d’installazione, una serie di certificati digitali relativi alle principali serie di certificati digitali relativi alle principali Autorità di Certificazione.Autorità di Certificazione.

�� In genere un sistema operativo contiene fin In genere un sistema operativo contiene fin dall’origine, nel suo supporto d’installazione, una dall’origine, nel suo supporto d’installazione, una serie di certificati digitali relativi alle principali serie di certificati digitali relativi alle principali Autorità di Certificazione.Autorità di Certificazione.

Certificato DigitaleCertificato DigitaleCertificato DigitaleCertificato Digitale

Sicurezza in Internet, Crittografia - Slide 5613 maggio 201013 maggio 2010

�� Tali certificati sono quindi copiati nel sistema Tali certificati sono quindi copiati nel sistema durante l’installazione, ed aggiornati durante l’installazione, ed aggiornati periodicamente.periodicamente.

�� Si stabilisce così un valido punto di partenza per la Si stabilisce così un valido punto di partenza per la verifica delle chiavi pubbliche. verifica delle chiavi pubbliche.

�� Tali certificati sono quindi copiati nel sistema Tali certificati sono quindi copiati nel sistema durante l’installazione, ed aggiornati durante l’installazione, ed aggiornati periodicamente.periodicamente.

�� Si stabilisce così un valido punto di partenza per la Si stabilisce così un valido punto di partenza per la verifica delle chiavi pubbliche. verifica delle chiavi pubbliche.

Page 57: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

57

�� Windows XP:Windows XP:

–– Ogni applicazione in genere gestisce un suo archivio Ogni applicazione in genere gestisce un suo archivio certificati (certificati (Internet ExplorerInternet Explorer))

–– Potete ottenere una gestione più generale utilizzando il Potete ottenere una gestione più generale utilizzando il

�� Windows XP:Windows XP:

–– Ogni applicazione in genere gestisce un suo archivio Ogni applicazione in genere gestisce un suo archivio certificati (certificati (Internet ExplorerInternet Explorer))

–– Potete ottenere una gestione più generale utilizzando il Potete ottenere una gestione più generale utilizzando il

Certificato DigitaleCertificato DigitaleCertificato DigitaleCertificato Digitale

Sicurezza in Internet, Crittografia - Slide 5713 maggio 201013 maggio 2010

–– Potete ottenere una gestione più generale utilizzando il Potete ottenere una gestione più generale utilizzando il programma programma mmcmmc (Microsoft Management Console).(Microsoft Management Console).

»» Start Start �� Esegui Esegui �� mmcmmc

»» Aggiungete Aggiungete snapsnap ––in,in, certificati certificati

–– Consultate la guida di Windows per altre informazioniConsultate la guida di Windows per altre informazioni

–– Potete ottenere una gestione più generale utilizzando il Potete ottenere una gestione più generale utilizzando il programma programma mmcmmc (Microsoft Management Console).(Microsoft Management Console).

»» Start Start �� Esegui Esegui �� mmcmmc

»» Aggiungete Aggiungete snapsnap ––in,in, certificati certificati

–– Consultate la guida di Windows per altre informazioniConsultate la guida di Windows per altre informazioni

Page 58: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

58

�� Quando mi connetto ad un server via SSH (es.: Quando mi connetto ad un server via SSH (es.: httpshttps) il server mi manda indietro il suo certificato ) il server mi manda indietro il suo certificato digitale che contiene la sua chiave pubblica e la digitale che contiene la sua chiave pubblica e la firma della CA che garantisce la chiave.firma della CA che garantisce la chiave.

�� Quando mi connetto ad un server via SSH (es.: Quando mi connetto ad un server via SSH (es.: httpshttps) il server mi manda indietro il suo certificato ) il server mi manda indietro il suo certificato digitale che contiene la sua chiave pubblica e la digitale che contiene la sua chiave pubblica e la firma della CA che garantisce la chiave.firma della CA che garantisce la chiave.

Cifrari Asimmetrici: Cifrari Asimmetrici: ConnessioniConnessioniCifrari Asimmetrici: Cifrari Asimmetrici: ConnessioniConnessioni

Sicurezza in Internet, Crittografia - Slide 5813 maggio 201013 maggio 2010

�� Verifico che la firma della CA sia valida. Se ci sono Verifico che la firma della CA sia valida. Se ci sono problemi mi viene chiesto esplicitamente se voglio problemi mi viene chiesto esplicitamente se voglio accettare ugualmente il certificato.accettare ugualmente il certificato.

�� Genero una chiave simmetrica e uso la chiave Genero una chiave simmetrica e uso la chiave pubblica del server per cifrarla ed inviargliela.pubblica del server per cifrarla ed inviargliela.

�� Verifico che la firma della CA sia valida. Se ci sono Verifico che la firma della CA sia valida. Se ci sono problemi mi viene chiesto esplicitamente se voglio problemi mi viene chiesto esplicitamente se voglio accettare ugualmente il certificato.accettare ugualmente il certificato.

�� Genero una chiave simmetrica e uso la chiave Genero una chiave simmetrica e uso la chiave pubblica del server per cifrarla ed inviargliela.pubblica del server per cifrarla ed inviargliela.

Page 59: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

59

�� Il server decifra il messaggio (e quindi Il server decifra il messaggio (e quindi la chiave simmetrica) con la sua la chiave simmetrica) con la sua chiave privata.chiave privata.

�� Il server decifra il messaggio (e quindi Il server decifra il messaggio (e quindi la chiave simmetrica) con la sua la chiave simmetrica) con la sua chiave privata.chiave privata.

Cifrari Asimmetrici: Cifrari Asimmetrici: ConnessioniConnessioniCifrari Asimmetrici: Cifrari Asimmetrici: ConnessioniConnessioni

Sicurezza in Internet, Crittografia - Slide 5913 maggio 201013 maggio 2010

�� A questo punto entrambi siamo in A questo punto entrambi siamo in possesso della chiave simmetrica e la possesso della chiave simmetrica e la comunicazione può continuare in comunicazione può continuare in questa modalità.questa modalità.

�� A questo punto entrambi siamo in A questo punto entrambi siamo in possesso della chiave simmetrica e la possesso della chiave simmetrica e la comunicazione può continuare in comunicazione può continuare in questa modalità.questa modalità.

Page 60: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

60

�� E’ un metodo più sicuro del cifrario E’ un metodo più sicuro del cifrario simmetrico.simmetrico.

�� Non occorre scambiare una chiave Non occorre scambiare una chiave

�� E’ un metodo più sicuro del cifrario E’ un metodo più sicuro del cifrario simmetrico.simmetrico.

�� Non occorre scambiare una chiave Non occorre scambiare una chiave

Cifrari Asimmetrici: ConclusioniCifrari Asimmetrici: ConclusioniCifrari Asimmetrici: ConclusioniCifrari Asimmetrici: Conclusioni

Sicurezza in Internet, Crittografia - Slide 6013 maggio 201013 maggio 2010

�� Non occorre scambiare una chiave Non occorre scambiare una chiave segreta su di un canale insicuro.segreta su di un canale insicuro.

�� E’ più lento e complesso dei cifrari E’ più lento e complesso dei cifrari simmetrici.simmetrici.

�� Non occorre scambiare una chiave Non occorre scambiare una chiave segreta su di un canale insicuro.segreta su di un canale insicuro.

�� E’ più lento e complesso dei cifrari E’ più lento e complesso dei cifrari simmetrici.simmetrici.

Page 61: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

61

�� Riferimenti:Riferimenti:

�� http://www.clusit.it/smau_milano_2002/zimuelhttp://www.clusit.it/smau_milano_2002/zimuel_smau_26_10_02.pdf_smau_26_10_02.pdf

�� Riferimenti:Riferimenti:

�� http://www.clusit.it/smau_milano_2002/zimuelhttp://www.clusit.it/smau_milano_2002/zimuel_smau_26_10_02.pdf_smau_26_10_02.pdf

Il CifrarioIl CifrarioIl CifrarioIl Cifrario

Sicurezza in Internet, Crittografia - Slide 6113 maggio 201013 maggio 2010

_smau_26_10_02.pdf_smau_26_10_02.pdf

�� http://www.valtellinux.it/http://www.valtellinux.it/knightsknights/crittografia1.ht/crittografia1.htmlml

�� http://it.wikipedia.org/wiki/Firma_digitalehttp://it.wikipedia.org/wiki/Firma_digitale

_smau_26_10_02.pdf_smau_26_10_02.pdf

�� http://www.valtellinux.it/http://www.valtellinux.it/knightsknights/crittografia1.ht/crittografia1.htmlml

�� http://it.wikipedia.org/wiki/Firma_digitalehttp://it.wikipedia.org/wiki/Firma_digitale

Page 62: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

62

Algoritmo Algoritmo DESDESAlgoritmo Algoritmo DESDES

AppendiceAppendiceAppendiceAppendice

Sicurezza in Internet, Crittografia - Slide 6213 maggio 201013 maggio 2010

Algoritmo Algoritmo DESDESAlgoritmo Algoritmo DESDES

Page 63: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

63

� E’ un cifrario a blocchi (64 bit)

� Chiave da 56 bit

� E’ un cifrario a blocchi (64 bit)

� Chiave da 56 bit

Algoritmi: DESAlgoritmi: DESAlgoritmi: DESAlgoritmi: DES

Sicurezza in Internet, Crittografia - Slide 6313 maggio 201013 maggio 2010

� Nessuna ridondanza: il messaggio criptato ha la stessa lunghezza del messaggio in chiaro

� E’ basato sull’impiego ciclico di 16 reti di Feistel + due permutazioni (iniziale e finale)

� Nessuna ridondanza: il messaggio criptato ha la stessa lunghezza del messaggio in chiaro

� E’ basato sull’impiego ciclico di 16 reti di Feistel + due permutazioni (iniziale e finale)

Page 64: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

64

Algoritmi: Rete di FeistelAlgoritmi: Rete di FeistelAlgoritmi: Rete di FeistelAlgoritmi: Rete di Feistel

Testo in chiaroTesto in chiaro

PermutazionePermutazione

L0L0 R0R0

L1L1 R1R1

⊕⊕⊕⊕⊕⊕⊕⊕

⊕⊕⊕⊕⊕⊕⊕⊕ F( )F( )

KeyKey

KeyKey

Sicurezza in Internet, Crittografia - Slide 6413 maggio 201013 maggio 2010

R1 = L0 R1 = L0 ⊕⊕⊕⊕⊕⊕⊕⊕ F(R0,Key)F(R0,Key)

⊕⊕⊕⊕⊕⊕⊕⊕

L1L1

F( )F( )

R2 = L1 R2 = L1 ⊕⊕⊕⊕⊕⊕⊕⊕ F(R1,Key)F(R1,Key)L2L2

Ciclo

PermutazionePermutazione

Testo criptatoTesto criptato

Page 65: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

65

1. Si prende un blocco di 2n bit e lo si divide in due parti uguali: Left (L) e Right (R).

2. Al livello 1 si ha: L1= R0 e R1= L0 ⊕F(R0,Key)

1. Si prende un blocco di 2n bit e lo si divide in due parti uguali: Left (L) e Right (R).

2. Al livello 1 si ha: L1= R0 e R1= L0 ⊕F(R0,Key)

Algoritmi: Rete di FeistelAlgoritmi: Rete di FeistelAlgoritmi: Rete di FeistelAlgoritmi: Rete di Feistel

Sicurezza in Internet, Crittografia - Slide 6513 maggio 201013 maggio 2010

F(R0,Key)

3. Si scambiano le parti L ed R tra loro.

4. Si ripete il ciclo.

F(R0,Key)

3. Si scambiano le parti L ed R tra loro.

4. Si ripete il ciclo.

Page 66: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

66

� Operatore logico XOR (OR esclusivo)

� Tavola di verità:

� Operatore logico XOR (OR esclusivo)

� Tavola di verità:

Algoritmi: XORAlgoritmi: XORAlgoritmi: XORAlgoritmi: XOR

AA BB A A ⊕⊕ BB ⇔ ⇔ (~A•B) (~A•B) ∨∨ (A•~B)(A•~B)

Sicurezza in Internet, Crittografia - Slide 6613 maggio 201013 maggio 2010

AA BB ⊕⊕ ⇔ ⇔ ∨∨

11 TT TT FF

22 TT FF TT

33 FF TT TT

44 FF FF FF

E' un E' un addizionatoreaddizionatore binariobinario ((senzasenza riportoriporto))

Page 67: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

67

Funzione Funzione FeistelFeistel (F)(F)

EspansioneEspansione

Miscelazione con Miscelazione con SubkeySubkey

Sicurezza in Internet, Crittografia - Slide 6713 maggio 201013 maggio 2010

Sostituzione (Sostituzione (SS--BoxBox))

PermutazionePermutazione

Page 68: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

68

Algoritmi: Rete di FeistelAlgoritmi: Rete di FeistelAlgoritmi: Rete di FeistelAlgoritmi: Rete di Feistel

Testo in chiaroTesto in chiaro

PermutazionePermutazione

L0L0 R0R0

L1L1 R1R1

⊕⊕⊕⊕⊕⊕⊕⊕

⊕⊕⊕⊕⊕⊕⊕⊕ F( )F( )

KeyKey

KeyKey

Sicurezza in Internet, Crittografia - Slide 6813 maggio 201013 maggio 2010

R1 = L0 R1 = L0 ⊕⊕⊕⊕⊕⊕⊕⊕ F(R0,Key)F(R0,Key)

⊕⊕⊕⊕⊕⊕⊕⊕

L1L1

F( )F( )

R2 = L1 R2 = L1 ⊕⊕⊕⊕⊕⊕⊕⊕ F(R1,Key)F(R1,Key)L2L2

Ciclo

PermutazionePermutazione

Testo criptatoTesto criptato

Page 69: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

69

� La struttura della rete di Feistel assicura che cifratura e decifratura siano processi molto simili.

L’unica differenza è che le chiavi sono

� La struttura della rete di Feistel assicura che cifratura e decifratura siano processi molto simili.

L’unica differenza è che le chiavi sono

Algoritmi: DESAlgoritmi: DESAlgoritmi: DESAlgoritmi: DES

Sicurezza in Internet, Crittografia - Slide 6913 maggio 201013 maggio 2010

� L’unica differenza è che le chiavi sono applicate nell’ordine inverso nella fase di decifratura.

� E’ molto semplice implementare la procedura, se effettuata direttamente con un circuito.

� L’unica differenza è che le chiavi sono applicate nell’ordine inverso nella fase di decifratura.

� E’ molto semplice implementare la procedura, se effettuata direttamente con un circuito.

Page 70: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

70

Algoritmo RSAAlgoritmo RSAAlgoritmo RSAAlgoritmo RSA

AppendiceAppendiceAppendiceAppendice

Sicurezza in Internet, Crittografia - Slide 7013 maggio 201013 maggio 2010

Algoritmo RSAAlgoritmo RSAAlgoritmo RSAAlgoritmo RSA

Page 71: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

71

�� Il codice RSA permette di cifrare un messaggio Il codice RSA permette di cifrare un messaggio attraverso un procedimento che richiede l'utilizzo dei attraverso un procedimento che richiede l'utilizzo dei numeri priminumeri primi

�� Il metodo fa uso delle proprietà dei numeri primi e di Il metodo fa uso delle proprietà dei numeri primi e di

�� Il codice RSA permette di cifrare un messaggio Il codice RSA permette di cifrare un messaggio attraverso un procedimento che richiede l'utilizzo dei attraverso un procedimento che richiede l'utilizzo dei numeri priminumeri primi

�� Il metodo fa uso delle proprietà dei numeri primi e di Il metodo fa uso delle proprietà dei numeri primi e di

Algoritmi: RSAAlgoritmi: RSAAlgoritmi: RSAAlgoritmi: RSA

Sicurezza in Internet, Crittografia - Slide 7113 maggio 201013 maggio 2010

�� Il metodo fa uso delle proprietà dei numeri primi e di Il metodo fa uso delle proprietà dei numeri primi e di quelle di particolari strutture algebriche, le aritmetiche quelle di particolari strutture algebriche, le aritmetiche finite su campi di Galois.finite su campi di Galois.

�� Per esser sicuro il metodo deve operare su numeri Per esser sicuro il metodo deve operare su numeri elevati. Tuttavia, per semplicità, gli esempi elevati. Tuttavia, per semplicità, gli esempi utilizzeranno numeri interi piccoli.utilizzeranno numeri interi piccoli.

�� Il metodo fa uso delle proprietà dei numeri primi e di Il metodo fa uso delle proprietà dei numeri primi e di quelle di particolari strutture algebriche, le aritmetiche quelle di particolari strutture algebriche, le aritmetiche finite su campi di Galois.finite su campi di Galois.

�� Per esser sicuro il metodo deve operare su numeri Per esser sicuro il metodo deve operare su numeri elevati. Tuttavia, per semplicità, gli esempi elevati. Tuttavia, per semplicità, gli esempi utilizzeranno numeri interi piccoli.utilizzeranno numeri interi piccoli.

Page 72: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

72

��Nelle slide seguenti useremo l’operatore Nelle slide seguenti useremo l’operatore MODMOD..

�� Se Se pp ed ed nn sono due numeri interi, la notazione sono due numeri interi, la notazione pp MOD MOD nn indica semplicemente il resto della indica semplicemente il resto della

��Nelle slide seguenti useremo l’operatore Nelle slide seguenti useremo l’operatore MODMOD..

�� Se Se pp ed ed nn sono due numeri interi, la notazione sono due numeri interi, la notazione pp MOD MOD nn indica semplicemente il resto della indica semplicemente il resto della

Definizioni: Operatore MODDefinizioni: Operatore MODDefinizioni: Operatore MODDefinizioni: Operatore MOD

Sicurezza in Internet, Crittografia - Slide 7213 maggio 201013 maggio 2010

pp MOD MOD nn indica semplicemente il resto della indica semplicemente il resto della divisione di divisione di pp per per nn..

�� Esempi:Esempi:

10 MOD 3 = 110 MOD 3 = 1

5 MOD 8 = 55 MOD 8 = 5

pp MOD MOD nn indica semplicemente il resto della indica semplicemente il resto della divisione di divisione di pp per per nn..

�� Esempi:Esempi:

10 MOD 3 = 110 MOD 3 = 1

5 MOD 8 = 55 MOD 8 = 5

Page 73: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

73

�� Aritmetica finitaAritmetica finita : opera con un insieme limitato di numeri interi; una volta : opera con un insieme limitato di numeri interi; una volta raggiunto l'ultimo numero si ritorna al primo. raggiunto l'ultimo numero si ritorna al primo.

�� L'aritmetica finita modulo m si serve cioè di tutti i numeri che costituiscono l' L'aritmetica finita modulo m si serve cioè di tutti i numeri che costituiscono l' insieme dei resti di una divisione per m: 0,1,2...minsieme dei resti di una divisione per m: 0,1,2...m--1 1

–– Esempio: l' aritmetica finita (o circolare) modulo 12 opera sull' insieme numerico Esempio: l' aritmetica finita (o circolare) modulo 12 opera sull' insieme numerico costituito dalle cifre : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11. costituito dalle cifre : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11.

Definizioni: Aritmetica FinitaDefinizioni: Aritmetica FinitaDefinizioni: Aritmetica FinitaDefinizioni: Aritmetica Finita

Sicurezza in Internet, Crittografia - Slide 7313 maggio 201013 maggio 2010

�� In concreto: la somma algebrica e il prodotto vengono prima eseguite In concreto: la somma algebrica e il prodotto vengono prima eseguite nell'aritmetica ordinaria , il risultato viene poi diviso per m. nell'aritmetica ordinaria , il risultato viene poi diviso per m.

–– Esempio: in modulo 12 , 7 + 8 = 3 perchè 7 + 8 = 15 e Esempio: in modulo 12 , 7 + 8 = 3 perchè 7 + 8 = 15 e 15 : 12 dà come resto 3. (7+8) MOD 12 = 315 : 12 dà come resto 3. (7+8) MOD 12 = 3

�� Per la somma valgono tutte le proprietà dell' ordinaria somma fra numeri interi. Per la somma valgono tutte le proprietà dell' ordinaria somma fra numeri interi. Tale operazione definisce quindi un gruppo finito commutativo. Tale operazione definisce quindi un gruppo finito commutativo.

�� Per il prodotto, invece, può cadere la regola di annullamento del prodotto (che Per il prodotto, invece, può cadere la regola di annullamento del prodotto (che dice : un prodotto è nullo se e solo se lo è almeno uno dei due fattori), a meno dice : un prodotto è nullo se e solo se lo è almeno uno dei due fattori), a meno che m non sia un numero primo, in questo caso si ha un campo finito o di Galois. che m non sia un numero primo, in questo caso si ha un campo finito o di Galois.

Page 74: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

74

�� Funzione di EuleroFunzione di Eulero : associa a un numero intero : associa a un numero intero nn il il numero dei numeri interi primi rispetto ad numero dei numeri interi primi rispetto ad nn e minori di e minori di nn (compreso l'uno). (compreso l'uno).

�� Esempio: Esempio:

Definizioni: Funzione di EuleroDefinizioni: Funzione di EuleroDefinizioni: Funzione di EuleroDefinizioni: Funzione di Eulero

Sicurezza in Internet, Crittografia - Slide 7413 maggio 201013 maggio 2010

–– per per n = 6n = 6 la funzione di Eulero vale 2 perché gli interi primi la funzione di Eulero vale 2 perché gli interi primi rispetto a 6 e minori di 6 sono solo 1 e 5; rispetto a 6 e minori di 6 sono solo 1 e 5;

–– per per n = 7n = 7 la funzione vale 6 perché, essendo 7 primo, tutti i la funzione vale 6 perché, essendo 7 primo, tutti i numeri che lo precedono sono primi con 7. numeri che lo precedono sono primi con 7.

–– Per Per nn = = 88 la funzione vale 4 perché gli interi primi con 8 e la funzione vale 4 perché gli interi primi con 8 e minori di 8 sono 1, 3, 5 e 7. minori di 8 sono 1, 3, 5 e 7.

Page 75: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

75

�� Indicheremo la funzione di Eulero di un numero Indicheremo la funzione di Eulero di un numero nn con con f(n)f(n) . Si dimostra che . Si dimostra che f(n) = n(1 f(n) = n(1 -- 1/n1/n11)(1 )(1 -- 1/n1/n22)...(1 )...(1 --1/n1/nmm)), dove n, dove n11, n, n22 ... n... nmm sono i fattori primi distinti di sono i fattori primi distinti di nn. .

�� Se Se nn è primo allora è primo allora f(n) = n f(n) = n –– 1.1.

Definizioni: Funzione di Eulero IIDefinizioni: Funzione di Eulero IIDefinizioni: Funzione di Eulero IIDefinizioni: Funzione di Eulero II

Sicurezza in Internet, Crittografia - Slide 7513 maggio 201013 maggio 2010

�� Se Se nn è primo allora è primo allora f(n) = n f(n) = n –– 1.1.

�� Se Se nn è il prodotto di due numeri primi p e q, è facile è il prodotto di due numeri primi p e q, è facile verificare che:verificare che:

–– f(n) = (p f(n) = (p -- 1)(q 1)(q -- 1)1). .

–– Infatti f(n) = pq(1 Infatti f(n) = pq(1 -- 1/p)(1 1/p)(1 -- 1/q) e svolgendo i prodotti p(1 1/q) e svolgendo i prodotti p(1 --1/p) e q(1 1/p) e q(1 -- 1/q) si ottiene la1/q) si ottiene la formula data.

Page 76: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

76

Questo teorema fu enunciato per la prima volta in forma semplificata da Pierre de Questo teorema fu enunciato per la prima volta in forma semplificata da Pierre de Fermat nel 1679, mentre la prima dimostrazione è dovuta ad Eulero nel 1736Fermat nel 1679, mentre la prima dimostrazione è dovuta ad Eulero nel 1736

�� Sia f(n) la funzione di Eulero del numero intero n. Il teorema afferma che Sia f(n) la funzione di Eulero del numero intero n. Il teorema afferma che dati due numeri interi qualsiasi dati due numeri interi qualsiasi mm e e n, n, primi tra di loro, allora è: primi tra di loro, allora è:

mmf(n)f(n) MODMOD n = 1 n = 1

Teorema di FermatTeorema di Fermat--EuleroEuleroTeorema di FermatTeorema di Fermat--EuleroEulero

Sicurezza in Internet, Crittografia - Slide 7613 maggio 201013 maggio 2010

mm MODMOD n = 1 n = 1

oppure, in modo equivalente:oppure, in modo equivalente:

(m(mf(n)f(n) -- 1) 1) MODMOD n = 0 (n = 0 (e cioèe cioè mmf(n)f(n) -- 1 1 è divisibile per nè divisibile per n) )

�� Il teorema si può anche enunciare nell'ambito delle aritmetiche finite, Il teorema si può anche enunciare nell'ambito delle aritmetiche finite, affermando che in un'aritmetica di ordine affermando che in un'aritmetica di ordine nn è mè mf(n)f(n) = 1. = 1.

�� Un caso particolare si ha quando Un caso particolare si ha quando nn è senz'altro primo; allora f(n) = n è senz'altro primo; allora f(n) = n -- 1 1 e quindi il teorema si riduce a: me quindi il teorema si riduce a: m(n (n -- 1)1) MODMOD n = 1. Quest’ultima è la n = 1. Quest’ultima è la formulazione originale di Fermat. formulazione originale di Fermat.

Page 77: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

77

�� In un’aritmetica finita modulo In un’aritmetica finita modulo nn l'inverso di un numero l'inverso di un numero xx è quel numero è quel numero yyper il quale risulta per il quale risulta xy MOD n = 1xy MOD n = 1 . .

�� Quando Quando xx ed ed nn sono primi tra loro è possibile calcolare l’inverso con il sono primi tra loro è possibile calcolare l’inverso con il teorema di Euleroteorema di Eulero--Fermat (xFermat (xf(n)f(n) MOD n = 1), dove f(n) è la funzione di MOD n = 1), dove f(n) è la funzione di Eulero e l’inverso è il numero y = xEulero e l’inverso è il numero y = xf(n)f(n)--11 MOD n MOD n

nn xx

Alcune definizioni: InversoAlcune definizioni: InversoAlcune definizioni: InversoAlcune definizioni: Inverso

Sicurezza in Internet, Crittografia - Slide 7713 maggio 201013 maggio 2010

�� Infatti moltiplicando modulo Infatti moltiplicando modulo nn ambo i membri dell'uguaglianza per ambo i membri dell'uguaglianza per xx si si ha: xy MOD n = x*xha: xy MOD n = x*xf(n)f(n)--11 MOD n = xMOD n = xf(n)f(n) MOD n = 1 MOD n = 1

�� Occorre però notare che il calcolo della funzione di Eulero per numeri Occorre però notare che il calcolo della funzione di Eulero per numeri elevati ha la stessa complessità della fattorizzazione. elevati ha la stessa complessità della fattorizzazione.

�� Se Se nn è molto grande conviene calcolare l'inverso andando per tentativi. è molto grande conviene calcolare l'inverso andando per tentativi.

�� Esempio: prendiamo 7 in un’aritmetica finita di ordine 8 (f(8) = 4). Esempio: prendiamo 7 in un’aritmetica finita di ordine 8 (f(8) = 4). L’inverso di 7 è 7L’inverso di 7 è 733 MOD 8 = 343 MOD 8 = 7. E in effetti (7 * 7) MOD 8 = MOD 8 = 343 MOD 8 = 7. E in effetti (7 * 7) MOD 8 = 49 MOD 8 = 1. 49 MOD 8 = 1.

Page 78: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

78

� Siano d ed f(n) primi tra loro. Dobbiamo calcolare il numero x, inverso di d in modulo f(n). Ora x è il più piccolo intero per cui (d*x-1)/f(n) è un intero.

� Abbiamo visto che se f(n) è grande, è più conveniente calcolare x per tentativi.

– Esempio:

– n= 7*5 = 35

� Siano d ed f(n) primi tra loro. Dobbiamo calcolare il numero x, inverso di d in modulo f(n). Ora x è il più piccolo intero per cui (d*x-1)/f(n) è un intero.

� Abbiamo visto che se f(n) è grande, è più conveniente calcolare x per tentativi.

– Esempio:

– n= 7*5 = 35

Calcolo dell’InversoCalcolo dell’InversoCalcolo dell’InversoCalcolo dell’Inverso

Sicurezza in Internet, Crittografia - Slide 7813 maggio 201013 maggio 2010

– n= 7*5 = 35

– f(n) = 35(1-1/5)*(1-1/7)=24

– d = 11 (primo con 24)

– devo calcolare il numero x, ossia devo trovare un k intero tale che:

– k = (11*x - 1)/24

– 11x - 1 = k*24

– 11x = k*24 + 1

– x = (k*24 + 1)/11

– Pongo k= 1, 2, 3 … e per k = 5 ottengo x = 11. Quindi l’inverso di 11 in modulo 24 è 11. Infatti (11*11) MOD 24 = 121 MOD 24 = 1

– n= 7*5 = 35

– f(n) = 35(1-1/5)*(1-1/7)=24

– d = 11 (primo con 24)

– devo calcolare il numero x, ossia devo trovare un k intero tale che:

– k = (11*x - 1)/24

– 11x - 1 = k*24

– 11x = k*24 + 1

– x = (k*24 + 1)/11

– Pongo k= 1, 2, 3 … e per k = 5 ottengo x = 11. Quindi l’inverso di 11 in modulo 24 è 11. Infatti (11*11) MOD 24 = 121 MOD 24 = 1

Page 79: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

79

� La chiave privata è composta da tre numeri interi:

– Kpriv = (p, q, d)

� La chiave pubblica è composta da due numeri interi

� La chiave privata è composta da tre numeri interi:

– Kpriv = (p, q, d)

� La chiave pubblica è composta da due numeri interi

RSA: ChiaviRSA: ChiaviRSA: ChiaviRSA: Chiavi

Sicurezza in Internet, Crittografia - Slide 7913 maggio 201013 maggio 2010

� La chiave pubblica è composta da due numeri interi

– Kpub = (h, n)

� Ovviamente i cinque numeri sono in relazione fra loro secondo regole determinate.

� La chiave pubblica è composta da due numeri interi

– Kpub = (h, n)

� Ovviamente i cinque numeri sono in relazione fra loro secondo regole determinate.

Page 80: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

80

�� Procedura di costruzione delle chiavi:Procedura di costruzione delle chiavi:

Kpriv = (p, q, d)Kpriv = (p, q, d) Kpub = (h, n)Kpub = (h, n)

–– Segreto: si scelgono p e q, due numeri primi di 150 o più cifre.Segreto: si scelgono p e q, due numeri primi di 150 o più cifre.

�� Procedura di costruzione delle chiavi:Procedura di costruzione delle chiavi:

Kpriv = (p, q, d)Kpriv = (p, q, d) Kpub = (h, n)Kpub = (h, n)

–– Segreto: si scelgono p e q, due numeri primi di 150 o più cifre.Segreto: si scelgono p e q, due numeri primi di 150 o più cifre.

RSA: Costruzione ChiaviRSA: Costruzione ChiaviRSA: Costruzione ChiaviRSA: Costruzione Chiavi

Sicurezza in Internet, Crittografia - Slide 8013 maggio 201013 maggio 2010

–– Pubblico: n = p*qPubblico: n = p*q

–– Segreto: si calcola la funzione di Eulero f(n) = (p Segreto: si calcola la funzione di Eulero f(n) = (p --1)*(q 1)*(q --1)1)

–– Segreto: si sceglie il numero intero d, primo rispetto a f(n)Segreto: si sceglie il numero intero d, primo rispetto a f(n)

–– Pubblico: si calcola h l’inverso di d in modulo f(n) Pubblico: si calcola h l’inverso di d in modulo f(n)

�� A questo punto le due chiavi sono state definite.A questo punto le due chiavi sono state definite.

–– Pubblico: n = p*qPubblico: n = p*q

–– Segreto: si calcola la funzione di Eulero f(n) = (p Segreto: si calcola la funzione di Eulero f(n) = (p --1)*(q 1)*(q --1)1)

–– Segreto: si sceglie il numero intero d, primo rispetto a f(n)Segreto: si sceglie il numero intero d, primo rispetto a f(n)

–– Pubblico: si calcola h l’inverso di d in modulo f(n) Pubblico: si calcola h l’inverso di d in modulo f(n)

�� A questo punto le due chiavi sono state definite.A questo punto le due chiavi sono state definite.

Page 81: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

81

�� Esempio:Esempio:

�� Kpriv = (p, q, d)Kpriv = (p, q, d) Kpub = (h, n)Kpub = (h, n)

–– Segreto: p= 5, q= 11Segreto: p= 5, q= 11

RSA: Costruzione ChiaviRSA: Costruzione ChiaviRSA: Costruzione ChiaviRSA: Costruzione Chiavi

Sicurezza in Internet, Crittografia - Slide 8113 maggio 201013 maggio 2010

–– Pubblico: n = p*q = 55Pubblico: n = p*q = 55

–– Segreto: f(n) = (pSegreto: f(n) = (p--1)*(q1)*(q--1) = 401) = 40

–– Segreto: d= 23, primo rispetto a f(n). Segreto: d= 23, primo rispetto a f(n).

–– Pubblico: si calcola h l’inverso di d in modulo f(n): h= 7Pubblico: si calcola h l’inverso di d in modulo f(n): h= 7

�� Kpriv = (5, 11, 23)Kpriv = (5, 11, 23) Kpub = (7, 55)Kpub = (7, 55)

Page 82: La Sicurezza nelle Retitecniche di fattorizzazione (scomposizione in fattori primi) o di elevamento a potenza di numeri grandi (> 200 cifre). –– La violazione della chiave asimmetrica

17/05/2010

82

Algoritmi: RSAAlgoritmi: RSAAlgoritmi: RSAAlgoritmi: RSA

�� Per trasmettere il messaggio lo si traduce inizialmente in un vettore di numeri (in precedenza Per trasmettere il messaggio lo si traduce inizialmente in un vettore di numeri (in precedenza ci si è accordati riguardo alla modalità di "traduzione"). Stabilita dunque la sequenza ci si è accordati riguardo alla modalità di "traduzione"). Stabilita dunque la sequenza numerica mnumerica m11, m, m22....m....mrr si trasmettono gli m uno alla volta.si trasmettono gli m uno alla volta.Il crittogramma corrispondente a m è allora c=m n mod n.Il crittogramma corrispondente a m è allora c=m n mod n.

�� Esempio: prendiamo m=5 c=mEsempio: prendiamo m=5 c=mhh mod n= 5mod n= 577 mod 55=78125 mod 55=25mod 55=78125 mod 55=25

�� La chiave di decifrazione è costituita dall'intero d, segreto, nella formula m= cLa chiave di decifrazione è costituita dall'intero d, segreto, nella formula m= cdd mod n. mod n. �� Esempio: Esempio: 25252323 mod 55 = (25mod 55 = (2522 mod 55)mod 55)1111 * (25 mod 55) = (20* (25 mod 55) = (201111 mod 55)* (25 mod 55) = (20mod 55)* (25 mod 55) = (2055 mod mod

Sicurezza in Internet, Crittografia - Slide 8213 maggio 201013 maggio 2010

�� In sintesi:per cifrare un messaggio il trasmettitore deve In sintesi:per cifrare un messaggio il trasmettitore deve prendere le diverse cifre pubbliche del ricevente e costruire prendere le diverse cifre pubbliche del ricevente e costruire un messaggio cifrato, quest'ultimo a sua volta utilizza la parte un messaggio cifrato, quest'ultimo a sua volta utilizza la parte segreta del suo codice per decifrarlo.segreta del suo codice per decifrarlo.

�� Il codice RSA viene considerato sicuro perché, essendo la Il codice RSA viene considerato sicuro perché, essendo la formula di decifrazione basata su f(n) calcolabile solo se a formula di decifrazione basata su f(n) calcolabile solo se a conoscenza di p e q, non esiste un algoritmo efficiente per conoscenza di p e q, non esiste un algoritmo efficiente per scomporre n in p e q, perlomeno in tempi accettabili.scomporre n in p e q, perlomeno in tempi accettabili.

Utente Parte pubblica

Parte segreta

Ricevente n55

h7

n=p*q5 * 11

b=f(n)40

d23

�� Esempio: Esempio: 2525 mod 55 = (25mod 55 = (25 mod 55)mod 55) * (25 mod 55) = (20* (25 mod 55) = (20 mod 55)* (25 mod 55) = (20mod 55)* (25 mod 55) = (20 mod mod 55)55)22*20)mod 55 * (25 mod 55) = 5*20)mod 55 * (25 mod 55) = 5