Crittografia:
Tecniche di base,
firma elettronica
e certificati digitali
Marco Mezzalama
Politecnico di Torino
staff.polito.it/marco.mezzalama
Crittografia
La combinazione
vincente è: 3517
3517
M*9@
CANALE DI COMUNICAZIONE
Attenzione!
Asterix ci ascolta!
1
Crittografia
Le componenti di un sistema crittografico
CHIAVE
DATI
ALGORITMO
DATI
CIFRATI
Soluzioni basate su chiavi segrete
chiave
segreta
condivisa
Algoritmo
crittatura (E)
E=D
*K$?
Algoritmo
decrittatura (D)
marco
marco
Chiave
Chiave
2
Soluzioni basate su chiavi pubbliche
chiave
privata
chiave pubblica
di Marco
Algoritmo
crittatura (E)
*K$?
Algoritmo
decrittatura (D)
marco
marco
Chiave K1
Chiave K2
Crittografia a chiave pubblica
Ogni utente ha due chiavi
Una delle chiavi è resa pubblica
La chiave segreta (“privata”) è nota soltanto
al suo proprietario.
3
Crittografia a chiave pubblica
Tutte le chiavi pubbliche sono consultabili in
un elenco centralizzata
lella
francy
giulia
REGISTRO CHIAVI PUBBLICHE
E’ possibile firmare ed autenticare i propri
documenti in modo inequivocabile.
Crittografia a chiave pubblica
• chiavi generate a coppie ( Kpri , Kpub )
• Kpri tenuta segreta, Kpub distribuita
• chiavi con funzionalità reciproca
X
chiunque
Kpub
Kpri
Kpri
messaggio pubblico
firmato
Kpub
messaggio
privato
SEGRETEZZA
(messaggio da marco a giulia)
testo
Chiavi
pubbliche
di marco
testo
lella
giulia
francy
Chiave
privata
di giulia
4
AUTENTICAZIONE
(di un messaggio da marco a giulia)
testo
testo
lella
Chiavi
pubbliche
di giulia
Chiave
privata
di marco
marco
francy
Autenticazione
• L’autenticazione permette di:
• conoscere l’identità del mittente
• rilevare alterazioni nel testo
• ma:
• il ricevente può falsificare il testo producendone
uno diverso
• generare un nuovo testo
• il mittente disconoscere l’invio di un testo
Firma digitale
Mittente
Destinatario
dati da firmare
dati ricevuti
chiave del
message digest mittente message digest
md
Kpri
Kpub
algoritmo
asimmetrico
mdR
mdF= ?
algoritmo
asimmetrico
digital signature
5
Message digest (hash)
• è un riassunto del messaggio che si vuole
proteggere
• allo scopo si usano algoritmi di hash:
• MD5, genera un digest di 128 bit
• SHA, genera un digest di 160 bit
messaggio
digest
Digest firmato
con Kpri
Certificato a chiave pubblica
• La sola firma con una coppia di chiavi non
mi garantisce la corrispondenza
marco
con un soggetto fisico
Chi è Marco?
Sarà proprio
la firma di Marco ?
Certificato a chiave pubblica
• E’ necessario un certificato d’autenticità
che garantisca in modo esplicito l’identità
del soggetto (SIGILLO)
marco
Riconosco
il timbro!
6
Certifico che la seguente è
la chiave pubblica di
Mezzalama:
Firmato: il rettoreZICH
Certificato a chiave pubblica
“Una struttura dati per legare in modo
sicuro una chiave pubblica ad alcuni
attributi
• tipicamente lega una chiave ad un’identità
• firmato in modo elettronico dall’emettitore: una
persona fidata o - meglio - l’autorità di
certificazione ( CA )
• con scadenza temporale
• revocabile sia dall’utente sia dall’emettitore
• richiede una RA
Firma digitale
Firma: f(testo),Kpri(A)
testo
Firma
di A
certificato
CA
Certificato:
- nome
- Kpub(A)
- CA
- firma di CA
f(nome,Kp,CA),Kpri(CA)
7
certificato X.509
• versione
....
• algoritmo di firma RSA with MD2, 512
• issuer
C = IT, O = Polito, OU=CA
• validità
• soggetto
1/1/96 - 31/12/96
C = IT, O = Polito,
CN = Marco Mezzalama
• chiave pubblica RSA, 1024, xxx...
• firma digitale della yy...y
CA
Firma digitale (gerarchia CA)
DIO
ZICH
marco
CA3
CA2
CA1
Autorità di certificazione
(1) Kpub, Anna
Certification
Authority
(1) Kpri
(4) cert (Anna,Kpub)
(3)
Anna OK
(2)
Anna
Registration
Authority
8