Mail criptate e/o firmate con standard OpenPGP usando Icedove/Thunderbird ed Enigmail: differenze tra le versioni

m
correzione menù
(verificata per Stretch)
m (correzione menù)
Riga 6: Riga 6:


==WOT: Web of Trust==
==WOT: Web of Trust==
In questa guida tratto il solo standard aperto ''OpenPGP'', usando '''Thunderbird''' (precedentemente pacchettizzato come ''Icedove'') con estensione '''Enigmail''' e '''GnuPG''': tutti e tre software liberi e multi piattaforma. Per maggiori dettagli rimando agli approfondimenti in fondo alla guida. Quello che è importante sapere è il funzionamento della rete di fiducia ('''WOT''': ''web of trust''), con cui si stabilisce l'autenticità delle chiavi pubbliche dei propri contatti.
In questa guida tratto il solo standard aperto ''OpenPGP'', usando '''Thunderbird''' (precedentemente pacchettizzato come ''Icedove'' con leggere variazioni) con estensione '''Enigmail''' e '''GnuPG''': tutti e tre software liberi e multi piattaforma. Per maggiori dettagli rimando agli approfondimenti in fondo alla guida. Quello che è importante sapere è il funzionamento della rete di fiducia ('''WOT''': ''web of trust''), con cui si stabilisce l'autenticità delle chiavi pubbliche dei propri contatti.


