Usare GNU Privacy Guard
Installazione da codice sorgente
- scaricare il sorgente da www.gnupg.org
o da un altro mirror
- de-comprimere e installare il software:
./configure --prefix=/usr --sysconfdir=/etc
--infodir=/usr/share/info --mandir=/usr/share/man
--enable-static-rnd=linux --enable-m-guard
make
su
make install
Installazione su Debian
Se avete una Debian o una distribuzione derivata da essa probabilmente
il software gnupg è gia correttamente installato. Nel caso
aveste dei dubbi potete lanciare il seguente comando da utente root:
apt-get install gnupg
se necessario il programma verra installato automaticamente.
Configurazione iniziale
- generare un nuovo paio di chiavi pubbliche e private
utilizzando il
comando:
gpg --gen-key
Vi verrà chiesto nome, cognome, indirizzo e-mail e un
commento. Questi
dati saranno pubblicati sui vari keyserver quando invierete la vostra
chiave
pubblica e sarà con essi che la chiave stessa
sarà individuata, dovreste quindi di inserire dei dati reali
ed evitare di usare i commenti a meno che non siano strettamente
necessari.
La passphrase
dovrebbe essere scelta con attenzione. Dal punto di vista della
sicurezza, la passphrase usata per sbloccare la chiave privata
è uno dei punti più deboli di GnuPG
(così come di altri sistema di crittografia a chiave
pubblica), in quanto è l'unica protezione che si possiede
nel caso in cui un'altra persona entri in possesso della propria chiave
privata. Idealmente la passphrase non dovrebbe utilizzare parole prese
da un dizionario e dovrebbe usare tanto caratteri minuscoli e minuscoli
quanto caratteri non-alfabetici. Una buona passphrase è
cruciale per un uso sicuro di GnuPG.
- creare un certificato di revoca con il seguente comando:
gpg --armor --output revoca.asc --gen-revoke mia_chiave
L'argomento mia_chiave deve essere uno specificatore di chiave,
cioè o l'ID della propria coppia primaria di chiavi o una
qualsiasi altra parte dello User ID che identifica la propria coppia di
chiavi. Il certificato generato verrà riposto nel file
revoca.asc. Se l'opzione --output è omessa, il risultato
verrà stampato sullo standard output. Poiché il
certificato è breve, si può pensare di stamparne
una copia e tenerlo al sicuro da qualche parte, ad esempio nella
propria cassetta di sicurezza. Il certificato non dovrebbe venir
riposto in luoghi dove altri possono aver accesso in quanto chiunque
può pubblicare il certificato di revoca e rendere la chiave
pubblica corrispondente inutile.
- esportare la propria chiave pubblica con il comando:
gpg --armor --export
Aprire la pagina su un qualsiesi keyserver
e incollare il testo ottenuto dal precedente comando
nell'apposito form.
Non eseguite questo
passaggio con chiavi di test. Una volta inviata la chiave non
potrà più essere cancellata, neppure dagli
amministratori dei vari server.
Keyserver italiano
PLUG (Prato
Linux User Group), con il
supporto di ILS,
gestisce un keyserver italiano. Il keyserver
è accessibile con un normale browser tramite l'URL keyserver.linux.it.
Per richiedere una chiave al keyserver si può usare
il comando:
gpg --keyserver keyserver.linux.it --recv-key id_chiave
Per inviare inviare una chiave al keyserver si può
usare il comando:
gpg --keyserver keyserver.linux.it --send-key id_chiave
Se non si vuole dover specificare ogni volta il keyserver da
utilizzare è possibile impostare il server di default
inserendo nel file $HOME/.gnupg/gpg.conf (nelle versioni precedenti di
gnupg $HOME/.gnupg/options) la seguente linea:
keyserver x-hkp://keyserver.linux.it
Revocare una chiave
Se ci si dimentica la passphrase o se
la propria chiave privata viene compromessa o persa, si può
pubblicare il certificato
di revoca per segnalare ad altri che
la chiave pubblica non deve più essere usata. Una chiave
pubblica revocata può comunque ancora essere utilizzata per
verificare firme fatte in passato, ma non può più
essere usata per cifrare futuri messaggi. Inoltre la revoca non
influisce sulla propria capacità di decifrare messaggi
spediti in passato, se si possiede ancora l'accesso alla chiave privata.
Per pubblicare il certificato revoca comandi sono i
seguenti:
gpg --import revoca.asc
gpg --send-key mia_chiave
Firmare una chiave
Una chiave andrebbe firmata solo se sussistono almeno due
condizioni:
- Il proprietario della chiave convince il firmatario che
quella
indicata nell'UID della chiave è davvero la propria
identità, usando
qualunque mezzo di prova che il firmatario accetti come convincente.
Di solito questo significa che il proprietario della chiave deve
mostrare un documento di identità rilasciato da un
autorità statale, che
contenga una fotografia e informazioni che identifichino il
proprietario
della chiave. Alcune persone sanno che i documenti
d'identità prodotti
dagli stati sono facilmente falsificabili e che il grado di fiducia
delle autorità che li emettono è spesso sospetto,
quindi potrebbero
richiedere documenti di identità aggiuntivi e/o alternativi.
- Il proprietario della chiave verifica che l'impronta
digitale e la
lunghezza della chiave che sta per essere firmata è davvero
la sua.
La cosa più importante è che se il proprietario
della chiave non
partecipa attivamente allo scambio, non è possibile
soddisfare nessuno
dei due requisiti visti sopra. Per quanto riguarda il primo requisito,
nessuno può completare la parte spettante al proprietario
della chiave
al suo posto, altrimenti chiunque rubi un documento di
identità potrebbe
facilmente farsi firmare una chiave facendosi passare per un
delegato del proprietario. Per quanto riguarda il secondo requisito,
nessuno può completare la parte spettante al proprietario
della chiave,
altrimenti il delegato potrebbe sostituire l'impronta digitale con
quella di una nuova chiave che riporta il nome del proprietario,
inducendo così a firmare una chiave sbagliata.
- Occorrente: copie stampate dell'impronta digitale e della
lunghezza
della chiave GnuPG e un documento per provare la vostra
identità
(passaporto, patente, o simili).
- Le impronte digitali e le indicazioni sulla lunghezza
della chiave
vanno distribuite alle altre persone, che firmeranno la vostra chiave
dopo l'incontro.
- Firmate una chiave solo dopo aver verificato
l'identità del
proprietario.
- Dopo l'incontro, dovrete scaricare la chiave GnuPG per
firmarla.
Potete usare questo comando:
gpg --keyserver keyserver.linux.it --recv-keys chiave_da_firmare
Nota: per specificare una chiave è possibile
usare le ultime otto cifre esadecimali della sua impronta digitale.
Inoltre lo 0x all'inizio è facoltativo.
- Per firmare la chiave, entrate nel menu edit con
gpg --edit-key chiave_da_firmare
- In GnuPG selezionate tutti gli UID da firmare con
uid
n,
dove n è il numero dell'UID
mostrato nel menu. Potete anche
premere invio per firmare tutti gli UID.
- Per firmare una chiave, scrivete
sign.
Vi verrà
mostrata l'impronta digitale e la lunghezza della chiave, da
confrontare
con quella che vi ha consegnato il proprietario della chiave.
- Alla richiesta del livello di attenzione con cui avete
controllato
l'autenticità della chiave, scegliete "(2) L'ho controllata
superficialmente".
- Uscite da GnuPG con
quit
- Per verificare di aver firmato correttamente la chiave,
potete usare:
gpg --list-sigs chiave_da_firmare
Dovreste vedere il vostro nome e la vostra impronta
digitale (in forma breve) nella lista.
- Se tutto è a posto, potete spedire la chiave
firmata al
proprietario, con il comando:
gpg --armor --export chiave_da_firmare > chiave_di_tizio.key
L'opzione --armor esporta la
chiave in formato ASCII, in modo che possa essere spedita per e-mail
senza rischi di danneggiamento.
- Se qualcuno firma la vostra chiave, potete inviarla ai
keyserver con il comando:
gpg --import mia_chiave_firmata.key
gpg --keyserver keyserver.linux.it --send-keys mia_chiave
FAQ
- come posso recuperare i dati necessari a identificare la
mia chiave per farla firmare da un altro?
Per identificare una chiave sono necessari tutti gli identificativi associati alla chiave e la sua fingerprint.
- Tutti i dati necessari possono essere recuperati attraverso il comando:
gpg --fingerprint --list-keys mia_chiave
- come posso fare per evitare che ogni volta appaia
il messaggio "gpg: Attenzione: si sta usando memoria insicura!"
?
All'interno del file ~/.gnupg/gnupg.conf bisogna
inserire
la riga: no-secmem-warning. La soluzione corretta
è comunque quella di impostare l'eseguibile gpg
con i permessi SUID (da root: chown root
/usr/bin/gnupg; chmod u+s /usr/bin/gnupg).
- i comandi non funzionano con il keyserver
specificato!
Gli utenti dietro un firewall o che usano il NAT in azienda hanno
qualche problemino, per risolverlo basta specificare nel file
$HOME/.gnupg/gpg.conf la seguente riga:
keyserver x-broken-hkp://keyserver.linux.it:11371
Nel caso il firewall permettesse di uscire solamente con la porta http
(80) è possibile accedere al server keyserver.linux.it anche
su quella porta con la seguente riga:
keyserver x-broken-hkp://keyserver.linux.it:80
Ulteriore Documentazione
Licenza
Copyright (c) 2006
Marco Nenciarini
<mnencia@linux.it>.
Copyright (c) 2002
Antonio Gallo
<agx@linux.it>.
È garantito il permesso di
copiare, distribuire e/o modificare questo documento seguendo i termini
della GNU Free Documentation License, Versione 1.1 o ogni versione
successiva pubblicata dalla Free Software Foundation; senza
Sezioni non Modificabili.