Obiettivi della crittografia -...
Transcript of Obiettivi della crittografia -...
![Page 1: Obiettivi della crittografia - pralab.diee.unica.itpralab.diee.unica.it/sites/default/files/03SEC.Crittografia.pdf · Giorgio Giacinto 2013 Crittografia 32 Problema della distribuzione](https://reader030.fdocument.pub/reader030/viewer/2022011906/5f39c9a70a65f956030bddfa/html5/thumbnails/1.jpg)
CRITTOGRAFIA
Giorgio Giacinto 2013 Crittografia 1
Obiettivi della crittografia
! Si applica nello scambio di messaggi ! Serve a garantire
! Segretezza ! Autenticità ! Integrità
! Il testo del messaggio viene modificato attraverso una funzione di codifica ! Chi intercetta il messaggio non deve essere in
grado di comprenderne il contenuto
![Page 2: Obiettivi della crittografia - pralab.diee.unica.itpralab.diee.unica.it/sites/default/files/03SEC.Crittografia.pdf · Giorgio Giacinto 2013 Crittografia 32 Problema della distribuzione](https://reader030.fdocument.pub/reader030/viewer/2022011906/5f39c9a70a65f956030bddfa/html5/thumbnails/2.jpg)
Giorgio Giacinto 2013 Crittografia 2
Crittografia di un messaggio
Giorgio Giacinto 2013 Crittografia 3
Strumenti della crittografia
! Algoritmo di crittografia ! Una funzione E che produce il messaggio crittato
C a partire dal messaggio originale M e da una chiave K C = E(K,M)
! La chiave consente la lettura del messaggio solo all’autore e ai destinatari legittimi
![Page 3: Obiettivi della crittografia - pralab.diee.unica.itpralab.diee.unica.it/sites/default/files/03SEC.Crittografia.pdf · Giorgio Giacinto 2013 Crittografia 32 Problema della distribuzione](https://reader030.fdocument.pub/reader030/viewer/2022011906/5f39c9a70a65f956030bddfa/html5/thumbnails/3.jpg)
Giorgio Giacinto 2013 Crittografia 4
Crittografia simmetrica e asimmetrica
! Simmetrica ! Stessa chiave per crittare e decrittare
la chiave deve restare segreta e nota solo a mittente e destinatario
! Asimettrica ! Due chiavi, una pubblica e una privata
Giorgio Giacinto 2013 Crittografia 5
Crittografia e Chiavi
Rivest-Shamir-Adelman
![Page 4: Obiettivi della crittografia - pralab.diee.unica.itpralab.diee.unica.it/sites/default/files/03SEC.Crittografia.pdf · Giorgio Giacinto 2013 Crittografia 32 Problema della distribuzione](https://reader030.fdocument.pub/reader030/viewer/2022011906/5f39c9a70a65f956030bddfa/html5/thumbnails/4.jpg)
Giorgio Giacinto 2013 Crittografia 6
Crittoanalisi
! Obiettivo: violazione dello schema di crittazione ! Violazione di un singolo messaggio ! Individuazione di un algoritmo per la decrittazione ! Deduzione di alcuni contenuti del messaggio ! Individuazione della chiave ! Scoprire le vulnerabilità dell’implementazione o
nell’utilizzo della crittografia ! Scoprire le vulnerabilità di un algoritmo di
crittografia
Giorgio Giacinto 2013 Crittografia 7
Tecniche principali di crittografia ! Sostituzione
! I singoli caratteri del messaggio vengono sostituiti con altri caratteri in base a una qualche regola
! Obiettivo di questa tecnica è la confusione del contenuto delle informazioni nel testo crittato
! Permutazione ! Parti del messaggio vengono spostate di
posizione ! Obiettivo di questa tecnica è la diffusione del
contenuto informativo del messaggio in modo casuale nel testo crittato
![Page 5: Obiettivi della crittografia - pralab.diee.unica.itpralab.diee.unica.it/sites/default/files/03SEC.Crittografia.pdf · Giorgio Giacinto 2013 Crittografia 32 Problema della distribuzione](https://reader030.fdocument.pub/reader030/viewer/2022011906/5f39c9a70a65f956030bddfa/html5/thumbnails/5.jpg)
Giorgio Giacinto 2013 Crittografia 8
Crittazione a flussi e a blocchi
Crittazione a flussi Alta velocità Resistenza a errori Bassa diffusione Può essere alterato
Crittazione a blocchi Bassa velocità Propagazione degli errori Alta diffusione Resistenza ad alterazioni
Crittazione per sostituzione
![Page 6: Obiettivi della crittografia - pralab.diee.unica.itpralab.diee.unica.it/sites/default/files/03SEC.Crittografia.pdf · Giorgio Giacinto 2013 Crittografia 32 Problema della distribuzione](https://reader030.fdocument.pub/reader030/viewer/2022011906/5f39c9a70a65f956030bddfa/html5/thumbnails/6.jpg)
Giorgio Giacinto 2013 Crittografia 10
Cifrario di Cesare
! Ciascun carattere del messaggio è sostituito dal carattere 3 posizioni più avanti ci = E(pi) = pi + 3 ad esempio treaty impossible diventa wuhdwb lpsrvvleoh
Giorgio Giacinto 2013 Crittografia 11
Altre sostituzioni
! Stabilisco una chiave (es., chiave) che sostituisco alle prime lettere dell’alfabeto. ABCDEFGHIJKLMNOPQRSTUVWXYZ CHIAVEBDFGJKLMNOPQRSTUWXYZ più complicato, con una permutazione che
considera una lettera ogni 3, modulo 26 ABCDEFGHIJKLMNOPQRSTUVWXYZ ADGJMPSVYBEHKNQTWZCFILORUX
![Page 7: Obiettivi della crittografia - pralab.diee.unica.itpralab.diee.unica.it/sites/default/files/03SEC.Crittografia.pdf · Giorgio Giacinto 2013 Crittografia 32 Problema della distribuzione](https://reader030.fdocument.pub/reader030/viewer/2022011906/5f39c9a70a65f956030bddfa/html5/thumbnails/7.jpg)
Giorgio Giacinto 2013 Crittografia 12
Altre tecniche di crittazione per sostituzione
! OTP (One Time Pad) ! Libro delle chiavi “usa&getta” ! Il messaggio viene allineato con tante chiavi
quante ne servono a coprire l’intero messaggio ad es., se le chiavi hanno lunghezza 20 caratteri, per crittare un messaggio di 300 caratteri occorrono 15 chiavi
! Il messaggio crittato si costruisce consultando la tavola di Vigenère ! “somma” dei caratteri del messaggio e della chiave,
dove alla lettera A corrisponde la cifra 0
Permutazioni
![Page 8: Obiettivi della crittografia - pralab.diee.unica.itpralab.diee.unica.it/sites/default/files/03SEC.Crittografia.pdf · Giorgio Giacinto 2013 Crittografia 32 Problema della distribuzione](https://reader030.fdocument.pub/reader030/viewer/2022011906/5f39c9a70a65f956030bddfa/html5/thumbnails/8.jpg)
Giorgio Giacinto 2013 Crittografia 14
Trasposizioni per colonna
! Se usiamo 5 colonne, il testo THIS IS A SAMPLE MESSAGE si dispone T H I S I S A S A M P L E M E S S A G E e il risultante messaggio crittato diventa TSPS HALS ISEA SAMG IMEE
Giorgio Giacinto 2013 Crittografia 15
Combinazioni di più approcci
! Sostituzioni e trasposizioni sono la base per la costruzione di algoritmi di crittazione sicuri
! Non è detto che applicando consecutivamente due crittazioni diverse a un messaggio, si ottenga una crittazione più robusta
![Page 9: Obiettivi della crittografia - pralab.diee.unica.itpralab.diee.unica.it/sites/default/files/03SEC.Crittografia.pdf · Giorgio Giacinto 2013 Crittografia 32 Problema della distribuzione](https://reader030.fdocument.pub/reader030/viewer/2022011906/5f39c9a70a65f956030bddfa/html5/thumbnails/9.jpg)
Algoritmi di crittografia “sicuri”
Giorgio Giacinto 2013 Crittografia 17
Cosa si intende per “sicuro”? ! Shannon (1949)
! La quantità di lavoro necessaria per crittazione e decrittazione deve essere rapportata al livello di segretezza
! L’insieme di chiavi e algoritmi di crittazione devono essere privi di complessità
! L’implementazione del processo deve essere semplice
! Gli errori della crittazione non devono propagarsi ! La dimensione del testo crittato non deve essere
superiore a quella del testo originale
![Page 10: Obiettivi della crittografia - pralab.diee.unica.itpralab.diee.unica.it/sites/default/files/03SEC.Crittografia.pdf · Giorgio Giacinto 2013 Crittografia 32 Problema della distribuzione](https://reader030.fdocument.pub/reader030/viewer/2022011906/5f39c9a70a65f956030bddfa/html5/thumbnails/10.jpg)
Giorgio Giacinto 2013 Crittografia 18
Crittoanalisi
! Per effettuare la crittoanalisi occorre essere in possesso di una o più informazioni ! Il testo crittato ! Il testo in chiaro completo ! Un testo in chiaro parziale ! L’algoritmo
Giorgio Giacinto 2013 Crittografia 19
Cinque approcci alla crittoanalisi ! Ciphertext-only
! Si ha a disposizione solo il testo crittato ! Known-plaintext or probable-plaintext
! Si ha a disposizione tutto o parte del testo originale oltre al testo crittato
! Chosen-plaintext ! L’attaccante riesce a ottenere la crittazione di un testo a
sua scelta ! Chosen-plaintext e algoritmo
! L’analista può fare tante prove di crittazione per individuare la chiave
! Coppie di testo crittato e testo in chiaro
![Page 11: Obiettivi della crittografia - pralab.diee.unica.itpralab.diee.unica.it/sites/default/files/03SEC.Crittografia.pdf · Giorgio Giacinto 2013 Crittografia 32 Problema della distribuzione](https://reader030.fdocument.pub/reader030/viewer/2022011906/5f39c9a70a65f956030bddfa/html5/thumbnails/11.jpg)
Giorgio Giacinto 2013 Crittografia 20
Sistemi di crittografia commerciali
! Soddisfano i seguenti requisiti ! Solide basi matematiche ! Analizzato da esperti competenti indipendenti ! Hanno superato la “prova del tempo”
Sistemi di crittografia simmetrica
![Page 12: Obiettivi della crittografia - pralab.diee.unica.itpralab.diee.unica.it/sites/default/files/03SEC.Crittografia.pdf · Giorgio Giacinto 2013 Crittografia 32 Problema della distribuzione](https://reader030.fdocument.pub/reader030/viewer/2022011906/5f39c9a70a65f956030bddfa/html5/thumbnails/12.jpg)
Algoritmi di crittografia simmetrica
! A blocchi ! DES (Data Encryption Standard) ! 3DES (Triple DES) ! AES (Advanced Encryption Standard) ! Blowfish (1993, Bruce Schneier)
! A flussi ! RC4 (1987, Ron Rivest)
Giorgio Giacinto 2013 Crittografia 22
Giorgio Giacinto 2013 Crittografia 23
DES
! Nato negli anni ‘70 per volontà del governo USA per finalità pubbliche
! Nel 1974 rispose al bando l’IBM che sviluppo l’algoritmo denominato DES
! Adottato come standard nel 1976 e successivamente adottato dall’ISO
![Page 13: Obiettivi della crittografia - pralab.diee.unica.itpralab.diee.unica.it/sites/default/files/03SEC.Crittografia.pdf · Giorgio Giacinto 2013 Crittografia 32 Problema della distribuzione](https://reader030.fdocument.pub/reader030/viewer/2022011906/5f39c9a70a65f956030bddfa/html5/thumbnails/13.jpg)
Giorgio Giacinto 2013 Crittografia 24
L’algoritmo DES
Crittazione a blocchi di 64 bit, chiave a 64 bit (efficaci solo i primi 56 bit)
Operazioni logiche e aritmetiche sui blocchi
Esempio di funzionamento dell’algoritmo http://people.eku.edu/styere/Encrypt/JS-DES.html
Giorgio Giacinto 2013 Crittografia 25
Doppio e Triplo DES
! Doppio DES ! Si critta il messaggio 2 volte con due chiavi
diverse ! Tempo di decrittazione doppio rispetto a singolo DES
! Triplo DES ! Si critta il messaggio con una chiave, si decritta
con una seconda chiave e si critta nuovamente con una terza chiave C = E(k3, D(k2, E(k1, m))) robustezza equivalente all’uso di una chiave di 112 bit
![Page 14: Obiettivi della crittografia - pralab.diee.unica.itpralab.diee.unica.it/sites/default/files/03SEC.Crittografia.pdf · Giorgio Giacinto 2013 Crittografia 32 Problema della distribuzione](https://reader030.fdocument.pub/reader030/viewer/2022011906/5f39c9a70a65f956030bddfa/html5/thumbnails/14.jpg)
Giorgio Giacinto 2013 Crittografia 26
Sicurezza di DES
! L’incremento della potenza computazionale dei calcolatori ha minato la sicurezza offerta da DES ! Nel 1998 è stata costruita una macchina del
valore di circa 100.000 USD che in 4 giorni è in grado di individuare una chiave DES
! Per questo motivo il NIST nel 1995 ha avviato la ricerca di un nuovo algoritmo: AES
Giorgio Giacinto 2013 Crittografia 27
AES ! Gara del NIST nel 1997 per un algoritmo
! Non segreto ! Divulgato pubblicamente ! Disponibile per l’utilizzo mondiale senza diritti di
sfruttamento ! Simmetrico con crittazione a blocchi (128 bit) ! Utilizzabile con chiavi di dimensione 128, 192 e 256 bit
! Nell’agosto del 1998, 15 algoritmi in gara ! Nel 1999, 5 finalisti. ! Nel 2001 l’algoritmo vincitore è adottato
ufficialmente negli USA
![Page 15: Obiettivi della crittografia - pralab.diee.unica.itpralab.diee.unica.it/sites/default/files/03SEC.Crittografia.pdf · Giorgio Giacinto 2013 Crittografia 32 Problema della distribuzione](https://reader030.fdocument.pub/reader030/viewer/2022011906/5f39c9a70a65f956030bddfa/html5/thumbnails/15.jpg)
Giorgio Giacinto 2013 Crittografia 28
L’algoritmo AES Nome dell’algoritmo: Rijndael dal nome degli autori Rijmen e Daemen Basato su sostituzioni, trasposizioni e operazioni di scorrimento, XOR e addizioni Esempio di codice sorgente http://www.hoozi.com/post/829n1/advanced-encryption-standard-aes-implementation-in-c-c-with-comments-part-1-encryption
openssl
! openssl (http://www.openssl.org) è uno strumento che realizza i principali algoritmi di crittografia per la comunicazione Internet ! sono disponibili gli algoritmi di crittografia
simmetrica e asimmetrica ! possono essere utilizzati anche per la cifratura di file
! sono disponibili le funzioni per la comunicazione client – server sicura
Giorgio Giacinto 2013 Crittografia 29
![Page 16: Obiettivi della crittografia - pralab.diee.unica.itpralab.diee.unica.it/sites/default/files/03SEC.Crittografia.pdf · Giorgio Giacinto 2013 Crittografia 32 Problema della distribuzione](https://reader030.fdocument.pub/reader030/viewer/2022011906/5f39c9a70a65f956030bddfa/html5/thumbnails/16.jpg)
Crittografia simmetrica con openssl
! Crittare un messaggio con triplo des openssl des3 -salt -in file.txt -out file.des3
! Decrittare un messaggio crittato con triplo
des openssl des3 -d -salt -in file.des3 -out file.txt
Giorgio Giacinto 2013 Crittografia 30
L’algoritmo RSA per la crittografia asimmetrica
![Page 17: Obiettivi della crittografia - pralab.diee.unica.itpralab.diee.unica.it/sites/default/files/03SEC.Crittografia.pdf · Giorgio Giacinto 2013 Crittografia 32 Problema della distribuzione](https://reader030.fdocument.pub/reader030/viewer/2022011906/5f39c9a70a65f956030bddfa/html5/thumbnails/17.jpg)
Giorgio Giacinto 2013 Crittografia 32
Problema della distribuzione delle chiavi
! Nel caso di crittografia simmetrica, il destinatario deve conoscere l’algoritmo e la chiave segreta per decrittare il messaggio
! Nel 1976 Diffie e Hellman proposero un nuovo sistema di crittografia ! Ogni utente ha due chiavi, di cui una privata e una
pubblica, da distribuire ! La coppia di chiavi pubblica e privata è generata
da un algoritmo di generazione delle chiavi
Giorgio Giacinto 2013 Crittografia 33
Funzionamento sistemi a chiave pubblica
kpub Chiave pubblica kpriv Chiave privata E(k,M) Funzione di crittazione D(k,M) Funzione di decrittazione P messaggio in chiaro
P = D(kpriv,E(kpub,P)) per alcuni algoritmi inoltre vale anche
P = E(kpub,D(kpriv,P))
![Page 18: Obiettivi della crittografia - pralab.diee.unica.itpralab.diee.unica.it/sites/default/files/03SEC.Crittografia.pdf · Giorgio Giacinto 2013 Crittografia 32 Problema della distribuzione](https://reader030.fdocument.pub/reader030/viewer/2022011906/5f39c9a70a65f956030bddfa/html5/thumbnails/18.jpg)
Giorgio Giacinto 2013 Crittografia 34
L’algoritmo RSA
! RSA (Rivest-Shamir-Adelman) algoritmo a chiave pubblica introdotto nel 1978 e ancora ritenuto sicuro basato sulla teoria dei numeri (scomposizioni in fattori primi) Vale la proprietà P = D(E(P)) = E(D(P))
Il progetto openssl contiene la realizzazione di RSA
Generazione della coppia di chiavi privata e pubblica
! Generazione di una chiave privata RSA openssl genrsa –out key.pem
! Generazione della corrispondente chiave pubblica openssl rsa -in key.pem -pubout -out pubkey.pem
Giorgio Giacinto 2013 Crittografia 35
![Page 19: Obiettivi della crittografia - pralab.diee.unica.itpralab.diee.unica.it/sites/default/files/03SEC.Crittografia.pdf · Giorgio Giacinto 2013 Crittografia 32 Problema della distribuzione](https://reader030.fdocument.pub/reader030/viewer/2022011906/5f39c9a70a65f956030bddfa/html5/thumbnails/19.jpg)
Crittografia asimmetrica con openssl
! Per crittare e decrittare con l’algoritmo RSA si usa il comando openssl rsautl seguito da parametri ! -in filename
nome del file contenente il messaggio in ingresso ! -out filename
nome del file contenente il messaggio in uscita
! -inkey file nome del file che contiene la chiave, di default la chiave privata
! -pubin specifica che la chiave in ingresso è quella pubblica
Giorgio Giacinto 2013 Crittografia 36
Crittografia asimmetrica con openssl
! -encrypt esegue la crittazione del file in ingresso usando la chiave pubblica
! -decrypt esegue la decrittazione del file in ingresso usando la chiave privata
Giorgio Giacinto 2013 Crittografia 37
![Page 20: Obiettivi della crittografia - pralab.diee.unica.itpralab.diee.unica.it/sites/default/files/03SEC.Crittografia.pdf · Giorgio Giacinto 2013 Crittografia 32 Problema della distribuzione](https://reader030.fdocument.pub/reader030/viewer/2022011906/5f39c9a70a65f956030bddfa/html5/thumbnails/20.jpg)
Esempio di uso della crittografia asimmetrica
! Per crittare con la chiave pubblica openssl rsautl –encrypt -inkey pubkey.pem -pubin –in <infile> -out <file_enc>
! Per decrittare con la chiave privata openssl rsautl –decrypt –inkey key.pem –in <file_enc> -out <file_dec>
Giorgio Giacinto 2013 Crittografia 38
Uso delle funzioni crittografiche nelle comunicazioni via Internet
![Page 21: Obiettivi della crittografia - pralab.diee.unica.itpralab.diee.unica.it/sites/default/files/03SEC.Crittografia.pdf · Giorgio Giacinto 2013 Crittografia 32 Problema della distribuzione](https://reader030.fdocument.pub/reader030/viewer/2022011906/5f39c9a70a65f956030bddfa/html5/thumbnails/21.jpg)
Giorgio Giacinto 2013 Crittografia 40
Funzioni di hash crittografiche ! Utilizzate per provare l’integrità di un file
! Denominata checksum ! Basata su funzioni hash che calcolano un
“riassunto” (digest) del file in un numero prefissato di bit (es., 128)
! La modifica di un solo bit nel documento originario si ripercuote in modo non banale nel valore del digest
! Collisioni possibili ! Algoritmi popolari (presenti in molti sistemi operativi)
! MD5 (Message-Digest algorithm 5) ! SHA/SHS (Secure Hash Algorithm / Secure Hash Standard)
Giorgio Giacinto 2013 Crittografia 41
Scambio delle chiavi
Consente di verificare l’autenticità del mittente e di garantire la riservatezza del contenuto Il mittente M critta il messaggio P C = D(kpub-D,E(kpriv-M,P)) Il destinatario D verifica l’autenticità di M usando la chiave pubblica di M e legge il messaggio riservato usando la propria chiave privata P = D(kpub-M,E(kpriv-D,C))
![Page 22: Obiettivi della crittografia - pralab.diee.unica.itpralab.diee.unica.it/sites/default/files/03SEC.Crittografia.pdf · Giorgio Giacinto 2013 Crittografia 32 Problema della distribuzione](https://reader030.fdocument.pub/reader030/viewer/2022011906/5f39c9a70a65f956030bddfa/html5/thumbnails/22.jpg)
Giorgio Giacinto 2013 Crittografia 42
Firma digitale ! Non deve consentire la contraffazione
! Se la persona P invia un messaggio M con la firma S(P,M), nessun altro deve essere in grado di produrre la coppia [M, S(P,M)]
! Deve garantire l’autenticità ! Il destinatario deve poter verificare che la firma
provenga da P e che questa è legata al documento M
! Documento e firma non devono poter essere alterati da nessuno (compresi mitt e dest)
! La firma non deve essere riutilizzabile
Giorgio Giacinto 2013 Crittografia 43
Firma digitale - protocollo a chiave pubblica
! Se voglio firmare il doc M ma non riservarne il contenuto, posso ! Usare la mia chiave privata kpriv ! Creare la firma come D(kpriv,M) ! Inviare il doc M insieme con la firma
! Il destinatario può verificare l’autenticità della firma e la sua relazione al doc M utilizzando la mia chiave pubblica ! M = E(kpub, D(kpriv,M))
![Page 23: Obiettivi della crittografia - pralab.diee.unica.itpralab.diee.unica.it/sites/default/files/03SEC.Crittografia.pdf · Giorgio Giacinto 2013 Crittografia 32 Problema della distribuzione](https://reader030.fdocument.pub/reader030/viewer/2022011906/5f39c9a70a65f956030bddfa/html5/thumbnails/23.jpg)
Giorgio Giacinto 2013 Crittografia 44
Firma digitale - schema Firma Verifica
Esempio di firma digitale con openssl
! Firmare un file con la propria chiave privata openssl rsautl -sign -in file -inkey key.pem -out sig
! Verificare l’autenticità di un file firmato
digitalmente usando la chiave pubblica openssl rsautl -verify -in sig -inkey pubkey.pem -pubin
Giorgio Giacinto 2013 Crittografia 45
![Page 24: Obiettivi della crittografia - pralab.diee.unica.itpralab.diee.unica.it/sites/default/files/03SEC.Crittografia.pdf · Giorgio Giacinto 2013 Crittografia 32 Problema della distribuzione](https://reader030.fdocument.pub/reader030/viewer/2022011906/5f39c9a70a65f956030bddfa/html5/thumbnails/24.jpg)
Giorgio Giacinto 2013 Crittografia 46
Firma digitale - segretezza
Scambio di messaggi riservati
! La crittazione di un messaggio si realizza in modo efficiente attraverso gli algoritmi simmetrici ! efficienti in termini di costo computazionale e di
sicurezza ! Lo scambio della chiave simmetrica avviene
con meccanismi basati su algoritmi di crittazione asimmetrici
Giorgio Giacinto 2013 Crittografia 47
![Page 25: Obiettivi della crittografia - pralab.diee.unica.itpralab.diee.unica.it/sites/default/files/03SEC.Crittografia.pdf · Giorgio Giacinto 2013 Crittografia 32 Problema della distribuzione](https://reader030.fdocument.pub/reader030/viewer/2022011906/5f39c9a70a65f956030bddfa/html5/thumbnails/25.jpg)
Giorgio Giacinto 2013 Crittografia 48
Buste digitali
Giorgio Giacinto 2013 Crittografia 49
Certificati ! Nella vita reale identità e autenticità di persone e
comunicazioni dipendono spesso da autorità fidate riconosciute reciprocamente, la cui autorità è stabilita in modo gerarchico ! Carte d’identità ! Passaporti ! Notai ! Uffici anagrafici ! Timbri ! Carta intestata ! ecc…
![Page 26: Obiettivi della crittografia - pralab.diee.unica.itpralab.diee.unica.it/sites/default/files/03SEC.Crittografia.pdf · Giorgio Giacinto 2013 Crittografia 32 Problema della distribuzione](https://reader030.fdocument.pub/reader030/viewer/2022011906/5f39c9a70a65f956030bddfa/html5/thumbnails/26.jpg)
Giorgio Giacinto 2013 Crittografia 50
Certificati digitali
! Nelle transazioni informatiche esistono autorità di certificazione analoghe ! Distribuiscono certificati ! Garantiscono l’autenticità ! Catene di autorità di certificazione
! Certificati basati su ! Firme digitali ! Funzioni di hash
Giorgio Giacinto 2013 Crittografia 51
Struttura di un certificato digitale
PKI - Public Key Infrastructure ! Contiene l’identità dell’utente e la sua chiave
pubblica ! Il certificato è firmato da una autorità di
certificazione (CA - Certification Authority) ! VeriSign, SecureNet…
! E’ possibile creare certificati self-signed ! http://www.akadia.com/services/ssh_test_certificate.html
non vi è una autorità che certifica l’autenticità, ma la comunicazione è comunque crittata
![Page 27: Obiettivi della crittografia - pralab.diee.unica.itpralab.diee.unica.it/sites/default/files/03SEC.Crittografia.pdf · Giorgio Giacinto 2013 Crittografia 32 Problema della distribuzione](https://reader030.fdocument.pub/reader030/viewer/2022011906/5f39c9a70a65f956030bddfa/html5/thumbnails/27.jpg)
Esempio di creazione di un certificato con openssl
! Creazione di un certificato openssl req -new -key server.key -out server.csr ! server.key è la chiave privata del server
! Generazione di un certificato auto-firmato openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Giorgio Giacinto 2013 Crittografia 52
Applicazioni alle comunicazioni Internet
![Page 28: Obiettivi della crittografia - pralab.diee.unica.itpralab.diee.unica.it/sites/default/files/03SEC.Crittografia.pdf · Giorgio Giacinto 2013 Crittografia 32 Problema della distribuzione](https://reader030.fdocument.pub/reader030/viewer/2022011906/5f39c9a70a65f956030bddfa/html5/thumbnails/28.jpg)
Giorgio Giacinto 2013 Crittografia 54
Link encryption ! Il messaggio viene crittato appena prima che il
sistema lo invii attraverso il collegamento fisico ! è esposto nei livelli superiori a quello fisico
Giorgio Giacinto 2013 Crittografia 55
Messaggio inviato attraverso link encryption
![Page 29: Obiettivi della crittografia - pralab.diee.unica.itpralab.diee.unica.it/sites/default/files/03SEC.Crittografia.pdf · Giorgio Giacinto 2013 Crittografia 32 Problema della distribuzione](https://reader030.fdocument.pub/reader030/viewer/2022011906/5f39c9a70a65f956030bddfa/html5/thumbnails/29.jpg)
Giorgio Giacinto 2013 Crittografia 56
Crittazione end-to-end ! La crittazione viene applicata ai livelli più alti
della pila OSI ! livello 7, applicazione, o livello 6, presentazione
Giorgio Giacinto 2013 Crittografia 57
Messaggio crittato end-to-end
![Page 30: Obiettivi della crittografia - pralab.diee.unica.itpralab.diee.unica.it/sites/default/files/03SEC.Crittografia.pdf · Giorgio Giacinto 2013 Crittografia 32 Problema della distribuzione](https://reader030.fdocument.pub/reader030/viewer/2022011906/5f39c9a70a65f956030bddfa/html5/thumbnails/30.jpg)
Giorgio Giacinto 2013 Crittografia 58
Confronto fra le due modalità di crittazione
! Nel caso end-to-end le applicazioni utente che devono comunicare condividono algoritmo di crittazione e chiavi ! Gli host intermedi non devono crittare/decrittare
! Link encryption richiede la condivisione dell’algoritmo di crittazione e chiavi a livello di coppie di host ! Crittazione eseguita di solito in hardware
Giorgio Giacinto 2013 Crittografia 59
VPN - Virtual Private Network
! Utilizza link encryption ! Il collegamento fra sedi remote di una stessa
organizzazione avviene su un canale crittato ! Il canale crittato si comporta come un tunnel
attraverso il quale fluisce il traffico ! Le sedi remote possono operare come se fossero
all’interno di una stessa rete fisica ! VPN spesso implementata da firewall
![Page 31: Obiettivi della crittografia - pralab.diee.unica.itpralab.diee.unica.it/sites/default/files/03SEC.Crittografia.pdf · Giorgio Giacinto 2013 Crittografia 32 Problema della distribuzione](https://reader030.fdocument.pub/reader030/viewer/2022011906/5f39c9a70a65f956030bddfa/html5/thumbnails/31.jpg)
Giorgio Giacinto 2013 Crittografia 60
Schema di funzionamento di una VPN
Giorgio Giacinto 2013 Crittografia 61
Public Key Infrastructure (PKI)
! Una PKI fornisce agli utenti i servizi di ! Creazione di certificati che associno identità degli
utenti a chiave crittografica ! Assegna certificati dalla propria base dati ! Firma i certificati ! Conferma/Nega validità a certificati ! Invalida i certificati per gli utenti non più
autorizzati ! Necessità di una Autorità di certificazione
![Page 32: Obiettivi della crittografia - pralab.diee.unica.itpralab.diee.unica.it/sites/default/files/03SEC.Crittografia.pdf · Giorgio Giacinto 2013 Crittografia 32 Problema della distribuzione](https://reader030.fdocument.pub/reader030/viewer/2022011906/5f39c9a70a65f956030bddfa/html5/thumbnails/32.jpg)
Giorgio Giacinto 2013 Crittografia 62
Crittografia SSH
! SSH (secure shell) è una coppia di protocolli definita originariamente per UNIX
! Sostituisce le utility non crittate telnet, rsh, rlogin per l’accesso remoto
! Negoziazione fra siti remoti e locali per ! l’algoritmo di crittazione (DES, DEA, ecc.) ! autenticazione (chiave pubblica e Kerberos)
Giorgio Giacinto 2013 Crittografia 63
Crittografia SSL
! SSL (Secure Socket Layer) progettato originariamente da Netscape per proteggere comunicazione fra browser e server ! Noto anche come TLS (Transport Layer Security)
! Si interfaccia fra applicazioni e protocollo TCP per fornire ! autenticazione del server ! canale crittato fra browser e server
![Page 33: Obiettivi della crittografia - pralab.diee.unica.itpralab.diee.unica.it/sites/default/files/03SEC.Crittografia.pdf · Giorgio Giacinto 2013 Crittografia 32 Problema della distribuzione](https://reader030.fdocument.pub/reader030/viewer/2022011906/5f39c9a70a65f956030bddfa/html5/thumbnails/33.jpg)
Giorgio Giacinto 2013 Crittografia 64
Protocollo SSL ! Alla richiesta del browser, il server risponde
con il proprio certificato a chiave pubblica ! Il client invia al server parte di una chiave
simmetrica crittata con la chiave pubblica del server
! Client e server calcolano la parte rimanente della chiave di sessione
! La comunicazione avviene crittando i messaggi in modo simmetrico
Giorgio Giacinto 2013 Crittografia 65
Posta elettronica crittografata
! Si può usare SSL per invio credenziali posta ! Protocolli per garantire la riservatezza del
messaggio ! mittente, destinatario, corpo del messaggio
! Problema: scambio delle chiavi Due soluzioni principali ! PGP (Pretty Good Privacy) ! S/MIME
![Page 34: Obiettivi della crittografia - pralab.diee.unica.itpralab.diee.unica.it/sites/default/files/03SEC.Crittografia.pdf · Giorgio Giacinto 2013 Crittografia 32 Problema della distribuzione](https://reader030.fdocument.pub/reader030/viewer/2022011906/5f39c9a70a65f956030bddfa/html5/thumbnails/34.jpg)
Giorgio Giacinto 2013 Crittografia 66
Schema di massima Posta elettronica crittata
Giorgio Giacinto 2013 Crittografia 67
IPSec
! Parte della suite IPv6 sviluppata da IETF ! IPSec è una suite di protocolli di IP Security
! Implementato nello strato IP ! Simile a SSL
(a) Pacchetto convenzionale - (b) pacchetto IPSec