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