PROGETTO LAUREE SCIENTIFICHE
ITGS PASCAL-UNIV. PARMA
(è stato usato vario materiale di Alessandro Zaccagnini, Alessandro Languasco
Altro materiale è stato preso dal sito: http://avires.dimi.uniud.it/claudio/teach/sicurezza2012/lezione-05.pdf,
da Wikipedia e da ‘Documento elettronico, firma digitale e sicurezza in rete’, Eleonora Brioni Univ. di Trento
Docenti: BAROZZI -SIMEONE
CORSO DI CRITTOGRAFIA
Quinto incontro
FIRMA DIGITALE - DEFINIZONE
La firma digitale si propone di soddisfare 3
esigenze:

Che il destinatario possa verificare l’identità del
mittente (autenticità)

Che il mittente non possa disconoscere un
documento da lui prodotto (non ripudio)

Che il destinatario non possa inventarsi o
modificare un documento firmato da qualcun
altro (integrità)
FIRMA DIGITALE
Quadro normativo di riferimento
La legge che disciplina la firma digitale è il decreto
legislativo 7 marzo 2005, n.82, recante ‘Codice
dell’amministrazione digitale’
Con un rimando al Codice Civile, l’articolo afferma
che la firma digitale fa piena prova fino a querela
di falso, equiparando così il documento informatico
sottoscritto con firma digitale alla scrittura privata
sottoscritta con firma autografa.
FIRMA DIGITALE – PRIMA IDEA
Siano A e B due utenti di un sistema a chiave pubblica.
fA e fB sono pubbliche, f-1A e f-1B sono segrete.




A per inviare un messaggio M a B calcola fB(M)
Se lo vuole firmare deve avere un nome convenzionale
sA (numero progressivo, indirizzo IP macchina,…)
A certifica la propria identità a B inviandogli oltre a fB(M)
anche fB(f-1A(sA))
B decodifica il messaggio calcolando f-1B(fB(M)) e
verifica l’identità di A calcolando fA(f-1B(fB(f-1A(sA))))
FIRMA DIGITALE – PROBLEMI
Il primo problema non è crittografico, ma generale
• Chi assicura la corrispondenza tra l’utente e la sua
funzione di decifratura?
ENTE CERTIFICATORE SUPER PARTES
Certifica la corrispondenza tra A e la sua chiave pubblica
FIRMA DIGITALE – PROBLEMI
Secondo problema:
Un intruso C potrebbe intercettare la quantità
f-1A(sA)
utilizzando un certo numero di messaggi
intercettati.
A questo punto C può fingere di essere A usando
come sua firma f-1A(sA)
CONTROMISURA: far dipendere la firma dal
messaggio
FIRMA DIPENDENTE DAL MESSAGGIO
Si suppone l’esistenza di una funzione pubblica:
funzione di hash
nota a tutti gli utenti, con le seguenti proprietà:
 h(M) (impronta di M) è una sequenza di bit di
lunghezza nota (oggi 160)
 h non permette di risalire ad M conoscendo
solamente h(M) (attacchi alla preimmagine)
 La probabilità che h(M)=h(M’) con M≠M’ è molto
piccola (rilevamento di collisioni)
FIRMA DIGITALE - SCHEMA
Bob vuole inviare ad Alice un messaggio firmato:
FIRMA DIGITALE



Alice decodifica il massaggio con la sua chiave privata.
Alice legge il certificato digitale e recupera la chiave
pubblica di Bob.
Alice calcola la funzione di hash del messaggio, decripta
la firma digitale tramite la chiave pubblica di Bob e la
confronta con h(M), se coincidono la firma è autentica.
FUNZIONI DI HASH
CODICI DI CHECKSUM



Un codice di checksum è una “firma” di dimensione fissa
(ad es. 32 bit) calcolata a partire da un messaggio di
lunghezza variabile.
Ogni messaggio ha una sua firma caratteristica.
Il checksum viene usato per rilevare modifiche
accidentali ad un messaggio, ad esempio dovute ad
errori di trasmissione su una linea rumorosa (usati ad
esempio nei modem, nelle reti ethernet, ecc.)
ESEMPIO DI CODICE DI CHECKSUM
CRC (Cyclic Redundancy Check)
Per ogni algoritmo di CRC-n esiste un “numero magico” c
lungo n bit da utilizzare nel seguente modo:

Far scorrere da sinistra a destra c finché il suo bit più
significativo (che vale sempre 1) corrisponde ad un 1 nel
messaggio

Fare lo XOR (estendere c con degli 0)

Ripetere l’algoritmo sul valore risultante, finché non si
arriva alla fine del messaggio. Il valore finale è il
checksum (composto da n-1 bit)
ESEMPIO CRC-4




Numero magico: 1011
Messaggio: 11010011101100
Il CRC finale è 101
Il messaggio 11010011101101 dà
risultato 100
Un errore di trasmissione che ha
modificato un bit può essere
controllato con CRC
PRINCIPIO DEI BUCHI DI COLOMBAIA
Data una colombaia con n buchi e m
colombi, se m>n esisterà sicuramente un
buco in cui entreranno più colombi
APPLICAZIONE ALLE FUNZIONI DI HASH
Se n è il numero di bit che ottengo calcolando la
funzione di hash di un messaggio che aveva m bit (con
m>n)
Allora
Esistono 2n funzioni di hash possibili e 2m messaggi
possibili, 2m>2n, sicuramente esisteranno messaggi
diversi aventi la stessa funzione di hash
MESSAGE DIGEST
Una funzione di hash per la firma digitale deve avere
le seguenti proprietà:
 È facile calcolare l’hash di un messaggio;
 È difficile determinare il messaggio che ha
generato l’hash;
 È difficile modificare il messaggio senza modificare
l’hash;
 È difficile trovare due messaggi che abbiano lo
stesso hash .
MESSAGE DIGEST
Le funzioni di hash che ‘godono’ di queste proprietà sono
chiamate message digest o semplicemente digest.

Per quanto riguarda i primi due punti si può far
riferimento alla teoria crittografica.

Per gli ultimi due punti si noti che necessariamente,
principio dei buchi della colombaia, esistono due
messaggi con lo stesso hash, tuttavia deve essere
difficile per un attaccante trovare due messaggi con tale
proprietà.
Scarica

Crittografia asimmetrica (RSA). Firma digitale.