Nell’ultimo periodo molti utenti sono migrati da Whatsapp a Telegram, ma purtroppo per molti aspetti Telegram è meno sicura di Whatsapp e non è per nulla un esempio di privacy, come tanti si aspetterebbero.
Negli anni Telegram ha costruito il suo successo vendendosi come un ibrido tra un’app di messaggistica e un social network e si è inoltre dotata nel corso degli anni di alcune funzionalità molto avanzate che la rendono abbastanza unica tra le app di messaggistica.
Ma nonostante ci provi a presentarsi come una valida alternativa, non è in realtà la scelta migliore per chi è in cerca di una soluzione che metta al sicuro le proprie comunicazioni.
Una nota positiva potrebbe essere che il codice sorgente di Telegram è open source, ma questa trasparenza è solo parziale: riguarda l’applicazione e le sue relative API, mentre lato server il suo codice non è pubblico.
Telegram e sicurezza: la crittografia
Una delle razioni per cui Telegram è da ritenere meno sicura di altre app (e di Whatsapp anche) è che non ha la crittografia end-to-end (E2E) impostata di default: le chat cloud (quelle standard) non sono crittografate di default end-to-end, ma sono in modalità client-server.
La gestione della crittografia in Telegram risulta in effetti piuttosto ambigua.
Oggi tutte le principali applicazioni IM (Instant Messaging) implementano nativamente la crittografia end-to-end, con la parziale eccezione di Telegram e Facebook Messenger.
Telegram e sicurezza: come funziona e a cosa serve la crittografia end-to-end
La crittografia end-to-end (letteralmente “da un estremo all’altro“) è un sistema di comunicazione cifrata dove solo il mittente ed il destinatario possono leggere i messaggi.
Serve ad impedire l’attacco man in the middle (MITM). Questo attacco punta a rubare dati e informazioni personali, intercettando “in the middle” la comunicazione tra due utenti.
Acquisendo il traffico di rete di una comunicazione crittografata si ottengono invece pacchetti di dati incomprensibili ed inutilizzabili, dato che le chiavi con cui la comunicazione viene cifrata non sono conosciute dall’attaccante.
La crittografia end-to-end si basa sulla crittografia asimmetrica (detta “a chiave pubblica“), realizzata mediante la generazione di una coppia di chiavi, una privata e una pubblica, che sono differenti, ma legate tra loro da un algoritmo che è stato inventato nel 1976 da Whitfield Diffie e Martin E. Hellman (si parla infatti di algoritmo Diffie-Hellman per lo scambio delle chiavi).
Il doppio paio di chiavi crittografiche (ognuno dei due utenti che si scambia il messaggio avrà due chiavi) è necessario per cifrare e decifrare i messaggi in partenza e in arrivo. Ogni utente utilizzerà una propria chiave pubblica e una propria chiave privata.
La chiave privata è destinata a rimanere sul dispositivo di ciascuno dei due “endpoint” e servirà a decrittare i messaggi in arrivo.
La chiave pubblica sarà condivisa con l’interlocutore e verrà utilizzata per crittografare i messaggi in uscita.
Grazie a questa tecnica, le comunicazioni, pur viaggiando attraverso canali aperti e potenzialmente intercettabili (come Internet), saranno leggibili solo dal dispositivo che ospita la chiave pubblica utilizzata nel processo di crittografia.
Quindi, una comunicazione end-to-end è sicura?
Tecnicamente lo è, ma questo non significa che qualcuno non possa riuscire a leggerla.
Il punto debole può essere il dispositivo stesso e soprattutto l’uso che ne fa l’utente (e come sempre torniamo a porre l’attenzione sul fattore umano). In altre parole: se una delle due estremità (endpoint) viene compromessa, se il nostro telefono viene rubato o violato (per esempio con uno spyware o un captatore informatico) o fisicamente confiscato dalla polizia e sbloccato, la crittografia non serve più a nulla.
Telegram e sicurezza: chat segrete e crittografia end-to-end
Telegram essendo un’app che non ha la crittografia E2E impostata di default, deve essere impostata dall’utente, attivato le chat segrete.
In caso contrario, se non si utilizza una chat segreta ma la chat cloud (cioè quella standard), i dati vengono salvati sui server di Telegram e questa è un’opzione senz’altro meno sicura.
Come attivare le chat segrete
Attivare le chat segrete richiede quindi una specifica azione da parte dell’utente e questa non è neppure del tutto immediata: si deve scegliere il contatto a cui scrivere, si clicca sull’icona del contatto e tra le opzioni disponibili si deve scegliere l’opzione Avvia chat segreta. Da questo momento la chat con quel contatto sarà crittografata E2E e sarà segnalata nell’elenco delle chat col simbolo del lucchetto.
Questo opzione, oltre a risultare un po’ macchinosa, non è conosciuta da tutti, quindi la maggior parte delle persone utilizza Telegram con le impostazioni predefinite.
Non solo: sui messaggi che riceviamo non abbiamo nessun controllo, quindi sarà molto probabile che la maggior parte di questi non saranno crittografati E2E.
Da ricordare anche che solo le chat segrete non vengono sottoposte al backup, a differenza dei messaggi non crittografati. E il backup della chat (sebbene comodo) rappresenta un punto di debolezza, potenzialmente attaccabile.
In sintesi:
- le chat ed i gruppi non hanno di default la crittografia end-to-end, ma semplicemente sono crittografati client-server; questo significa che i messaggi arrivano ai server di Telegram, che potrebbe leggerli;
- le comunicazioni sono potenzialmente accessibili ad ogni autorità governativa che sia in grado di obbligare Telegram a fornire le chiavi, in questo caso la sede legale di Telegram si trova a Dubai, quindi diversamente da Whatsapp e Signal, Telegram LLC non deve sottostare alle norme USA;
- anche i gruppi e i canali Telegram non sono criptati di default end-to-end: se troviamo un gruppo o un canale attraverso il motore di ricerca dell’app, è molto probabile che le comunicazioni al suo interno non siano sicure.
La gestione della privacy in Telegram
Ai fini della privacy è utile conoscere anche l’opzione dei messaggi a scomparsa, se desideriamo che i messaggi vengano cancellati.
Questa opzione funziona solo nelle chat segrete: possiamo impostare un timer di scadenza sul messaggio da inviare e il messaggio si cancellerà per entrambi alla scadenza stabilita.
C’è da dire che l’opzione dei messaggi a scomparsa (o effimeri) non è una prerogativa solo di Telegram essendo ormai presente in molte altre applicazioni di messaggistica.
Viceversa, se usiamo le chat cloud potremo semplicemente cancellare il messaggio già inviato. In questo caso Telegram offre due scelte, disponibili sia per il mittente che per il destinatario:
- Elimina per me e [nome destinatario]
- Elimina per me
Telegram e sicurezza: come vengono gestiti i metadati
Esiste nelle applicazioni di messaggistica un’altra criticità, poco nota e sottovalutata: sono i metadati.
Anche se il messaggio non è leggibile grazie alla crittografia E2E, assieme al messaggio vengono trasmesse molte altre informazioni, definite per l’appunto metadati.
Nel caso di un messaggio i metadati sono per esempio: data e ora di invio, i numeri di telefono del mittente e del destinatario, la loro localizzazione e via dicendo.
Si tratta quindi di una fingerprint che aggiunge automaticamente dati identificativi al messaggio. Tali dati possono fornire ad un soggetto terzo informazioni importanti. Questo permette di profilarci e di costruire il nostro grafo sociale (“Social Graph“).
La gestione dei metadati in Telegram ha un livello di privacy migliore di quello di Whatsapp, ma decisamente peggiore rispetto a quello di altre chat sicure quali Signal, Wire, Threema, Wickr, più discrete e attente alla privacy.