I messaggi che si scambiano su WhatsApp, Signal, Facebook Messenger, Apple iMessage e Google Messaggi sono protetti dalla cifratura end-to-end: ciò significa che le conversazioni e gli allegati scambiati usando queste piattaforme di messaggistica sono illeggibili per qualunque utente diverso dal mittente e dal destinatario, compreso il gestore del servizio.
Le chiavi crittografiche con cui vengono protetti i singoli messaggi vengono generate sui dispositivi dei singoli utenti e su di essi restano memorizzate: non c’è quindi alcuna possibilità che i tecnici delle varie aziende o altri utenti possano risalire ai messaggi in chiaro.
In passato si sono registrati vari tentativi da parte di alcuni governi che miravano ad aprire i principali servizi di messaggistica istantanea: veniva ad esempio richiesto l’inserimento di backdoor o funzionalità similari per disattivare al bisogno la crittografia end-to-end.
Ciò che colpisce è che le richieste non sono arrivate soltanto da Paesi retti da regimi dittatoriali ma da enti pubblici dell’Occidente (Stati Uniti, Regno Unito e Australia).
Da un lato la privacy in Europa viene da sempre presentata come un diritto inalienabile di ogni singolo cittadino, dall’altro si guarda all’approvazione di normative che potrebbero imporre la scansione dei messaggi degli utenti da parte delle app di messaggistica e l’interoperabilità tra WhatsApp, Telegram, iMessage e altri prodotti.
Come abbiamo spiegato nei due articoli le finalità sono senza dubbio nobili ma non è possibile non osservare come provvedimenti del genere siano destinati a decretare la fine della crittografia end-to-end nelle app di messaggistica con tutto ciò che ne consegue sul piano della sicurezza e della privacy.
In un altro articolo abbiamo visto cos’è la crittografia e perché è fondamentale usarla.
Le chat di WhatsApp, Telegram, Signal e così via sono davvero anonime?
Tutte le applicazioni di messaggistica istantanea che usano la crittografia end-to-end impediscono che soggetti terzi possano leggere, modificare e sottrarre il contenuto delle chat e degli allegati. Telegram non utilizza per impostazione predefinita la crittografia end-to-end: le conversazioni tra gli utenti sono protette con una chiave crittografica che è nota ai gestori del servizio e che Telegram si è sempre rifiutato di condividere anche con le Autorità.
La cifratura end-to-end si attiva in Telegram soltanto avviando una chat segreta: in questo modo nessun soggetto, a eccezione del mittente e del destinatario dei vari messaggi e allegati, può accedere ai vari contenuti.
Pavel Durov, fondatore di Telegram, ha sempre criticato WhatsApp dicendo che non sarà mai sicuro. Durov ha “messo alla gogna” la decisione di offuscare buona parte del codice di WhatsApp rendendo difficoltosa qualunque attività di analisi. La sicurezza non si fa con la segretezza, insomma.
Così Telegram ha pubblicato il sorgente dell’applicazione e ha spiegato come creare versioni riproducibili dell’app di messaggistica a partire dal progetto open source. Il fatto è che ad oggi Telegram ha rilasciato soltanto il sorgente del modulo client mentre tutta la parte server resta “proprietaria”.
Va detto, inoltre, che la maggior parte delle app di messaggistica richiedono comunque almeno di specificare un numero di telefono: questo dato viene verificato per accertarne la validità e viene generalmente utilizzato come meccanismo di login.
Inoltre, sebbene molte soluzioni di messaggistica utilizzino la cifratura end-to-end, in molti casi viene fatto ampio uso di metadati che permettono di raccogliere informazioni sulle attività di ciascun utente. L’etichetta sulla privacy Apple mostra quali e quanti dati vengono raccolti da WhatsApp durante l’utilizzo dell’applicazione.
Chat anonime con Speek!
Speek! è un’app per la messaggistica istantanea gratuita e completamente open source (il sorgente è pubblicato su GitHub a questo indirizzo) che permette di avviare chat anonime.
L’applicazione ha diversi punti di forza: non richiede l’effettuazione di alcun tipo di registrazione, è totalmente decentralizzata (non usa server gestiti da un singolo soggetto ma si appoggia alla rete Tor), non raccoglie alcun metadato riferibile agli utenti ed è immediata da usare. L’approccio peer-to-peer esclude l’utilizzo di qualunque server che funga da intermediario tra mittente e destinatario di ogni messaggio.
Si tratta di una soluzione multipiattaforma che può essere installata e utilizzata su Android, iOS, Windows, macOS e Linux: è inoltre pubblicata sugli store di Google, Microsoft ed Apple. Il download di Speek! si può effettuare da un’unica pagina che permette di accedere alle varie versioni disponibili.
Gli utenti sono raggiungibili in Speek! inserendo nell’applicazione la chiave pubblica usata per la cifratura asimmetrica e grazie alla rete Tor non vengono in nessun modo esposti gli indirizzi IP pubblici degli utenti.
Indipendentemente dal dispositivo e dal sistema operativo utilizzati, Speek! espone una schermata come quella riprodotta in figura. Se sulla propria rete non ci sono particolari restrizioni, basta premere il pulsante Launch Speek! with default settings.
Il link Advanced Network Configuration consente di indicare l’utilizzo di un proxy, se le comunicazioni fossero possibili solo usando determinate porte (ad esempio la 80 e 433 che di norma non sono bloccate perché utilizzate per la navigazione sul Web) e richiedere eventualmente l’impiego di bridge relay di Tor nel caso in cui il traffico di rete fosse severamente limitato. In un altro articolo abbiamo visto a cosa servono i bridge quando Tor è bloccato.
Dopo l’avvenuta connessione alla rete Tor, accedendo al menu principale di Speek! quindi selezionando View Speek ID viene mostrata la chiave pubblica per l’identità appena creata. Per impostazione predefinita Speek! non chiede di impostare alcun nome utente: può essere eventualmente digitato in modo manuale.
Comunicando lo Speek ID a un altro utente questi deve semplicemente selezionare Add contact dal menu principale e incollare la chiave pubblica ricevuta. Nel riquadro Messaggio è possibile inserire una comunicazione per presentarsi.
L’altro utente vedrà apparire la richiesta di aggiunta da parte di un contatto: selezionando Accetta gli utenti possono iniziare a dialogare direttamente.
A questo punto ciascun utente vedrà lo stato (online/offline) dell’altro e può iniziare a messaggiare, inviare emoji, immagini e file di ogni tipo. Va considerato che appoggiandosi alla rete Tor la velocità di trasferimento dati per i file più pesanti in alcuni casi potrebbe non essere soddisfacente. In ogni caso grazie al controllo della congestione, Tor sta diventando progressivamente più veloce.
Speek! è installabile su più dispositivi ma ogni installazione genera una coppia di chiavi crittografiche: utilizzando le impostazioni dell’app è comunque possibile esportare una stessa identità (Settings, Backup, Export Identity) e copiarla su un altro device.
Mentre la lista dei contatti viene mantenuta, tutti i messaggi vengono automaticamente cancellati ogni volta che si chiude Speek! È quindi importante salvare altrove file e immagini che si volessero conservare.