skip to main | skip to sidebar
12 commenti

Come cifrare e autenticare la mail

Questo articolo era stato pubblicato inizialmente in quattro parti, che ora sono accorpate qui. Ultimo aggiornamento: 2015/09/23 11:05.

Nelle puntate precedenti del Disinformatico ho segnalato i limiti delle promesse di privacy e di garanzia d'identità dei social network e dei vari sistemi di chat, da WhatsApp a Telegram: in pratica non c'è nessun sistema social, per ora, che sia allo stesso tempo:

1. completamente trasparente e ispezionabile (open source);
2. indipendente da un servizio o fornitore centrale;
3. basato su uno standard universale, per non avere il problema di convincere i nostri amici e contatti a seguirci nell'adottare un'app specifica.

C'è già, però, un sistema di comunicazione via Internet che ha tutte queste caratteristiche. Esiste da prima che ci fossero le app e i social network: è la mail cifrata con la cosiddetta crittografia a chiave pubblica.

Anche se il nome può dare l'impressione che si tratti di una cosa difficile e riservata solo agli smanettoni, in realtà oggi è piuttosto facile da adoperare. Non solo vi consente di comunicare in modo realmente riservato, ma vi permette anche di autenticare i vostri messaggi e quelli altrui.

Tanto per fare un esempio, se tutti usassero la mail autenticata sarebbero molto più difficili da portare a segno le truffe basate su mail false che fingono di provenire da banche o altri servizi e ci invitano a cliccare su un link per confermare la password ma in realtà ce la vogliono rubare (phishing).

Se volete un'analogia, la crittografia a chiave pubblica è contemporaneamente come una busta che protegge una mail (che altrimenti è leggibile in transito quanto una cartolina, salvo sistemi come TLS che la proteggono mentre viaggia su Internet) e come un sigillo personalizzato che ne garantisce l'origine.

Interessati? Allora serve una breve introduzione al concetto di crittografia a chiave pubblica.


La mia password? È pubblica (o quasi)


Il limite dei sistemi di crittografia tradizionali è che richiedono che gli interlocutori si scambino un codice segreto prima di poter comunicare in modo protetto. Farlo per ciascuna persona con quale vogliamo comunicare sarebbe un lavoro immenso, e comunque per farlo bisogna già avere un canale segreto o sicuro, per cui si finisce in un circolo vizioso.

La crittografia a chiave pubblica risolve il problema usando due chiavi, legate tra loro grazie a della matematica che non faccio neppure finta di capire a fondo (se volete, qui trovate i dettagli). Una chiave è segreta e viene custodita gelosamente dall'utente che l'ha generata, mentre l'altra viene resa pubblica. Sì, sembra paradossale rivelare un pezzo di “password”, ma è così che funziona.

Questa chiave pubblica viene data proprio a tutti, tanto che viene indicata in coda a ogni mail autenticata o cifrata. Per esempio, Glenn Greenwald, giornalista legato al caso Snowden, la mette in ogni articolo che pubblica su The Intercept, principalmente per consentire a chiunque di autenticare i messaggi che Greenwald invia e per permettere a chiunque di mandare a Greenwald messaggi cifrati senza doversi prima incontrare con lui per scambiarsi le password di decrittazione. Soltanto chi ha la chiave privata può decifrare i messaggi destinati a lui e cifrati con quella chiave pubblica.

Confusi? È normale. In realtà l'uso pratico di questi sistemi è molto automatizzato: una volta che avete installato il software necessario, tutto avviene dietro le quinte. Il modo migliore per capire come funziona questo processo è vederlo in pratica.


Installare il software


Vediamo allora come si installa un sistema di crittografia a chiave pubblica aperto e trasparente: GnuPrivacy Guard, che è software libero, gratuito, conforme allo standard OpenPGP e disponibile per i sistemi operativi più diffusi. La versione Windows è Gpg4Win; quella Mac è GPGTools; per Linux c'è per esempio GPA; le altre versioni sono nella sezione di download di Gnupg.org.

L'installazione è piuttosto semplice ed è descritta in dettaglio nei rispettivi siti di download: la cosa importante è che al termine dell'installazione dovete generare la vostra coppia di chiavi (quella privata e quella pubblica), da associare all'indirizzo di mail che volete proteggere.

In pratica, immettete nel software il vostro nome (o pseudonimo) e il vostro indirizzo di mail e poi generate una passphrase, ossia una password molto lunga e complessa. Questa passphrase deve restare assolutamente segreta e protetta, perché protegge la vostra coppia di chiavi di cifratura: pensatela come la chiave che chiude un armadietto che custodisce delle altre chiavi.

A questo punto il software vi propone di pubblicare la vostra chiave pubblica presso un server su Internet, dove tutti potranno reperirla per mandarvi mail cifrate e verificare l'autenticità delle mail che mandate: è una scelta consigliabile, perché semplifica moltissimo tutto l'uso futuro della mail cifrata, ma se volete potete anche distribuire la vostra chiave pubblica in maniere differenti (per esempio dandola materialmente soltanto ad alcuni amici o colleghi).

