24.3.8 Firma digitale

GNU Privacy Guard permette i firmare in maniera elettronica il contenuto di file. Se si desidera, ad esempio, firmare il file myfile si può utilizzare il comando

 
$ gpg --clearsign myfile  
che richiederà la passphrase per accedere alla propria chiave privata e poter così firmare il contenuto del file, generando un file myfile.asc, che conterrà qualcosa di simile a quanto di seguito riportato

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Questo è il contenuto del file myfile.
Si tratta di testo in chiaro.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)
iD8ZBQFENEqxQhYkU0JyFkgRAoiyBJ4nHhm6jL1wf+0kQ27MrLCHg+1tFACfTCZu
ShRYZJY7pxuVwQvTJIqPktE=
=wEPu
-----END PGP SIGNATURE-----
Da quanto risulta, viene inserita un’intestazione al file che indica l’inizio di un’informazione firmata e viene indicato il tipo di algoritmo utilizzato come funzione hash8 (in questo caso SHA-1). Quindi viene inserita in coda all’informazione originaria contenuta nel file la vera e propria firma digitale.

Chiunque può verificare la firma presente nel file myfile.asc così creato, per mezzo del comando

 
$ gpg --verify myfile.asc  
che permette di verificare, in base al livello di fiducia assegnato alla chiave pubblica (che deve essere presente nel proprio keyring) relativa a quella privata con la quale è stata effettuata la firma, che la firma sia stata effettivamente apposta da chi risulta essere il firmatario, visualizzando un messaggio analogo a quello seguente

gpg: Signature made mer 06 apr 2005 10:54:41 CEST using DSA key ID 8D267827
gpg: Good signature from "Daniele Masini (daniele) <d.masini@tiscali.it>"
gpg: ATTENZIONE: questa chiave non è certificata con una firma fidata!
                                                                        
                                                                        
gpg:          Non ci sono indicazioni che la firma appartenga al proprietario.
Impronta digitale della chiave primaria: 6EEC 205F 3577 A542 9F65  2C03 9996 B5F3 8D26 7827