Firma elettronica

Il paradigma della firma elettronica (detto anche firma digitale) è una procedura che permette di garantire l'autenticità del mittente (funzione di autenticazione) e di verificare l'integrità del messaggio ricevuto. La firma elettronica assicura anche una funzione di non-ripudio, cioè permette di assicurare che il mittente ha effettivamente inviato il messaggio (detto in un altro modo impedisce che il mittente neghi di aver spedito il messaggio).

Che cos'è la funzione hash

La funzione hash (talvolta detta funzione di compressione) è una funzione che permette di ottenere un estratto (in inglese hash o Message digest) di un testo, cioè una sequenza abbastanza corta di caratteri che rappresentano il testo che li comprime. La funzione hash deve essere tale da associare uno ed un solo pezzo ad un testo in chiaro (questo significa che la minima modifica del documento implica la modifica del suo hash). Inoltre, deve trattarsi di una funzione a senso unico (one-way function) perché deve essere impossibile ritrovare il messaggio originale partendo da quello compresso. Se esiste un modo per ritrovare il messaggio in chiaro partendo da quello compresso, si dice che la funzione hash «ha una trappola»:

creating a document\

Così, l'hash rappresenta in qualche modo l'impronta digitale (in inglese finger print) del documento. Gli algoritmi di hash attualmente più usati sono:

MD5 (MD significa Message Digest), sviluppato da Rivest nel 1991, MD5 crea un'impronta digitale di 128 bit partendo da un testo di dimensione arbitraria e trattandolo per blocchi da 512 bit. Spesso si possono trovare dei documenti da scaricare su Internet accompagnati da un file MD5, si tratta in questo caso di un condensato del documento che permette di verificare l'integrità di quest'ultimo);

SHA (per Secure Hash Algorithm, che può essere tradotto con Algoritmo di tranciatura sicuro), crea delle impronte di una lunghezza di 160 bit SHA-1 è una versione migliorata di SHA del 1994 che produce un'impronta di 160 bit partendo da un messaggio di una lunghezza massima di 264 bit trattandolo per blocchi di 512 bit.

Verifica d'integrità

Spedendo un messaggio accompagnato dal suo hash, è possibile garantire l'integrità del messaggio, cioè il destinatario può verificare che il messaggio non sia stato alterato (intenzionalmente o in maniera casuale) durante la comunicazione:

garantire l
Alla ricezione del messaggio, al destinatario basta calcolare il hash del messaggio ricevuto e paragonarlo con il hash che accompagna il documento. Se il messaggio (o il hash) sono stati falsificati durante la comunicazione, le due impronte non corrisponderanno.

Il sigillo dei dati

L'uso di una funzione hash permette di verificare che l'impronta corrisponda effettivamente al messaggio ricevuto, ma niente prova che il messaggio sia stato davvero inviato da quello che si crede essere il mittente. Così, per garantire l'autenticazione del messaggio, al mittente basta cifrare (si dice generalmente firmare) il hash attraverso la sua chiave privata (il hash firmato è chiamato sigillo) e di inviare il sigillo al destinatario:

meccanismo di sigillare il documento
Alla ricezione del messaggio, al destinatario basta decifrare il sigillo con la chiave pubblica del mittente, poi paragonare il pezzo ottenuto con la funzione hash ricevuta in allegato. Questo meccanismo è chiamato creazione del sigillo.

Ulteriori informazioni

SHA1 Secure Hash Algorithm - Version 1.0;

RFC 3174 (rfc3174) - US Secure Hash Algorithm 1 (SHA1);

RFC 1321 (rfc1321) - The MD5 Message-Digest Algorithm.

Foto: © Pixabay.

I nostri contenuti sono creati in collaborazione con esperti di high-tech, sotto la direzione di Jean-François Pillou, fondatore di CCM.net. CCM è un sito di high-tech leader a livello internazionale ed è disponibile in 11 lingue.
Il documento intitolato « Firma elettronica » dal sito CCM (it.ccm.net) è reso disponibile sotto i termini della licenza Creative Commons. È possibile copiare, modificare delle copie di questa pagina, nelle condizioni previste dalla licenza, finché questa nota appaia chiaramente.
Unisciti ALLA COMMUNITY