DURA LEX SED LEX
immagini correlate
sondaggio:
Ritieni che la firma digitale sia sicura?
sì, più della firma autografa
sì, ma mi fido più della firma autografa
no
non so
crimini informatici > firma digitale e smart card
carattere piccolocarattere mediocarattere grande

Cenni di crittografia

Crittografia a chiave privata e crittografia a chiave pubblica. Le proprietà garantite dalle funzioni hash.

Scopo principale della crittografia, scienza di grande attualità ma di antica origine, è garantire la sicurezza dell’informazione, supportando la riservatezza, l’integrità, l’autenticità e il non ripudio  dei messaggi scambiati durante la comunicazione. Gli algoritmi crittografici prevedono che il mittente cifri in qualche modo il messaggio prima di spedirlo al destinatario e che quest’ultimo lo decifri. Nel caso in cui debba essere garantita la riservatezza della comunicazione, solo il destinatario deve essere in grado di decifrare il messaggio e ottenere quindi il contenuto originale.
Partendo dal presupposto che non si possa fare affidamento sul fatto che il funzionamento di un algoritmo rimanga celato al pubblico, e che quindi non si possa basare tutta la sicurezza sulla sua segretezza, la moderna crittografia utilizza il concetto di chiave crittografica. Si tratta di un valore variabile, scelto all’interno di un grande insieme (lo spazio delle chiavi), che, applicato nell’algoritmo, conduce a uno tra gli innumerevoli e diversi risultati ottenibili. In questo modo è il valore della chiave che deve essere mantenuto segreto, spostando la sicurezza dall’algoritmo ad essa.
I moderni algoritmi crittografici si dividono in due categorie ben distinte: gli algoritmi a chiave simmetrica (o segreta)  e gli algoritmi a chiave asimmetrica (o pubblica). A quest’ultima categoria appartengono gli algoritmi utilizzati per la firma digitale.

Nella crittografia a chiave simmetrica viene utilizzata la stessa chiave sia per cifrare che per decifrare i messaggi (o comunque le chiavi sono facilmente ricavabili l’una dall’altra). Sia il mittente del messaggio che il destinatario devono essere in possesso di tale chiave, che non deve invece essere accessibile agli altri utenti; tipicamente essa viene trasmessa attraverso un canale sicuro. Tutta la sicurezza della comunicazione risiede, quindi, nella chiave segreta condivisa dai soggetti comunicanti; se quest’ultima viene in qualche modo intercettata, la sicurezza è compromessa. Il vantaggio principale degli algoritmi crittografici simmetrici è la loro velocità di esecuzione.
   
La crittografia a chiave asimmetrica risolve il problema dello scambio della chiave segreta tra mittente e destinatario, punto critico della crittografia a chiave simmetrica. Essa, infatti, prevede che ogni utente possegga una coppia diversa di chiavi: una chiave privata, che viene utilizzata per cifrare e che deve essere mantenuta segreta, e una chiave pubblica, che viene utilizzata per decifrare e che deve essere resa nota all’esterno. La proprietà più importante che deve essere verificata dalla coppia di chiavi affinché possano essere usate in un algoritmo crittografico a chiave asimmetrica, è che sia computazionalmente intrattabile (cioè non possibile, almeno in termini di risorse e tempo ragionevoli) ricavare la chiave privata da quella pubblica. Tale proprietà viene implementata utilizzando funzioni one-way (a una via), funzioni, cioè, per le quali il calcolo della controimmagine degli elementi del co-dominio è ritenuto computazionalmente intrattabile.
Per garantire la riservatezza, il mittente codifica il messaggio con la chiave pubblica del destinatario, certo che solo quest’ultimo possa decifrarlo e ottenere il messaggio originale, utilizzando la propria chiave privata. 

Alcuni algoritmi a chiave pubblica possono essere utilizzati in maniera diversa, come strumenti di autenticazione. In questo caso il soggetto che vuole certificare di essere l’autore di un documento elettronico, lo cifra utilizzando la propria chiave privata. Visto che egli è l’unico a possedere tale chiave privata, chiunque decifri il documento cifrato utilizzando la relativa chiave pubblica, avrà la certezza sull’identità dell’autore del documento (o perlomeno sul fatto che l’autore del documento sia il possessore della chiave privata).
E’ proprio quest’ultima caratteristica della crittografia a chiave pubblica ad essere utilizzata nei meccanismi di firma digitale, unitamente agli algoritmi di hash. Questi ultimi sono algoritmi che implementano funzioni one-way, in grado, dato un messaggio di lunghezza arbitraria, di produrre in output una sequenza di lunghezza fissa, chiamata “hash” o “message digest”. Quest’ultimo rappresenta un’impronta caratteristica del messaggio dal quale è stato derivato, dato che dipende da ogni suo bit. Le proprietà che le funzioni hash devono garantire sono le seguenti.
Sia m un messaggio, H la funzione di hash e h=H(m) l’hash del messaggio:

  • Qualsiasi sia m, h ha lunghezza fissa.
  • La funzione H è applicabile a messaggi m di qualsiasi lunghezza.
  • Dato m è facile calcolare h.
  • Dato h è computazionalmente intrattabile risalire all’m tale che h=H(m), cioè risalire dall’hash al messaggio corrispondente. E’ questa la proprietà che deriva dal fatto che le funzioni hash sono funzioni one-way.
  • Dato m è computazionalmente intrattabile trovare un n<>m tale che H(m)=H(n), è cioè computazionalmente intrattabile trovare due messaggi differenti per i quali la funzione di hash ricavi la medesima impronta.
  D.F.