8/4/2019 2 Crittografia
1/118
2. Crittografia
1
F. Garzia, Crittografia
8/4/2019 2 Crittografia
2/118
8/4/2019 2 Crittografia
3/118
1. Crittografia e hashing: introduzione
3
F. Garzia, Crittografia
8/4/2019 2 Crittografia
4/118
8/4/2019 2 Crittografia
5/118
Algoritmi di crittografia
Trasformano (cifrano) reversibilmente un insieme di dati, ad esempio undocumento, in modo da renderlo non intelligibile.
Affinch tali algoritmi siano di qualche utilit pratica occorre chesoddisfino le seguenti condizioni fondamentali:
la cifratura e la decifratura deve avvenire in funzione di una variabiledetta chiave costituita da una sequenza di bit di lunghezza variabilein funzione dell'algoritmo e del livello di sicurezza che si desideraottenere;
le operazioni di cifratura e decifratura sono relativamente semplicinel caso in cui si conosca la chiave; in caso contrario risultano
laboriose al punto da risultare praticamente inattuabili; risulta egualmente laborioso dedurre la chiave con cui stato cifrato
un documento confrontandolo con la sua versione in chiaro (cionon cifrata).
F. Garzia, Crittografia
5
8/4/2019 2 Crittografia
6/118
Algoritmi di crittografia
La lunghezza delle chiavi, quando non fissata dal particolare algoritmodi crittografia, pu tipicamente assumere un insieme di valori che varia
in funzione dell'algoritmo stesso e degli standard applicabili. La lunghezza effettivamente scelta per le chiavi da utilizzare nell'ambito
di una specifica applicazione sempre il risultato di un compromessofra esigenze di sicurezza e potenza dei calcolatori a disposizione.
Al crescere della dimensione della chiave, infatti, aumenta infatti lasicurezza (intesa come difficolt di decifrare le informazionicrittografate) ma anche la potenza di elaborazione (numero di istruzioni
al secondo) necessaria per contenere i tempi delle operazioni dicifratura entro limiti accettabili.
F. Garzia, Crittografia
6
8/4/2019 2 Crittografia
7/118
Algoritmi simmetrici
Anche detti a chiave privata, utilizzano la stessa (ed unica) chiaveprivata, per cifrare e decifrare.
Non adatti nella comunicazione continuativa fra N soggetti indipendenti: occorre una chiave privata per ogni coppia di soggetti; ogni soggetto deve possedere N-1 chiavi, mantenerle segrete e
ricordare la chiave da utilizzare con ciascuno degli altri soggetti;
Se la chiave generata autonomamente dal soggetto che avvia lacomunicazione, necessario che venga trasmessa al destinatario,e durante il trasferimento potrebbe essere intercettata.
Relativamente poco complessi vengono spesso usati in congiunzionecon algoritmi asimmetrici.
Uno degli algoritmi simmetrici utilizzati al momento il DES (DataEncription Standard) con chiavi di 56 o 112 bit.
F. Garzia, Crittografia
7
8/4/2019 2 Crittografia
8/118
Algoritmi asimmetrici
a doppia chiave o a chiave pubblica, di concezione recente (1976)
utilizzano due chiavi distinte per cifrare e decifrare:
un documento cifrato con una chiave pu essere decifrato conlaltra e viceversa;
le chiavi vengono generate in coppia da uno speciale algoritmo ed di fatto impossibile ottenere una chiave a partire dallaltra;
una qualsiasi delle due chiavi viene detta pubblica, pu esseredistribuita; laltra, detta privata, deve essere mantenuta segreta.
Nella comunicazione fra N soggetti sono pi adatti dei simmetrici:
occorre una sola coppia di chiavi per ciascun soggetto. ogni soggetto genera autonomamente una propria coppia di chiavi,ed tenuto a mantenere segreta una sola di esse, quella privata,mentre pu, anzi deve, pubblicare laltra;
F. Garzia, Crittografia
8
8/4/2019 2 Crittografia
9/118
Algoritmi asimmetrici
le chiavi private non devono essere scambiate, dunque non sussistepericolo di intercettazioni.
Se il soggetto A vuole inviare un messaggio riservato al soggetto B, adesempio, cifra il messaggio con la chiave pubblica di B che, in quantopubblica, nota a tutti.
In questo modo il messaggio sar decifrabile soltanto con la chiaveprivata di B che, in quanto privata, solo B conosce.
Lalgoritmo RSA, proposto da Rivest, Shamir e Adleman nel 1978, attualmente considerato come standard per la crittografia a chiave
pubblica. Esistono varie implementazioni di RSA, che utilizzano coppiedi chiavi di 512 o di 1024 bit.
F. Garzia, Crittografia
9
8/4/2019 2 Crittografia
10/118
Utilizzo congiunto di algoritmi simmetrici ed asimmetrici
A causa della loro complessit, le implementazioni degli algoritmiasimmetrici sono generalmente troppo lente per cifrare direttamente i
documenti. Per questo motivo essi si utilizzano spesso in congiunzione con
algoritmi simmetrici e di hashing sicuro
Per inviare un documento di grandi dimensioni in modo riservato, adesempio, si genera una password casuale, si cifra il documento conDES (algoritmo simmetrico di veloce esecuzione) la password casuale,poi si cifra la password stessa (molto pi breve del documento) con
RSA (algoritmo asimmetrico, pi lento), ed infine si invia il tutto(documento cifrato in modo simmetrico e password cifrata in modoasimmetrico) al destinatario.
F. Garzia, Crittografia
10
8/4/2019 2 Crittografia
11/118
Algoritmi di hashing sicuro
a partire da un documento D si genera una sequenza di bit, dettadigest, strettamente correlata a D e di lunghezza fissa (cio
indipendente dalla dimensione di D). SHA (Secure Hash Algorithm): versioni implementate che generano
digest di 160 bit ad una velocit soddisfacente nella maggioranza delleapplicazioni.
Lutilizzo pi immediato di SHA nelle verifiche di integrit:confrontando digest ottenuti da uno stesso documento a distanza ditempo, possibile verificare facilmente se il documento ha subito
alterazioni. SHA inoltre spesso utilizzato insieme ad RSA per generare e validare
firme digitali.
F. Garzia, Crittografia
11
8/4/2019 2 Crittografia
12/118
Algoritmi di hashing sicuro
Per generare una firma:
si estrae un digest SHA dal documento da firmare;
si cifra RSA il digest con la chiave privata del firmatario. Chiunque pu verificare la validit della firma:
decifrando la firma con la chiave pubblica del firmatario; generando a parte un digest SHA del documento firmato; confrontando il digest ottenuto dalla firma con quello ottenuto dal
documento.
F. Garzia, Crittografia
12
8/4/2019 2 Crittografia
13/118
Crittografia e hashing:
concetti fondamentali e definizioni
13
F. Garzia, Crittografia
8/4/2019 2 Crittografia
14/118
Concetti fondamentali e definizioni
Crittografia: tecniche per tenere segrete le informazioni, limitandonelaccesso ad un ristretto numero di persone autorizzate
Cifratura: operazione tramite la quale si nascondono le informazionitramite un algoritmoche sfrutta una chiaveper convertire il testo chiaroin testo cifrato o crittogramma
Decrittazione: conversione da testo cifrato a chiaro, che sfrutta la
chiave del cifrario
F. Garzia, Crittografia
14
8/4/2019 2 Crittografia
15/118
Concetti fondamentali e definizioni
il processo di crittografia deve essere reversibile e consentire, quindi, di
ricostruire il documento precedentemente crittato
il messaggio chiamato testo in chiaro (plaintexto cleartext)
Messaggio crittografato: testo cifrato (ciphertext)
La moderna crittografia tratta tutti gli aspetti di messaggi sicuri,
dell'autenticazione, delle firme elettroniche, del commercio elettronico e
altre applicazioni.
I moderni algoritmi non possono essere eseguiti da esseri umani, ma
solo da computer o dispositivi hardware specializzati
F. Garzia, Crittografia
15
8/4/2019 2 Crittografia
16/118
Codice di Cesare
Garantire la sicurezza nello scambio di informazioni sempre stato,nella storia delluomo, un problema rilevante
si ha traccia di applicazioni di crittografia (in special modo sullecomunicazioni) risalenti persino agli antichi egizi
Giulio Cesare per far arrivare gli ordini alle sue truppe ricorreva al
mascheramento dellinformazione, in modo che il messaggio venisseinterpretato solo dai suoi generali e non da nemici che avrebberopotuto impossessarsene
Sostituzione monoalfabetica (di Cesare)
TESTO IN CHIARO: ABCDEFGHIJKLMNOPQRSTUVWXYZ
TESTO CIFRATO: QWERTYUIOPASDFGHJKLZXCVBNM
F. Garzia, Crittografia
16
8/4/2019 2 Crittografia
17/118
Crittografia a chiave pubblica o privata
Simmetrici (o a chiave segreta o privata): utilizzano la stessa chiave per lacodifica e la decodifica.
Asimmetrici (o a chiave pubblica): usano una chiave differente per i dueprocessi di codifica e di decodifica; la chiave per la decodifica non puessere derivata da quella di codifica
F. Garzia, Crittografia
17
8/4/2019 2 Crittografia
18/118
Crittografia a chiave pubblica
Gli algoritmi asimmetrici permettono di rendere pubblica la chiave dicodifica, cosicch chiunque pu essere in grado di codificarli
utilizzando la chiave pubblica del destinatario, ma solo chi conosce lachiave di decodifica (chiave privata) pu interpretare il messaggio
la chiave pubblica pu essere facilmente distribuita
non necessario inviarne una copia a tutti i corrispondenti: essa puessere prelevata da un server di chiavi pubblico mantenuto daun'autorit di certificazione
F. Garzia, Crittografia
18
8/4/2019 2 Crittografia
19/118
Crittografia a chiave pubblica
permette di autenticare il creatore del messaggio
In pratica gli algoritmi a chiave asimmetrica e quelli a chiave simmetrica
sono spesso utilizzati insieme: con la chiave pubblica si codifica una chiave di crittografia
generata casualmente questa ultima utilizzata per crittografare il messaggio utilizzando
un algoritmo simmetrico Molti algoritmi di crittografia sono disponibili pubblicamente attraverso
libri, uffici brevetti o Internet: l'algoritmo di pubblico dominio soggetto
alla revisione di centinaia di esperti che ne scoprono e sistemano leeventuali debolezze.
F. Garzia, Crittografia
19
8/4/2019 2 Crittografia
20/118
La chiave
una funzione opportunamente progettata e consiste di una stringarelativamente corta
caratteristica fondamentale: possibilit di cambiare la chiave quando necessario o quando si desidera
lunghezza della chiave: parametro di progetto critico, che determina il
tempo necessario per decifrare il testo cifrato. In base al numero di cifre che compongono una chiave, varia il numero
di chiavi disponibili con una data tecnica:
2 cifre 100 possibili chiavi da (00 a 99)
3 cifre 1000 chiavi possibili 6 cifre 1000000 possibili chiavi.
F. Garzia, Crittografia
20
8/4/2019 2 Crittografia
21/118
F. Garzia, Crittografia
21
La chiave
Chiave lunga molto tempo necessario (work factor) per trovare lachiave
se lalgoritmo ben progettato possibile solo lattacco esaustivo
numero medio di tentativi richiesti: 2N-1 con N=lunghezza della chiave
work factorproporzionale all'esponente della lunghezza della chiave
La segretezza consiste nell'avere un buon algoritmo di dominiopubblico ed una chiave abbastanza lunga, ma segreta
Dimensionechiave (bits)
Numero di chiavi diverse Tempo richiesto a 106
decriptazioni per millisecondo
32 232
= 4.3 x 109
2.15 milliseconds56 256 = 7.2 x 1016 10 ore
128 2128 = 3.4 x 1038 5.4 x 1018 anni
168 2168 = 3.7 x 1050 5.9 x 1030 anni
8/4/2019 2 Crittografia
22/118
8/4/2019 2 Crittografia
23/118
Cipher Block Chaining Mode
Produce un blocco di testo cifrato per ogni blocco di testo in chiaro ininput
per evitare regolarit si fa in modo che il blocco cifrato di ogni bloccodati dipenda da tutto il testo in chiaro precedente
F. Garzia, Crittografia
23
8/4/2019 2 Crittografia
24/118
Algoritmi di crittografia: DES, AES, RSA
24
F. Garzia, Crittografia
8/4/2019 2 Crittografia
25/118
DES (Data Encryption Standard)
sviluppato alla IBM, adottato dal NIST nel 1977 come standard per leapplicazioni governative e commerciali
chiave da 56 bit, blocco dati da 64 bit efficiente in hardware (implementato in VLSI)
molto studiato, non sono note debolezze
violato nel 1998 con attacco esaustivo su macchina special-purpose inmeno di 3 giorni
F. Garzia, Crittografia
25
8/4/2019 2 Crittografia
26/118
Struttura generale dell'algoritmo DES
16 fasi identiche di processo dette round, o cicli, pi una permutazione iniziale eduna finale dette IPe FP, tra di loro inverse (IP "disfa" l'azione di FP e viceversa)
F. Garzia, Crittografia
26
IP ed FP non hanno alcuna impor-tanza per la cifratura, probabilmenteaggiunte per facilitare il caricamentodei blocchi sullHW tipico degli anni'70; come effetto collaterale questefasi causano un rallentamen-to nelleimplementazioni SW del DES.
Prima del ciclo principale, il blocco
suddiviso in due met di 32 bit eprocessato alternativamente; questoincrocio detto rete di Feistel.
8/4/2019 2 Crittografia
27/118
Funzione Feistel (F-function)
Mescola met del blocco (32 bit) con unaparte della chiave, in 4 passi
Espansione: i 32 bit sono espansi a 48 bit
utilizzando la permutazione di espansione Eche duplica alcuni bit
Miscelazione con la chiave: XOR con unasottochiave di 48 bit. Sedici sottochiavi, una
per ogni ciclo, sono derivate dalla chiaveprincipale tramite un gestore della chiave
Sostituzione: il blocco viene diviso in 8 parti di6 bit, ciascuna S-box (scatola di sostituzione)
sostituisce 6 bit con 4 bit mediante una
F. Garzia, Crittografia
27
trasformazione non lineare definita da una tabella Permutazione: i 32 bit risultanti dalle S-box sono riordinati in base alle permuta-
zioni fisse della P-box o permutation box.
8/4/2019 2 Crittografia
28/118
Struttura generale dell'algoritmo DES
Il risultato della funzione F viene combinato con l'altramet del blocco, e le due met sono scambiate primadel ciclo successivo.
Dopo il ciclo finale, le met non sono scambiate perrendere le fasi di cifratura e decifratura pi simili.
Le S-box forniscono il cuore della sicurezza del DES,senza di esse la cifratura sarebbe lineare e quindifacilmente violabile.
L'alternanza di sostituzioni mediante le S-box, lepermutazioni con la P-box e le espansioni forniscono la
cosiddetta confusione e diffusione, concetto identificatoda Claude Shannon negli anni '40 come condizionenecessaria per rendere pratica e sicura la cifratura.
F. Garzia, Crittografia
28
8/4/2019 2 Crittografia
29/118
Il gestore della chiave DES
Dai 64 bit della chiave sono presi 56 bit con la fun-zione Permuted Choice 1 (PC1), i rimanenti 8 sonoscartati o utilizzati come bit di controllo della parit.
I 56 vengono divisi in 2 met di 28 bit; nei ciclisuccessivi entrambe le met vengono fatte slittareverso sinistra di 1 o 2 bit (per i round 1, 2, 9, 16 loshift, cio lo slittamento, di 1 bit, per gli altri di 2)
Poi sono scelti 48 bit per la sottochiave mediante lafunzione Permuted Choice 2(PC2), 24 bit dalla metdi sinistra e 24 bit da quella di destra.
La rotazione ("
8/4/2019 2 Crittografia
30/118
DES: schema complessivo
F. Garzia, Crittografia
30
cifratura e la decifraturasono processi moltosimili, la sola differenza che nella fase didecifratura le sottochiavisono applicate nell'ordineinverso
Questo semplifica enormemente l'implementazione, inparticolare se effettuata direttamente con un circuito poichnon occorre avere algoritmi separati per cifrare e perdecifrare.
8/4/2019 2 Crittografia
31/118
Triplo DES
standardizzato per le applicazioni finanziarie nel 1985, dal 1999incorporato nello standard DES
tre esecuzioni del DES secondo uno schema EDE stessa resistenza del DES alla crittoanalisi
tre chiavi da 56 bit equivalenti a una da 168 bit
F. Garzia, Crittografia
31
8/4/2019 2 Crittografia
32/118
AES (Advanced Encryption Standard)
Call for proposal emessa dal NIST nel 1997
specifiche:
sicurezza almeno pari a quella del Triplo DES maggiore efficienza blocco dati da 128 bit, chiavi da 128/192/256 bit
criteri di valutazione:
sicurezza, efficienza, uso di risorse, adattabilit hw e sw, flessibilit
standard finale pubblicato nel 2001
F. Garzia, Crittografia
32
8/4/2019 2 Crittografia
33/118
AES (Advanced Encryption Standard)
Opera su matrici di 44 byte chiamate stati (states) blocchi di 128 bit in input matrice State con 4 righe e 4 colonne numero di blocchi in input diventa di 32 bit pi lungo, viene aggiunta una
colonna allo State, e cos via fino a 256 bit. In generale, si divide il numero di bit del blocco in input per 32 e il
quoziente specifica il numero di colonne.
Ogni round (fase) dell'AES (eccetto l'ultimo) consiste nei 4 passi: SubBytes Sostituzione non lineare di tutti i byte ShiftRows Spostamento dei byte di un certo numero di posizioni
dipendente dalla riga di appartenenza
MixColumns Combinazione dei byte con un'operazione lineare AddRoundKey Ogni byte della tabella viene combinato con la chiavedi sessione, la chiave di sessione calcolata dal gestore delle chiavi.
L'ultimo round salta il MixColumns.
F. Garzia, Crittografia
33
8/4/2019 2 Crittografia
34/118
8/4/2019 2 Crittografia
35/118
ShiftRows
provvede a scostare le righe della matrice di un parametro dipendentedal numero di riga.
prima riga: invariata, seconda: spostata di un posto verso sinistra, terza:due posti, quarta: tre posti l'ultima colonna dei dati in ingresso formala diagonale della matrice in uscita
Nelle operazioni l'indice della colonna inteso come modulo il numero
di colonne
F. Garzia, Crittografia
35
8/4/2019 2 Crittografia
36/118
MixColumns
prende i quattro byte di ogni colonna e li combina utilizzando unatrasformazione lineare invertibile
ShiftRows e MixColumns insieme provvedono a far rispettare il criterio diconfusione e diffusione nell'algoritmo (teoria di Shannon).
Ogni colonna trattata come un polinomio in GF(28) e viene moltiplicatamodulo x4 + 1 per un polinomio fisso
c(x) = 3x3 + x2 + x+ 2
F. Garzia, Crittografia
36
8/4/2019 2 Crittografia
37/118
AddRoundKey
Combina con uno XOR la chiave di sessione con la matrice ottenutadai passaggi precedenti (State)
F. Garzia, Crittografia
37
Una chiave di sessioneviene ricavata dalla chiaveprimaria ad ogni round
(con dei passaggi pi omeno semplici, ad esempiouno shift di posizione dei
bit) grazie al KeyScheduler
38
8/4/2019 2 Crittografia
38/118
Sicurezza
National Security Agency (NSA) ha scelto AES per: flessibilit nel trattare chiavi di lunghezza diversa semplice implementazione in hardware e in software
basse richieste di memoria implementazione anche in dispositivicon scarse risorse come le smart card.
L'AES pu essere utilizzato per proteggere le informazioni classificate. livello SECRET: chiave a 128 bit
livello TOP SECRET: chiavi a 192 o 256 bit. per la prima volta il pubblico ha accesso ad una tecnologia crittografica
che NSA ritiene adeguata per proteggere i documenti TOP SECRET
Chiave lunga: elevato margine di sicurezza per i prossimi decennicontro un potenziale attacco esaustivo.
F. Garzia, Crittografia
38
39
8/4/2019 2 Crittografia
39/118
Sicurezza
La maggior parte degli algoritmi crittografici viene forzata riducendo ilnumero di round.
L'AES effettua 10 round per la chiave a 128 bit, 12 round per la chiavea 192 bit e 14 round per la chiave a 256 bit.
I migliori attacchi sono riusciti a forzare l'AES con 7 round e chiave di128 bit, 8 round e chiave di 192 bit e 9 round e chiave di 256 bit.
Attualmente una ricerca esaustiva impraticabile: la chiave a 128 bitproduce 3,4 1038 combinazioni diverse.
Servir ancora moltissimo tempo prima che una chiave da 128 bit sia
attaccabile con il metodo forza bruta.
F. Garzia, Crittografia
39
40
8/4/2019 2 Crittografia
40/118
Altri algoritmi a chiave privata
IDEA (International Data Encryption Algorithm)
sviluppato nel 1991, blocco dati da 64 bit, chiave da 128 bit
operazioni: XOR, addizione e moltiplicazione a 16 bit efficiente in software finora appare altamente resistente alla crittoanalisi usato nel PGP e in molti prodotti commerciali
RC5 sviluppato da Ron Rivest (RC = Rons code) algoritmo proprietario di RSA Data Security Inc.
adatto sia per hw che per sw,veloce (word oriented) parametrizzabile (dimensione word, numero di round, lunghezzachiave)
adatto a smart card e dispositivi con ridotta memoria
F. Garzia, Crittografia
40
41
8/4/2019 2 Crittografia
41/118
Distribuzione delle chiavi
OOB (Out Of Band)
key distribution center
F. Garzia, Crittografia
41
42
8/4/2019 2 Crittografia
42/118
Crittografia a chiave pubblica
F. Garzia, Crittografia
42
proposta nel 1976 da Diffie e Hellman usata per distribuire chiavi segrete e per la firma digitale
43
8/4/2019 2 Crittografia
43/118
Requisiti
deve essere computazionalmente semplice per un utente B generareuna coppia di chiavi KUb, KRb
deve essere computazionalmente semplice per un mittente A ottenere iltesto cifrato C = EKUb(M)
deve essere computazionalmente semplice per il ricevente Brecuperare il testo originale M = DKRb(C)
deve essere computazionalmente complesso per un impostoredeterminare KRbda KUb
deve essere computazionalmente complesso per un impostore ricavareMda Kub e C
le chiavi KRbda KUbdevono avere funzionalit reciproche
F. Garzia, Crittografia
43
44
8/4/2019 2 Crittografia
44/118
RSA (Rivest - Shamir - Adleman)
Sviluppato nel 1970, lalgoritmo a chiave pubblica pi diffuso Basato sull'elevata complessit computazionale della fattorizzazione in
numeri primi: A deve spedire un messaggio segreto a B. B sceglie due numeri primi molto grandi (per esempio da 300 cifre)
e li moltiplica con il suo computer (impiega meno di un secondo). B invia il numero che ha ottenuto ad A, visibile a tutti
A usa questo numero per cifrare il messaggio A manda il messaggio cifrato a B, chiunque pu vederlo ma non
decifrarlo B riceve il messaggio e utilizzando i due fattori primi che solo lui
conosceva lo decifra. A e B hanno impiegato pochi secondi a cifrare e decifrare, ma chiunque
avesse intercettato le loro comunicazioni impiegherebbe troppo tempoper scoprire i due fattori primi, con cui si pu decifrare il messaggio.
F. Garzia, Crittografia
8/4/2019 2 Crittografia
45/118
46
8/4/2019 2 Crittografia
46/118
Algoritmo RSA
La forza dell'algoritmo sta nel fatto che per calcolare d da e oviceversa, non basta la conoscenza di n, ma serve il numero (p-1)(q-1)
Infatti fattorizzare (cio scomporre un numero nei suoi divisori) un'operazione molto lenta, ma soprattutto l'operazione di modulo non invertibile, dunque anche conoscendo nnon si pu risalire al prodottomodulo ndi pe q.
un messaggio mviene cifrato attraverso l'operazione: me(mod n)
il messaggio cviene decifrato con: cd= med= m1 (mod n)
Il procedimento funziona solo se le due chiavi sono legate tra loro dalla
relazione: e*d=1 (mod (p-1)(q-1))
quando un messaggio viene cifrato con una delle due chiavi puessere decifrato solo utilizzando l'altra.
F. Garzia, Crittografia
47
8/4/2019 2 Crittografia
47/118
Algoritmo RSA
Debolezza dell'algoritmo: si basa sull'assunzione mai dimostrata (notacome assunzione RSA,) che il calcolo di un numero composto di cuinon si conoscono i fattori sia computazionalmente non trattabile.
La firma digitale non altro che l'inverso: il messaggio viene crittatocon la chiave privata, in modo che chiunque possa decifrarloutilizzando la chiave pubblica conosciuta da tutti, e, oltre a poterlo
leggere in chiaro, essere certo che il messaggio stato mandato dalpossessore della chiave privata corrispondente a quella pubblicautilizzata per leggerlo.
F. Garzia, Crittografia
48
8/4/2019 2 Crittografia
48/118
RSA (Rivest - Shamir - Adleman)
F. Garzia, Crittografia
EncryptionPlaintext: M
8/4/2019 2 Crittografia
49/118
RSA: un esempio
1. Si scelgono due numeri primi p=7, q=17
2. si calcola n = pq = 7 x 17 = 119
3. si calcola (n) = (p-1)(q-1) = 6x16 =964. si sceglie e < (n), relativamente primo con (n), e = 5
5. si determina d tale che de mod 96 = 1 e d
8/4/2019 2 Crittografia
50/118
Sicurezza di RSA
Possibile attacco esaustivo: nella scelta di e e d trade-off tra sicurezzae prestazioni
Crittoanalisi: fattorizzazione di n 1977: sfida degli inventori su un testo criptato con una chiavepubblica n di 129 cifre decimali (circa 428 bit)
1994: sfida vinta su Internet con 1600 calcolatori in otto mesi di
lavoro attualmente chiavi di 1024 bit sono considerate sufficientemente
sicure
F. Garzia, Crittografia
51
8/4/2019 2 Crittografia
51/118
Uso della crittografia a chiave pubblica per l'autenticazione
F. Garzia, Crittografia
BobAlice
Fi di i l52
8/4/2019 2 Crittografia
52/118
Firma digitale
Garantisce che il messaggio autentico ed integro
il mittente non pu disconoscere il messaggio
F. Garzia, Crittografia
F i di h h53
8/4/2019 2 Crittografia
53/118
Funzione di hash
Produce un'impronta del messaggio
Deve possedere le seguenti propriet:
accetta un messaggio di dimensione variabile produce un digest di lunghezza fissa veloce da calcolare difficilmente invertibile
estremamente improbabile che messaggi diversi generino lostesso digest
F. Garzia, Crittografia
E i di f i i di h h54
8/4/2019 2 Crittografia
54/118
Esempi di funzioni di hash
MD5 (Message Digest 5)
sviluppata da Ron Rivest digest da 128 bit era la pi usata, ora non pi considerata sicura
SHA (Secure Hash Algorithm)
sviluppata dal NIST nel 1993, SHA-1 revised version nel 1995
digest da 160 bit ogni bit del digest funzione di tutto l'input
F. Garzia, Crittografia
Uso della crittografia a chiave pubblica55
8/4/2019 2 Crittografia
55/118
g pper la distribuzione di chiavi segrete
Bob vuole comunicare con Alice in forma riservata
Bob prepara il messaggio
lo cripta usando la crittografia a chiave privata con una chiave disessione
cripta la chiave di sessione usando la crittografia a chiave pubblica conla chiave pubblica di Alice
acclude al messaggio la chiave di sessione criptata e invia il messaggio
F. Garzia, Crittografia
Certificati a chiave pubblica56
8/4/2019 2 Crittografia
56/118
Certificati a chiave pubblica
strutture dati che legano una chiave pubblica ad alcuni attributi di unapersona
sono firmati elettronicamente dallente emettitore: la CertificationAuthority (CA)
possono essere verificati mediante la chiave pubblica della CA
hanno scadenza temporale e sono revocabili sia dallutente chedallemettitore
F. Garzia, Crittografia
Uso dei certificati57
8/4/2019 2 Crittografia
57/118
Uso dei certificati
F. Garzia, Crittografia
58
8/4/2019 2 Crittografia
58/118
Servizi fondamentali di sicurezza
F. Garzia, Crittografia
Servizi base di sicurezza59
8/4/2019 2 Crittografia
59/118
Servizi base di sicurezza
Vari servizi di sicurezza sono stati definiti in modo formale dallostandard ISO 7498-2.
In questa sezione analizziamo, per alcuni di questi servizi, un esempiodi come sia possibile realizzarli utilizzando in modo combinato glialgoritmi RSA, DES ed SHA.
Si assume nel seguito che i servizi descritti operino nell'ambito di un
sistema in cui a ciascuna delle parti sia stata assegnata una coppia dichiavi RSA, essendo quella privata mantenuta segreta dal rispettivopossessore, e quella pubblica consultabile in un registro mantenuto da
una terza parte da tutti riconosciuta come fidata.
F. Garzia, Crittografia
Introduzione di riservatezza60
8/4/2019 2 Crittografia
60/118
Introduzione di riservatezza
Obiettivo: rendere un documento, o pi genericamente unainformazione, leggibile solo da parte di un destinatario prefissato, ciosenza possibilit che terze parti possano interpretarlo.
In teoria basta il solo RSA, la cui lentezza (come tutti gli asimmetrici)rende necessario l'utilizzo congiunto di un algoritmo simmetrico (il DES)
1. Viene generata una chiave DES pseudo-casuale.
2. L'informazione che si vuole rendere riservata viene cifrata con DESutilizzando la chiave pseudo-casuale.
3. La chiave pseudo-casuale, che se intercettata permetterebbe di
decifrare l'informazione originale, viene a sua volta cifrata con RSAutilizzando la chiave pubblica del destinatario, cio di colui al quale sidesidera comunicare l'informazione in modo riservato.
F. Garzia, Crittografia
Introduzione di riservatezza61
8/4/2019 2 Crittografia
61/118
Introduzione di riservatezza
F. Garzia, Crittografia
1. Si genera una chiaveDES pseudo-casuale.
2. L'informazione che si vuolerendere riservata viene cifratacon DES utilizzando la chiavepseudo-casuale
3. La chiave pseudo-casuale vienea sua volta cifrata con RSAutilizzando la chiave pubblicadel destinatario.
Introduzione di riservatezza62
8/4/2019 2 Crittografia
62/118
Introduzione di riservatezza
RSA, troppo lento per cifrare la intera informazione originale(tipicamente costituita da un documento di molte pagine), pu inveceessere applicato alla chiave DES con prestazioni soddisfacenti in
quanto questa di appena 112 bit.
Una volta cifrata con la chiave RSA pubblica del destinatario, la chiaveDES che permetterebbe la decodifica della informazione riservata sar
decifrabile solo dal destinatario stesso, in quanto egli l'unico apossedere la corrispondente chiave RSA privata.
F. Garzia, Crittografia
Rimozione di riservatezza63
8/4/2019 2 Crittografia
63/118
o o e d se ate a
Obiettivo di questo servizio quello di permettere al destinatario di unainformazione a lui riservata di riportare in chiaro, cio in forma leggibile,l'informazione stessa.
1. Viene ricevuta la informazione cifrata e, in allegato, la relativa chiaveDES (con cui l'informazione stessa stata cifrata). La chiave DES asua volta cifrata RSA con la chiave pubblica del destinatario.
2. Il destinatario decifra la chiave DES applicando su di essa RSA con lapropria chiave privata. Essendo tale chiave nota solo a lui, nessun altropu decifrare la chiave DES e quindi l'informazione originale.
3. L'informazione cifrata viene riportata in chiaro, cio in forma intelligibile,applicando su di essa DES con la chiave decifrata.
F. Garzia, Crittografia
Rimozione di riservatezza64
8/4/2019 2 Crittografia
64/118
F. Garzia, Crittografia
Apposizione di firma digitale65
8/4/2019 2 Crittografia
65/118
pp g
Dato un documento e la chiave privata di un soggetto (firmatario), creareuna sequenza di bit (firma digitale) che provi in modo non ripudiabile ilpossesso del documento "firmato" da parte del soggetto firmatario.
F. Garzia, Crittografia
1. applicando SHA al documento si ottiene un digest,breve sequenza di bit "impronta digitale" del doc
Il fatto che il risultato della cifratura,(la firma) sia decifrabile solo con lachiave pubblica del firmatario garan-tisce circa la identit del firmatario
2. Il digest viene cifrato RSA con la chiave privata delfirmatario.
La stretta correlazione fra il documento ed il suo digest
garantiscono che firma generata dal servizio sia stataeffettivamente apposta sul documento originale.
Verifica di firma digitale66
8/4/2019 2 Crittografia
66/118
g
Obiettivo: verificare lautenticit di una firma digitale, rispetto aldocumento firmato ed al soggetto firmatario.
Documento, soggetto (o meglio la sua chiave pubblica) e firma
verifica che quel soggetto (e non altri) abbia effettivamente appostola firma sul quel documento (e non su altri o sullo stesso modificato inqualche modo)
F. Garzia, Crittografia
Verifica di firma digitale67
8/4/2019 2 Crittografia
67/118
F. Garzia, Crittografia
1. La firma viene decifrata con RSA utilizzando la chiave pubblica del firmatario.Se la firma autentica, si ottiene il digest del documento al momento della firma.
2. Con SHA si genera il digest deldoc. Se il doc non ha subitomodifiche e se la firma autentica, coincide con quelloottenuto al passo precedente
3. Se i due digest coincidono la firma valida, altrimenti la firma apocrifa (cioapposta da un soggetto diverso) e/o il doc stato modificato dopo la firma.
Verifica di firma digitale68
8/4/2019 2 Crittografia
68/118
Per distinguere il caso di firma apocrifa da quello di firma apposta sudiverso documento, possibile, nell'ambito del servizio di generazionedella firma, accodare al digest del documento una stringa fissa che
viene quindi cifrata RSA insieme al digest.
Il servizio di verifica, una volta decifrata la firma, potr cos verificare lapresenza della stringa fissa e, nel caso di alterazione della stessa,
dedurre il fatto che la chiave pubblica utilizzata non corrisponde aquella privata che ha generato la firma e che quindi, in definitiva, lafirma stata apposta da un soggetto diverso dal supposto firmatario.
F. Garzia, Crittografia
Timbratura69
8/4/2019 2 Crittografia
69/118
Obiettivo di questo servizio quello di associare in modo incontestabileun riferimento temporale (data ed ora esatta) ad un dato documento.
Affinch questo servizio sia di qualche utilit essenziale che vengasvolto da un soggetto al di sopra degli altri e da tutti ritenuto autorevolee fidato.
Questo soggetto, spesso indicato come terza parte fidata, dovr
naturalmente gestire autonomamente ed in modo sicuro un orologio disistema.
F. Garzia, Crittografia
Timbratura70
8/4/2019 2 Crittografia
70/118
F. Garzia, Crittografia
3. La terza parte fidata cifra digest e lasequenza temporale tramite RSA epropria chiave privata, ottenendo iltimbro
1. Alla informazione da timbrare viene applicato SHA ed ottenuto il digest. Questaoperazione tipicamente compiuta dal soggetto che richiede il servizio ditimbratura
2. La terza parte fidata accoda aldigest la data e l'ora dell'orologiodi sistema da essa gestito inmodo autonomo
4. La validit del timbro verificabile da chiunquedecifrandolo con la chiave pubblica della terzaparte fidata.
Servizi di notariato71
8/4/2019 2 Crittografia
71/118
I servizi di notariato sono offerti da una Autorit di certificazione (nelseguito indicata come Autorit) che sia riconosciuta come fidata edautorevole da tutti gli utenti del sistema informativo.
Come ogni altro utente, anche l'Autorit dispone di una coppia (privata,pubblica) di chiavi asimmetriche.
I principali servizi di notariato offerti dall'Autorit sono la certificazione
delle chiavi pubbliche, la gestione delle chiavi pubbliche sospese orevocate, la certificazione temporale, detta anche timbratura.
F. Garzia, Crittografia
Certificazione di una chiave pubblica72
8/4/2019 2 Crittografia
72/118
L'Autorit garantisce la sua effettiva corrispondenza con il soggetto cheespone la certificazione.
A tal fine, l'Autorit pubblica mantiene, in un apposito registro, certificatifirmati con la propria chiave privata che includono il nome dell'Autorit,la data di emissione del certificato, la data di scadenza del certificato, ilnominativo univoco del soggetto (cio reso non ambiguo da dati
aggiuntivi, nel caso di omonimie) e la chiave pubblica del soggetto.
F. Garzia, Crittografia
Certificazione di una chiave pubblica73
8/4/2019 2 Crittografia
73/118
Estrema importanza che ha la certificazione delle chiavi pubbliche nellaverifica di una firma digitale.
Per tale verifica occorre infatti:
conoscere la chiave pubblica del soggetto firmatario al momentodella firma; questo possibile richiedendo all'Autorit il relativocertificato;
essere certi della reale appartenenza della chiave al soggettofirmatario; la firma dell'Autorit garantisce la validit del certificato equindi la effettiva corrispondenza fra chiave pubblica e soggetto.
Tale sequenza di operazioni viene tipicamente svolta in modo
automatico dal software che gestisce le firme digitali, a partire dainformazioni contenute nella firma stessa
F. Garzia, Crittografia
Problemi di gestione74
8/4/2019 2 Crittografia
74/118
Gestione delle chiavi pubbliche sospese o revocate
Le chiavi pubbliche possono essere sospese o revocate (ad esempio aseguito di furto o smarrimento delle corrispondenti chiavi private).
L'Autorit deve quindi gestire un registro storico delle chiavi pubblicherevocate, al fine di garantire nel tempo la verificabilit delle firmegenerate utilizzando le corrispondenti chiavi private.
Gestione del tempo di riferimento e timbratura ufficiale
Il servizio base di timbratura ricade fra i servizi di notariato in quantorichiede che il time-stamp sia generato ed apposto da una Autorit
riconosciuta da parte tutti gli utenti del sistema come detentriceaffidabile del riferimento temporale.
F. Garzia, Crittografia
PGP (Pretty Good Privacy)75
8/4/2019 2 Crittografia
75/118
E lo standard di crittografia per la posta elettronica
un pacchetto freeware che fornisce confidenzialit e autenticit perla posta elettronica e la memorizzazione di file
Combina i vantaggi degli algoritmi di crittografia a chiave pubblica eprivata :
Chiavi private mai trasmesse Possibile la firma digitale
Molto pi veloce (ad es., DES 100 volte pi veloce di RSA,in hardware tra 1.000 e 10.000 volte)
F. Garzia, Crittografia
PGP (Pretty Good Privacy)76
8/4/2019 2 Crittografia
76/118
Permette di cifrare una E-mail
oppure firmarla lasciando
il testo in chiaro
o fare tutte e due le cose insieme
F. Garzia, Crittografia
PGP (Pretty Good Privacy) - Servizi77
8/4/2019 2 Crittografia
77/118
Confidenzialit
Autenticit
Compressione
Segmentazione
F. Garzia, Crittografia
PGP (Pretty Good Privacy) -Confidenzialit
78
8/4/2019 2 Crittografia
78/118
Il messaggio cifrato con un algoritmo a chiave privata
- Algoritmi usati: CAST, IDEA , Triple-DES
La chiave (session key) generata dal mittente per ogni messaggio La session key poi cifrata con la chiave pubblica del destinatario
- Algoritmi usati: DH, RSA
F. Garzia, Crittografia
PGP (Pretty Good Privacy) - Autenticit79
8/4/2019 2 Crittografia
79/118
Il messaggio viene compresso con una funzione hash e fornisce unmessage digest di lunghezza costante
- Algoritmi usati: MD5 (128 bit) o SHA (160 bit)
Il message digest viene firmato con la chiave privata del mittente
- Algoritmi usati: RSA o DSA
F. Garzia, Crittografia
PGP (Pretty Good Privacy) -Compressione
80
8/4/2019 2 Crittografia
80/118
PGP comprime il testo in chiaro prima di cifrarlo:
Risparmio di tempo nella trasmissione
Aumenta la sicurezza della cifratura Crittanalisi pi difficile
La compressione eseguita dopo la firma:
Ci evita la ricompressione in fase di verifica Stesso algoritmo di compressione per tutte le implementazioni
del PGP
PGP comprime secondo la routine freeware ZIP, perch veloce edha un ottimo rapporto di compressione.
F. Garzia, Crittografia
PGP (Pretty Good Privacy) -Segmentazione
81
8/4/2019 2 Crittografia
81/118
Lunghezza massima di messaggi via e-mail: 65000 byte
RADIX-64 divide il messaggio in segmenti pi piccoli che vengonoinviati separatamente
Il software del destinatario concatena i segmenti nel giusto ordine
F. Garzia, Crittografia
PGP (Pretty Good Privacy) Generazione chiavi
82
8/4/2019 2 Crittografia
82/118
Lutente deve generare la sua coppia di chiavi
PGP offre la possibilit di scegliere fra diversi formati
768 bit: sicurezza commerciale
1024 bit: sicurezza alto livello
2048 bit: sicurezza militare
e due diversi algoritmi:
Diffie-Hellman/DSA (4096 bit) RSA (768, 1024 e 2048 bit)
Nella generazione della coppia di chiavi RSA, PGP utilizza numeri
casuali
F. Garzia, Crittografia
PGP (Pretty Good Privacy) Numerocasuali e pseudocasuali
83
8/4/2019 2 Crittografia
83/118
Numeri casuali
Per generare le chiavi RSA
Ottenuti memorizzando listante in cui un tasto digitato e il suovalore o la posizione e i movimenti del mouse (win9x)
Numeri pseudocasuali
Per generare la session key e il vettore IV per la modalit CFB Algoritmo basato sullANSI X9.17
Prende in input il messaggio e randseed.bin
F. Garzia, Crittografia
PGP (Pretty Good Privacy) Portachiavi (key ring)
84
8/4/2019 2 Crittografia
84/118
Le chiavi sono memorizzate nei keyring
Private Key Ring (secring.skr)
Memorizza la coppia di chiavi, pubblica e privata, dellutente La chiave privata cifrata con la passphrase
Public Key Ring (pubring.pkr)
Usato per memorizzare le chiavi pubbliche delle persone noteallutente.
F. Garzia, Crittografia
PGP (Pretty Good Privacy) - Chiavi85
8/4/2019 2 Crittografia
85/118
La finestra PGPkeys si apre cliccando su Launch PGPkeys daPGPtray
Mostra la propria coppia di chiavi e le chiavi pubbliche inserite nelpublic keyring
Da PGPkeys possibile generare nuove chiavi e gestire le chiavi esaminare gli attributi di una chiave, indicare il livello di trust, importare ed esportare chiavi...
F. Garzia, Crittografia
8/4/2019 2 Crittografia
86/118
PGP (Pretty Good Privacy) Generazione delle chiavi
87
8/4/2019 2 Crittografia
87/118
Aprire la finestra PGPkeys
Fare click sulla prima icona nella toolbar
Compare la PGP Key Generation Wizard
inserire nome e indirizzo e-mail scegliere il tipo di chiave (DH/DSS o RSA) e il numero di bit della
chiave
determinare la data di scadenza
inserire una passphrase
muovere il mouse o premere dei tasti per fornire la randomnessnecessaria alla generazione
specificare se si vuole inviare la chiave pubblica a un keyserver(puo anche essere fatto in seguito)
F. Garzia, Crittografia
PGP (Pretty Good Privacy)88
8/4/2019 2 Crittografia
88/118
F. Garzia, Crittografia
PGP (Pretty Good Privacy) Scelta della passphrase
89
8/4/2019 2 Crittografia
89/118
La passphrase pu contenere spazi, numeri caratteri e punteggiatura
Deve essere facile da ricordare
F. Garzia, Crittografia
PGP calcola lindicedi bont della
passphrase mentresi digita
PGP (Pretty Good Privacy) Inserimento passphrase
90
8/4/2019 2 Crittografia
90/118
F. Garzia, Crittografia
PGP (Pretty Good Privacy) Generazione delle chiavi
91
8/4/2019 2 Crittografia
91/118
Per aggiungere una foto alla propria chiave
Selezionare la chiave a cui si vuole aggiungere la foto Fare click su Add Photo dal menu Keys
Selezionare la foto facendo click su Select File Inserire la passphrase La foto aggiunta alla chiave
La foto deve essere in formato .JPG o .BMP
Per avere la massima qualita tagliare la foto alle dimensioni120x144 prima di aggiungerla
Per eliminare la foto
Selezionare la chiave e la foto
Fare clic su Delete dal menu Edit
F. Garzia, Crittografia
PGP (Pretty Good Privacy) Protezionedelle chiavi
92
8/4/2019 2 Crittografia
92/118
I due keyring secring.skr e pubring.pkr sono memorizzati nella
cartella PGP Keyrings, nella cartella PGP 6.0
PGP suggerisce la creazione di una copia di backup al termine
della generazione
La copia pu essere memorizzata sul proprio hard disk o su pendisk
F. Garzia, Crittografia
PGP (Pretty Good Privacy) Attributi delle chiavi
93
8/4/2019 2 Crittografia
93/118
Keys
Validity
Size Description
Key ID
Trust Expiration
Creation
F. Garzia, Crittografia
PGP (Pretty Good Privacy) Attributi delle chiavi
94
8/4/2019 2 Crittografia
94/118
Alcuni attributi sono visibili
dalla finestra PGP keys
Gli attributi possono essere
visualizzati selezionandoli dal
menu View
Ciascun attributo selezionato
sar visualizzato in una
colonna nella finestra PGP
keys
F. Garzia, Crittografia
PGP (Pretty Good Privacy) Campi delpublic key ring
95
8/4/2019 2 Crittografia
95/118
F. Garzia, Crittografia
Time
Stamp
Key
ID
Publickey
Ownertrust
User ID Keylegitim
acy
Firma Signature
Trust
Lora in cui stata generata
una chiave
64 bit menosignificativi della
chiavepubblica
Chiave
pubblica
Fiducia
nella chiaveFiducia nelproprietario
della chiave
Il proprietariodella
chiave
Firma perla chiave
Fiducia nellafirma
PGP (Pretty Good Privacy) Propriet della chiavi
96
8/4/2019 2 Crittografia
96/118
Selezionare Properties
dal menu Keys per
visualizzare questa
finestra
Pu contenere la foto
Contiene lalgoritmo dicifratura usato e il
fingerprint della chiave
F. Garzia, Crittografia
PGP (Pretty Good Privacy) Gestione di chiavi pubbliche
P tt l hi bbli
97
8/4/2019 2 Crittografia
97/118
Per ottenere la chiave pubblicadi qualcuno si pu chiederedirettamente alla persona
interessata
F. Garzia, Crittografia
oppure si possonousare
i keyserver
PGP (Pretty Good Privacy) Key server
98
8/4/2019 2 Crittografia
98/118
Server presenti su Internet, dedicati al
deposito e al prelievo delle chiavi
pubbliche
Sono in rete tra loro, per cui ogni
chiave immessa in un server vienediffusa a tutti gli altri
F. Garzia, Crittografia
PGP (Pretty Good Privacy)Distribuzione delle chiavi
99
8/4/2019 2 Crittografia
99/118
E necessario distribuire la nostra chiave pubblica
per consentire agli altri utenti di mandarci messaggi cifrati
per verificare la nostra firma
Ci pu essere fatto in vari modi:
mandando la chiave a un key server
includendo la chiave in un messaggio di e-mail esportando la chiave copiandola in un file di testo
F. Garzia, Crittografia
PGP (Pretty Good Privacy)Distribuzione delle chiavi
Per mandare la propria chiave ad un keyserver
100
8/4/2019 2 Crittografia
100/118
Per mandare la propria chiave ad un keyserver
collegarsi ad Internet
aprire la finestra PGP Keys selezionare la chiave da distribuire dal menu Server scegliere il key server a cui si vuole mandare
la chiave dal menu Send To
Chi vuole comunicare con noi pu prelevare la chiave dal
keyserver
Per aggiornare la chiave necessario inviare una nuova copia
al keyserver, che provvede allaggiornamento
F. Garzia, Crittografia
PGP (Pretty Good Privacy)Distribuzione di chiavi
Per includere la propria chiave in un messaggio e-mail
101
8/4/2019 2 Crittografia
101/118
Per includere la propria chiave in un messaggio e mail
aprire PGP keys
selezionare la chiave desiderata
fare clic su Copy dal menu Edit comporre il messaggio dal proprio editor e fare clic su Paste per includere la chiave nel messaggio firmare la mail (come?vedremo dopo!)
Per esportare la chiave in un file di testo aprire PGP keys selezionare la chiave desiderata fare clic su Export dal menu Keys inserire il nome del file in cui si vuole esportare la chiave
F. Garzia, Crittografia
PGP (Pretty Good Privacy)Ottenere le chiavi altrui
E necessario ottenere le chiavi pubbliche di altri utenti e inserirle
102
8/4/2019 2 Crittografia
102/118
E necessario ottenere le chiavi pubbliche di altri utenti e inserirlenel nostro public keyring
per mandare loro messaggi cifrati
per verificare le loro firme
Cio pu essere fatto in vari modi:
prelevando la chiave da un key server
prelevando la chiave in un messaggio di e-mail importando la chiave da un file di testo
F. Garzia, Crittografia
PGP (Pretty Good Privacy)Ottenere le chiavi altrui
Per prelevare una chiave da un keyserver
103
8/4/2019 2 Crittografia
103/118
p y aprire PGP keys fare click su Search Server dal menu Keys nella finestra Search for keys on, selezionare il keyserver inserire dei criteri di ricerca
user ID key ID
key status (revoked or disabled) key type (DH o RSA) creation date expiration date
key size key signed by a particular key
F. Garzia, Crittografia
PGP (Pretty Good Privacy)Ottenere le chiavi altrui
Per copiare una chiave pubblica da un messaggio e-mail
104
8/4/2019 2 Crittografia
104/118
p p gg
se si usa unapplicazione e-mail supportata dai plug-in di PGP, fare
clic sullapposita icona per aggiungere la chiave al proprio keyring
se si usa un altro tipo di applicazione, si puo semplicementecopiare la chiave e inserirla nel proprio keyring
Per importare la chiave pubblica da un file
fare click su Import nel menu Keys e individuare il file contenente lachiave
F. Garzia, Crittografia
PGP (Pretty Good Privacy)Formato di un certificato PGP
PGP riconosce due formati differenti:
105
8/4/2019 2 Crittografia
105/118
certificati PGP
Ognuno pu creare un certificato PGP
Un certificato PGP pu essere firmato
da vari utenti e revocato solo dal proprietario
certificati X.509 Solo una Certification Authority pu creare un certificato X.509
Un certificato X.509 pu essere firmato o revocato solo dallaCA
F. Garzia, Crittografia
PGP (Pretty Good Privacy)Certificato PGP
106
8/4/2019 2 Crittografia
106/118
F. Garzia, Crittografia
PGP (Pretty Good Privacy)Certificati X-509
107
8/4/2019 2 Crittografia
107/118
F. Garzia, Crittografia
PGP (Pretty Good Privacy)Firmare una chiave
Se si sicuri dellautenticit di una chiave la si pu firmare
108
8/4/2019 2 Crittografia
108/118
Se si sicuri dell autenticit di una chiave la si pu firmare Chi controller la chiave in seguito decider se fidarsi o no del nostro
giudizio
Per firmare una chiave aprire PGP keys selezionare la chiave da firmare fare click su Sign dal menu Keys per aprire la finestra di dialogo
Sign selezionare la casella Allow signature to be exported per consentirealla firma di essere esportata con la chiave
fare click sul bottone Sign
inserire la passphrase una icona con il nostro nome viene associata alla chiave
F. Garzia, Crittografia
PGP (Pretty Good Privacy)Garantire una chiave
Dopo aver firmato una chiave possibile modificare il livello di fiducia
109
8/4/2019 2 Crittografia
109/118
Aprire PGP keys Scegliere Properties dal menu KeysModificare il livello di fiducia usando il cursore Trust level
F. Garzia, Crittografia
PGP (Pretty Good Privacy)Verificare una chiave
110
8/4/2019 2 Crittografia
110/118
A ciascuna chiave viene associata una serie unica di numeri(fingerprint) in fase di generazione
E possibile verificare lautenticit di una chiave controllando tale
fingerprint aprire PGP keys
selezionare la chiave da verificare
fare click su Properties dal menu Keys per aprire la finestra didialogo Properties la casella Fingerprint contiene limpronta della chiave controllare se tale impronta coincide con quella della chiave nel
keyserver
F. Garzia, Crittografia
PGP (Pretty Good Privacy)Cancellare una chiave
E possibile eliminare una chiave o una firma
111
8/4/2019 2 Crittografia
111/118
Aprire PGP keys Selezionare la chiave/firma da eliminare
Scegliere Delete dal menu Edit Una finestra chiede conferma delleliminazione
F. Garzia, Crittografia
PGP (Pretty Good Privacy)Cifrare e firmare una e-mail
Per cifrare e firmare una e-mail
112
8/4/2019 2 Crittografia
112/118
Comporre il messaggio
Cifratura e firma avvengono tramite bottoni sulla toolbar
Inviare il messaggio
PGP ricerca la chiave pubblica di ciascun destinatario nel publickeyring
Fare click su OK per cifrare e firmare la mail
Inserire la passphrase
Fare click su OK
Il messaggio cifrato
F. Garzia, Crittografia
PGP (Pretty Good Privacy)Decifrare/verificare una email
113
8/4/2019 2 Crittografia
113/118
Per decifrare /verificare una e-mail
Aprire il messaggio cifrato
Copiarlo negli Appunti
Fare click sulle icone di Decrypt e Verify dalla toolbar
Inserire la passphrase Il messaggio decifrato
Se stato firmato e si possiede la chiave pubblica del firmatario un
messaggio indica se la firma valida
F. Garzia, Crittografia
PGP (Pretty Good Privacy)Cifrare/firmare file
PGP pu cifrare e firmare file da inviare come attachment
114
8/4/2019 2 Crittografia
114/118
Selezionare il file da cifrare/firmare
Fare click con il tasto destro Appare il menu di scelta rapida PGP Selezionare loperazione desiderata (Encrypt, Sign, Encrypt and
Sign) Appare la finestra PGP key selection
Selezionare le chiavi pubbliche dei destinatari Se si firma il file richiesta la passphrase Appare licona del file con il lucchetto: il file cifrato
F. Garzia, Crittografia
PGP (Pretty Good Privacy)Cifrare/firmare file
Text Output: salva il filecome ASCII
115
8/4/2019 2 Crittografia
115/118
come ASCII
Conventional encrypt:
cifra con unapassphrase
Wipe Output:
sovrascrive il testo inchiaro in modo che nonpossa essere pi letto
F. Garzia, Crittografia
PGP (Pretty Good Privacy)Decifrare file
Per decifrare un file cifrato da PGP con una passphrase
116
8/4/2019 2 Crittografia
116/118
Selezionare il file da decifrare
Fare click con il tasto destro del mouse
Appare il menu di scelta rapida PGP
Selezionare Decrypt/Verify
Inserire la passphrase usata per cifrare
Il messaggio decifrato
F. Garzia, Crittografia
PGP (Pretty Good Privacy)117
8/4/2019 2 Crittografia
117/118
Sito webwww.pgp.com
F. Garzia, Crittografia
Crittografia dati disco PC118
8/4/2019 2 Crittografia
118/118
Sito webwww.truecrypt.org
F. Garzia, Crittografia