Anteprima
Vedrai una selezione di 1 pagina su 4
Firma digitale Pag. 1
1 su 4
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

FIRMA

DIGITALE

lo schema della firma digitale è il seguente:

Il mittente fa passare il messaggio attraverso una funzione hash crittografica, ottiene un codice

hash e poi la sua chiave privata la usa per cifrare il codice hahs ottenendo un blocco S che è il

codice hash cifrato con la sua chiave privata. A questo punto appende il blocco S al messaggio e

lo spedisce sul canale.

In questo schema il messaggio viene mandato in chiaro.

Il ricevente fa passare il messaggio cosi come gli è arrivato in una funzione hash crittografica (la

stessa) e ottiene il codice hash; il codice hash lo va a confrontare con quello che ottiene decifrando

S (ossia facendo il percorso inverso di quello fatto in partenza); si tratta di un meccanismo a chiave

asimmetrica quindi la decifratura la farà con la chiave pubblica del mittente. Quindi con la

decifratura riottiene l’h originale e lo va a confrontare con l’h ottenuto dall’hash sul messaggio. Se il

messaggio non è stato modificato i due hash saranno uguali.

Le proprietà che deve avere un meccanismo di firma digitale sono:

- Deve permettere di verificare l’autore, e per evitare un attacco basato sul time deve avere

giorno ed ora in cui è stata effettuata la firma. Per evitare questo ci si protegge affidandosi

ad un registro pubblico di una terza parte che certifica il possesso di una chiave privata da

parte di qualcuno.

- Deve permettere di autenticare i contenuti del messaggio nell’ora in cui è stata fatta la

firma.

- Deve permettere di avere un meccanismo che può essere verificato da terze parti.

Ci sono una serie di attacchi contro un meccanismo a firma digitale. Li possiamo classificare sulla

base di quello che l’attaccante conosce:

- Attacco basato solo sulla chiave: dove l’attaccante C conosce la chiave pubblica di A.

- Attacco che utilizza la conoscenza del messaggio: l’attaccante conosce sia alcuni

messaggi spediti che le corrispondenti firme digitali;

- Attacco con messaggio scelto ma generico: in questo caso l’attaccante prima di cercare di

violare il meccanismo di firma digitale di A, sceglie una lista di messaggi che vengono scelti

senza che in questa lista entri la chiave pubblica di A; per questi messaggi si suppone che

C possa ottenere da A delle firme digitali valide.

- Attacco basato sulla scelta di messaggi basandosi anche sulla chiave pubblica di A: siamo

sempre nel caso in cui C sceglie una lista di messaggi da far firmare ad A, però li sceglie

basandosi anche sulla chiave pubblica di A; questo perché conoscendo la chiave pubblica

di A, lui può operare una decifratura e quindi questo attacco gli torna utile se ha modo di

scegliere i messaggi in modo tale che una volta che siano decifrati rivelano certe

caratteristiche di irregolarità.

- Scelta adattiva: i messaggi per cui C richiede la firma di A dipendono dalla storia delle

precedenti coppie messaggi/firme.

L’utilizzo che l’attaccante può fare tramite questi attacchi sono:

- C determina la chiave privata di A. a questo punto C può generare tutti i messaggi che

vuole e firmarli con la firma privata di A.

- C può trovare qualcosa che non è la chiave privata ma trova un meccanismo di firma che

ricalca il meccanismo di firma con la chiave privata.

- C riesce a copiare la firma digitale solo per un particolare messaggio.

- C sa che esiste almeno un messaggio per cui può generare la firma digitale corretta.

I requisiti che deve avere la firma digitale per poter essere correttamente adottata sono:

- Deve avere una configurazione della firma che dipende dal messaggio;

- Deve utilizzare informazioni che solo il mittente conosce (in questo modo non c’è ripudio).

- Deve essere facile altrimenti se la computazione è complessa ci rallenta ed è scomoda da

utilizzare.

- Deve essere non fattibile dal punto di vista computazionale sia creare una nuova firma