Ultima fase: procurarsi un software che permetta al vostro programma di mail di cifrare le mail e autenticarle. Per esempio, per Thunderbird (Windows, Mac, Linux) c'è Enigmail e per Mail.app (Mac) c'è GPGTools. Li installate, riavviate il computer se richiesto, e siete a posto. Riavviando il vostro programma di mail troverete che sono comparsi dei pulsanti in più, che servono per gestire la crittografia e l'autenticazione delle vostre mail.

Il grosso è fatto. Resta solo da procedere alle prove pratiche, inviando mail autenticate e cifrate. Secondo le rivelazioni di Edward Snowden, a questo punto neanche l'NSA è in grado di leggere le vostre mail in transito su Internet: l'unica cosa che può fare per leggerle è cercare di entrare nel vostro computer.


Mandare una mail autenticata


Cominciamo con le cose semplici: mandiamo una mail autenticata. Per ora non si tratta di comunicare in modo segreto, ma semplicemente di dare a chi ci legge la possibilità di verificare che il nostro messaggio arriva veramente da noi e non è stato falsificato o alterato.

Inviare una mail autenticata è semplicissimo: la si compone esattamente come una mail normale, ma alla fine della composizione, prima di inviarla, si attiva l'autenticazione (di solito cliccando su un'icona OpenPGP o simile e scegliendo Firma il messaggio). Tutto qui.

Chi riceve la vostra mail autenticata troverà che contiene il testo normale, seguito da una serie di caratteri strani che iniziano con l'avviso “Begin PGP Signature”: quei caratteri sono la firma digitale del messaggio. Il messaggio in sé è ricevibile e leggibile da chiunque e con qualunque dispositivo e programma, anche da chi non usa la crittografia: la firma è semplicemente un'opzione che consente, a chi vuole, di verificare l'autenticità del mittente.

Potete insomma firmare tutti i messaggi che inviate: se il destinatario ha il software giusto, come voi, potrà autenticarli. Se non ce l'ha, vedrà semplicemente questi caratteri strani in calce al messaggio, ma leggerà comunque senza problemi il testo del messaggio stesso.


Ricevere una mail autenticata


Autenticare una mail ricevuta è altrettanto semplice: se avete installato il software di crittografia a chiave pubblica, il vostro programma di posta vi avvisa visivamente che il messaggio ricevuto contiene codici di autenticazione (è firmato, insomma) e vi informa sul livello di fiducia che ha la firma, che potete scegliere voi in base a quanto conoscete il mittente e al modo in cui avete ricevuto la sua chiave pubblica.

Fra l'altro, se il vostro interlocutore ha depositato la propria chiave pubblica su Internet (presso i cosiddetti keyserver), come proposto durante l'installazione, potete procurarvela semplicemente avviando il vostro software di gestione delle chiavi e digitando l'indirizzo di mail dell'interlocutore.

In alternativa, potete guardare se il vostro interlocutore ha pubblicato da qualche parte il fingerprint della propria chiave e immettere quello nel software di crittografia. Una delle mie chiavi ha per esempio questo fingerprint: BE61 583A 1113 DC92 6CB5  0125 C29D C040 2C35 CD18.


Mail cifrata


Per mandare una mail cifrata (ossia leggibile soltanto dal destinatario che abbiamo scelto) vi serve la chiave pubblica del vostro interlocutore (e ovviamente il vostro interlocutore deve averne una). La potete trovare in una sua mail oppure nel suo sito oppure ancora nei keyserver, come descritto prima. Se non avete la sua chiave pubblica, il vostro programma di posta si ferma e vi propone di procurarvela.

Fatto questo, componete il messaggio come al solito e alla fine cliccate sul pulsante OpenPGP (o simile) scegliendo l'opzione Cifra il messaggio. Chiunque intercetti la mail cifrata vedrà soltanto l'indirizzo del mittente, quello del destinatario e il titolo: il contenuto sarà completamente incomprensibile.

Se invece ricevete una mail cifrata, il procedimento è molto simile: dovete aprirla su un computer nel quale ci sia la vostra chiave con il software di gestione. Questo impedisce ad altri di decifrare il messaggio.

Tutto il processo è assolutamente trasparente: il software decifra automaticamente il messaggio e ve lo visualizza subito in chiaro, indicando che si tratta di un messaggio cifrato e autenticato.