'''OpenPGP''' anziché basarsi su un'autorità centralizzata o su una struttura gerarchica, come invece ''SSL/MIME'', prevede che ogni contatto imposti la fiducia verso gli altri e, a seconda della fiducia che gli viene riconosciuta, possa garantire per quella di terzi. È un metodo molto pratico per gruppi che non hanno un ordine gerarchico, come possono essere appunto i contatti email e per cui sarebbe eccessivamente oneroso o di difficile gestione il ricorso a una ''Certificate Authority''.
'''OpenPGP''' anziché basarsi su un'autorità centralizzata o su una struttura gerarchica, come invece ''SSL/MIME'', prevede che ogni contatto imposti la fiducia verso gli altri e, a seconda della fiducia che gli viene riconosciuta, possa garantire per quella di terzi. È un metodo molto pratico per gruppi che non hanno un ordine gerarchico, come possono essere appunto i contatti email e per cui sarebbe eccessivamente oneroso o di difficile gestione il ricorso a una ''Certificate Authority''.
Riga 24: Riga 24:
'''Thunderbird''' è il client di posta scelto, in precedenza disponibile come ''Icedove'' (un [[fork]] supportato da Debian per problemi minori di licenza con la versione ufficiale che era distribuita da ''Mozilla'', mra ora che sono stati superati non è più presente nei [[repository]] in favore dell'ufficiale '''thunderbird''').
'''Thunderbird''' è il client di posta scelto, in precedenza disponibile come ''Icedove'' (un [[fork]] supportato da Debian per problemi minori di licenza con la versione ufficiale che era distribuita da ''Mozilla'', mra ora che sono stati superati non è più presente nei [[repository]] in favore dell'ufficiale '''thunderbird''').


'''Enigmail''' è un'estensione per ''Thunderbird'' che aggiunge al client di posta un menù '''OpenPGP''' da utilizzarsi sia per la gestione delle chiavi, sia per la codifica/decodifica e la firma/verifica delle email. In caso non si utilizzino gli stessi repository per tutti i pacchetti, per esempio in presenza di backports, accertarsi che '''thunderbird''' ed '''enigmail''' provengano dal medesimo. In alternativa installare l'estensione in un secondo momento, dal menù <code>Tools -> Add-ons</code> del client email.
'''Enigmail''' è un'estensione per ''Thunderbird'' che aggiunge al client di posta un menù '''Enigmail''' da utilizzarsi sia per la gestione delle chiavi, sia per la codifica/decodifica e la firma/verifica delle email. In caso non si utilizzino gli stessi repository per tutti i pacchetti, per esempio in presenza di backports, accertarsi che '''thunderbird''' ed '''enigmail''' provengano dal medesimo. In alternativa installare l'estensione in un secondo momento, dal menù <code>Tools -> Add-ons</code> del client email.


{{Box | Gnupg | '''enigmail''' richiede la versione 2 di ''' GnuPG''' (''GNU '''P'''rivacy '''G'''uard'') per funzionare, che è fornita dal pacchetto '''gnupg''', installato già di default in Debian.
{{Box | Gnupg | '''enigmail''' richiede la versione 2 di ''' GnuPG''' (''GNU '''P'''rivacy '''G'''uard'') per funzionare, che è fornita dal pacchetto '''gnupg''', installato già di default in Debian.
Riga 40: Riga 40:


==Procedura automatica==
==Procedura automatica==
Si crea (o si importa, se era già stata generata) una coppia di chiavi per ciascun account dal menù <code>OpenPGP -> Setup Wizard</code>, che guiderà passo-passo alle configurazioni più comuni, effettuando le scelte più tecniche in modo automatico.
Si crea (o si importa, se era già stata generata) una coppia di chiavi per ciascun account dal menù <code>Enigmail -> Setup Wizard</code>, che guiderà passo-passo alle configurazioni più comuni, effettuando le scelte più tecniche in modo automatico.


In particolare fa scegliere se firmare in automatico tutte le email, il che non comporta problemi di compatibilità per nessun destinatario. Maggiore attenzione invece va posta riguardo la possibilità di criptare di default tutte le email, dato che in assenza della chiave pubblica del destinatario l'estensione farebbe scegliere quale chiave pubblica utilizzare (ma se il destinatario non possiede la corrispondente chiave privata la mail risulterà illeggibile) ed è pertanto sconsigliata.
In particolare fa scegliere se firmare in automatico tutte le email, il che non comporta problemi di compatibilità per nessun destinatario. Maggiore attenzione invece va posta riguardo la possibilità di criptare di default tutte le email, dato che in assenza della chiave pubblica del destinatario l'estensione farebbe scegliere quale chiave pubblica utilizzare (ma se il destinatario non possiede la corrispondente chiave privata la mail risulterà illeggibile) ed è pertanto sconsigliata.
Riga 47: Riga 47:


==Procedura manuale==
==Procedura manuale==
Dal menù <code>OpenPGP -> Key Management</code> si aprirà una nuova finestra, e dal menù <code>Generate -> New Key Pair</code> sono disponibili più opzioni sulla coppia di chiavi da creare, in particolare si può scegliere una grandezza fino a 4096 bit. Si ricorda solo che è consigliabile l'uso di chiavi RSA di almeno 2048 bit e con una scadenza non superiore ai 10 anni.
Dal menù <code>Enigmail -> Key Management</code> si aprirà una nuova finestra, e dal menù <code>Generate -> New Key Pair</code> sono disponibili più opzioni sulla coppia di chiavi da creare, in particolare si può scegliere una grandezza fino a 4096 bit. Si ricorda solo che è consigliabile l'uso di chiavi RSA di almeno 2048 bit e con una scadenza non superiore ai 10 anni.


Per vedere tutte le chiavi presenti e gestite da '''GnuPG''' va messa la spunta sull'opzione relativa, altrimenti di default verranno visualizzate solo quelle che hanno un qualche problema.
Per vedere tutte le chiavi presenti e gestite da '''GnuPG''' va messa la spunta sull'opzione relativa, altrimenti di default verranno visualizzate solo quelle che hanno un qualche problema.
Riga 61: Riga 61:
Se si utilizzano più PC per gestire le email criptate e/o firmate è necessario esportare la propria coppia di chiavi, compresa la chiave privata, dal PC in cui sono state generate per importarla nelle altre, in caso contrario questa sezione può essere saltata. Vanno esportate anche le chiavi pubbliche ottenute mediante scambio diretto.
Se si utilizzano più PC per gestire le email criptate e/o firmate è necessario esportare la propria coppia di chiavi, compresa la chiave privata, dal PC in cui sono state generate per importarla nelle altre, in caso contrario questa sezione può essere saltata. Vanno esportate anche le chiavi pubbliche ottenute mediante scambio diretto.


Dalla finestra aperta da <code>OpenPGP -> Key Management</code>, si spunta <code>Display All Keys by Default</code>, si seleziona la propria coppia di chiavi (è presente in grassetto, ma una volta sola) e tutte le chiavi pubbliche che si intendono esportare, e si clicca su <code>File -> Export Keys to File</code> avendo cura di scegliere '''Export Secret Keys''' per esportare anche la propria chiave privata.
Dalla finestra aperta da <code>Enigmail -> Key Management</code>, si spunta <code>Display All Keys by Default</code>, si seleziona la propria coppia di chiavi (è presente in grassetto, ma una volta sola) e tutte le chiavi pubbliche che si intendono esportare, e si clicca su <code>File -> Export Keys to File</code> avendo cura di scegliere '''Export Secret Keys''' per esportare anche la propria chiave privata.


Dopo aver copiato i file esportati su ciascuna macchina di destinazione, basta importarli da <code>OpenPGP -> Key Management</code> e poi <code>File -> Import Keys from File</code>.
Dopo aver copiato i file esportati su ciascuna macchina di destinazione, basta importarli da <code>Enigmail -> Key Management</code> e poi <code>File -> Import Keys from File</code>.


È necessario impostare il livello di fiducia su tutte le chiavi non firmate da una fonte firmata. Si veda la sezione dedicata.
È necessario impostare il livello di fiducia su tutte le chiavi non firmate da una fonte firmata. Si veda la sezione dedicata.
Riga 78: Riga 78:


===Scambio dei file===
===Scambio dei file===
Il metodo più generale basta esportare la propria chiave pubblica da <code>OpenPGP -> Key Management</code>, mettendo la spunta su <code>Display All Keys by Default</code>. Poi cliccare con il tasto destro del mouse e scegliere <code>Export Keys to file</code>, cliccando infine su '''Export Public Keys only''' per esportare la sola chiave pubblica.
Il metodo più generale basta esportare la propria chiave pubblica da <code>Enigmail -> Key Management</code>, mettendo la spunta su <code>Display All Keys by Default</code>. Poi cliccare con il tasto destro del mouse e scegliere <code>Export Keys to file</code>, cliccando infine su '''Export Public Keys only''' per esportare la sola chiave pubblica.


Inviare in qualche modo sicuro la chiave al destinatario, il quale da <code>OpenPGP -> Key Management</code> la importerà dal menù <code>File -> Import Keys from File</code>.
Inviare in qualche modo sicuro la chiave al destinatario, il quale da <code>Enigmail -> Key Management</code> la importerà dal menù <code>File -> Import Keys from File</code>.


Una volta importata e spuntato <code>Display All Keys by Default</code>, impostare il livello di fiducia cliccando con il destro su '''Set Owner Trust''' oppure su '''Sign key'''. Si veda la parte sul livello di fiducia.
Una volta importata e spuntato <code>Display All Keys by Default</code>, impostare il livello di fiducia cliccando con il destro su '''Set Owner Trust''' oppure su '''Sign key'''. Si veda la parte sul livello di fiducia.


===Scambio via email===
===Scambio via email===
Dal menù '''OpenPGP''' della finestra di composizione di un nuovo messaggio oppure dal menù <code>OpenPGP -> Key Management -> File</code>, scegliere l'opzione di inviare per email la propria chiave pubblica. Chiaramente, salvo si possieda la chiave pubblica del destinatario, il messaggio deve essere inviato non cifrato.
Dal menù '''Enigmail''' della finestra di composizione di un nuovo messaggio oppure dal menù <code>Enigmail -> Key Management -> File</code>, scegliere l'opzione di inviare per email la propria chiave pubblica. Chiaramente, salvo si possieda la chiave pubblica del destinatario, il messaggio deve essere inviato non cifrato.


Una volta ricevuto un messaggio contenente in allegato una chiave pubblica, è sufficiente aprirlo, espandere la lista degli allegati e cliccare con il tasto destro sull'allegato, un file di testo ''ASCII armored'' con nome esadecimale ed estensione ''asc'', scegilendo '''Import OpenPGP Key'''. Se era stato firmato, non possedendo ancora la chiave pubblica, l'autenticità della firma sarà giudicata non verificata (''Unverified signature''). Dopo aver importato la chiave la firma sarà invece considerata buona, nel senso che è stata effettuata con la chiave privata associata alla chiave pubblica importata, ma comunque giudicata non fidata (''Untrusted signature'') finché non si sarà impostato il suo livello di fiducia.
Una volta ricevuto un messaggio contenente in allegato una chiave pubblica, è sufficiente aprirlo, espandere la lista degli allegati e cliccare con il tasto destro sull'allegato, un file di testo ''ASCII armored'' con nome esadecimale ed estensione ''asc'', scegilendo '''Import OpenPGP Key'''. Se era stato firmato, non possedendo ancora la chiave pubblica, l'autenticità della firma sarà giudicata non verificata (''Unverified signature''). Dopo aver importato la chiave la firma sarà invece considerata buona, nel senso che è stata effettuata con la chiave privata associata alla chiave pubblica importata, ma comunque giudicata non fidata (''Untrusted signature'') finché non si sarà impostato il suo livello di fiducia.
Riga 106: Riga 106:


===Upload===
===Upload===
'''Enigmail''' si occupa in automatico di tutto e possiede già una lista dei keyserver più diffusi. La lista può essere modificata in <code>OpenPGP -> Preferences</code>, scegliendo di mostrare le impostazioni avanzate e accedendo alla tab keyserver.
'''Enigmail''' si occupa in automatico di tutto e possiede già una lista dei keyserver più diffusi. La lista può essere modificata in <code>Enigmail -> Preferences</code>, scegliendo di mostrare le impostazioni avanzate e accedendo alla tab keyserver.


Per l'upload cliccare in <code>OpenPGP -> Key Management</code> con il tasto destro del mouse sulla chiave, poi scegliere '''Upload Public Keys to Keyserver''' e il keyserver a cui inviare la chiave.
Per l'upload cliccare in <code>Enigmail -> Key Management</code> con il tasto destro del mouse sulla chiave, poi scegliere '''Upload Public Keys to Keyserver''' e il keyserver a cui inviare la chiave.


===Ricerca===
===Ricerca===
Riga 115: Riga 115:
Quando si riceve una mail basta aprirla e cliccare '''Details''' seguito da '''Import Public Key'''. Se si utilizza un keyserver in genere chi invia email si occupa di segnalare l'URL del keyserver da cui recuperare la chiave pubblica (l'opzione si trova in <code>Edit -> Account Settings -> OpenPGP Security -> Advanced</code>).
Quando si riceve una mail basta aprirla e cliccare '''Details''' seguito da '''Import Public Key'''. Se si utilizza un keyserver in genere chi invia email si occupa di segnalare l'URL del keyserver da cui recuperare la chiave pubblica (l'opzione si trova in <code>Edit -> Account Settings -> OpenPGP Security -> Advanced</code>).


Per inviare una mail criptata, dopo aver spuntato <code>OpenPGP -> Encrypt Message</code>, se non si possiede la chiave pubblica del destinatario verrà chiesto quale utilizzare (usarne una diversa renderà il messaggio illeggibile per il destinatario, salvo uno stesso contatto utilizzi più account o comunque abbia accesso alle relative chiavi private). Cliccare invece su '''Download Missing Keys''' per scaricarla da un keyserver.
Per inviare una mail criptata, dopo aver spuntato <code>Enigmail -> Encrypt Message</code>, se non si possiede la chiave pubblica del destinatario verrà chiesto quale utilizzare (usarne una diversa renderà il messaggio illeggibile per il destinatario, salvo uno stesso contatto utilizzi più account o comunque abbia accesso alle relative chiavi private). Cliccare invece su '''Download Missing Keys''' per scaricarla da un keyserver.


=Utilizzo=
=Utilizzo=
Dopo che due contatti sono entrati in possesso della chiave pubblica dell'altro, possono iniziare a comunicare in modo cifrato e a verificare l'autenticità delle firme digitali.
Dopo che due contatti sono entrati in possesso della chiave pubblica dell'altro, possono iniziare a comunicare in modo cifrato e a verificare l'autenticità delle firme digitali.


Si può scegliere se criptare un'email a ogni invio, utilizzando il menù '''OpenPGP''' presente nella finestra di composizione di un nuovo messaggio. La scelta di default è presenta in <code>Edit -> Account Settings -> OpenPGP Security (di un dato account)</code>.
Si può scegliere se criptare un'email a ogni invio, utilizzando il menù '''Enigmail''' presente nella finestra di composizione di un nuovo messaggio. La scelta di default è presenta in <code>Edit -> Account Settings -> OpenPGP Security (di un dato account)</code>.
In alternativa da <code>OpenPGP -> Edit Per-Recipient Rules</code> si possono inserire regole personalizzate per ciascun destinatario.
In alternativa da <code>Enigmail -> Edit Per-Recipient Rules</code> si possono inserire regole personalizzate per ciascun destinatario.


Come verifica effettuare un test inviando una mail criptata a un contatto di cui si possiede la chiave pubblica, dopo aver controllato nel menù ''OpenPGP'' di composizione del messaggio che sia spuntata l'opzione relativa alla crittografia. Il messaggio sarà leggibile dal proprio client di posta, mentre accedendo alla propria webmail questo risulterà del tutto illeggibile. Lo stesso avverrà a destinazione.
Come verifica effettuare un test inviando una mail criptata a un contatto di cui si possiede la chiave pubblica, dopo aver controllato nel menù ''Enigmail'' di composizione del messaggio che sia spuntata l'opzione relativa alla crittografia. Il messaggio sarà leggibile dal proprio client di posta, mentre accedendo alla propria webmail questo risulterà del tutto illeggibile. Lo stesso avverrà a destinazione.


Se l'email è stata firmata il destinatario sarà informato anche sulla sua autenticità. Ovvero non solo che è stato inviato da un contatto che conosce la sua chiave pubblica (e le credenziali per accedere alla casella email del mittente), ma che possiede la chiave privata (segreta) associata al mittente (verificabile da chiunque conosca la corrispondente chiave pubblica).
Se l'email è stata firmata il destinatario sarà informato anche sulla sua autenticità. Ovvero non solo che è stato inviato da un contatto che conosce la sua chiave pubblica (e le credenziali per accedere alla casella email del mittente), ma che possiede la chiave privata (segreta) associata al mittente (verificabile da chiunque conosca la corrispondente chiave pubblica).
Riga 129: Riga 129:
{{Box|Untrusted signature|Se si riceve un messaggio di cui '''Enigmail''' riconosce l'autenticità della firma, ovvero che corrisponde a una chiave pubblica nota, ma che non è fidata (''untrusted'').
{{Box|Untrusted signature|Se si riceve un messaggio di cui '''Enigmail''' riconosce l'autenticità della firma, ovvero che corrisponde a una chiave pubblica nota, ma che non è fidata (''untrusted'').


Ciò avviene perché si è entrati in possesso della chiave pubblica del contatto, ma non si è ancora scelto per essa un livello di fiducia in <code>OpenPGP -> Key Management</code> che la chiave pubblica sia associata a quell'indirizzo email. Rivedere la sezione sul livello di fiducia.}}
Ciò avviene perché si è entrati in possesso della chiave pubblica del contatto, ma non si è ancora scelto per essa un livello di fiducia in <code>Enigmail -> Key Management</code> che la chiave pubblica sia associata a quell'indirizzo email. Rivedere la sezione sul livello di fiducia.}}


=Disinstallazione=
=Disinstallazione=
3 581

contributi