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 1 e 45 (in 44 versioni)
Versione 1 del 09/04/2007 14.22.11
Dimensione: 13062
Commento: da linkare dopo aver eliminato vecchia pagina. molto usata. prestare cautela.
Versione 45 del 12/04/2011 10.43.31
Dimensione: 13115
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 1: Linea 1:
## page was renamed from GnuGpg ## page was renamed from Sicurezza/GnuPG
#format wiki
Linea 3: Linea 4:
[[BR]]
||<tablestyle="float:right; font-size: 0.9em; width:40%; background:#F1F1ED; margin: 0 0 1em 1em;"style="padding:0.5em;">'''Indice'''[[BR]] [[TableOfContents(2)]]||
<<Indice>>
<<Informazioni(forum="http://forum.ubuntu-it.org/index.php/topic,385070.0.html"; rilasci=10.10 10.04)>>
= Introduzione =
Linea 6: Linea 8:
''"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."'' -[http://www.gnupg.org/gph/it/index.html Manuale di GNUPG] In questa pagina viene presentato '''Gnu``Pg''', il sistema di crittografia da riga di comando predefinito di Ubuntu.
Linea 8: Linea 10:
= Cosa impareremo = <<BR>><<BR>>
 ||<tablestyle="text-align: justify; width:60%; " style="border-width:0px;" 5%>''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.'' ||
||<tablestyle="text-align: right; width:65%; " style="border-width:0px;" 5%> (Estratto dal [[http://www.gnupg.org/gph/it/index.html|Manuale di GNUPG]])||
Linea 10: Linea 14:
In questo articolo si affronteranno i seguenti argomenti: Esistono diversi programmi che forniscono un'interfaccia grafica al sottosistema '''gpg'''. I programmi seguenti, possono essere utilizzati per generare le chiavi GPG:
 * '''Seahorse''': è lo strumento di gestione delle chiavi predefinito di Ubuntu ed è disponibile, a seconda della versione di Ubuntu in uso, nel menù '''''Sistema → Preferenze → Password e chiavi di cifratura''''' o nel menù '''''Applicazioni → Accessori → Password e chiavi di cifratura'''''. Per informazioni sull'uso dell'applicazione fare riferimento al manuale ufficiale di '''Seahorse''' disponibile nel menù '''''Aiuto → Sommario'''''.
 * '''kgpg''': è un'interfaccia per '''KDE''', utile agli utenti '''Kubuntu'''. Per installare il programma è sufficiente [[AmministrazioneSistema/InstallareProgrammi|installare]] il pacchetto [[apt://kgpg|kgpg]].
Linea 12: Linea 18:
 * Generazione di una chiave GPG
 * Caricare la chiave in un keyserver
 * Firma delle chiavi
 * Firma dei dati
 * Configurazione del client email
= Generare una chiave =
Linea 18: Linea 20:
= 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: {{{
 0. Aprire un terminale e digitare: {{{
Linea 42: Linea 23:
 0. Apparirà una schermata di selezione con le seguenti opzioni: {{{
Selezionare il tipo di chiave desiderato:
   (1) RSA and RSA (default)
   (2) DSA and Elgamal
   (3) DSA (solo firma)
   (4) RSA (solo firma)
}}} La scelta predefinita, «(1)», è la migliore, in quanto fornisce una maggiore robustezza della chiave.
 0. Verrà chiesto di scegliere una dimensione per la chiave: {{{
La lunghezza delle chiavi RSA è compresa tra 1024 e 4096 bit.
Dimensione chiave desiderata? (2048)
}}} È consigliato lasciare l'impostazione predefinita.
 0. Verrà chiesto di 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.
 0. Il passaggio successivo riguarda la creazione dell'identificativo:
  * Inserire il proprio nome reale
  * Inserire il proprio indirizzo email
  * Inserire, a scelta, un commento per qualificare la chiave.
Linea 43: Linea 42:
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)
||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%><<Immagine(Icone/Piccole/note.png,,center)>> ||<style="padding:0.5em; border:none;">''Successivamente sarà possibile aggiungere ulteriori indirizzi email alla propria firma.'' ||


 0. Una volta verificata la correttezza delle informazioni inserite, premere «'''o'''» per generare la chiave. Verrà chiesto di inserire una ''passphrase'': {{{
È necessaria una passphrase per proteggere la proprio chiave segreta.
}}} L'ideale sarebbe scegliere una breve frase difficile da indovinare. A differenza di una ''password'', una ''passphrase'' può contenere anche degli spazi bianchi.

||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5% ^><<Immagine(Icone/Piccole/warning.png,,center)>> ||<style="padding:0.5em; border:none;">'''Dimenticare la propria passphrase comporta la perdita della chiave.''' ||

 0. Una volta inserita la ''passphrase'' verrà avviato il processo di creazione della chiave. Questo verrà annunciato dal seguente messaggio: {{{
Dobbiamo generare un mucchio di byte casuali. È una buona idea eseguire
qualche altra azione (scrivere sulla tastiera, muovere il mouse, usare i
dischi) durante la generazione dei numeri primi; questo da al generatore di
numeri casuali migliori possibilità di raccogliere abbastanza entropia.
Linea 49: Linea 57:
La scelta predefinita (1) è la migliore, in quanto le altre non possono essere utilizzate per criptare.  0. Al termine, si raggiungerà una schermata simile alla seguente: {{{
gpg: key D8FC66D2 marked as ultimately trusted
chiavi pubbliche e segrete create e firmate.
Linea 51: Linea 61:
{{{
What keysize do you want? (2048)
}}}
La dimensione della chiave di 2048 è una buona scelta.
pub 1024D/D8FC66D2 2011-04-07
      Key fingerprint = 95BD 8377 2644 DD4F 28B5 2C37 0F6E 4CA6 D8FC 66D2
uid Mario Rossi <mario@rossi.it>
sub 2048g/389AA63E 2011-04-07
Linea 56: Linea 66:
{{{
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.

||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5% ^>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">A differenza di una password, una passphrase può contenere anche spazi bianchi. ||

||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5% ^>[[Immagine(Icone/Piccole/warning.png,,center)]] ||<style="padding:0.5em; border:none;">'''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:
{{{
Linea 90: Linea 68:
}}} L'ID della chiave nell'esempio è «'''D8FC66D2'''».
Linea 91: Linea 70:
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
 0. È 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.
 0. Ora è necessario riavviare il servizio per la cifratura. A seconda del sistema in uso potrebbe essere necessario terminare uno dei due seguenti processi:
  * '''seahorse-agent''': {{{
killall -q seahorse-agent
eval $(seahorse-agent --daemon)
Linea 96: Linea 78:
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): {{{
  * '''gpg-agent''': {{{
Linea 106: Linea 82:
ed eseguite questo comando: {{{  0. Infine, eseguire questo comando: {{{
Linea 110: Linea 86:
=== Certificato di revoca === = Certificato di revoca =
Linea 118: Linea 94:
La chiave può essere stampata e conservata con cura. '''Chiunque abbia accesso al certificato di revoca può rendere la chiave pubblica inutilizzabile!''' Al posto di "KEY- ID" bisogna inserire l'ID della propia chiave.
Linea 120: Linea 96:
= Caricare una chiave = ||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%><<Immagine(Icone/Piccole/warning.png,,center)>> ||<style="padding:0.5em; border:none;">'''Il certificato deve essere stampato e conservato con cura. Chiunque abbia accesso al certificato di revoca può rendere la chiave pubblica inutilizzabile.''' ||
Linea 122: Linea 98:
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. = Inviare una chiave a un server =
Linea 124: Linea 100:
== Utilizzando GnuPG == Questa sezione contiene le istruzioni per inviare la propria chiave a un server di chiavi in modo che tutti possano scaricarla. Una volta caricata su un server, dopo un breve periodo di tempo, tutti gli altri server di chiavi avranno la propria firma. È possibile velocizzare questo procedimento spedendo la propria chiave a più server.
Linea 126: Linea 102:
{{{ == Inviare una chiave da riga di comando ==

In un terminale digitare: {{{
Linea 130: Linea 108:
== Utilizzando un browser web == Al posto di "KEY- ID" bisogna inserire l'ID della propia chiave.
Linea 132: Linea 110:
 * Esportare la propia chiave: {{{ == Inviare una chiave con un browser web ==

 0. Esportare la propria chiave digitando il seguente comando: {{{
Linea 134: Linea 114:
}}}
 * 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'''»
 * F
are clic su «'''Submit this key to the keyserver'''»
}}} Verrà creato un file `public.key` contenente la propria chiave pubblica.
 0. Aprire una browser e andare al seguente indirizzo: [[http://keyserver.ubuntu.com:11371/]]
 0. 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!'''».
Linea 142: Linea 120:
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]. 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.
Linea 144: Linea 122:
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:
 0. Il procedimento di firma di una chiave è '''sempre''' svolto dopo aver incontrato questa persona
 0. 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'')
 0. Controllare che il nome nella chiave corrisponda con quello del documento identificativo
 0. 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}}}
 0. Quando si ricevono chiavi firmate, si ricevono come allegati, salvarli e importarli con '''`gpg`'''. Ora è possibile inviare queste chiavi ad un keyserver.
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:
 0. Il procedimento di firma di una chiave è '''sempre''' svolto dopo aver incontrato tale persona.
 0. 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 ''gpg-key2ps'' fornito dal pacchetto [[apt://signing-party|signing-party]].
 0. Controllare che il nome nella chiave corrisponda con quello del documento identificativo.
 0. 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 rispettiva chiave pubblica. Il programma '''caff''' facilita 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, sostituendo la dicitura «id_della_chiave» con l'ID della chiave che si vuole verificare e firmare: {{{
caff id_della_chiave}}}
 0. Quando si ricevono chiavi firmate, si ricevono come allegati: salvarli e importarli con '''gpg'''. Ora è possibile inviare queste chiavi ad un server delle chiavi.
Linea 166: Linea 136:
La firma dei dati è molto utile nel verificare che i dati spediti da un utente siano veramente spedite da quell'utente. La firma dei dati è utile per verificare l'identità del mittente.
Linea 168: Linea 138:
== Firma del codice di condotta == <<Anchor(codicecondotta)>>
== Firma del Codice di condotta di Ubuntu ==
Linea 170: Linea 141:
Quando GPG sarà configurato e una chiave è disponibile, è possibile firmare il '''Codice di condotta''' di Ubuntu se si vuole diventare un «'''Ubuntero'''». 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.
Linea 172: Linea 143:
Bastano tre semplici passi:
 0. Scaricare il '''Codice di condotta''' da [https://launchpad.net/codeofconduct/1.0 launchpad.net]
 0. Eseguire il comando: {{{
gpg --clearsign UbuntuCodeofConduct-1.0.txt}}}
 0. Copiare il contenuto di `UbuntuCodeofConduct-1.0.txt.asc` in [https://launchpad.net/codeofconduct/1.0/+sign]
=== Caricare la chiave in Launchpad ===
Linea 178: Linea 145:
||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5% ^>[[Immagine(Icone/Piccole/warning.png,,center)]] ||<style="padding:0.5em; border:none;">'''È 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: {{{
 0. Eseguire l'accesso in [[https://launchpad.net/|Launchpad]].
 0. Fare clic sul proprio nome in alto a destra e poi su «'''Edit OpenPGP keys'''».
 0. Copiare il ''fingerprint'' della propria chiave all'interno della casella di testo «'''Key Fingerprint'''».
 0. Launchpad spedirà, all'indirizzo specificato, un'email 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 e digitare il seguente comando: {{{
Linea 187: Linea 151:
 0. Una volta inserita la ''passphrase'' comparirà in chiaro il testo del messaggio, il quale conterrà un collegamento da inserire nella barra degli indirizzi del proprio browser per convalidare la chiave.
Linea 188: Linea 153:
Sarà necessario inserire la passphrase. === Firmare il Codice di condotta ===
Linea 190: Linea 155:
Verrà visualizzato il messaggio con un link per la conferma della chiave. Per firmare il «'''Codice di condotta'''» di Ubuntu bastano tre semplici passi:
 0. Scaricare il «'''Codice di condotta'''» da questo indirizzo : [[https://launchpad.net/codeofconduct/1.1]]
 0. Digitare il seguente comando: {{{
gpg --clearsign UbuntuCodeofConduct-1.1.txt}}}
 0. Copiare il contenuto del file appena creato `UbuntuCodeofConduct-1.1.txt.asc` nel relativo campo presente a [[https://launchpad.net/codeofconduct/1.1/+sign|questo indirizzo]].
 0. Se l'operazione si è conclusa correttamente, sul proprio profilo Launchpad, nella sezione '''Signed Ubuntu Code of Conduct:''' comparirà la voce '''Yes'''.
Linea 192: Linea 162:
Fare clic su questo link e inserire la password di Launchpad. == Firmare e cifrare email ==
Linea 194: Linea 164:

== Firmare e criptare email ==

Questa sezione vi aiuterà a configurare '''`Evolution`''' e '''`Thunderbird`''' per firmare e criptare email.
Questa sezione vi aiuterà a configurare '''Evolution''' e '''Thunderbird''' per firmare e cifrare le email.
Linea 201: Linea 168:
 * 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''»
 * 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 proprio `KEY-ID`
 * Fare clic su «'''OK'''» e poi '''Chiudi'''
Linea 207: Linea 174:
Se si desidera utilizzare la chiave in ogni nuova mail, fare clic sul menù «''`Sicurezza`''» in un nuovo messaggio e poi su «''Firma PGP''». Se si desidera utilizzare la chiave in ogni nuova mail, fare clic sul menù «'''Sicurezza'''» in un nuovo messaggio e poi su «'''Firma PGP'''».
Linea 211: Linea 178:
Installare il plugin '''Enigmail''':
{{{
sudo apt-get install mozilla-thunderbird-enigmail
 * Installare il plugin '''Enigmail''' installando il pacchetto [[apt://enigmail | enigmail]]
 * In Thunderbird, scegliere il proprio account email da '''''Modifica → Impostazioni account'''''
 * Alla voce '''Open PGP''' inserire nella casella di testo il proprio `KEY-ID` anteponendo `0x`. Per esempio: {{{
0xKEY-ID
Linea 215: Linea 183:
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]
 * Fare clic su «'''OK'''»
Linea 239: Linea 187:
 * [http://www.gnupg.org/gph/it/index.html Manuale di GNUPG]
 * [http://www.linuxgazette.com/node/8746 Usare GnuPG su Linux Gazette]
 * [http://dudu.dyn.2-h.org/nist/gpg-enigmail-howto.php GPG-Enigmail Howto]
 * [http://www.biglumber.com biglumber]
 * [http://itis.olografix.org/gpg.swf GnuPG Guida Flash]
 * [[http://www.gnupg.org/gph/it/index.html|Manuale di GnuPG]]
 * [[http://library.gnome.org/users/seahorse/2.32/|Manuale di Seahorse]]
 * [[http://docs.kde.org/stable/it/kdeutils/kgpg/|Manuale di kgpg]]
 * [[Ubuntu:GPGKeyOnUSBDrive|GPGKeyOnUSBDrive]]
 * [[Ubuntu:UnsignedGpgKey|UnsignedGpgKey]]
 * [[Ubuntu:GPGsigningforSSHHowTo|GPGsigningforSSHHowTo]]
Linea 245: Linea 195:
CategorySicurezza CategoryNuoviDocumenti CategorySicurezza

Problemi in questa pagina? Segnalali in questa discussione

Introduzione

In questa pagina viene presentato GnuPg, il sistema di crittografia da riga di comando predefinito di Ubuntu.



  • 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 Manuale di GNUPG)

Esistono diversi programmi che forniscono un'interfaccia grafica al sottosistema gpg. I programmi seguenti, possono essere utilizzati per generare le chiavi GPG:

  • Seahorse: è lo strumento di gestione delle chiavi predefinito di Ubuntu ed è disponibile, a seconda della versione di Ubuntu in uso, nel menù Sistema → Preferenze → Password e chiavi di cifratura o nel menù Applicazioni → Accessori → Password e chiavi di cifratura. Per informazioni sull'uso dell'applicazione fare riferimento al manuale ufficiale di Seahorse disponibile nel menù Aiuto → Sommario.

  • kgpg: è un'interfaccia per KDE, utile agli utenti Kubuntu. Per installare il programma è sufficiente installare il pacchetto kgpg.

Generare una chiave

  1. Aprire un terminale e digitare:

    gpg --gen-key
  2. Apparirà una schermata di selezione con le seguenti opzioni:

    Selezionare il tipo di chiave desiderato:
       (1) RSA and RSA (default)
       (2) DSA and Elgamal
       (3) DSA (solo firma)
       (4) RSA (solo firma)
    La scelta predefinita, «(1)», è la migliore, in quanto fornisce una maggiore robustezza della chiave.
  3. Verrà chiesto di scegliere una dimensione per la chiave:

    La lunghezza delle chiavi RSA è compresa tra 1024 e 4096 bit.
    Dimensione chiave desiderata? (2048)
    È consigliato lasciare l'impostazione predefinita.
  4. Verrà chiesto di 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.

  5. Il passaggio successivo riguarda la creazione dell'identificativo:
    • Inserire il proprio nome reale
    • Inserire il proprio indirizzo email
    • Inserire, a scelta, un commento per qualificare la chiave.

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

  1. Una volta verificata la correttezza delle informazioni inserite, premere «o» per generare la chiave. Verrà chiesto di inserire una passphrase:

    È necessaria una passphrase per proteggere la proprio chiave segreta.

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

Dimenticare la propria passphrase comporta la perdita della chiave.

  1. Una volta inserita la passphrase verrà avviato il processo di creazione della chiave. Questo verrà annunciato dal seguente messaggio:

    Dobbiamo generare un mucchio di byte casuali. È una buona idea eseguire
    qualche altra azione (scrivere sulla tastiera, muovere il mouse, usare i
    dischi) durante la generazione dei numeri primi; questo da al generatore di
    numeri casuali migliori possibilità di raccogliere abbastanza entropia.
  2. Al termine, si raggiungerà una schermata simile alla seguente:

    gpg: key D8FC66D2 marked as ultimately trusted
    chiavi pubbliche e segrete create e firmate.
    
    pub   1024D/D8FC66D2 2011-04-07
          Key fingerprint = 95BD 8377 2644 DD4F 28B5  2C37 0F6E 4CA6 D8FC 66D2
    uid                  Mario Rossi <mario@rossi.it>
    sub    2048g/389AA63E 2011-04-07
    
    gpg: key D8FC66D2 marked as ultimately trusted
    public and secret key created and signed.

    L'ID della chiave nell'esempio è «D8FC66D2».

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

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

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

      killall -q gpg-agent
      eval $(gpg-agent --daemon)
  5. 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>

Al posto di "KEY- ID" bisogna inserire l'ID della propia chiave.

Il certificato deve essere stampato e conservato con cura. Chiunque abbia accesso al certificato di revoca può rendere la chiave pubblica inutilizzabile.

Inviare una chiave a un server

Questa sezione contiene le istruzioni per inviare la propria chiave a un server di chiavi in modo che tutti possano scaricarla. Una volta caricata su un server, dopo un breve periodo di tempo, tutti gli altri server di chiavi avranno la propria firma. È possibile velocizzare questo procedimento spedendo la propria chiave a più server.

Inviare una chiave da riga di comando

In un terminale digitare:

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

Al posto di "KEY- ID" bisogna inserire l'ID della propia chiave.

Inviare una chiave con un browser web

  1. Esportare la propria chiave digitando il seguente comando:

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

    Verrà creato un file public.key contenente la propria chiave pubblica.

  2. Aprire una browser e andare al seguente indirizzo: http://keyserver.ubuntu.com:11371/

  3. 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 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 gpg-key2ps fornito dal 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 rispettiva chiave pubblica. Il programma caff facilita 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, sostituendo 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

  1. Eseguire l'accesso in Launchpad.

  2. Fare clic sul proprio nome in alto a destra e poi su «Edit OpenPGP keys».

  3. Copiare il fingerprint della propria chiave all'interno della casella di testo «Key Fingerprint».

  4. Launchpad spedirà, all'indirizzo specificato, un'email 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 e digitare il seguente comando:

    gpg --decrypt file.txt
  5. Una volta inserita la passphrase comparirà in chiaro il testo del messaggio, il quale conterrà un collegamento 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 questo indirizzo : https://launchpad.net/codeofconduct/1.1

  2. Digitare il seguente comando:

    gpg --clearsign UbuntuCodeofConduct-1.1.txt
  3. Copiare il contenuto del file appena creato UbuntuCodeofConduct-1.1.txt.asc nel relativo campo presente a questo indirizzo.

  4. Se l'operazione si è conclusa correttamente, sul proprio profilo Launchpad, nella sezione Signed Ubuntu Code of Conduct: comparirà la voce Yes.

Firmare e cifrare email

Questa sezione vi aiuterà a configurare Evolution e Thunderbird per firmare e cifrare le 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 proprio 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 installando il pacchetto enigmail

  • In Thunderbird, scegliere il proprio account email da Modifica → Impostazioni account

  • Alla voce Open PGP inserire nella casella di testo il proprio KEY-ID anteponendo 0x. Per esempio:

    0xKEY-ID
  • Fare clic su «OK»

Ulteriori risorse


CategorySicurezza