La crittografia a chiave pubblica, insomma, non è un arcano riservato a spie e superesperti: è una garanzia che possiamo usare tutti per tutelare il nostro lavoro e la nostra privacy contro qualunque occhio indiscreto.
Invia un commento
I commenti non appaiono subito, devono essere tutti approvati da un moderatore. Lo so, è scomodo, ma è necessario per tenere lontani scocciatori, spammer, troll e stupidi: siate civili e verrete pubblicati qualunque sia la vostra opinione; gli incivili di qualsiasi orientamento non verranno pubblicati, se non per mostrare il loro squallore.
Inviando un commento date il vostro consenso alla sua pubblicazione, qui o altrove.
Maggiori informazioni riguardanti regole e utilizzo dei commenti sono reperibili nella sezione apposita.
NOTA BENE. L'area sottostante per l'invio dei commenti non è contenuta in questa pagina ma è un iframe, cioè una finestra su una pagina di Blogger esterna a questo blog. Ciò significa che dovete assicurarvi che non venga bloccata da estensioni del vostro browser (tipo quelle che eliminano le pubblicità) e/o da altri programmi di protezione antimalware (tipo Kaspersky). Inoltre è necessario che sia permesso accettare i cookie da terze parti (informativa sulla privacy a riguardo).
Commenti
Commenti (12)
Caro Paolo,
come sempre grazie per l'ottimo lavoro. Vorrei però segnalare che ci sono anche dei contro, ben riassunti qui: http://secushare.org/PGP . Questo non significa (e non viene detto lí) che sia meglio tenersi la mail "base", ma che esistono alternative preferibili. Hai esperienza con questo "Pond" che viene menzionato lí? Sembra interessante (in pratica, il tuo traffico mail viene nascosto nel fiume del traffico Tor, quindi già anonimizzato, e per di piú camuffato in mezzo a tutto il resto).
Cari saluti
Segnalo questo video: http://www.youtube.com/watch?v=U1kybvKaUeQ

E' uno dei migliori per spiegare il concetto di crittografia asimmetrica anche a chi non ha mai sentito parlare della matematica che ci sta dietro.
mamma mia, io usavo Pretty Good Privacy ai tempi di FidoNet!
Complimenti per la foto. Non so quanti l'abbiano notata, ma è davvero simpatica e pertinente...
Il mio professore di sistemi informativi spiegava il concetto di doppia chiave dicendo che era un'idea vecchia di secoli:
- Artù mette un messaggio in un cofanetto e lo chiude con un lucchetto, poi manda tutto a Merlino
- Merlino riceve il cofanetto e lo chiude anche lui con un lucchetto, poi rimanda tutto ad Artù
- Artù riceve il cofanetto con i due lucchetti e toglie il suo lucchetto, poi rimanda tutto a Merlino
- Merlino riceve il cofanetto con solo il suo lucchetto, lo apre e legge il messaggio
prima di crittare le email io vorrei sapere una cosa. una cosa sola. l'8 aprile scadono gli aggiornamenti a win xp, l'08 giugno è la volta di vista e seven..
ma sono proprio costretta a passare a windows 8?
Su Indiegogo cerca fondi per partire una iniziativa svizzera di nome Mail Shield che offre caselle di posta cifrate a chiave pubblica, residenti su server in Svizzera dove è più difficile che Nsa o altre organizzazioni possano allungare le mani. :-)
Sconsiglio l'uso di PGP (Pretty Good Privacy) in quanto bucato da almeno 10 anni, è dai tempi della università che si usava la versione da shell sotto Unix (allora si considerava imbucabile una chiave da 2040 byte eheh, la versione era la 2 o la 3 se non sbaglio) poi uscì la versione grafica, dalla 6 (o dalla 7 non ricordo ) in poi il governo Americano ci mise mano tanto vero che le versioni precedenti sono bandite in America e soggette a leggi penali. Qualche anno dopo uscirono chip da mettere sui telefoni fissi per criptare le comunicazioni americane ma sempre basate sul codice pgp bucato.
@UtterMarcus: 2040 byte mi paiono troppi e nemmeno una potenza di 2. Facciamo 2048 bit?
Tutto quello che è in grado di crittografare con chiavi a più di 128 bit è considerato "arma strategica" in USA, a meno che non siano cambiate di recente le regole.

No, il supporto per Seven si protrarrà ancora fino al 2015 (Supporto mainstream) e 2020 (supporto extended.

http://windows.microsoft.com/it-it/windows/products/lifecycle
Marino Mario: attenzione a non confondere l'anonimato con la crittografia. L'anonimato non implica la riservatezza dei dati ed anzi spesso risulta controporducente quando è fondamentale la riservatezza e soprattutto l'idenficazione certa di mittente e destinatario.

Se non vuoi lasciare prove di aver contattato una certa persona ci sono modi più sicuri. Ad esempio lasciare un pendrive o una scheda SD in un luogo convenuto..
ciao Paolo,
ti sei accorto che il tuo articolo viene completamente plagiato da questo sito?: http://www.studioalaimo.it/blog/2014/05/come-cifrare-autenticare-mail/
sembra che sia pratica abituale di questo studio, copiare i post di altri siti.. ti sembra corretto?