La firma digitale , certificati digitali, algoritmi a chiave simmetrica e asimmetrica. Crittografia Pt. 2.0
Introduzione
La firma digitale ci permette di conoscere con certezza il fautore del messaggio, pertanto ci consente di applicare il principio di Non Ripudiabilità, secondo il quale il soggetto che ha creato il messaggio non può rinnegare di essere stato lui il creatore .
Come funziona la firma digitale ?
L'utente possiede un dispositivo di firma sicuro rilasciato da un ente certificato in modo che il destinatario ha la certezza che la chiave che sta utilizzando è proprio la sua o che non si a rubata a terzi. Il dispositivo che viene rilasciato è dotato di un PIN in modo da avere un'autenticazione forte e sicura.
Durante l'apposizione della firma digitale sul documento che potrà essere un PDF un DOC o un altro qualsiasi file , quest'ultimo verrà incapsulato in una busta crittografata. Il file che prima aveva un'estensione .doc .pdf ecc... con questo imbustamento avrà un'estensione .p7m, ovvero il formato PKCS#7.
Ma nel pratico come avviene questo processo ?
Immaginiamo un'ipotetica situazione in cui abbiamo un mittente di nome Faustino e un destinatario di nome Paolino. Il mittente Faustino scrive un messaggio in chiaro, questo messaggio viene ricalcolato mediate una funzione chiamata funzione HASH, questa funzione permette di mutare il messaggio in chiaro in un messaggio solitamente di 32 caratteri. Sulla funzione HASH ci torniamo successivamente in modo da risolvere tutti i dubbi.
Quindi Faustino crea un messaggio, tramite la funzione HASH questo messaggio diventa di circa 32 caratteri, circa 128 bit. Faustino cifra il messaggio con la sua chiave privata quindi con la chiave privata del mittente e invia al destinatario Paolino sia il messaggio in chiaro che è diventato un HASH sia il messaggio criptato.
Entrambi i file arriveranno al destinatario, Paolino con la chiave pubblica di Faustino decifra il messaggio criptato e lo confronta al messaggio in chiaro che inizialmente è stato inviato. Se i due messaggi corrispondono siamo sicuri che il file non ha avuto cambiamenti e che quindi è arrivato integro al destinatario (principio di integrità) e sappiamo anche che ad inviare il messaggio è stato proprio Faustino perché ha usato la sua chiave privata che solo lui conosce.
- Faustino scrive un messaggio
- Questo messaggio viene ricalcolato con la funzione HASH
- Il messaggio HASH (ancora messaggio in chiaro) viene cifrato con la chiave privata di Faustino, cioè con la chiave privata del mittente
- Faustino invia sia il file cifrato con la sua chiave privata sia il messaggio in chiaro cioè il file HASH.
- I file arrivano al destinatario Paolino. Paolino decifra il file criptato con la chiave pubblica di Faustino, avendo così la certezza che ad inviare il messaggio è stato proprio Fausto. (Autenticazione)
- Prende il file decriptato (che è ancora un file HASH), e lo confronta al messaggio in chiaro che Fausto ha mandato senza cifrarlo. Se i due file sono identici, il messaggio non è stato cambiato o manomesso (Integrità)
- Chiave pubblica del proprietario
- Identità del proprietario
- Tempo di validità
- Numero di serie
- Firma digitale della CA
Funzioni HASH
- Qualsiasi file gli viene passato di qualsiasi dimensione, viene calcolato e viene riscritto sotto forma di una stringa di circa 32 caratteri, 128 byte.
- Deve essere facile fare l'operazione inversa e quindi ricavare il messaggio iniziale ma deve essere anche difficile trovare una copia uguale della stringa di 32 caratteri, quindi non deve essere possibile avere un omonimo file Hash.
Algoritmi a chiave simmetrica e asimmetrica.
- 8 bit di controllo
- 56 bit lunghezza della chiave
Algoritmi a chiave Asimmetrica
- SHA-0 : obsoleto, fu la prima funzione SHA che verrà subito dopo sostituito da SHA-1
- SHA-1 : Era l'evoluzione di Sha-0, ma comunque poco efficiente poiché fu violato nel 2005 da crittoanalisti cinesi
- SHA-2 : fu una funziona che su suddivisa in sottofamiglie a seconda della lunghezza in bit che si utilizzavano, questo fu uno tra i primissimi algoritmi utilizzati nel web 2.0 per proteggere transazioni online o siti e-commerce
- SHA-3 : l'evoluzione più prestante di SHA-2, attualmente in uso. Questa funziona Hash ha rimpiazzato quasi completamente la precedente.
Commenti
Posta un commento