GnuPG: GNU Privacy Guard
GnuPG: GNU Privacy Guard
GnuPG è un programma in grado di generare e gestire delle chiavi per cifrare e firmare dei file o messaggi; naturalmente è possibile anche decifrarli o controllare l’autenticità di un messaggio.
GnuPG si basa sull’uso delle chiavi pubbliche e private, quella pubblica viene distribuita ai destinatari mentre quella privata rimane segreta.
Dopo aver scaricato e installato il programma (eventualmente compilato) si può procedere all’importazione o alla creazione delle chiavi.
Su Windows bisogna aprire la riga di comando ( Start> esegui> cmd), e lanciare il programma indicando il path C:/Programmi/GNU/GnuPG/gpg.exe.
Per generare una chiave si usa il parametro –gen-key
Linux: gpg –gen-key
Windows: C:/Programmi/GNU/GnuPG/gpg.exe –gen-key
Appariranno le seguenti scritte:
gpg (GnuPG) 1.4.7; Copyright (C) 2006 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.
Per favore scegli che tipo di chiave vuoi:
(1) DSA e ElGamal (default)
(2) DSA (firma solo)
(5) RSA (firma solo)
Cosa scegli?
Per generare le chiavi è opportuno digitare 1 e premere INVIO
Alla richiesta di indicare la dimensione della chiave, è consigliato inserire il numero maggiore (2048).
Successivamente bisogna scegliere per quanto saranno valide le chiavi.
Per favore specifica per quanto la chiave sarà valida.
0 = la chiave non scadrà
<n> = la chiave scadrà dopo n giorni
<n>w = la chiave scadrà dopo n settimane
<n>m = la chiave scadrà dopo n mesi
<n>y = la chiave scadrà dopo n anni
Chiave valida per?
Generalmente per un uso personale è conveniente indicare che la chiave non scada mai.
Dopo questo passaggio, è necessario digitare il nome e il cognome del proprietario, un indirizzo e-mail e un commento per la chiave (ufficio, personale…)
Il programma ha bisogno di una passphrase, una “password” per cifrare la chiave. Questa passphrase sarà usata ogni volta che si cifrerà un file o invierà un messaggio firmato.
E’importante scegliere una frase lunga con caratteri maiuscoli, minuscoli, cifre, lettere accentate…
Ora che la chiave è stata generata è utile creare un certificato di revoca per la chiave pubblica.
Questo certificato serve ad indicare ai possessori della chiave pubblica che questa non deve più essere adoperata; nell’eventualità che venga dimenticata la passphrase.
gpg –output revoca.asc –gen-revoke mia_chiave
Dove mia_chiave è l’id della coppia di chiavi.
L’id si può ottenere da (BB3576AC):
gpg –list-keys
/users/frank/.gnupg/pubring.gpg
—————————————
pub 1024D/BB3576AC 2006-06-04 Frank Willer (office) <frank@willer.com>
sub 1024g/78E928FA 2006-06-04
Il certificato deve essere custodito al sicuro, insieme alla chiave privata.
Per consegnare la chiave pubblica al destinatario, si può esportarla.
Con il comando (dove pub_key è l’id della chiave pubblica):
gpg –armor –export pub_key
Il file ora può essere consegnato al destinatario.
Per importare una chiave pubblica di un utente che vuole inviare un messaggio o un file cifrato
gpg –import blake.gpg
Dove blake.gpg è il file contente la chiave pubblica.
Ora controllando la lista delle chiavi è possibile notare che nel portachiavi c’è una chiave pub in più
gpg –list-keys
/users/frank/.gnupg/pubring.gpg
—————————————
pub 1024D/BB3576AC 2006-06-04 Frank Willer (office) <frank@willer.com>
sub 1024g/78E928FA 2006-06-04
pub 1024D/9E98BC16 1999-06-04 Blake (esecutore) <blake@cyb.org>
sub 1024g/5C8CBD41 1999-06-04
La chiave importata va validata, naturalmente se si è certi della provenienza sicura della chiave altrimenti non è da fare. Prima di tutto occorre usare il parametro edit.
alice% gpg –edit-key blake@cyb.org
pub 1024D/9E98BC16 created: 1999-06-04 expires: never trust: -/q
sub 1024g/5C8CBD41 created: 1999-06-04 expires: never
(1) Blake (esecutore) <blake@cyb.org>
Col comando fpr, si visualizza il footprint della chiave:
Comando> fpr
pub 1024D/9E98BC16 1999-06-04 Blake (esecutore) <blake@cyb.org>
Impronta digitale: 268F 448F CCD7 AF34 183E 52D8 9BDE 1A08 9E98 BC16
L’impronta digitale, o footprint, va controllato con quello in possesso di colui che ha inviato la chiave. Dopo aver comprovato l’autenticità della chiave la si può firmare col comando:
Comando> sign
pub 1024D/9E98BC16 created: 1999-06-04 expires: never trust: -/q
Fingerprint: 268F 448F CCD7 AF34 183E 52D8 9BDE 1A08 9E98 BC16
Blake (esecutore) <blake@cyb.org>
Sei davvero sicuro di volere firmare questa chiave
con la tua chiave: “Frank Willer (office) <frank@willer.com>”
Firmo davvero?
Prosegue in un prossimo articolo…