Quali sono le caratteristiche di un servizio di comunicazione sicuro e riservato

Quali sono le caratteristiche di un servizio di comunicazione sicuro e riservato

fpoi.org

Ultimo aggiornamento: 21 febbraio, 2024

English - Español

Introduzione

Questo articolo analizza le caratteristiche in termini di sicurezza e di riservatezza dei servizi o applicazioni di comunicazione maggiormente utilizzati.

Nota: il confronto è effettuato tra WhatsApp (il più diffuso 2 miliardi di utenti), Telegram (il più sicuro e diffuso 500 milioni di utenti), Signal e Wire (i più sicuri e riservati). Un confronto in termini di funzionalità è disponibile a questo indirizzo.

Premessa: per un qualunque servizio o applicazione di comunicazione la sicurezza e la riservatezza assolute non esistono. Infatti, l'utilizzo di tecniche e protocolli di comunicazione sicuri e riservati non garantisce l'assenza di difetti o bug nella loro implementazione. Inoltre, qualunque servizio o applicazione richiede la fiducia nei gestori del servizio e nei seguenti aspetti:

  • Progettazione e implementazione di un servizio sicuro;
  • Assenza di vulnerabilità di sicurezza e di backdoor;
  • Presenza del codice sorgente e possibilità di verifica della corrispondenza tra esso e l'applicazione;
  • Assenza di modifiche all'applicazione da parte della fonte da cui è stata scaricata;
  • Nessun incentivo o motivo per non proteggere i dati degli utenti;
  • Non volontà o impossibilità di consegnare i dati degli utenti alle autorità.

Indice

Tecnica di comunicazione

  • Crittografia end-to-end o e2e: la protezione crittografica permette la lettura dei dati solo agli utenti che stanno comunicando. In teoria, nessuna terza parte è in grado di leggere o alterare i dati che sono memorizzati solo nei dispositivi. Nota: l'utilizzo di questo tipo di crittografia richiede comunque la presenza di un server per poter consegnare i dati (messaggi, immagini, audio, video, files, etc.). Applicazione: Signal, Telegram (chat segrete e audio/video chiamate), WhatsApp, Wire.
  • Crittografia client-server o cloud: la protezione crittografica permette la lettura dei dati ai gestori del server dove sono memorizzati. Applicazione: Telegram (chat private, di gruppo e vocali, canali).
  • Nessuna crittografia: nessuna protezione crittografica. I dati transitano senza cifratura attraverso Internet.

Analisi: in teoria, la crittografia e2e non richiede alcuna fiducia nel server che non può leggere i dati a differenza della crittografia client-server. Nella pratica, la crittografia e2e, se è di tipo Trust On First Use (TOFU), soffre della minaccia MITM. La comunicazione tra gli utenti è sicura solo se è possibile verificare le impronte digitali delle chiavi di cifratura (fingerprint) dei dispositivi utilizzati. La verifica permette di accertare l'identità dei propri interlocutori e richiede un canale sicuro (incontro di persona). In assenza di verifica, la crittografia e2e richiede fiducia nel server. Inoltre, nella crittografia e2e l'aggiunta di un nuovo dispositivo al gruppo di dispositivi o una nuova installazione dell'applicazione sullo stesso dispositivo richiede una nuova verifica.

Signal e Wire notificano la variazione delle chiavi di cifratura e richiedono la conferma all'utente per continuare la comunicazione. WhatsApp ha tale notifica disattivata come impostazione predefinita e non richiede alcuna conferma. WhatsApp fornisce la possibilità di verificare automaticamente le chiavi di cifratura attraverso un meccanismo di trasparenza delle chiavi che mitiga, ma non risolve il problema. Telegram chiude la chat segreta in caso di modifica della chiave di cifratura (evento non possibile per le altre applicazioni dato che non hanno alternative alle chat e2e). Inoltre, Telegram nelle audio/video chiamate mostra la chiave di cifratura mediante emoji facilmente verificabili. Nota: Signal, Wire, Whatsapp e Telegram chat segrete sono TOFU.

Conclusione: la crittografia e2e è sempre preferibile alla crittografia client-server a patto di poter verificare l'identità degli interlocutori. In caso contrario, la crittografia e2e perde la sua efficacia e resta suscettibile ad attacchi MITM.

