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 22 e 23
Versione 22 del 28/05/2007 19.40.44
Dimensione: 14457
Autore: LeoIannacone
Commento: Reso nome migliore.
Versione 23 del 03/06/2007 19.36.57
Dimensione: 14479
Commento: da rivedere
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 270: Linea 270:
CategorySicurezza CategorySicurezza CategoryDaRevisionare

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])

Interfacce grafiche

Esistono diversi programmi che forniscono un'interfaccia grafica al sottosistema gpg. Di seguito ne vengono descritte alcuni di essi.

Seahorse

Seahorse è lo strumento di gestione delle chiavi predefinito di Ubuntu.

attachment:seahorse.jpg

Per installare il programma è sufficiente digitare il seguente comando:

sudo apt-get install seahorse

GNU Privacy Assistant

Per gli utenti GNOME, gpa è una valida alternativa a seahorse, nel caso si riscontrino problemi con quest'ultimo.

attachment:gpa.jpg

Per installare il programma è sufficiente digitare il seguente comando:

sudo apt-get install gpa

Kgpg

L'applicazione kgpg è un'interfaccia per KDE, utile agli utenti di [:Kubuntu:]

attachment:kgpg.jpg

Per installare il programma è sufficiente digitare il seguente comando:

sudo apt-get install kgpg

È possibile anche utilizzare questi programmi per generare delle chiavi.

Generare una chiave a riga di comando

Digitare il seguente comando in una finestra di terminale:

gpg --gen-key

Apparirà 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.

Verrà chiesto di scegliere una dimensione per la chiave:

What keysize do you want? (2048)

È consigliato lasciare l'impostazione predefinita.

Dopodichè sarà possibile scegliere se impostare una data di scadenza:

Key is valid for? (0)

Molte persone creano le proprie chiavi senza scadenza. Se si effettua tale scelta bisogna ricordarsi di revocare la chiave quando non la si usa più. Premere «Y» per continuare con il processo di configurazione. Il prossimo passaggio riguarda la creazione dell'identificativo:

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>"

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

Successivamente sarà possibile aggiungere ulteriori indirizzi email alla propria firma.

Una volta verificata la correttezza delle informazioni inserire, premere «O» per generare la chiave. Verrà chiesto di inserire una frase d'ordine:

You need a Passphrase to protect your secret key.

L'ideale sarebbe scegliere una breve frase difficile da indovinare. A differenza di una password, una passphrase può contenere anche degli spazi bianchi.

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

Dimenticare la propria passphrase comporta la perdita della chiave.

Una volta inserita la passphrase verrà avviato il processo di creazione della chiave . Seguire le istruzioni a video finché non si raggiunge una schermata simile alla seguente:

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 nell'esempio è «D8FC66D2».

È buona norma configurare questa chiave come la chiave predefinita all'interno del file ~/.bashrc, in modo tale da specificare come automatico l'utilizzo di essa con le altre applicazioni che fanno uso del sistema GnuPg. Per fare ciò basta inserire nel file ~/.bashrc la riga:

export GPGKEY=D8FC66D2

La dicitura «D8FC66D2» va sostituita con il proprio ID.

Ora è necessario riavviare il servizio per la cifratura. A seconda del sistema in uso potrebbe essere necessario terminare uno dei due seguenti processi:

  • gpg-agent:

    killall -q gpg-agent
    eval $(gpg-agent --daemon)
  • seahorse-agent:

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

Infine, eseguire 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 deve essere stampata e conservata con cura.

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

Chiunque abbia accesso al certificato di revoca può rendere la chiave pubblica inutilizzabile.

Caricare una chiave

Questa sezione contiene le istruzioni per caricare la propria chiave in un server di chiavi in modo che tutti possano scaricarla. Una volta caricata su un keyserver, dopo un breve periodo di tempo, tutti gli altri keyserver avranno la propria 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

Per esportare la propia chiave è sufficiente digitare il seguente comando:

gpg --export -a "Key-ID" > public.key

Verrà creato un file public.key contenente la propria chiave pubblica. Ora aprire una finestra del browser e visitare [http://pgp.mit.edu questo] indirizzo. Incollare il contenuto del file public.key nella casella sotto la scritta «Submit a key», dunque fare clic su «Submit this key to the keyserver».

Firmare una chiave

Il sistema di firma delle chiavi di gpg consente di creare una rete di fiducia. Firmare la chiave di una persona significa aver controllato l'identità di quest'ultima e essersi assicurati che essa sia in pieno controllo della propria chiave privata. In questo modo si può creare una rete di individui che si fidano l'uno degli altri. Questa rete è definita come un insieme fortemente connesso, ulteriori informazioni a riguardo si possono trovare a [http://www.cs.uu.nl/people/henkp/henkp/pgp/pathfinder/ questo] indirizzo.

Dato che firmare una chiave significa aver controllato e verificato che una certa chiave pubblica appartenga 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 tale persona.

  2. Durante l'incontro è necessario scambiarsi i fingerprint delle rispettive chiavi e almeno un documento identificativo (con una fotografia all'interno). Tali fingerprint vengono solitamente distribuiti su dei foglietti, creati da degli 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 facilità rende tale procedimento. È necessario creare un file .caffrc nella propria cartella Home con i seguenti valori all'interno:

    $CONFIG{owner} = q{Nome e cognome};
    $CONFIG{email} = q{L'indirizzo email della chiave};
    $CONFIG{keyid} = [ qw{Gli ultimi 16 caratteri del fingerprint della chiave} ];

    Ora basta eseguire il seguente comando, sosituendo la dicitura «id_della_chiave» con l'ID della chiave che si vuole verificare e firmare:

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

Firmare i dati

La firma dei dati è utile per verificare l'identità del mittente.

Firma del Codice di condotta di Ubuntu

Prima di firmare il «Codice di condotta» di Ubuntu è necessario aggiornare il proprio account inserendovi, fra le varie informazioni, la chiave gpg che si desidera utilizzare per tale operazione.

Caricare la chiave in Launchpad

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

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

Launchpad spedirà, all'indirizzo specificato, una mail contenente del testo cifrato con la nuova chiave. Per procedere con l'operazione di decifratura è sufficiente salvare il testo in un file all'interno della propria Home, aprire una finestra di terminale, dunque digitare il seguente comando al suo interno:

gpg --decrypt file.txt

Una volta inserita la passphrase comparirà in chiaro il testo del messaggio, il quale conterrà link da inserire nella barra degli indirizzi del proprio browser per convalidare la chiave.

Firmare il Codice di condotta

Per firmare il «Codice di condotta» di Ubuntu bastano tre semplici passi:

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

  2. Digitare il seguente comando:

    gpg --clearsign UbuntuCodeofConduct-1.0.1.txt
    .
  3. Copiare il contenuto del file appena creato UbuntuCodeofConduct-1.0.1.txt.asc nel relativo campo presente a [https://launchpad.net/codeofconduct/1.0.1/+sign questo] indirizzo.

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 CategoryDaRevisionare