Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "Sicurezza/GnuPg"
Differenze tra le versioni 8 e 9
Versione 8 del 12/05/2007 13.02.20
Dimensione: 13231
Commento: modificata introduzione
Versione 9 del 12/05/2007 15.20.19
Dimensione: 13156
Commento: tolto link non funzionante
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 189: Linea 189:
Linea 233: Linea 232:
 * [http://www.linuxgazette.com/node/8746 Usare GnuPG su Linux Gazette]

BR

Introduzione

attachment:logo_piccolo.png

In questa pagina viene presentato GnuPg, il sistema di crittografia predefinito di Ubuntu. Oltre al comando gpg verrà illustrato l'uso delle più comuni interfacce grafiche.

BRBR

  • GnuPG utilizza la crittografia a chiave pubblica per permettere a coloro che lo utilizzano di comunicare in sicurezza. In un sistema a chiave pubblica ogni utente ha una coppia di chiavi consistenti in una chiave privata e una chiave pubblica. La chiave privata di una persona viene tenuta segreta; non deve mai essere rivelata. La chiave pubblica può essere data a tutti coloro con i quali l'utente vuole comunicare.

(Estratto dal [http://www.gnupg.org/gph/it/index.html Manuale di GNUPG])

Generare una chiave GPG

Il pacchetto richiesto per eseguire pgp viene installato in modo predefinito.

Esistono diversi programmi che forniscono un'interfaccia grafica al sottosistema gnupg.

  • GNU Privacy Assistant (gpa)

    sudo apt-get install gpa
  • [http://seahorse.sourceforge.net/ Seahorse]

    sudo apt-get install seahorse
  • KGPG, un'interfaccia per KDE

    sudo apt-get install kgpg

È possibile anche utilizzare questi programmi per generare delle chiavi, nel qual caso la sezione sottostante va usata come consigli.

Usare GnuPG

Da terminale:

gpg --gen-key

Questo comando porterà ad una schermata di selezione con le seguenti opzioni

Please select what kind of key you want:
   (1) DSA and Elgamal (default)
   (2) DSA (sign only)
   (5) RSA (sign only)

La scelta predefinita (1) è la migliore, in quanto le altre non possono essere utilizzate per criptare.

What keysize do you want? (2048)

La dimensione della chiave di 2048 è una buona scelta.

Key is valid for? (0)

Molte persone creano le proprie chiavi senza scadenza. Se si sceglie ciò bisogna ricordarsi di revocare la chiave quando non la si usa più. Premere «Y» per procedere.

You need a user ID to identify your key; the software constructs the user ID
from the Real Name, Comment and Email Address in this form:
    "Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>"

Real name: Dennis Kaarsemaker
Email address: dennis@kaarsemaker.net
Comment: Tutorial key
You selected this USER-ID:
    "Dennis Kaarsemaker (Tutorial key) <dennis@kaarsemaker.net>"

Assicurarsi che il nome nella chiave sia lo stesso del vostro passaporto, o di qualsiasi altra fonte di identificazione! È possibile aggiungere email addizionali alla firma anche in seguito.

Premere «O» per generare la chiave.

You need a Passphrase to protect your secret key.

Verrà chiesta la passphrase (frase d'ordine) due volte. Solitamente una breve frase difficile da indovinare può essere usata. A differenza di una password, una passphrase può contenere anche spazi bianchi.

Immagine(Icone/Piccole/warning.png,,center)

Dimenticarsi la propria passphrase comporta l'inutilizzo della chiave. È pertanto necessario ricordarsi questa password, in quanto non c'è modo di recuperarla in seguito!

Dopo aver inserito la propria passphrase, la chiave verrà generata. Seguire le istruzioni a video finché non si raggiunge una schermata come questa:

gpg: key D8FC66D2 marked as ultimately trusted
public and secret key created and signed.

pub   1024D/D8FC66D2 2005-09-08
      Key fingerprint = 95BD 8377 2644 DD4F 28B5  2C37 0F6E 4CA6 D8FC 66D2
uid                  Dennis Kaarsemaker (Tutorial key) <dennis@kaarsemaker.net>
sub   2048g/389AA63E 2005-09-08

L'ID della chiave è D8FC66D2, il vostro naturalmente sarà diverso.

È buona norma configurare questa chiave come la chiave predefinita all'interno del file .bashrc, così che altre applicazioni che utilizzano GPG possano usare questa chiave. Per fare ciò basta inserire nel file ~/.bashrc la riga:

export GPGKEY=D8FC66D2

Riavviare quindi gpg-agent (se presente):

killall -q gpg-agent
eval $(gpg-agent --daemon)

ed eseguite questo comando:

source ~/.bashrc

Certificato di revoca

Un certificato di revoca deve essere generato per consentire la revoca della propria chiave pubblica nel caso in cui la chiave privata sia stata compromessa.

Per creare un certificato di revoca, da terminale digitare:

gpg --output revoke.asc --gen-revoke <KEY-ID>

La chiave può essere stampata e conservata con cura. Chiunque abbia accesso al certificato di revoca può rendere la chiave pubblica inutilizzabile!

Caricare una chiave

Questa sezione spiegherà come caricare la propria chiave in un keyserver in modo che tutti possano scaricarla. Quando sarà caricata in un keyserver, dopo un breve periodo di tempo, tutti i keyserver avranno la vostra firma. È possibile velocizzare questo procedimento spedendo la propria chiave a più server.

Utilizzando GnuPG

gpg --send-keys --keyserver keyserver.ubuntu.com <KEY-ID>

Utilizzando un browser web

  • Esportare la propia chiave:

    gpg --export -a "Key-ID" > public.key
  • Copiare il contenuto del file public.key

  • In una finestra del proprio web browser aprire questo indirizzo: [http://pgp.mit.edu]

  • Incollare il contenuto del file public.key nella casella sotto la scritta «Submit a key»

  • Fare clic su «Submit this key to the keyserver»

Firmare una chiave

Il punto più importante con GPG è quello di crearsi un «web of trust», una rete della fiducia. Firmare la chiave di una persona significa aver controllato l'identità di quella persona e essersi assicurati che essa sia in pieno controllo della propria chiave privata. In questo modo si può creare una rete di persone che si fidano l'un l'altra. Questa rete è definita come «Strongly connected set» (un insieme fortemente connesso), informazioni a riguardo si possono trovare in [http://www.cs.uu.nl/people/henkp/henkp/pgp/pathfinder/ www.cs.uu.nl].

In pratica:

  • Trovare qualcuno che viva vicino voi con cui poter incontrarsi per verificare la vostra ID. Un sito come [http://www.biglumber.com/ biglumber] serve proprio a questo

  • Organizzare un incontro. Portare con voi un documento e il fingerprint della vostra chiave, chiedere lo stesso alla persona da incontrare
  • Incontrarsi, verificare le ID e scambiarsi i fingerprint
  • Firmare la chiave della persona appena incontrata e rispedirgli/le la chiave appena firmata
  • Aggiornare le vostre chiavi nel keyserver

Guida alla firma delle chiavi

Dato che firmare una chiave significa aver controllato e verificato che una certa chiave pubblica appartiene a una tale persona che possiede la relativa chiave privata, è necessario seguire questi semplici accorgimenti quando si firma una chiave:

  1. Il procedimento di firma di una chiave è sempre svolto dopo aver incontrato questa persona

  2. Durante l'incontro è necessario scambiarsi i fingerprint delle rispettive chiavi e almeno un documento identificativo (con una fotografia all'interno). Questi fingerprint sono solitamente distribuiti su dei foglietti, creati da uno script come gpgkey2ps (pacchetto signing-party)

  3. Controllare che il nome nella chiave corrisponda con quello del documento identificativo
  4. Dopo questi controlli accertarsi che la persona sia veramente in possesso della chiave privata. Per fare ciò basta rispedire a lei/lui la sua chiave pubblica firmata e criptata con la ripettiva chiave pubblica. Il programma caff rende questo procedimento molto facile. È necessario creare un file .caffrc nella vostra home directory con i seguenti valori all'interno:

    $CONFIG{owner} = q{Your full name here};
    $CONFIG{email} = q{The emailaddress used in your key here};
    $CONFIG{keyid} = [ qw{last 16 characters of your key fingerprint here} ];

    Ora basta eseguire questo comando:

    caff key_id_of_other_persons_key
  5. Quando si ricevono chiavi firmate, si ricevono come allegati, salvarli e importarli con gpg. Ora è possibile inviare queste chiavi ad un keyserver.

Firmare i dati

La firma dei dati è molto utile nel verificare che i dati spediti da un utente siano veramente spedite da quell'utente.

Firma del codice di condotta

Quando GPG sarà configurato e una chiave è disponibile, è possibile firmare il Codice di condotta di Ubuntu se si vuole diventare un «Ubuntero».

Bastano tre semplici passi:

  1. Scaricare il Codice di condotta da [https://launchpad.net/codeofconduct/1.0.1 launchpad.net]

  2. Eseguire il comando:

    gpg --clearsign UbuntuCodeofConduct-1.0.1.txt
  3. Copiare il contenuto di UbuntuCodeofConduct-1.0.1.txt.asc in [https://launchpad.net/codeofconduct/1.0.1/+sign]

Immagine(Icone/Piccole/warning.png,,center)

È necessario informare Launchpad della vostra/e chiave/i GPG per poter firmare il Codice di condotta e per poter creare pacchetti con HCT.

Una volta fatto il login in Launchpad, fare clic sul proprio nome in alto a destra e poi su «Edit OpenPGP keys». Copiare il fingerprint della chiave all'interno della casella di testo «Key Fingerprint».

Esempio: il fingerprint di una chiave assomiglia a "95BD 8377 2644 DD4F 28B5 2C37 0F6E 4CA6 D8FC 66D2".

Launchpad vi spedirà una mail che dovrà essere decifrata. È possibile salvare il testo in un file ed eseguire:

gpg --decrypt file.txt

Sarà necessario inserire la passphrase.

Verrà visualizzato il messaggio con un link per la conferma della chiave.

Fare clic su questo link e inserire la password di Launchpad.

Firmare e criptare email

Questa sezione vi aiuterà a configurare Evolution e Thunderbird per firmare e criptare email.

Evolution

  • Aprire Evolution e fare clic su Modifica -> Preferenze

  • Scegliere il proprio account email e poi fare clic su «Modifica»

  • Fare clic sulla linguetta «Sicurezza»

  • Nella casella di testo «ID della chiave PGP/GPG» copiare il vostro KEY-ID

  • Fare clic su «OK» e poi «Chiudi»

Se si desidera utilizzare la chiave in ogni nuova mail, fare clic sul menù «Sicurezza» in un nuovo messaggio e poi su «Firma PGP».

Mozilla Thunderbird

Installare il plugin Enigmail:

sudo apt-get install mozilla-thunderbird-enigmail

o scaricare il plugin da [http://enigmail.mozdev.org/ mozdev] per poi installarlo manualmente.

Configurare GPG in Thunderbird in OpenPGP -> Preferences e nella casella di testo «GnuPG executable path» aggiungere /usr/bin/gpg.

Trucchi e consigli

  • Aggiungere la vostra chiave al file .bashrc inserendo: «export GPGKEY=YOUR-KEY-ID»

  • gpg-agent e pinentry-gtk2 sono pacchetti che consentono di non inserire la password per la vostra chiave tutte le volte che ne fate uso. Aprire il file ~/.gnupg/gpg.conf e cambiare ciò che vi pare opportuno. Alcune cose utili possono essere:

    • keyserver-options auto-key-retrieve

    • use-agent

    Il primo consente di recuperare le chiavi gpg automaticamente dal server quando si verificano le firme, il secondo consente l'utilizzo di gpg-agent che è molto utile se si utilizza GPG molto spesso. Creare quindi il file ~/.gnupg/gpg-agent.conf con le seguenti righe:

    pinentry-program /usr/bin/pinentry-gtk-2
    default-cache-ttl 86400
    max-cache-ttl 86400

    . Questo permetterà l'uso di pinetry-gtk2 con gpg-agent e ricorderà la vostra password per 24 ore.

Il pacchetto pinetry-gtk2 non è disponibile per Hoary, ma è disponibile un backport dal pacchetto per Breezy in [http://seveas.ubuntulinux.nl/].

Articoli correlati

  • [wiki:Ubuntu/GPGKeyOnUSBDrive GPGKeyOnUSBDrive]
  • [wiki:Ubuntu/UnsignedGpgKey UnsignedGpgKey]

  • [wiki:Ubuntu/GPGsigningforSSHHowTo GPGsigningforSSHHowTo]

Ulteriori risorse


CategorySicurezza