Mail criptate e/o firmate con standard OpenPGP usando Icedove/Thunderbird ed Enigmail

Da Guide@Debianizzati.Org.
Versione del 16 feb 2012 alle 21:38 di HAL 9000 (discussione | contributi) (Creata pagina con '{{stub}} {{Versioni compatibili}} =Introduzione= La crittografia è l'unico modo per proteggere la propria privacy dall'invio di un'email fino alla sua ricezione, in quanto ga...')
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
Vai alla navigazione Vai alla ricerca
Document-page-setup.png Attenzione: questo articolo è ancora incompleto e in fase di scrittura da parte del suo autore.

Sentitevi liberi di contribuire, proponendo modifiche alla guida tramite l'apposita pagina di discussione, in modo da non interferire con il lavoro portato avanti sulla voce. Per altre informazioni si rimanda al template.



Debian-swirl.png Versioni Compatibili

Tutte le versioni supportate di Debian


Introduzione

La crittografia è l'unico modo per proteggere la propria privacy dall'invio di un'email fino alla sua ricezione, in quanto garantisce che venga letta soltanto a destinazione, meglio se con un client di posta esterno (anche nell'eventualità che OpenPGP sia supportato). Ciò assicura che nelle caselle mail di chi invia e riceve il messaggio resti memorizzata soltanto la versione criptata.

L'uso di crittografia asimmetrica, basata su una coppia di chiavi pubblica e privata, consente l'impiego di crittografia anche in presenza di più di due contatti senza compromessi sulla sicurezza. Infatti è sufficiente diffondere le sole chiavi pubbliche, avendo cura soltanto di garantirne l'autenticità. La sicurezza delle email inviate dipende invece dalla sola chiave privata, da tenere segreta e al sicuro, che consentirà sia di decifrare i messaggi criptati ricevuti sia di inviare messaggi autenticati con firma digitale.

WOT: Web of Trust

In questa guida tratto il solo standard aperto OpenPGP, usando Icedove (Mozilla Thunderbird su altri sistemi) 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.

È inoltre possibile avvalersi di keyserver online per caricare la propria chiave pubblica e cercare quelle dei propri contatti. Enigmail supporta il tutto automaticamente, se lo si desidera.

Client di posta

Per quanto l'uso dello standard OpenPGP garantisca la compatibilità tra tutti i client che lo supportano, ho preferito utilizzare soltanto programmi diffusi su tutte le piattaforme e il più user-friendly possibile, così che si possa aiutare i propri contatti più facilmente a configurare questi programmi. Fa eccezione chiaramente la parte di installazione, che dipende dal sistema operativo utilizzato e di cui sarà qui trattata solo la parte per Debian.

Ho voluto inoltre concentrarmi su software sufficientemente rodato, su cui sia sensato applicarsi un minimo per costruire qualcosa destinato a durare nel tempo. E perfino Enigmail, anche se è un'estensione, ha più di dieci anni e gode di ottima salute.


Installazione

Per l'installazione dare il seguente comando con privilegi di amministrazione:

# apt-get install gnupg icedove enigmail
Info.png Nota
In caso non si utilizzino gli stessi repository per tutti i pacchetti (per esempio in presenza di backports), accertarsi che icedove ed enigmail provengano dal medesimo. In alternativa installare Enigmail in un secondo momento, dal menù Tools -> Add-ons di Icedove.


GnuPG potrebbe essere già installato, ma non è un componente fondamentale del sistema, quindi il comando ne garantisce la presenza. Non serve utilizzarlo direttamente, salvo si siano già generate delle chiavi da utilizzare, e serve solo per permettere il funzionamento di Enigmail.

Icedove è il client di posta scelto, ed è un fork con minime variazioni di Thunderbird, supportato da Debian per problemi minori di licenza con la versione ufficiale distribuita da Mozilla.

Enigmail è un'estensione per Icedove e 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.


Configurazione

Avviato Icedove/Thunderbird, aggiungere i propri account mail. La finestra dovrebbe aprirsi in automatico se non ce ne sono ancora, ma in alternativa è sufficiente utilizzare il menù File -> New -> Mail Account... e seguire la procedura guidata.