digitale corretta per un certo messaggio, ma anche creare un nuovo messaggio che

contenga quella stessa firma digitale.

- Deve essere un oggetto digitale che si può tenere in memoria facilmente.

La maniera più semplice per fare la firma digitale è attraverso la firma digitale diretta. Diretta

significa che due entità possono mettere in piedi la firma digitale senza ricorrere ad una terza parte

ossia al certificatore.

Si suppone che il destinatario sappia la chiave pubblica del mittente; si può ottenere riservatezza

se si usa cifratura del messaggio e della firma con una chiave segreta e condivisa quindi cifratura

a chiave simmetrica (però in questo caso se ci sono dispute bisogna pensare ad una terza parte);

inoltre la validità dipende dalla garanzia di sicurezza della chiave privata del mittente che deve

essere sufficientemente lunga.

Algoritmi basati su logaritmi discreti

vediamo ora degli schemi di firma digitale che hanno la caratteristica comune di essere basati sulla

non fattibilità dell’operazione del logaritmo discreto. Questo significa che nelle loro operazioni di

firma questi algoritmi impiegano un’elevazione a potenza.

Ci sono 3 algoritmi che impiegano lo stesso schema generale ma con delle variabili. Tutte e 3

usano una chiave privata, una base ausiliaria q che in genere è uguale a p-1 oppure ad un fattore

molto grande di p-1, una base p che è un numero primo molto grande, un generatore g che è

primo rispetto a p, un numero k aleatorio che è primo rispetto a q che viene spesso chiamato

chiave di messaggio (si chiama cosi perché cambia ad ogni messaggio).

In questi schemi si generano sia la chiave pubblica che r (dove r è un valore ausiliario) mediante

un’operazione a elevazione a potenza:

x

y = g mod p

k

r = g mod p

tutti questi schemi si possono ricondurre in:

- Equazione per la firma: ak + bx = c mod q  viene gestita dal mittente

a b c

- Equazione per la verifica: r y = g mod p  viene gestita dal destinatario

il primo algoritmo è ElGamal dove si fa una cosa inversa rispetto a quello che si fa nell’algoritmo di

ElGamal per la cifratura. In quest’ultimo avevamo una chiave pubblica per mandare e una chiave

privata per decifrare, mentre in questo caso il mittente genera la firma con la sua chiave privata e il

destinatario va a verificare la firma utilizzando la chiave pubblica del mittente.

In questo algoritmo ci sono degli elementi globali (sono un numero primo q ed un valore a che è

una radice primitiva di q); per firmare si usa la chiave privata del mittente e per verificare si usa la

chiave pubblica sempre del mittente. Il mittente genera un valore intero X e calcola la chiave

A

X

pubblica con un’operazione di elevazione a potenza: y = a mod q

A

A

il secondo è Schnorr che si basa sempre su logaritmi discreti. Si cerca di minimizzare il lavoro che

si fa quando si deve mandare un messaggio; questo significa che si cerca di massimizzare il

numero di operazioni della firma che non dipendono dal messaggio ossia quelle operazioni che si

possono fare prima di inviare un messaggio. Quindi le operazioni si riducono alla moltiplicazione di

due interi uno di 2n bit e l’altro di n bit.

Il terzo algoritmo è DSA che utilizza come funzione di hash l’SHA.

L’approccio di DSA nella sua versione base lo si può confrontare con un approccio di firma digitale

RSA (qui si chiama RSA semplicemente perché l’operazione di cifratura dell’hash è fatta con

l’RSA).

Nel DSA si ha sempre una generazione di un hash dove c’è un meccanismo di firma che coinvolge

non solo la chiave privata del mittente ma anche un numero k aleatorio segreto e un insieme di

Dettagli
Publisher
A.A. 2016-2017
4 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Daniele9292 di informazioni apprese con la frequenza delle lezioni di Sicurezza informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Roma Tor Vergata o del prof Naldi Maurizio.