27 marzo 2008 Dott. Ernesto Batteta
Le minacce nello scambio dei documenti Crittografia Firma digitale
Intercettare un messaggio e modificarne i contenuti Tizio Caio Sempronio originale modificato
Inviare un messaggio sotto falso nome TizioCaio Sempronio
Ripudiare un messaggio inviato Tizio Caio
Intercettare un messaggio e leggerne i contenuti Tizio Caio Sempronio
1) Integrità 2) Autenticità 3) Non ripudio 4) Confidenzialità
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) Impossibilità di dedurre l’input M dall’output H Praticamente impossibile determinare due input che producono lo stesso output P=1/2 160 Una funzione di hash riduce un input di lunghezza variabile (arbitraria) M (<2 64 )ad un output di lunghezza fissa H H = hash(M) Hashing usato oggi: algoritmo SHA1 (Secure Hashing Algorithm) 10 tentativi al secondo x anni = 2 38
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
Trasformazione diretta, dall’originale Cifratura o Codifica Trasformazione inversa Decifratura o decodifica
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 chiavi) Sostituzione delle chiavi solo se scoperte da terzi
Testo originale “Sono un messaggio”“Sono un messaggio” chiave Aggiungi 1 al codice asciiAggiungi 1 al codice ascii Testo crittografato “Tpop!vo!epdvnfoup”“Tpop!vo!epdvnfoup”
sono un documento tpop!vo!epdvnfoup
Vantaggi + Svantaggi - Difficoltà di gestire molti utenti Scambio sicuro di chiave segreta Rapida
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 - Crittografia molto sicura Chiave pubblica lenta
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
Insieme dei dati in forma elettronica, allegati o connessi tramite associazione logica ad altri dati elettronici, utilizzati come metodo di identificazione informatica Es. nome utente e password
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 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
A conosce la chiave pubblica K B p di B e con essa produce il cifrato X di M X = cifra(K B p,M) A comunica il cifrato X a B B rivela il messaggio dal cifrato mediante la propria chiave privata KBs M = decifra(K B s,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(lice) vuole comunicare in modo riservato il messaggio M a B(runo) attraverso un canale non sicuro
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 A vuole comunicare il messaggio M in modo che se ne possano verificare l’autenticità e l’integrità
Funzione hash = hash(M) Cifratura asimmetrica = cifra(Kas,M) Firma F = cifra(KAs, hash(M)) In generale
Firma Doc umento M BUSTA (Dati trasmessi) Condizione di integrità e autenticità: l’hash del messaggio, ricalcolato, deve coincidere con la versione decifrata della firma hash(M) == decifra(KAp, F)
Documento Chiave privata Hash Firma Funzione hash codifica Documento Lato mittente Verso destinatario In chiaro
Documento Chiave privata mittente Hash Funzione hash codifica Firma Documento firmato Verso destinatario codifica Chiave pubblica destinatario Lato mittente
Chiave pubblica mittente hash Hash Funzione hash confronto Firma Documento decodifica 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
Cifratura Data e ora Hash documento Chiave privata Timestamp
Business Key Smart card + Lettore
Versione Numero seriale Algoritmo di firma CA emettitrice Validità temporale Informazioni anagrafiche Chiave pubblica Firma della CA Mezzo a disposizione del destinatario per avere la garanzia sull’identità del suo interlocutore e per venire in possesso della sua chiave pubblica