2014/03/14

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.

Nessun commento:

Posta un commento

Se vuoi commentare tramite Disqus (consigliato), vai alla versione per schermi grandi. I commenti immessi qui potrebbero non comparire su Disqus.

Pagine per dispositivi mobili