Questo è un periodo interessante: le vicende che ben conosciamo e seguiamo hanno mostrato che non ci si può fidare di nessuna multinazionale quando ci sono alti interessi in gioco: nella guerra all'informazione, tanto Google quanto Facebook o Twitter, tra i social più usati al mondo, non si sono fatti scrupoli a restringere la visualizzazione di post che parlano di argomenti scomodi (shadowbanning), a vietare del tutto link a siti "non sicuri" (cioè che sicuramente non seguono le linee guida ufficiali) fino a censurare addirittura i tweet di personaggi politici di rilievo internazionale compreso il presidente in carica degli USA: solo un paio d'anni fa una cosa del genere sarebbe parsa inverosimile anche al più ingenuo degli ufficialisti, anche se oggi chiaramente plaude l'iniziativa dimostrando con i fatti come il bipensiero faccia parte della modalità di ragionamento dei più.
Chi si occupa di sistemi distribuiti e dei pericoli della centralizzazione (cioè di utilizzare enti centrali per gestire il flusso delle informazioni) da diversi lustri avverte della problematica, ma tale messaggio cassandrico è sempre stato bellamente ignorato in quanto la strada dell'uso di applicazioni distribuite è lenta ed un poco complessa e non può reggere il confronto della semplicità d'uso delle prigioni dorate che i suddetti social ci offrono, nonché (soprattutto) del loro network effect.
Ora il problema si sta ripresentando in un altra categoria di programmi: quelli di messaggistica, quelli come WhatsApp, per intenderci.
Sebbene esistano da decenni sistemi di messaggistica distribuita che non fanno uso di server centrale (i più antichi sono IRC e Jabber), non sono mai stati presi in considerazione dal grande pubblico perché non possono rivaleggiare con la praticità di WA o Telegram, che per essere pratici ci fanno rinunciare completamente alla nostra privacy: tutto l'elenco dei propri contatti viene passato al gestore che quindi può mettere in contatto facilmente persone che non si sono mai scritte prima, con la controindicazione che allo stesso tempo possono tenere traccia di tutte le comunicazioni che tra loro avvengono.
Chi poco capisce di protocolli, crittografia e concetti correlati come standard aperti e software Open Source fa fatica a valutare la sicurezza dei vari sistemi, e comunque, in ultima analisi, risolve la questione asserendo che "è inutile sbattersi, tanto sanno già tutto di noi".
Non c'è nulla di più vero e falso allo stesso tempo: è vero che sanno tutto di noi, ma è anche vero che è così proprio perché scegliamo volontariamente di utilizzare gli strumenti che consegnano a terzi l'elenco delle nostre attività così come il contenuto delle nostre più intime conversazioni.
D'altra parte sulle varie testate giornalistiche si leggono proclami tipo:
- "Whatsapp offre cifratura end-to-end" quindi sicura per l'utente, senza aggiungere che però il protocollo è chiuso, e che quindi quello è solo uno slogan e nessuno può verificare che sia vero (e questo senza considerare le evidenze del contrario)
- "Signal è sicuro perché protocollo aperto usato anche da Snowden" dimenticando di aggiungere che però richiede l'utilizzo di un cellulare, dove ogni persona è identificata o identificabile, ed ogni comunicazione intercettabile in quanto avviene su di un dispositivo che è compromesso a priori: produttori, enti giudiziari ed agenzie varie possono usare i vostri dispositivi mobili per fare intercettazione ambientale e telefonico anche a dispositivo spento (!).
- "Telegram è sicuro perché gli sviluppatori sono bravissimi, hanno inventato un loro sistema di cifratura e non hanno ceduto nemmeno alle minacce dello stato russo", evitando di ricordare che il servizio stesso dichiara di mantenere lo storico di tutte le conversazioni, di tutti i media trasmessi e di qualunque altro documento condiviso, tra chiunque, per sempre. Se banalmente qualche cracker riuscisse ad accedere ai server di Telegram potrebbe pubblicare lo storico delle conversazioni di tutti i loro utenti, tra chiunque. Mi spingerei a sostenere che Telegram è probabilmente il sistema di spionaggio globale di più grande successo mai sviluppato.
E tutto questo senza considerare proclami che dimostrano esattamente l'opposto di quanto precedentemente comunicato: ad esempio che WhatsApp bloccherà tutti gli utenti ed i messaggi che riterrà pericolosi [1]. Come potrebbe farlo senza intercettare il contenuto di quanto trasmesso?
Esiste una soluzione a quello che è lo Status Quo?
Chiaramente c'è, ma si tratta di informarsi in prima persona ed andare ad utilizzare applicazioni meno blasonate e sofisticate perché non godono degli infiniti finanziamenti che si possono permettere le varie aziende di cui abbiamo parlato finora.
Proviamo quindi a fare un elenco delle caratteristiche che deve avere un programma che supera le problematiche che abbiamo descritto finora:
- deve permetterne l'utilizzo a chiunque, e non limitatamente ad una fascia di utenti con determinate caratteristiche (ad esempio chi possiede un numero cellulare)
- deve utilizzare protocolli aperti in modo che possano essere scrutinati da esperti, e che permettano quindi di essere utilizzati da più programmi, non solo da quello ufficiale
- deve utilizzare protocolli crittografici che non abbiano falle in modo che una persona sufficientemente accorta possa effettuare comunicazioni realmente sicure senza che siano facilmente intercettabili in maniera sistematica
- deve evitare di dipendere dai server di questa o quella azienda: qualunque organizzazione può dover cessare il proprio servizio per i più svariati motivi: per forza maggiore (ad esempio perché la giurisdizione in cui opera glielo impone), perchè fallisce e non ha più le risorse per farlo, perché perde interesse, etc. Questo implica che chiunque deve poter utilizzare i propri server senza dipendere da terzi.
Nel tempo diversi gruppi di bravi volenterosi hanno proposto soluzioni che implementavano uno o più dei punti sopraccitati, alcuni con moderato successo (anche se principalmente all'interno di piccoli circoli di addetti ai lavori), ma per i motivi più svariati non c'è mai stata una soluzione che fosse sufficientemente pratica per risolvere tutte le necessità degli utenti più comuni .
Per fortuna però ultimamente sta cominciando a svilupparsi e maturare un nuovo standard che sta promettendo molto bene, e che è già arrivato ad un livello sufficientemente buono da poter essere usato per l'uso quotidiano anche dai non addetti ai lavori.
Lo standard si chiama Matrix [2] ed il programma di riferimento per il suo utilizzo si chiama Element [3].
Ecco per completezza come affronta le problematiche sopra esposte:
- l'uso è legato esclusivamente all'utilizzo di un software, e quindi svincolato da qualunque necessità di avere un cellulare e tantomeno un numero di telefono
- ogni comunicazione avviene encrypted end-to-end, il che vuol dire che il testo in chiaro non passa mai attraverso la rete, ma soprattutto non è visibile ai server ai quali siamo collegati: questo implica che non c'è bisogno di doversi fidare di lui. Possiamo usare anche un server della NSA ma abbiamo modo (con strumenti che poi affronteremo in un secondo momento) di scoprire se il server cerca di intercettare le nostre comunicazioni
- lo standard di comunicazione è aperto e liberamente utilizzabile da chiunque, è stato sviluppato da persone che hanno un eccellente background crittografico e che pare essere sound.
- l'azienda che sviluppa il software di riferimento (cioè quello di default), rilascia i sorgenti completi sia del client che del server, per cui chiunque può utilizzare il sistema senza chiedere il permesso a nessuno, né tantomeno far sapere a chicchessia del loro uso
- un sofisticato sistema di collegamento inter-server permette di far comunicare tutti gli utenti di tutti i server che di fatto fanno quindi parte di una rete globale senza confini
- esistono versioni del client (il programma che si usa per chattare) per le piattaforme più diffuse: Windows, Mac, Linux, Android, Apple
- qualcuno sta cominciando a sviluppare client e server alternativi a quelli di riferimento per non dipendere più dall'azienda che sta portando avanti l'iniziativa e fornendo i programmi più usati
A questo punto non rimane altro che darvi i vari riferimenti ed in consigli su come utilizzarle il sw che ho descritto.
E' possibile scaricare le varie versioni del programa a questo indirizzo: https://element.io/get-started [4]
Sono disponibili sia le versioni per PC che per cellulare, ma come spiegato prima, consiglio caldamente di evitare il più possibile i dispositivi mobili ed usare soltanto il PC per le comunicazioni (sopratutto quelle importanti). Possibilmente con sistema operativo Linux.
Esiste anche la possibilità di provare (ed usare) rapidamente il servizio senza scaricare nessun software ma usando direttamente il client su di una pagina web: se l'applicazione è hostata su di un server che non controlliamo è la scelta meno sicura, ma è molto pratica perché è disponibile immediatamente ovunque senza dover installare niente. Per completezza d'informazione: se invece decidessimo di mettere il client web su di un nostro server allora il suo utilizzo diventerebbe sicuro quasi come l'applicazione nativa.
Prima di cominciare ad usare il servizio è necessario decidere su quale server registrarsi: per default infatti si andrebbe ad utilizzare quello di matrix.org (il server degli sviluppatori) ma per diversi motivi conviene utilizzare un server alternativo, e la scelta [5] non manca [6].
Il nome utente che ci ritroveremo avrà questa forma: @nickname:dominio.estensione .
Il nickname lo scegliamo noi, mentre dominio.estensione dipende dal server che useremo. Se per esempio usassimo il server di default potrei avere un nome utente tipo @alex:matrix.org (non scrivetegli, non sò chi sia ).
Ecco tre esempi di come fare a registrare un utente:
- scaricare e lanciare il client ufficiale (o quello accessibile via web [7]), premere il tasto per registrare l'account e scegliere "Free - Matrix.org", inserire il nickname scelto e relativa pw (evitate di inserire email se non volete essere "cercabili" attraverso di essa e dare informazioni inutili al server)
Completata la registrazione il nostro utente sarà del tipo @francesco:matrix.org
- Invece di selezionare la prima opzione, selezionare quella avanzata, ed inserire il nome di un server alternativo, ad esempio:
E sulla schermata successiva inserire il nickname, per esempio:
Completata la registrazione il nostro nome utente sarà @francesco:lkj.it
- Usare un servizio web esterno come https://webchat.kde.org/ [8] gestito dal progetto KDE (Un desktop linux). Alla fine della registrazione il vostro nome utente sarebbe qualcosa tipo @dusty:kde.org
Una volta entrati nel programma per cominciare a chattare con qualcuno è necessario premere il tastino "+" ed inserire l'identificatore di un vostro contatto. A differenza di Whatsapp & C con questo sistema non si "trovano" automaticamente tutti i nostri contatti per il semplice motivo che, a differenza dei programmi appena citati, il server non li conosce.
Se qualcuno volesse provare a contattarmi in questo modo, fornisco il mio ID solo via PM.
(To Be Continued)
Collegamenti:
[1] https://www.tecnoandroid.it/2020/11/09/whatsapp-rescreve-le-regole-e-blocca-migliaia-di-utenti-820679
[2] https://matrix.org/
[3] https://element.io/
[4] https://element.io/get-started
[5] https://publiclist.anchel.nl/
[6] https://www.hello-matrix.net/public_servers.php
[7] https://app.element.io
[8] https://webchat.kde.org/