Protocollo di comunicazione

Analisi: un protocollo di comunicazione deve essere aperto per consentire una verifica formale sia del funzionamento sia delle primitive crittografiche e di hashing impiegate al fine di escludere la presenza di vulnerabilità. Al momento, i protocolli di comunicazione proteggono completamente con la crittografia e2e solo le comunicazioni uno a uno (chat e audio/video chiamate) e non le comunicazioni di gruppo (chat e conferenze). Nota: in crittografia, la progettazione di un nuovo protocollo di comunicazione, invece dell'utilizzo di uno collaudato, è considerata una pessima pratica soprattutto se effettuata da un non crittografo. Sebbene tale affermazione sia condivisibile, non ci sono prove della sua validità.

Il protocollo Signal, noto in precedenza come protocollo TextSecure, è nato nel 2013 dal progetto Open Whisper Systems divenuto Signal Messenger nel 2018. Il protocollo è considerato lo stato dell'arte per le applicazioni di comunicazione; infatti, la maggioranza di esse sia a sorgente aperto (Signal, Wire) sia a sorgente chiuso (Facebook Messenger, Skype, WhatsApp) lo utilizzano. Il protocollo MTProto è nato nel 2013 dal progetto Telegram. La versione v1.0 ha ricevuto forti critiche dagli esperti di crittografia a causa di alcuni difetti di progettazione (utilizzo della primitiva di hashing SHA1 e l'assenza del criterio IND-CCA) corretti con la versione v2.0 rilasciata nel 2017. Per entrambe le versioni, non sono note vulnerabilità e sono stati realizzati dei crack contest senza vincitori. Nota: i protocolli Signal e MTProto sono stati confrontati spesso in passato: il primo è sempre stato preferito al secondo (versione v1.0) dagli esperti di crittografia grazie alle sue scelte di progettazione e alla fama del suo sviluppatore (Signal vs Telegram). Infine, Wire supporta la federazione e sta partecipando attivamente allo sviluppo del nuovo protocollo di comunicazione Messaging Layer Security (MLS) del IETF.

Conclusione: l'apertura delle specifiche e la correttezza formale sono due requisiti fondamentali per un qualunque servizio di comunicazione.

Licenza del software

  • Sorgente aperto o libero: i codici sorgente del client e del server sono disponibili e chiunque, con le sufficienti competenze, è in grado di analizzarli. Generalmente, il codice sorgente è rilasciato su GitHub. Applicazione: Signal (client e server), Wire (client e server).
  • Sorgente semi aperto: solo il codice sorgente del client è disponibile mentre il codice del server è chiuso. Il binario dell'applicazione (client) non è offuscato. Generalmente, il codice sorgente è rilasciato su GitHub. Applicazione: Telegram (client).
  • Sorgente chiuso o proprietario: i codici sorgente del client e del server non sono disponibili. Generalmente, il binario dell'applicazione (client) è offuscato per rendere difficile, se non impossibile, l'analisi dello stesso da parte di terzi. Applicazione: WhatsApp (client e server).

Analisi: nella crittografia il principio di Kerckhoffs afferma che la sicurezza di un un sistema crittografico non deve dipendere dalla segretezza dell'algoritmo crittografico, ma solo dalla segretezza delle chiave di cifratura. Tale principio richiede la disponibilità del codice sorgente per consentire l'analisi da parte di terzi. Una qualunque servizio di comunicazione è trasparente se e solo se sono noti i dettagli implementativi ovvero se è a sorgente aperto. Nota: la sicurezza tramite segretezza è un principio opposto a quello di Kerckhoffs e considerato debole dalla crittografia moderna.

