6_crittografia_firma_digitale

1,426 views

Published on

Crittografia, firma digitale

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,426
On SlideShare
0
From Embeds
0
Number of Embeds
599
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Statua di Leon Battista Alberti, piazza degli Uffizi a Firenze. Sepolto nella Basilica di Santa Croce a Firenze.
  • Per decrittare i messaggi, fu utilizzato Colossus, il primo computer elettronico programmabile nella storia.
    Alla fine della guerra la macchina fu distrutta e i progetti relativi bruciati, per ordine del servizio segreto inglese. Solo in tempi recenti ne è stata costruita una replica funzionante, completata nel 2007, oggi esposta nel National Museum of Computing, con sede a Bletchley Park.
  • 6_crittografia_firma_digitale

    1. 1. LA CRITTOGRAFIA 1A cura di Jacques Bottel
    2. 2. Che cos’è la crittografia? Crittografia è l’unione di due parole greche: κρυπτóς (kryptós) che significa "nascosto" e γραφία (graphía) che significa "scrittura". Lo scopo della crittografia è studiare metodi che consentono di memorizzare, elaborare e trasmettere informazioni in presenza di agenti ostili. 2A cura di Jacques Bottel
    3. 3. Canale di comunicazione ALICE BOB EVE 3A cura di Jacques Bottel
    4. 4. Gravità degli attacchi Eve non può né leggere né scrivere il canale è sicuro Eve può leggere ma non scrivere solo attacchi passivi, è la situazione più comune Eve può scrivere ma non leggere può disturbare il canale Eve può sia leggere che scrivere sono possibili attacchi attivi e impersonificazioni G R A V I T À 4A cura di Jacques Bottel
    5. 5. Crittografia e crittoanalisi Crittografia + crittoanalisi = crittologia  La crittografia è la scienza che studia e implementa crittosistemi sicuri.  La crittoanalisi analizza i crittosistemi esistenti al fine di scoprirne eventuali debolezze. 5A cura di Jacques Bottel
    6. 6. I crittosistemi I crittosistemi sono basati su: Ek(m) = c [funzione di encoding] Dk(c) = m [funzione di decoding] Principio di Kerkhoffs: “la segretezza non dovrebbe risiedere in E(.) e in D(.), ma piuttosto in una piccola informazione chiamata chiave”. 6A cura di Jacques Bottel
    7. 7. Proprietà degli algoritmi di crittografia Gli algoritmi di crittografia devono garantire le seguenti proprietà:  Molto rapido a calcolare c = Ek(m)  Molto rapido a calcolare m = Dk(c)  Molto tempo per calcolare m conoscendo solo c  Molto tempo per scoprire k, conoscendo c e m 7A cura di Jacques Bottel Questa asimmetria nei tempi di calcolo è garantita delle funzioni one-way
    8. 8. Funzioni one-way Le funzioni one-way (a senso unico) garantiscono che:  A partire da un elemento x del dominio è facile calcolare (si impiega poco tempo) il corrispondente elemento del codominio y=f(x).  Al contrario, a partire da un elemento y del codo- minio è difficile risalire all’elemento x del dominio. 8A cura di Jacques Bottel
    9. 9. Funzioni one-way 9A cura di Jacques Bottel . . . . DOMINIO (molto tempo) CODOMINIO y x
    10. 10. Algoritmi di crittografia Algoritmi di crittografia 10 a chiave simmetrica a chiave pubblica A cura di Jacques Bottel
    11. 11. ALGORITMI A CHIAVE SIMMETRICA 11A cura di Jacques Bottel
    12. 12. Algoritmi a chiave simmetrica La chiave per cifrare e decifrare è la stessa. Problema: lo scambio delle chiavi. Ek(m) = c Dk(c) = m Alcuni algoritmi a chiave simmetrica:  DES1 (Data Encryption Standard), 3-DES  AES2 (Advanced Encryption Standard) 12 1 DES - chiavi da 56 bit (112 bit con il 3-DES) 2 AES - chiavi da 128, 192 o 256 bit A cura di Jacques Bottel
    13. 13. Esempio: il cifrario di Cesare Fu l’algoritmo utilizzato da Giulio Cesare (De Vita Caesarum, Svetonio). Fu utilizzato anche da Provenzano per nascondere il nome dei mafiosi. 13 BUONA GIORNATA E RQDCLNRUQDZD A cura di Jacques Bottel
    14. 14. Cifrario di Cesare: l’algoritmo Dato l’alfabeto e scelgo un numero (che sarà la chiave k) compreso tra 1 e 22. Sposto in avanti le lettere dell’alfabeto. Nell’esempio precedente abbiamo scelto k=3. LETT. LETT. +3 LETT. LETT. +3 LETT. LETT. +3 LETT. LETT. +3 A D G L O R U spazio B E H M P S V A C F I N Q T Z B D G L O R U spazio C E H M P S V F I N Q T Z 14A cura di Jacques Bottel
    15. 15. Crittoanalisi Osserviamo i messaggi crittografati e sfruttiamo le debolezze dell’algoritmo! 15A cura di Jacques Bottel UTZAFEFZHOPELE TUZFAABAATEMZLHHL PORTA ARCHI E SOPRATTUTTO FRECCE Debolezza: notiamo che ogni lettera viene codificata sempre allo stesso modo: la O → T, la T → A. Possiamo sfruttare questa proprietà? Sì, guardiamo la struttura delle parole!
    16. 16. Crittoanalisi Sapendo che SOPRATTUTTO è l’unica parola italiana che ha 2 coppie di lettere uguali con una lettera diversa in mezzo, abbiamo decodificato la parola crittografata. Ma non solo! Possiamo calcolare k come segue: k= A-T=5. Ora possiamo decrittare veloce- mente tutti i messaggi! 16A cura di Jacques Bottel
    17. 17. L’algoritmo di Vigenère La chiave è una parola. Per ogni lettera della chiave viene applicato l’algoritmo di Cesare con una chiave uguale alla posizione della lettera nell’alfabeto. Es. k=ABACO k=1-2-1-3-13 17A cura di Jacques Bottel BUONA GIORNATA CZPQPAILRGOCUD
    18. 18. Considerazioni L’algoritmo di Cesare è un algoritmo di sostituzione monoalfabetica, cioè i caratteri del testo vengono crittografati sempre con la stessa chiave. L’algoritmo di Vigenère è più sofisticato perché applica una sostituzione polialfabetica, cioè i caratteri del testo vengono crittografati con una chiave variabile. Ma questi algoritmi sono sicuri? 18A cura di Jacques Bottel
    19. 19. Sicurezza della crittografia La sicurezza della crittografia dipende da:  Lunghezza della chiave, cioè il numero di possibili chiavi. Un attacco brute forcing consiste nel provare a decrittare il messaggio provando una ad una tutte le possibili chiavi.  Algoritmo di crittografia. Con il passare del tempo, gli studi dei crittoanalisti fanno emergere debolezze che portano a una riduzione delle possibili chiavi. A questo punto un attacco brute forcing può diventare efficace. 19A cura di Jacques Bottel
    20. 20. Attacco brute forcing 20 Lunghezza di chiave Possibili chiavi 1 21 = 2 2 22 = 4 4 24 = 16 8 28 = 256 16 216 = 65536 32 232 ≈ 4.2x109 56 (DES) 256 ≈ 7.2x1016 64 264 ≈ 1.8x1019 128 (AES) 2128 ≈ 3.4x1038 192 (AES) 2192 ≈ 6.2x1057 256 (AES) 2256 ≈ 1.1x1077 A cura di Jacques Bottel
    21. 21. Attacco brute forcing Supponendo di avere a disposizione il supercomputer più potente al mondo1… 21A cura di Jacques Bottel Lunghezza di chiave Durata dell’attacco 2 56 (DES) 399 secondi 128 (AES) 1.02x109 miliardi di anni 192 (AES) 1.87x1028 miliardi di anni 256 (AES) 3.31x1047 miliardi di anni 1 Supercomputer da 10.51 PFlop/s di potenza massima. Supponiamo che si impieghino 1000 flop per provare una chiave (stima molto ottimistica). 2 Caso peggiore, ossia supponendo di provare tutte le possibili chiavi. Nota: l’universo ha “solo” 13.75 miliardi di anni.
    22. 22. Sicurezza della crittografia: l’algoritmo Un algoritmo di crittografia è sicuro se ha miliardi di possibili chiavi e se garantisce le seguenti proprietà:  Diffusione. Ogni simbolo di c è determinato da molti simboli di m. In questo modo la struttura statistica di m è distribuita sull’intero messaggio c e non è più possibile fare statistiche su c.  Confusione. Anche un piccolo cambiamento di m o di k (anche un solo simbolo) produce un cambiamento significativo in c (cioè devono modificarsi almeno la metà dei simboli di c). 22A cura di Jacques Bottel
    23. 23. LA MACCHINA ENIGMA 23A cura di Jacques Bottel
    24. 24. La macchina Enigma La macchina Enigma fu utilizzata dalle forze tedesche per crittografare le comunicazioni durante la Seconda Guerra Mondiale. 24A cura di Jacques Bottel
    25. 25. Enigma: l’algoritmo La macchina si basava sull’algoritmo del disco cifrante, un algoritmo di sostituzione polialfabatica descritto da Leon Battista Alberti nel De Cifris intorno al 1467. Pur essendo il primo algoritmo sostituzione polialfabatica di cui si abbia notizia è migliore del Vigenère in quanto non può essere rotto utilizzando il metodo Kasiski. 25A cura di Jacques Bottel
    26. 26. Enigma: è sicura? L’algoritmo non è sicuro in quanto non garantisce il rispetto delle proprietà di diffusione e confusione. Fu violato grazie al lavoro di grandi matematici quali Marian Rejewski e Alan Turing a Bletchley Park, una località 75 Km a Nord- Ovest di Londra. 26A cura di Jacques Bottel
    27. 27. Enigma: come fu violata Crib che aiutarono gli Alleati:  Parti di testo ricorrenti: molti messaggi cominciavano con la parola Spruchnummer (messaggio numero) e molti messaggi dell’aeronautica cominciavano con “An die Gruppe” (al gruppo). Molti messaggi contenevano la frase “Kienebesondere Ereignisse” (niente da segnalare). I messaggi spesso terminavano con Heil Hitler!  I messaggi che riportavano informazioni di routine, per esempio i bollettini meteo, sono stati trasmessi più volte crittografati con una diversa chiave. 27A cura di Jacques Bottel Crib = rubacchiare
    28. 28. ALGORITMI A CHIAVE PUBBLICA 28A cura di Jacques Bottel
    29. 29. Algoritmi a chiave pubblica Gli algoritmi a chiave pubblica utilizzano due chiavi:  Una chiave k che deve rimanere segreta, chiamata chiave privata o chiave segreta.  Una chiave k che viene distribuita, per es. su Internet, chiamata chiave pubblica. Caratteristiche degli algoritmi a chiave pubblica:  Da un messaggio c è difficile risalire alla kpriv .  Data la kpub non è possibile risalire alla kpriv . 29A cura di Jacques Bottel
    30. 30. Algoritmo di Diffie-Hellman L’algoritmo di Diffie-Hellman consente di scambiarsi le chiavi! 30A cura di Jacques Bottel ALICE BOB G, P G, P, N=|Ga|P, M=|Gb|P Informazioni che possono essere intercettate da Eve A (segreto) N=|Ga|P M=|Gb|P M=|Gb|P G, P k= |Gba|P k= |Gab|P N=|Ga|P Invio a Bob Invio ad Alice B (segreto)
    31. 31. Considerazioni Considerazioni:  Non c’è certezza che il mittente sia Alice e il destinatario sia Bob, ci può essere uno scambio di persona. Più precisamente, l’algoritmo non garantisce l’autenticazione del mittente e del destinatario.  Anche se Eve può intercettare G, P, N=|Ga|P, M=|Gb|P, l’algoritmo è sicuro perché utilizza una funzione one-way. Infatti, per calcolare a e b, si dovrebbe risolvere il problema del logaritmo discreto. 31A cura di Jacques Bottel
    32. 32. Scambio di chiavi con autenticazione Gli algoritmi a chiava pubblica consentono di scambiarsi le chiavi, conoscendo l’identità del mittente e del destinatario! Vediamo come… 32 Epubb B → Epubb A → Dpriv A → Dpriv B A cura di Jacques Bottel ALICE BOB ALICE BOBALICE BOB PASS PASS
    33. 33. Proprietà Gli algoritmi a chiave pubblica garantiscono:  L’integrità del messaggio, cioè la certezza che il messaggio non sia stato modificato.  L’autenticità del messaggio, cioè la certezza che il messaggio sia stato scritto proprio dal mittente.  Il non ripudio, cioè il mittente non può negare di aver inviato il messaggio. Questo è fondamentale per le transazioni bancarie! 33A cura di Jacques Bottel
    34. 34. La firma digitale Possibilità di produrre un documento digitale dotato di firma autentica con valore legale. 34 Una fingerprint (impronta digitale) è una breve sequenza di bit che serve a identificare un documento. A cura di Jacques Bottel
    35. 35. La firma digitale Procedimento per firmare un documento digitale:  Il firmatario genera la fingerprint del documento in chiaro.  Il firmatario crittografa la fingerprint con la chiave privata e l’allega al messaggio in chiaro. Procedimento per verificare l’autenticità della firma:  Il destinatario genera la fingerprint del documento in chiaro.  Il destinatario decritta la fingerprint con la chiave pubblica del firmatario e confronta le due fingerprint. 35A cura di Jacques Bottel
    36. 36. Autenticità della firma digitale Se le due fingerprint sono uguali la firma è “vera” (autentica), altrimenti: C’è stata una sostituzione di persona (firma falsa). Ovviamente il documento non può essere accettato. C’è stata una modifica del documento dopo che è stato firmato. Ovviamente il documento non può essere accettato. 36A cura di Jacques Bottel
    37. 37. Autorità per la certificazione Le Certification Autorities sono enti riconosciuti dallo Stato che forniscono i certificati digitali, ossia file che includono la chiave pubblica e le informazioni sull’identità dell’utente. Differenze rispetto alle firme autografe:  La firma è separata dal documento  Ogni documento genera una firma diversa  La firma digitale autentica il mittente del messaggio: solo chi conosce una certa informazione (la chiave privata) può aver prodotto la firma del messaggio 37A cura di Jacques Bottel
    38. 38. Verifica se hai capito… Domande di verifica:  Quali sono le caratteristiche degli algoritmi crittografici?  Descrivi il funzionamento degli algoritmi a chiave simmetrica e asimmetrica.  Che cos’è la firma digitale? Quando una firma digitale è autentica? 38A cura di Jacques Bottel
    39. 39. E ora che avete capito… memorizzate! 39A cura di Jacques Bottel

    ×