Firma Digitale
Argomenti Le minacce nello scambio dei documenti Crittografia Firma digitale
Minacce nello scambio di documenti
Minacce nello scambio dei documenti (1 Sempronio modificato Caio Tizio originale Intercettare un messaggio e modificarne i contenuti
Minacce nello scambio dei documenti (2 Sempronio Tizio Caio Inviare un messaggio sotto falso nome
Minacce nello scambio dei documenti (3 Tizio Caio Ripudiare un messaggio inviato
Minacce nello scambio dei documenti (4 Sempronio Tizio Caio Intercettare un messaggio e leggerne i contenuti
Requisiti necessari Integrità Autenticità Non ripudio Confidenzialità
Impronta univoca del documento (hash) 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.
10 tentativi al secondo x 1.000 anni = 238 Funzioni di hash Verifica di integrità: H == hash(M) Non garantisce l’autenticit à (un intruso può sostituire M e ricalcolare H) Praticamente impossibile determinare due input che producono lo stesso output P=1/2160 Una funzione di hash riduce un input di lunghezza variabile (arbitraria) M (<264)ad un output di lunghezza fissa H H = hash(M) Hashing usato oggi: algoritmo SHA1 (Secure Hashing Algorithm) Impossibilità di dedurre l’input M dall’output H 10 tentativi al secondo x 1.000 anni = 238
Crittografia
Crittografia 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 Strumento indispensabile per assicurare i requisiti di sicurezza
Crittografia SIMMETRICA ASIMMETRICA
Crittografia Trasformazione diretta, dall’originale Cifratura o Codifica Trasformazione inversa Decifratura o decodifica
Crittografia simmetrica caratteristiche 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
Crittografia simmetrica esempio Testo originale “Sono un messaggio” chiave Aggiungi 1 al codice ascii Testo crittografato “Tpop!vo!epdvnfoup”
Crittografia simmetrica esempio n u d c m e t 115 111 110 32 117 100 99 109 101 116 p ! v f 112 33 118 102
Crittografia simmetrica Vantaggi + Rapida Svantaggi - Difficoltà di gestire molti utenti Scambio sicuro di chiave segreta
Crittografia asimmetrica 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
Crittografia asimmetrica Vantaggi + Crittografia molto sicura Chiave pubblica Svantaggi - lenta
Algoritmi crittografici a chiave pubblica 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)
Algoritmi crittografici a chiave pubblica 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
Cosa non è firma digitale! Non è la digitalizzazione della firma autografa, ovvero la rappresentazione digitale di una immagine corrispondente alla firma autografa
Firma digitale 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 del processo di firma 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 Durante la validità 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
Comunicazione riservata 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
Comunicazione autenticata Firma 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
Algoritmi per la firma digitale In generale Funzione hash hash(M) = Cifratura asimmetrica = cifra(Kas,M) Firma F = cifra(KAs, hash(M))
Algoritmi per la firma digitale trasmissione Doc umento M (Dati trasmessi) BUSTA Condizione di integrità e autenticità: l’hash del messaggio, ricalcolato, deve coincidere con la versione decifrata della firma hash(M) == decifra(KAp , F)
Generazione della firma - Documento non riservato- Verso destinatario In chiaro Funzione hash Firma Hash codifica Vedi anche file processo firmadigitale.jpg Chiave privata Lato mittente
Generazione della firma - Documento Riservato - Verso destinatario Documento firmato Funzione hash codifica Firma codifica Hash Chiave privata mittente Chiave pubblica destinatario Lato mittente
Chiave pubblica mittente Verifica della firma Chiave pubblica mittente Documento decodifica Firma hash Funzione hash Hash confronto Lato destinatario
Marcatura temporale (timestamp) 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
Marcatura Temporale (timestamp) Cifratura Data e ora Hash documento Chiave privata Timestamp
Strumenti Business Key Lettore Smart card +
Il certificato per le chiavi digitali 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