Signal e Wire sono completamente aperte e quindi trasparenti e analizzabili da parte di terzi. Inoltre, Signal consente di verificare l'assenza di modifiche all'applicazione Android da parte della fonte da cui è stata scaricata. Tuttavia, al momento, solo Wire fornisce una versione libera (priva di software proprietario) sul catalogo FOSS F-Droid (Signal). Telegram è aperto lato client e dispone di una versione libera sul catalogo FOSS F-Droid. Inoltre, Telegram consente di verificare l'assenza di modifiche alle applicazioni Android e iOS da parte delle fonti da cui sono state scaricate. I client sono trasparenti e analizzabili da parte di terzi mentre il server è chiuso e richiede la fiducia nello sviluppatore del servizio Telegram. Inoltre, Telegram è parte di un progetto noto come The Open Network (TON) che prevede l'apertura del codice sorgente del server entro il 2021 [1]. WhatsApp è completamente chiusa, il binario pubblicato nei cataloghi (PlayStore e AppStore) è offuscato e non permette alcuna analisi. Come conseguenza è necessaria la massima fiducia nello sviluppatore del servizio Facebook.

Conclusione: l'apertura del codice sorgente è un requisito fondamentale per un qualunque servizio soprattutto per un servizio di comunicazione.

Salvataggio dei dati

  • In locale: i dati sono salvati in locale sul proprio dispositivo. Non è necessaria la fiducia in terze parti poiché i dati non lo lasciano mai. Il salvataggio è poco intuitivo, lento e occupa spazio nel dispositivo. Applicazione: Signal, Wire.
  • In cloud nei propri server: i dati sono salvati con crittografia cloud nei server dei gestori del servizio. Il salvataggio è intuitivo, veloce e non occupa spazio nel dispositivo, ma richiede la fiducia nei gestori del servizio di comunicazione. Applicazione: Telegram.
  • In cloud nei server di terze parti: i dati sono salvati con crittografia cloud nei server di terze parti. Il salvataggio è intuitivo, lento, occupa spazio nel dispositivo, ma soprattutto richiede la doppia fiducia nel fornitore del servizio di comunicazione e in quello dello spazio in cloud. Applicazione: WhatsApp.

Analisi: il salvataggio dei dati in locale non richiede alcuna fiducia mentre i salvataggi in cloud richiedono una fiducia singola e doppia nei server. Tuttavia, il salvataggio dei dati in locale deve essere eseguito manualmente richiedendo tempo e (minime) conoscenze tecniche. La quasi totalità (95%) degli utenti non è disposta o in grado di utilizzare tale soluzione. Conseguentemente, il salvataggio dei dati in cloud è il compromesso da accettare in favore della velocità e semplicità di utilizzo e a scapito della riservatezza.

Signal e Wire permettono di effettuare solo il salvataggio dei dati manuale e cifrato in locale. Telegram effettua il salvataggio dei dati in automatico con crittografia cloud sui propri server e richiede la fiducia nello sviluppatore del servizio Telegram. Inoltre, Telegram prevede di salvare i dati nella rete decentralizzata del progetto noto come The Open Network (TON) entro il 2021 [1]. WhatsApp effettua il salvataggio dei dati in automatico (dopo la prima configurazione) e con crittografia cloud tramite Google Drive o iCloud e richiede la massima fiducia nello sviluppatore del servizio Facebook e nel gestore del cloud Google o Apple (crittografia e2e opzionale). In particolare, i dati multimediali (immagini, audio, video e file) sono in chiaro mentre i messaggi, i contatti, gli adesivi e le impostazioni sono cifrati (primitiva crittografica AES-256) e Facebook possiede la chiave di cifratura. Inoltre, WhatsApp fornisce la possibilità, disattivata come impostazione predefinita, di proteggere con la crittografia e2e il salvataggio dei dati rimuovendo la fiducia nel gestore del cloud Google o Apple. Nota: Telegram e Wire permettono di cancellare per tutti e per un tempo illimitato i dati inviati (Telegram fornisce la stessa funzionalità anche per i dati ricevuti). WhatsApp e Signal permettono di cancellare per tutti i dati inviati entro 48 ore e 3 ore rispettivamente. Nota: Signal, Wire, Whatsapp e Telegram permettono di inviare dei messaggi a tempo nelle chat private e di gruppo.

Conclusione: il salvataggio dei dati in locale è l'unica soluzione che fornisce la riservatezza della comunicazione.

