Firma Digitale
description
Transcript of Firma Digitale
FIRMA DIGITALE27 marzo 2008
Dott. Ernesto Batteta
Argomenti
Le minacce nello scambio dei documenti
Crittografia Firma digitale
Minacce nello scambio di documenti
Minacce nello scambio dei documenti (1
Intercettare un messaggio e modificarne i contenuti
TizioCaio
Sempronio
originale
modificato
Minacce nello scambio dei documenti (2
Inviare un messaggio sotto falso nome
Tizio Caio
Sempronio
Minacce nello scambio dei documenti (3
Ripudiare un messaggio inviato
TizioCaio
Minacce nello scambio dei documenti (4
Intercettare un messaggio e leggerne i contenuti
Tizio Caio
Sempronio
Requisiti necessari
1) Integrità2) Autenticità3) Non ripudio
4) 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.
Funzioni di hashVerifica di integrità:H == hash(M)Non garantisce l’autenticit à (un intruso può sostituire M ericalcolare H)
Impossibilità di dedurre l’input M dall’output H
Praticamente impossibile determinare due input che producono lo stesso output P=1/2160Una 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)
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
Crittografia
SIMMETRICA
ASIMMETRICA
Crittografia simmetricacaratteristiche
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 simmetricaesempio
Testo originale •“Sono un messaggio”
chiave •Aggiungi 1 al codice ascii
Testo crittografato •“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
Crittografia simmetricaesempio
Crittografia simmetrica
Vantaggi+
Svantaggi-
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 privatadeve essere conosciuta solo dal titolare e viene utilizzata per apporre la
firma sul documento
Chiave pubblicaDeve essere resa pubblica e viene
utilizzata per verificare la firma digitale
apposta sul documento informatico dal titolare della coppia di chiavi
Crittografia asimmetrica
Vantaggi+
Svantaggi-
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 XX = cifra(Kc,M)
Decifratura: disponendo della chiave Kd corrispondente a Kc `e possibilericonvertire il cifrato X nel testo originale M mediante un’operazioneinversaM = 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
Algoritmi crittografici a chiave pubblica
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
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
Comunicazione riservata
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 KBsM = decifra(KB
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
Comunicazione autenticataFirma
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à
Algoritmi per la firma digitale
Funzione hash
=hash(M
)
Cifratura asimmet
rica=
cifra(Kas,M)
FirmaF = cifra(KAs,
hash(M))
In generale
Algoritmi per la firma digitaletrasmissione
Firma
Doc umentoM
BUSTA(Dati
trasmessi)
Condizione di integrità e autenticità: l’hash del messaggio, ricalcolato, devecoincidere con la versione decifrata della firma
hash(M) == decifra(KAp , F)
Generazione della firma- Documento non riservato-
Documento
Chiave privata
Hash Firma
Funzione hash
codifica
Documento
Lato mittente
Verso destinatario
In chiaro
Generazione della firma- Documento Riservato -
Documento
Chiave privatamittent
e
Hash
Funzione hash
codifica
Firma
Documentofirmato
Verso destinatario
codifica
Chiave pubblica
destinatario
Lato mittente
Verifica della firma
Chiave pubblica mittente
hash
Hash
Funzione hash
confronto
Firma
Documento
decodifica
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
Smart card +Lettore
Il certificato per le chiavi digitali
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