Introduzione alla crittografia end-to-end in Thunderbird

Informazioni sulla versione
  • ID versione: 212180
  • Data di creazione:
  • Autore: Michele Rodaro
  • Commento: Prima stesura. Serve QA
  • Revisionata: No
  • Pronta per la localizzazione: No
Sorgente della versione
Contenuto della versione

Questo documento fornisce una panoramica sulla crittografia end-to-end e sul suo funzionamento. Per le risposte alle domande più frequenti e istruzioni, leggere l'articolo: OpenPGP in Thunderbird


Che cos'è la crittografia end-to-end?

La crittografia end-to-end (e2ee) per la posta elettronica è una tecnica che può essere utilizzata per garantire che solo il mittente e i destinatari di un messaggio possano leggerne il contenuto. Senza questa protezione è facile per gli amministratori di rete, i provider di posta elettronica e le agenzie governative leggere quei messaggi.

Per ottenere una crittografia end-to-end sicura è necessario che venga prestata molta attenzione sia da parte del mittente che dei destinatari. Un singolo errore di una qualsiasi delle parti coinvolte può essere sufficiente per infrangere la sicurezza della crittografia.

Inoltre, i metadati delle email non possono essere protetti utilizzando questo tipo di crittografia. Esempi di metadati che non possono essere protetti sono il nome e l'indirizzo del mittente e dei destinatari, l'ora in cui il messaggio è stato inviato o da quale computer vengono inviati o ricevuti i messaggi di posta elettronica. Anche l'oggetto dell'email può rimanere non protetto e facilmente leggibile, nonostante si utilizzi la crittografia end-to-end.

Nozioni generali sul funzionamento della crittografia end-to-end con OpenPGP

In Thunderbird la maggior parte dei dettagli è gestita dal programma stesso in modo che l'utente non debba preoccuparsi di gestirli personalmente, ma si consiglia di cercare di capire come funziona questo tipo di crittografia in modo da ridurre il rischio di commettere errori e non essere completamente protetti.

La crittografia utilizza una procedura matematica per rendere i messaggi illeggibili. Rendere nuovamente leggibile un messaggio viene chiamato decrittografia o decrittazione e richiede la conoscenza dei segreti che ciò comporta.

L'antico approccio alla crittografia richiedeva che due persone si incontrassero e condividessero un segreto, che sarebbe stato quindi utilizzato per entrambe le crittografie dal mittente e successivamente utilizzato dal destinatario per decrittare il messaggio.

La crittografia end-to-end per la posta elettronica utilizza un approccio moderno chiamato crittografia a chiave pubblica. L'utilizzo di questo tipo di crittografia (e2ee) con crittografia a chiave pubblica richiede che ogni mittente e destinatario esegua una preparazione una tantum, che prevede la generazione di numeri casuali personali. Sono necessari due di questi numeri casuali, uno sarà chiamato la propria chiave segreta e un altro sarà chiamato la propria chiave pubblica. Questi numeri sono molto grandi, sono composti da centinaia o migliaia di cifre.

Tramite l'utilizzo di un calcolo matematico complesso, un messaggio può essere crittato (reso illeggibile) utilizzando la chiave pubblica. Il messaggio può essere decifrato (reso leggibile) solo dalla persona che è in possesso della chiave segreta corrispondente. In altre parole, se un utente fornisce la propria chiave pubblica a qualcun altro, questi può utilizzare quella chiave per crittare un messaggio destinato a quell'utente, con il risultato che i dati ricevuti non possono essere letti da nessuno tranne che da chi li riceve. I dati crittati vengono inviati, chi li riceve utilizza la propria chiave segreta per decrittarli e sarà quindi possibile leggere il messaggio.

La coppia della propria chiave segreta e della propria chiave pubblica correlata, viene chiamata chiave personale. Non si deve mai condividere la chiave segreta con nessun altro perché ovviamente non sarebbe più una chiave segreta né una chiave personale. Se un utente condivide la propria chiave segreta con qualcun altro, anche l'altra persona può leggere i messaggi crittati che vengono inviati a quell'utente. Oppure, se un utente è distratto e archivia la propria chiave segreta senza protezione, o se esegue una copia di sicurezza ("backup") della chiave segreta nel cloud senza protezione, potrebbe essere facile per qualcuno trafugare quella chiave segreta e utilizzarla per leggere tutti i messaggi crittati che vengono inviati a quell'utente.

Inoltre, se si perde la propria chiave segreta, ad esempio se si perde il computer o se si cancellano tutti i dati sul proprio computer, non si sarà più in grado di leggere i propri messaggi crittati. Se ciò accadesse, i propri messaggi non sono recuperabili in alcun modo, da nessuno.

Ci sono altri modi in cui la sicurezza della crittografia end-to-end può essere violata, e questo implica l'uso della chiave pubblica sbagliata. Quello che segue è un esempio.