Metodi di registrazione e autenticazione

  • Posta elettronica: la registrazione al servizio avviene tramite un indirizzo di posta elettronica. Il metodo garantisce una maggiore sicurezza a fronte di una minore immediatezza. Applicazione: Wire.
  • Numero di telefono: la registrazione al servizio avviene tramite un numero di telefono. Il metodo è immediato, ma insicuro a causa di vulnerabilità note. Applicazione: Signal, Telegram, WhatsApp, Wire.
  • Autenticazione a 2 fattori (2FA): utilizza congiuntamente di due metodi di autenticazione individuale (PIN, password, token, biometria, etc.). La 2FA migliora la sicurezza introducendo la necessità di due metodi di autenticazione invece di uno. Applicazione: Telegram, WhatsApp.

Analisi: la registrazione tramite posta elettronica è sicura e riservata: la prima deriva dall'assenza di vulnerabilità irrisolte mentre la seconda è legata alla possibilità di utilizzare servizi di posta elettronica anonimi. La registrazione tramite numero di telefono soffre di vulnerabilità note del servizio SMS e dovrebbe essere evitata. La 2FA permette di eliminare le debolezze della registrazione tramite numero di telefono e di incrementare la sicurezza della registrazione tramite posta elettronica; per tali motivi è consigliato abilitarla quando disponibile. Nota: l'aggiunta di un nuovo dispositivo o di un dispositivo utilizzato in precedenza richiede una nuova registrazione o autenticazione.

Signal e WhatsApp permettono di registrarsi al servizio solo utilizzando un numero di telefono. Telegram, oltre al numero di telefono, permette di registrarsi al servizio utilizzando un numero anonimo tramite il progetto noto come The Open Network (TON). Telegram e WhatsApp forniscono la possibilità di inserire, rispettivamente, un PIN di 6 cifre e una password e di recuperarli attraverso un indirizzo di posta elettronica. Signal fornisce la possibilità di bloccare la registrazione con un PIN, ma il blocco scade dopo 7 giorni di inattività. Wire permette di registrarsi al servizio utilizzando sia un indirizzo di posta elettronica sia un numero di telefono, ma non fornisce alcuna 2FA. Wire e Telegram informano l'utente della presenza di un nuovo dispositivo attraverso una notifica nell'applicazione installata in altri dispositivi aggiunti in precedenza (Wire invia anche un messaggio di posta elettronica se è stata utilizzata come metodo di registrazione).

Conclusione: la posta elettronica è sempre preferibile al numero di telefono come metodo di registrazione. Dove non disponibile è necessario attivare la 2FA.

Modalità di gestione dei contatti

  • Username: un utente è identificato attraverso il proprio nome utente. Tale modalità fornisce maggiore riservatezza a fronte di minore immediatezza. Applicazione: Signal, Telegram, Wire.
  • Numero di telefono: un utente è identificato attraverso il proprio numero di telefono. Tale modalità fornisce immediatezza a scapito della mancanza di riservatezza. Applicazione: Signal, Telegram, WhatsApp, Wire.

Analisi: l'utilizzo degli username è riservato poiché non richiede la conoscenza dei numeri di telefono degli utenti. Inoltre, gli username permettono di non dover caricare la propria rubrica telefonica sui server dei gestori del servizio. Il numero di telefono è un dato personale che non dovrebbe mai essere divulgato pubblicamente.

