Il certificato digitale è un componente critico di un’infrastruttura a chiave pubblica. È un documento elettronico che associa l’identità individuale di una persona alla chiave pubblica ad essa associata.
1. Introduzione al non ripudio e alla firma digitale
Il non ripudio è una proprietà molto desiderata nel mondo digitale. Questo articolo descrive questa proprietà e mostra come può essere ottenuta usando la firma digitale.
2. Definizione del problema
I documenti digitali sono onnipresenti. Avendo ricevuto un documento, vogliamo essere sicuri che:
1. Il mittente è davvero colui che afferma di essere il mittente del documento.
2. Quel documento esatto è stato inviato dal mittente: non è stato modificato durante il tragitto verso il destinatario.
Discutiamo prima come l’hashing può essere usato per ottenere l’integrità del documento.
3. Hash
L’hash del documento D è denotato da H(D). La funzione hash ideale è irreversibile, e non ci sono due documenti diversi D1 e D2 tali che H(D1)=H(D2) . Più lungo è l’hash, minore è la probabilità che si verifichi una collisione. La collisione avviene quando lo stesso hash viene creato per due documenti diversi.
L’hash è usato per ottenere l’integrità dei dati e non c’è nessuna chiave coinvolta. Ciò di cui abbiamo bisogno è anche l’autenticazione del mittente.
4. HMAC
Assumiamo che Mark stia per inviare il documento a Kevin, e che condividano una chiave.
HMAC è un hash del documento e della chiave. Mark calcola HMAC, lo aggiunge al documento e lo invia a Kevin. Kevin calcola l’HMAC: hash del documento che ha ricevuto e la chiave che condivide con Mark. Poi, Kevin confronta l’HMAC con l’HMAC aggiunto al documento. Quando corrispondono, Kevin sa che è stato Mark a inviare questo documento. Quando l’attaccante (man-in-the-middle) cambia il documento e l’HMAC, viene rilevato da Kevin: l’attaccante non conosce la chiave. In questo modo, l’integrità e l’autenticazione dei dati possono essere verificate da Kevin.
HMAC è usato per fornire integrità e autenticazione dei dati. Il problema è che HMAC non fornisce il non-ripudio, perché Mark e Kevin condividono la chiave. Come possiamo risolvere questo problema? Una firma digitale è la soluzione.
5. Firma digitale
Prima di tutto, bisogna conoscere la relazione tra le chiavi nella crittografia asimmetrica (la pubblica e la privata) per capire come funziona la firma digitale.
La chiave pubblica è disponibile a tutti. La chiave privata è conosciuta solo dal proprietario e non può essere derivata da quella pubblica. Quando qualcosa viene criptato con la chiave pubblica, solo la chiave privata corrispondente può decifrarlo. Inoltre, quando qualcosa è criptato con la chiave privata, chiunque può verificarlo con la chiave pubblica corrispondente. Ora, torniamo alla storia di Mark e Kevin per capire meglio come funziona.
La chiave privata di Mark è usata per criptare l’hash del documento. Questo hash crittografato è chiamato firma digitale. Mark invia a Kevin il documento con l’aggiunta della firma digitale del documento. Kevin usa la chiave pubblica di Mark per decifrare la firma digitale. Poi, Kevin calcola l’hash del documento e lo confronta con la firma digitale decriptata del documento, che è l’hash del documento. Quando questi hash coincidono, Kevin sa chi è veramente il mittente del messaggio, ed esattamente quale messaggio è stato inviato. La proprietà del non-ripudio è ottenuta usando una firma digitale.
C’è ancora una domanda. Come fa Kevin a sapere che la chiave pubblica è davvero quella di Mark? Potrebbe esserci un man-in-the-middle che si presenta come Mark. Un certificato digitale è usato per risolvere questo problema. Kevin ottiene il certificato digitale da Mark, che include la chiave pubblica di Mark e il suo nome. Il certificato è firmato digitalmente dalla Certificate Authority (CA) di fiducia – l’hash del certificato è criptato con la chiave privata della CA di fiducia. Kevin ha la lista delle CA di fiducia (con le loro chiavi pubbliche) nel suo sistema operativo. Questo permette a Kevin di verificare che la chiave pubblica appartenga effettivamente a Mark.
6. Memorizzazione della chiave privata
Una volta che la chiave privata di Mark viene rubata, la sicurezza è rotta. Allora, Mark non è l’unico a conoscere la sua chiave privata, e il non ripudio non è stabilito. Ecco perché la chiave privata deve essere conservata in modo sicuro. La complessità è il peggior nemico della sicurezza. Quindi, i personal computer e gli smartphone non sono una buona scelta per memorizzare le chiavi private. Abbiamo bisogno di qualcosa di dedicato.
Si raccomanda di memorizzare le chiavi private su smart card per minimizzare il rischio che vengano rubate. Le chiavi private non lasciano le smart card quando vengono create le firme digitali.
7. Riepilogo
Nel mondo digitale, vogliamo verificare chi è veramente il mittente del documento, e quale documento è stato inviato dal mittente (il man-in-the-middle potrebbe aver cambiato il documento durante il percorso verso il destinatario). In altre parole, vogliamo aderire alla proprietà del non-ripudio.
HMAC è usato per fornire integrità e autenticazione dei dati. Non fornisce il non ripudio, perché implica l’uso della chiave, che è condivisa dalle entità comunicanti.
Le firme digitali sono usate per fornire il non ripudio. La sicurezza viene meno quando le chiavi private vengono rubate. Ecco perché le chiavi private dovrebbero essere memorizzate su smart card per ridurre il rischio che vengano rubate.
0 commenti