Se Alice desidera inviare un'email crittografata a Mario, deve ottenere la chiave pubblica di Mario. La chiave pubblica è costituita da un numero composto da molte cifre, quindi deve essere trasmessa via Internet, tramite email, oppure deve essere scaricata da un sito web o scaricata da una directory. Se Alice critta un'email utilizzando la chiave di Mario e se Mario sta attento a non condividere mai la sua chiave segreta con nessun altro, solo Mario sarà in grado di decrittare e leggere il messaggio.

Tuttavia, la difficoltà maggiore è quella di assicurarsi che Alice abbia davvero ottenuto la chiave pubblica di Mario. Qualcuno potrebbe tentare di ingannare Alice e Mario, nel tentativo di intercettare la loro comunicazione a scopo di sorveglianza. Ad esempio Lucrezia potrebbe creare una chiave trabocchetto e inviarla ad Alice, presentandola come chiave di Mario. Se Alice crede che questa chiave appartenga a Mario e la utilizza per crittare i messaggi destinati a Mario, Lucrezia sarà in grado di leggere il messaggio che Alice ha inviato. Si potrebbe paragonarlo all'ottenimento dell'indirizzo postale sbagliato di qualcuno, in modo che le lettere di Alice a Mario vadano invece a casa di Lucrezia. Lucrezia quindi apre la lettera, la legge e la invia a Mario con la possibilità di alterare eventualmente alcuni dettagli del contenuto.

Per garantire la sicurezza della crittografia end-to-end, è importante verificare di aver effettivamente ottenuto la chiave di Mario, non una chiave non autorizzata.

Ogni volta che si riceve una chiave pubblica da uno dei propri corrispondenti, si dovrebbe essere consapevoli del rischio che possa essere una chiave non autorizzata. Per evitare il rischio di essere ingannato da Lucrezia, si dovrebbe ricontrollare di aver ricevuto la chiave pubblica corretta di Mario.

Il modo più comune per eseguire un doppio controllo è comunicare con Mario almeno una volta, utilizzando un meccanismo che consenta di confermare che si sta davvero parlando con Mario. Ad esempio, si potrebbe utilizzare una videochiamata o, se si è in grado di riconosce la voce di Mario, una telefonata. La situazione ideale sarebbe quella di incontrarsi di persona.

Dopo aver comunicato con Mario, si dovrebbe aprire i dettagli della chiave pubblica ricevuta. In Thunderbird verrà mostrato uno speciale checksum, chiamato anche impronta digitale, che è una combinazione di circa 40 caratteri e lettere. Mario dovrebbe fare lo stesso per la sua impronta digitale e dovrebbe comunicare, leggendola, la sua impronta digitale in modo che sia possibile verificare che corrisponda a ciò che si vede sul proprio computer ovvero la chiave pubblica ricevuta da Mario. Se non corrisponde, significa che si è scaricata la chiave errata o che qualcuno sta cercando di ingannare: in pratica, la propria comunicazione è sotto sorveglianza. Se invece corrisponde completamente, è possibile contrassegnare la chiave come verificata e il proprio programma la ricorderà.

Il concetto di chiavi pubbliche e segrete potrebbe essere più facile da capire con la seguente analogia. Si pensi a una chiave pubblica come a un piccolo contenitore che può essere chiuso a chiave. Si possono avere tutti i contenitori che si desiderano. È possibile condividere i propri contenitori o renderli disponibili per il download o persino aggiungerli a una directory. Altre persone possono trovare quei contenitori su Internet. Possono inserire un messaggio segreto al loro interno e bloccarlo, quindi inviare il contenitore. La propria chiave segreta è come una vera chiave e può essere utilizzata per sbloccare il contenitore. Poiché si è l'unica persona a disporre della chiave corrispondente, si è anche l'unica persona che può sbloccare il contenitore. Se si vuole avere la certezza che quel contenitore è davvero di Mario, non quello di Lucrezia, si deve guardare il numero che è scritto all'esterno del contenitore, ovvero ciò che viene chiamata l'impronta digitale. A questo punto parlare con Mario utilizzando la chat video, il telefono o di persona in modo che sia possibile verificare, tramite conferma di Mario, che l'impronta digitale sul contenitore corrisponda effettivamente alla sua.

Inoltre, tenere presente che è facile commettere errori quando si utilizza la posta elettronica crittografata. Considerare il caso in cui Alice invia un messaggio crittografato a Mario e Mario decida di inoltrare il messaggio a Carla. Carla potrebbe non essersi mai preparata a utilizzare la crittografia end-to-end oppure Mario potrebbe non avere la chiave pubblica di Carla. Se Mario inoltra il messaggio di Alice a Carla senza crittografia, i contenuti del messaggio originale non sono più protetti. Di conseguenza, se si scambiano contenuti sensibili tramite email, si potrebbe chiedere ai propri corrispondenti di non inoltrare quelle email.

