La firma digitale è un metodo per attestare che un messaggio di posta elettronica che abbiamo ricevuto sia stato effettivamente inviato dal mittente dichiarato e che il suo contenuto non sia stato alterato.
Che cosa è la firma digitale?
É possibile che abbiamo ricevuto un messaggio di posta elettronica con una serie di numeri e lettere in coda al messaggio stesso. Sebbene possa sembrare un inutile allungamento del testo o un qualche tipo di errore, queste stringhe alfanumeriche dette “fingerprint” possono essere usate per autenticare il mittente e la correttezza del messaggio. La generazione della firma digitale avviene sfruttando un algoritmo che “mescolerà” il testo del messaggio con una chiave. Il risultato sarà una serie di numeri e lettere apparentemente senza senso.
Perché dovremo usare la firma digitale?
La possibilità che un malintenzionato simuli il nostro indirizzo di posta e la necessità di essere certi dell’origine del messaggio di posta elettronica che riceviamo, sono tutte valide ragioni per attuare l’uso della firma digitale. L’autenticazione serve soprattutto per la corrispondenza in ambito business, quando risulta vitale attestare che le informazioni provengano effettivamente dal mittente visualizzato. Un messaggio di posta elettronica firmato indica anche che il suo contenuto non è stato modificato dato che ogni minima modifica comprometterebbe la validità della firma stessa.
Come funziona?
Prima di poter capire come funziona la firma digitale, è bene comprendere un po' di terminologia.
-
Keys: le chiavi sono usate per creare la firma digitale. Per ogni firma, esiste una chiave pubblica ed una privata.
-
Chiave pubblica: la chiave pubblica è la porzione della chiave che è messa a disposizione degli altri utenti. Se si effettua l’upload della chiave pubblica in un “public key ring” o se si invia ad un altro utente, quella è la chiave che sarà usata per validare la firma. Una lista di persone che ha firmato la nostra lista a chiave pubblica sono incluse nella stessa. La possibilità di identificare questa lista di persone è subordinata alla ricezione delle loro chiavi pubbliche, che faranno parte del “key ring”.
-
Chiave privata: la chiave privata è quella chiave che serve per firmare il messaggio di posta elettronica. La chiave privata è protetta da password e non deve essere data a nessuno.
-
Key ring: il key ring è un raccoglitore delle chiavi pubbliche (si pensi al comune portachiavi). In pratica programmi come PGP, permettono di inserire le chiavi pubbliche ricevute direttamente o scaricate d un server. Un “public key server” contiene e mette a disposizione su internet le chiavi pubbliche di tutte quelle persone che intendono pubblicare e rendere disponibili le proprie chiavi.
-
Fingerprint: ogni firma digitale corrisponde ad una impronta digitale (che in pratica corrisponde a quella serie di numeri e lettere posti in coda al messaggio di posta elettronica), questa serve ad attestare che effettivamente il documento è stato firmato dal corrispondente.
-
Key certificate: quando si estrae dal proprio key ring, solitamente si controlla anche il certificato abbinato a quella chiave, dove possiamo visionare le informazioni circa la chiave:
-
proprietario
-
data di creazione
-
data di scadenza.
-
Web of trust: quando qualcuno firma la nostra chiave pubblica, questo conferma alle altre persone, magari che hanno delle perplessità, che la chiave effettivamente appartiene al creatore. Praticamente chi firma la chiave fa da garante. Infatti più firme si collezionano, più diventa affidabile. É sempre buona norma controllare i fingerprint dei firmatari.
Il processo di creazione, di importazione e uso delle chiavi è abbastanza diretto:
-
Generare la coppia di chiavi usando programmi come Pretty Good Privacy, più brevemente PGP, o GNU Privacy Guard (GnuPG).
-
Incrementate l’autenticità della nostra chiave pubblica facendola firmare dai colleghi, per esempio, che hanno anch’essi delle loro chiavi. Nel processo di autenticazione della nostra chiave pubblica, loro confermeranno che il fingerprint della chiave effettivamente appartiene al creatore.
-
Effettuando l’upload della nostra chiave pubblica firmata su un server, permetteremo a chi riceve della posta elettronica da noi di poter controllare l’autenticità della chiave.
-
Firmare digitalmente le nostre e-mail.
I particolari di creazione, gestione, importazione ed esportazione delle chiavi variano a seconda del programma usato.