Descrivere la modalità hash e la relativa applicazione nella firma digitale

Completato

Finora, si è visto come la crittografia venga usata per mantenere i messaggi al riparo da occhi indiscreti. La crittografia viene usata anche per verificare che i dati, ad esempio documenti e immagini, non siano stati manomessi. A questo scopo viene usato un processo denominato hashing.

Che cos'è l'hashing?

L'hashing usa un algoritmo, noto come funzione di hashing, per convertire il testo originale in un valore a lunghezza fissa univoco. Tale valore è detto valore hash. Ogni volta che viene eseguito l'hashing dello stesso testo con lo stesso algoritmo, viene generato lo stesso valore hash. Tale hash può quindi essere usato come identificatore univoco dei dati associati.

Diagram showing an example of a hashing function accepting a plaintext message and generating a hash value.

L'hashing è diverso dalla crittografia perché non usa le chiavi e il valore hash generato non può essere decrittografato nel valore originale.

Esistono numerosi tipi di funzioni di hash. Uno, molto diffuso e spesso citato nelle discussioni con i professionisti della sicurezza, è SHA (Secure Hash Algorithm). SHA è una famiglia di algoritmi hash che operano tutti in modo diverso. Senza scendere in dettagli, uno degli SHA più comunemente usati è SHA-256 che produce un valore hash lungo 256 bit.

Che cos'è una firma digitale?

Un'applicazione comune dell'hashing si trova nella firma digitale. Analogamente a una firma su un foglio di carta, una firma digitale attesta che il documento contiene la firma proviene effettivamente dalla persona che l'ha firmato. Viene inoltre usata una firma digitale per attestare che il documento non è stato manomesso.

Come funziona una firma digitale?

Una firma digitale è sempre univoca per ogni persona che firma un documento, in modo analogo a uno scritto a mano. Tutte le firme digitali usano una coppia di chiavi asimmetriche: una chiave privata e una pubblica.

Usando un servizio di firma digitale, Monica può aggiungere una firma digitale al documento per dimostrare che non è stato modificato. Firmando il documento viene creato un hash con timestamp. Questo hash viene quindi crittografato usando la chiave privata di Monica. Il servizio di firma aggiunge quindi l'hash al documento originale, che non è crittografato. Infine, sia il documento firmato digitalmente che la chiave pubblica di Monica vengono inviati a Victoria.

Quando Victoria riceve il documento firmato digitalmente, usa lo stesso servizio di firma digitale per estrarre l'hash di Monica dal documento e generare un nuovo hash per il documento originale in testo non crittografato. L'hash crittografato viene quindi decrittografato usando la chiave pubblica di Monica. Se l'hash decrittografato di Monica corrisponde a quello creato da Victoria per il documento, la firma digitale è valida. Victoria sa quindi che il documento non è stato manomesso.

Il video di due minuti seguente illustra il funzionamento delle firme digitali e spiega come verificare se un documento è stato manomesso.

La firma digitale richiede l'uso di un servizio di firma digitale. Molte società offrono questa funzionalità. Due delle più note sono DocuSign e Adobe Sign.