Come bonus, la tecnologia utilizzata per la crittografia end-to-end può essere utilizzata anche per firmare digitalmente un messaggio. L'indirizzo del mittente mostrato nell'email potrebbe essere stato modificato da una persona che sta cercando di fuorviare il ricevente. Se Mario invia un'email ad Alice, potrebbe utilizzare la sua chiave segreta per creare una firma digitale. Alice può utilizzare la chiave pubblica di Mario per confermare che solo Mario è stato in grado di creare quella firma, perché solo Mario possiede la chiave segreta corrispondente. Se Alice ha verificato l'impronta digitale della chiave di Mario e se tutti i numeri corrispondono ai controlli automatici di Thunderbird, allora il messaggio è stato effettivamente inviato da Mario, confidando ovviamente sul fatto che Mario presti attenzione alla sua chiave segreta e non l'abbia mai condivisa.

Nozioni generali sul funzionamento della crittografia end-to-end con S/MIME

Sebbene tecnologia di crittografia S/MIME utilizzi alcuni degli stessi concetti di quella OpenPGP, viene utilizzata in modo diverso.

In futuro questo articolo verrà esteso con le informazioni relative a S/MIME.

Quali sono le conseguenze dell'utilizzo della crittografia end-to-end

Se si inviano messaggi crittati, i messaggi nella cartella dei messaggi inviati verranno crittati. Se si perde la propria chiave segreta, non si sarà in grado di leggere i messaggi archiviati, quei messaggi non possono essere recuperati.

Tutti i dispositivi su cui si leggono i messaggi crittati devono essere configurati per utilizzare la stessa chiave personale. Se si utilizza un programma diverso da Thunderbird, tale programma potrebbe non supportare la crittografia end-to-end. Ad esempio, la lettura di email crittate sul telefono richiederà alcune impostazioni particolari.

Se un utente perde la sua chiave segreta, altre persone possono continuare a inviargli email crittate ma l'utente non sarà in grado di leggerle.

Nota: le funzioni di ricerca, in generale non funzionano per il contenuto del corpo dei messaggi crittati.

Come utilizzare la crittografia end-to-end OpenPGP con Thunderbird

In Thunderbird non verrà tentato di utilizzare la crittografia end-to-end automaticamente. Per utilizzare la crittografia è necessario configurare la propria chiave personale. La sezione di configurazione si trova nelle impostazioni dell'account di Thunderbird, nella scheda Crittografia end-to-end. Dopo aver configurato una chiave personale, è possibile gestire l'utilizzo della crittografia o della firma digitale nei singoli messaggi inviati.

Per ogni indirizzo email a cui si desidera ricevere email crittate o che si desidera utilizzare per inviare email con firma digitale, è necessario creare la propria chiave personale.

Si dovrebbe evitare di avere più chiavi personali. Se si utilizzano due dispositivi per leggere i messaggi dallo stesso account email, è molto probabile che si voglia essere in grado di leggere su entrambi i dispositivi i messaggi crittati che si ricevono. Pertanto, è consigliabile generare una sola chiave personale e successivamente salvare una copia di sicurezza (o "copia di backup") della propria chiave personale su un file. Si consiglia di utilizzare una password robusta per proteggere il backup della chiave personale, in modo da rendere difficile a chiunque altro l'utilizzo del file di backup per ottenere la chiave segreta. Copiare il file di backup sull'altro dispositivo, inserire la password per sbloccare il backup, quindi importare la chiave personale su quel dispositivo.

Dopo aver creato la propria chiave personale, si deve consentire ad altre persone di ottenere la propria chiave pubblica. Prestare molta attenzione e non condividere mai la propria chiave segreta con nessuno. Tuttavia, la chiave pubblica di un utente può essere ampiamente condivisa in modo che le persone possano inviargli email crittate e verificare le sue firme digitali.

Quando si compone un'email, accanto al pulsante Sicurezza disponibile sulla barra degli strumenti di Thunderbird, è presente una freccia. Fare clic sulla freccia per selezionare la voce di menu Allega la mia chiave pubblica.

I destinatari vedranno un allegato nella email ricevuta con un nome di un file che inizia con "OpenPGP". Se il destinatario utilizza Thunderbird, può fare clic con il tasto destro del mouse su quel messaggio per aprire un menu contestuale e da quel menu può selezionare "Importa chiave OpenPGP".

Discussioni e supporto

Se si desidera discutere di posta elettronica crittografata end-to-end in Thunderbird, se si ha bisogno di aiuto per configurarla o in caso di altre domande relative a questo argomento, è possibile farlo iscrivendosi alla mailing list e2ee a questo link: https://thunderbird.topicbox.com/groups/e2ee