WhatsApp non prevede gli username e richiede di caricare la propria rubrica sui suoi server affinché gli utenti si possano contattare attraverso il numero di telefono. Signal, Telegram e Wire prevedono gli username e gli utenti possono contattarsi senza necessariamente caricare la propria rubrica sui loro server e condividere il proprio numero di telefono (anche l'indirizzo di posta elettronica per Wire). Inoltre, Signal e Wire, nel caso di caricamento della rubrica, protegge i contatti e li rende illeggibili dal server. Telegram, differentemente da Whatsapp, consente di mostrare il proprio numero di telefono solo ai contatti che già lo possiedono, proteggendo gli utenti dalle autorità dei regimi oppressivi.

Conclusione: il nome utente è sempre preferibile al numero di telefono come metodo di contatto.

Modello di affari

  • Donazioni: il servizio fornito è gratuito e reso possibile dalle donazioni di terzi (utenti, istituzioni, aziende, etc.). Generalmente, questo modello è utilizzato da fondazioni e organizzazioni non-profit. Nessuna pubblicità e profilazione degli utenti. Applicazione: Signal, Telegram.
  • Funzionalità aggiuntive a pagamento: il servizio fornito è gratuito per le funzionalità base e a pagamento per le funzionalità aggiuntive. Gli utenti paganti permettono di fornire il servizio gratuito per gli utenti base. Nessuna pubblicità e profilazione degli utenti. Applicazione: Wire.
  • Dati degli utenti: il servizio fornito è apparentemente gratuito, ma in realtà il pagamento sono i dati degli utenti. Presenza di pubblicità e profilazione degli utenti. Applicazione: WhatsApp.

Analisi: un modello di affari non chiaro o un servizio apparentemente gratuito significano che il pagamento sono i dati ovvero la vita degli utenti. In generale, è preferibile pagare un servizio con un abbonamento o tramite donazione ed essere certi della sua genuinità rispetto ad averla gratis senza alcuna certezza. Nota: generalmente, fondazioni e organizzazioni non-profit utilizzano un dominio .org (Signal e Telegram) mentre le società a scopo di lucro utilizzano un dominio .com (WhatsApp e Wire).

Signal Messenger, a partire dal 2018, è una società LLC sostenuta da una fondazione non-profit i cui fondi provengono da una donazione da parte del cofondatore di WhatsApp il quale è stato costretto ad abbandonare il suo progetto originale in seguito a divergenze con la dirigenza. In precedenza, Signal è stato finanziato dal governo USA. WhatsApp è una società LLC e, dal 2014, è di proprietà di Facebook, una società USA quotata in borsa i cui profitti derivano per il 98% dalla pubblicità. Wire è una società GmbH Europea il cui profitto è legato agli abbonamenti per le aziende e per gli utenti con funzionalità avanzate. Telegram è una società FZ-LLC i cui fondi provengono dalle donazioni del suo cofondatore. Telegram prevede di diventare una fondazione non-profit dal 2021 essendo parte del progetto noto come The Open Network (TON) [1].

Conclusione: un modello di affari trasparente è un requisito fondamentale per qualunque servizio soprattutto per un servizio di comunicazione.

Resistenza alla censura

Analisi: la libertà di parola e la riservatezza sono due diritti fondamentali degli utenti che devono essere garantiti da un servizio di comunicazione. In generale, tali diritti dovrebbero prevalere rispetto alle richieste da parte di autorità governative e un servizio di comunicazione dovrebbe essere in grado di operare in presenza di blocchi e censure imposti da tali autorità.

Telegram supporta la libertà di parola e contrasta la censura. Inoltre, non ha mai ceduto dati a terzi comprese le autorità governative e per questo è stato bloccato in Iran, Cina, Pakistan e molti altri paesi pur continuando a operare grazie all'utilizzo dei proxy (escluso Cina). La sede operativa è a Dubai mentre i server sono distribuiti geograficamente nel mondo in varie giurisdizioni per proteggere i dati dalle ingerenze delle autorità governative. Telegram è parte di un progetto noto come The Open Network (TON) che prevede la realizzazione di una rete decentralizzata anti censura, parallela a Internet, con servizi proxy e VPN integrati entro il 2021 [1]. Wire supporta la libertà di parola e non ha mai ceduto dati a terzi. La sede operativa è in Svizzera mentre i server sono sotto la giurisdizione dell'UE. Signal supporta la libertà di parola e contrasta la censura. Inoltre, non ha mai ceduto dati a terzi e per questo è stato bloccato in Egitto, Qatar, Emirati Arabi Uniti, Iran, Cina e altri paesi. La sede operativa e i server sono sotto la giurisdizione degli USA. WhatsApp non supporta la libertà di parola e collabora al controllo e alla limitazione della comunicazione da parte delle autorità. La sede operativa e i server sono sotto la giurisdizione degli USA. Nota: Signal and Telegram hanno utilizzato la tecnica del domain fronting per aggirare i blocchi imposti da alcuni stati fino a quando Google e Amazon hanno interrotto il loro supporto.

Conclusione: la resistenza alla censura è un requisito fondamentale per un qualunque servizio di comunicazione.

Raccolta dei metadati

Report Page