Poi si crea (o si importa, se era già stata generata) una coppia di chiavi per ciascun account dal menù OpenPGP -> Setup Wizard, che guiderà passo-passo alle configurazioni più comuni, effettuando le scelte più tecniche in modo automatico. Di default sceglie inoltre di firmare tutte le email, ma si può rivedere questa scelta dalle impostazioni del proprio account, a cui è stata aggiunta una voce dalla nuova estensione.

È possibile procedere manualmente nella creazione delle chiavi con OpenPGP -> Key Management, che aprirà una nuova finestra. In tal caso si ricorda solo che è consigliabile l'uso di chiavi RSA di almeno 2048 bit e di chiavi con una scadenza non superiore ai 10 anni.

In entrambi i casi la scelta della passphrase è molto importante e serve a prevenire il furto della propria chiave privata.

Ora tutto è pronto, ci manca soltanto la chiave pubblica di ogni contatto a cui desideriamo inviare mail criptate. A sua volta tale contatto necessiterà di conoscere la nostra chiave pubblica per poterci rispondere in modo criptato.

Per firmare una mail invece non è necessaria nessuna delle due cose. Conoscere la nostra chiave pubblica serve al destinatario unicamente per poter verificare l'autenticità della nostra firma digitale, ma può essere data anche in un secondo momento. È quindi possibile inviare email firmate anche a contatti che non utilizzano OpenPGP, purché non siano criptate.

Se si è preoccupati soltanto della propria privacy e non si hanno dubbi sull'autenticità dei mittente delle email scambiate, è sufficiente l'uso di email cifrate senza firma digitale.


Scambio delle chiavi pubbliche

Sono possibili diversi metodi, con diversi pregi e difetti a seconda dell'ampiezza della propria rete di contatti che ricorre a email criptate e/o autenticate con firma digitale.


Scambio diretto

Info.png TO DO
Da ampliare/rivedere


Il più immediato è sicuramente lo scambio diretto della chiave pubblica. Si può fare in qualunque modo, compreso via email se non si è paranoici riguardo l'attacco man in the middle, ma con una web mail che utilizzi il protocollo HTTPS sarebbe (teoricamente... ) possibile soltanto dal fornitore del servizio.

Via email basta allegare la chiave pubblica (dal menù OpenPGP della finestra di composizione di un nuovo messaggio oppure dal menù OpenPGP -> Key Management -> File, scegliendo l'opzione di inviare per email la propria chiave pubblica) e inviarla ai contatti con cui si vuole comunicare in modo cifrato e/o autenticato.

Una volta ricevuto un messaggio contenente in allegato una chiave pubblica, cliccando con tasto destro del mouse sull'allegato è possibile importarla. Successivamente dal menù OpenPGP -> Key Management la si seleziona e cliccandoci con il tasto destro del mouse si potrà impostare il suo livello di fiducia. È possibile anche firmare una chiave pubblica altrui, il che equivale a riconoscerla come autentica e a garantire della sua autenticità se la si invia ad altri, purché si sia ritenuti sufficientemente affidabili dai destinatari.


Keyserver

Info.png TO DO
Parte mancante...


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.

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 Edit -> Account Settings -> OpenPGP Security (di un dato account). In alternativa da OpenPGP -> Edit Per-Recipient Rules 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.

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

È infine possibile ricevere 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 OpenPGP -> Key Management che la chiave pubblica sia associata a quell'indirizzo email.


Esportazione delle chiavi

Info.png TO DO
Parte mancante...


Disinstallazione

Se si desidera disinstallare il programma, è bene ricordare che tutte le mail criptate non saranno più leggibili se non si dispone di altro software compatibile con OpenPGP.

Inoltre Enigmail per motivi di sicurezza non salva i messaggi in forma decriptata, li decifra solo per visualizzarli utilizzando la propria chiave privata. Ricordato questo, basta procedere con la rimozione dei pacchetti precedentemente installati.


Fonti

Software utilizzati

Home del progetto GnuPG
Home di Mozilla Thunderbird
Home dell'estensione Enigmail

Approfondimenti

Introduzione alla crittografia
Chiavi simmetriche e chiavi pubbliche
Web of trust
PGP (Pretty Good Privacy)
GnuPG (GNU Privacy Guard)



HAL 9000