27 marzo 2008 Dott. Ernesto Batteta Le minacce nello scambio dei documenti Crittografia Firma digitale Sempronio Tizio originale Intercettare un messaggio e modificarne i contenuti modificato Caio Sempronio Tizio Caio Inviare un messaggio sotto falso nome Tizio Caio Ripudiare un messaggio inviato Sempronio Tizio Caio Intercettare un messaggio e leggerne i contenuti 3) Integrità Autenticità Non ripudio 4) Confidenzialità 1) 2) L’impronta digitale del documento è una stringa di dati ottenuta con una funzione matematica detta “hash”. Sintetizza il documento in modo univoco. Basta variare un solo carattere nel documento per avere due impronte completamente diverse. Verifica di integrità: H == hash(M) Non garantisce l’autenticit à (un intruso può sostituire M e ricalcolare H) Hashing usato oggi: algoritmo SHA1 (Secure Hashing Algorithm) Una funzione di hash riduce un input di lunghezza variabile (arbitraria) M (<264)ad un output di lunghezza fissa H H = hash(M) Praticamente impossibile determinare due input che producono lo stesso output P=1/2160 Impossibilità di dedurre l’input M dall’output H 10 tentativi al secondo x 1.000 anni = 238 Scienza che studia gli algoritmi matematici idonei a trasformare reversibilmente, in funzione di una variabile detta chiave, il contenuto informativo di un documento o di un messaggio, in modo da nasconderne il significato SIMMETRICA ASIMMETRICA Unica chiave per codifica/decodifica Mittente e destinatario devono disporre di un canale “sicuro” con cui scambiarsi la chiave Chiave nota esclusivamente a mittente e destinatario (una chiave per ciascuna coppia di utenti) Per far comunicare n utenti tra di loro servono [ n(n-1)/2 ] chiavi (es. 5 utenti e 10 chiavi; 100 utenti e 4.950 chiavi) Sostituzione delle chiavi solo se scoperte da terzi Testo originale chiave Testo crittografato •“Sono un messaggio” •Aggiungi 1 al codice ascii •“Tpop!vo!epdvnfoup” s o n o u n d o c u m e n t o 115 111 110 111 32 117 110 32 100 111 99 117 109 101 110 116 111 t p o p ! v o ! e p d v n f o u p 116 112 111 112 33 118 111 33 101 112 100 118 110 102 111 117 112 Vantaggi Svantaggi + - Prevede una coppia di chiavi crittografiche, una privata ed una pubblica, da utilizzarsi per la sottoscrizione dei documenti informatici. Pur essendo univocamente correlate, dalla chiave pubblica non è possibile risalire a quella privata che deve essere custodita dal titolare Chiave privata deve essere conosciuta solo dal titolare e viene utilizzata per apporre la firma sul documento Chiave pubblica Deve essere resa pubblica e viene utilizzata per verificare la firma digitale apposta sul documento informatico dal titolare della coppia di chiavi Vantaggi Svantaggi + - L’utente dispone di due chiavi accoppiate, una per l’operazione di cifratura (Kc) ed una per quella di decifratura (Kd) Cifratura: si elabora il messaggio M e la chiave Kc con un opportuno algoritmo ottenendo un cifrato X X = cifra(Kc,M) Decifratura: disponendo della chiave Kd corrispondente a Kc `e possibile riconvertire il cifrato X nel testo originale M mediante un’operazione inversa M = decifra(Kd,X) •Solo mediante Kd è possibile decifrare ciò che è stato cifrato con Kc •le due chiavi non possono essere calcolate l’una dall’altra in tempo ragionevole, •non è possibile inferire la chiave Kd dal cifrato Comunicazione riservata • la chiave di cifratura Kc = Kp `e resa pubblica, • quella di decifratura Kd = Ks `e mantenuta segreta o privata Firma • La chiave di decifratura Kd = Kp è pubblica, quella di cifratura Kc = Ks (chiave di firma) è privata Non è la digitalizzazione della firma autografa, ovvero la rappresentazione digitale di una immagine corrispondente alla firma autografa un particolare tipo di firma elettronica qualificata, basata su un sistema di chiavi crittografiche, una pubblica e una privata, correlate tra loro, che consente al titolare tramite la chiave privata e al destinatario tramite la chiave pubblica, rispettivamente, di rendere manifesta e di verificare la provenienza e l’integrità di un documento informatico o di un insieme di documenti informatici. Azioni preliminari Durante la validità • Registrazione dell’utente presso un’autorità di certificazione • Generazione di una coppia di chiavi pubblica-privata • Certificazione della chiave pubblica presso la CA • Registrazione e pubblicazione della chiave pubblica • L’utente può firmare documenti con la propria chiave privata fino alla scadenza del certificato • La validità della chiave può essere revocata in ogni momento a seguito di compromissione (anche solo sospettata) della chiave privata A(lice) vuole comunicare in modo riservato il messaggio M a B(runo) attraverso un canale non sicuro A conosce la chiave pubblica KBp di B e con essa produce il cifrato X di M X = cifra(KBp ,M) A comunica il cifrato X a B B rivela il messaggio dal cifrato mediante la propria chiave privata KBs M = decifra(KBs,X) Solo B è in grado di decifrare correttamente il messaggio, supposto che sia l’unico a possedere la chiave privata KBs corrispondente a KBp A vuole comunicare il messaggio M in modo che se ne possano verificare l’autenticità e l’integrità A produce il cifrato X di M mediante la propria chiave privata KAs (chiave di firma) X = cifra(KAs ,M) A comunica M e X (N.B.: nessuna esigenza di riservatezza) Il destinatario decifra X con la chiave pubblica KAp di A e confronta il risultato con M se M == decifra(KA p ,X), allora - il messaggio M non `e stato alterato - il messaggio M proviene dal possessore della chiave privata KA Il destinatario non è specificato (la chiave KAp `e pubblica). Per una comunicazione “mirata” è necessaria anche la cifratura In generale Funzione hash = hash(M) Firma F = cifra(KAs, hash(M)) Cifratura asimmetrica = cifra(Kas,M) Firma BUSTA Doc umento (Dati trasmessi) M Condizione di integrità e autenticità: l’hash del messaggio, ricalcolato, deve coincidere con la versione decifrata della firma hash(M) == decifra(KAp , F) Documento Documento Funzione hash Verso destinatario In chiaro Hash codifica Chiave privata Lato mittente Firma Documento Documento firmato Funzione hash codifica Firma codifica Hash Chiave privata mittente Lato mittente Chiave pubblica destinatario Verso destinatario Chiave pubblica mittente Documento decodifica Firma hash Funzione hash Hash confronto Lato destinatario Risponde all’esigenza di certificare data e ora di pubblicazione Viene effettuata da una autorità di certificazione (TSA) Data e ora (tempo certificato) più hash del documento cifrati con la chiave privata della TSA Hash documento Data e ora Chiave privata Cifratura Timestamp Business Key Smart card + Lettore Mezzo a disposizione del destinatario per avere la garanzia sull’identità del suo interlocutore e per venire in possesso della sua chiave pubblica Versione Numero seriale Algoritmo di firma CA emettitrice Validità temporale Informazioni anagrafiche Chiave pubblica Firma della CA