Usare GNU Privacy Guard

Installazione da codice sorgente

  1. scaricare il sorgente da www.gnupg.org o da un altro mirror
  2. 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

  1. 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.
     
  2. 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.

  3. 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:

  1. 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.
  2. 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.

FAQ

  1. 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.
  2. Tutti i dati necessari possono essere recuperati attraverso il comando:
    gpg --fingerprint --list-keys mia_chiave
  3. 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).

  4. 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.