Il programma GnuPG è un programma open source
di crittografia
a chiave pubblica che permette (tra le altre cose)
di firmare in modo attendibile documenti
elettronici, consentendo a chiunque di verificare
se sono stati alterati da estranei.
Questo e` lo scopo con cui lo uso nelle mie pagine
web, o nella posta elettronica.
Rimando a
www.gnupg.org
per ogni ulteriore approfondimento;
qui si trova la documentazione,
anche in italiano, e il programma, per vari
sistemi operativi.
Descrivo invece in breve come si usa il programma
per verificare una firma digitale.
Occorre (oltre al programma!)
il file della mia chiave "pubblica"
(le chiavi crittografiche GnuPG
hanno una parte privata e una pubblica, vedi la
documentazione GnuPG).
Una volta che la si e`
scaricata, la si "importa" nel programma
con il comando (da prompt dei comandi)
Questa operazione va fatta una volta sola.
Quindi, avendo a disposizione il file voti.pdf,
e la relativa firma digitale, voti.pdf.sig, la si verifica
con
Il programma emette sullo schermo una serie di
informazioni tra cui, se tutto è in ordine,
A volte la firma è contenuta all'interno del file
(come in alcuni messaggi di posta elettronica), per
esempio messaggio.txt. Si noti che la sequenza di caratteri
ASCII che segue il messaggio di per sé potrebbe essere
stata creata a caso con qualunque editor di testi; solo il programma
gpg può garantirne l'autenticità, che si verifica con
Resta un problema: come verificare che la mia
chiave pubblica sia proprio la mia e non sia
stata alterata essa stessa? È chiaro che se
esiste questa possibilità, la procedura
descritta sopra diviene inaffidabile.
Dopo aver "importata" la chiave pubblica, eseguite
Il programma emette "Key fingerprint = " seguito
da 10 gruppi di 4 caratteri alfanumerici ciascuno.
Si può ritenere, se questi sono quelli corretti, che la
chiave sia genuina.
Infine: come sapere se questi
sono corretti? La soluzione più semplice è
ottenerli direttamente da me. Per esempio posso
comunicarli in sede di lezione o ricevimento
studenti.