Esistevano tempi in cui un hacker, uno qualsiasi, poteva entrare nello smartphone o nel computer e leggere tutti i log delle chat intrattenute dal possessore del dispositivo. Alcuni software molto famosi, come Live Messenger, creavano addirittura cartelle e file in chiaro nei quali erano presenti non solo i testi ma anche le immagini e i video scambiati con gli amici, senza alcuna forma di protezione.
Dopo lo scandalo Datagate e tutte le altre problematiche che riguardano la privacy digitale, i principali sviluppatori di piattaforme di messaggistica hanno lavorato per mettere al sicuro i loro ecosistemi. Oggi, quasi tutte sfruttano la cosiddetta crittografia end-to-end, che rende difficile agli occhi di terzi spiare le conversazioni, riducendo al minimo il pericolo di hacking da remoto. Resta sempre il rischio di farsi intercettare fisicamente, ma questa è un’altra storia.
Il momento essenziale
Agli albori della loro storia, app molto usate come WhatsApp e Facebook Messenger non basavano la propria tecnologia di comunicazione su strutture realmente sicure. Molto è cambiato con l’adozione della crittografia end-to-end, divenuta popolare con il boom di Telegram, la prima vera e propria app di chat amica della privacy.
Chat private
La crittografia end-to-end è una funzionalità molto potente che codifica fondamentalmente i messaggi trasmessi e ricevuti da due utenti di un medesimo servizio. Quando si invia un testo a un amico, questo viene codificato (e quindi crittografato) e può essere tradotto solo sul dispositivo del destinatario. Lo stesso algoritmo, perché di questo si tratta, cioè di una sequenza informatica che rende illeggibili i log, si applica per la condivisione di file e l’esecuzione di chiamate VoIP tramite internet. Il vantaggio di tale tecnica è che mantiene le chat e le telefonate protette da occhi indiscreti, che si tratti di hacker, organi di polizia o governi spioni. A livello tecnico, il tipo di conversazione intrattenuta può esser letta solo dagli smartphone da cui il messaggio è partito e a cui è arrivato, senza possibilità di intercettazione esterna, nemmeno da parte del fornitore stesso, il WhatsApp di turno.
Il gioco delle chiavi
Lo scopo della crittografia end-to-end è di codificare le informazioni del mittente. A tale obiettivo si arriva fornendo al dispositivo del destinatario solo le chiavi che possono decodificare un preciso messaggio, quello inviato dal suo interlocutore. Ed è qui che entrano in gioco due tipologie di chiavi: la pubblica e la privata.
Quando ci si registra per la prima volta su Whatsapp, installandolo sul telefonino, vengono generate e memorizzate sul server della compagnia gruppi di chiavi pubbliche, univoche per il cellulare. Sono queste che vengono poi utilizzate per crittografare i testi, le foto e i video inviati. Ogni app che supporta la crittografia end-to-end può usare numeri diversi di public key. Ad esempio per Whatsapp ne esistono tre: la chiave di identità, la chiave firmata e la chiave provvisoria (oppure one-time key), utilizzata solo alla prima lettura di un nuovo messaggio.
Ecco come funziona il passaggio tra le chiavi: Giorgio invia un messaggio a Laura. Il telefono di Giorgio usa le chiavi pubbliche del telefono di Laura per crittografare il messaggio e consegnarlo. Il sistema deve assicurarsi però che la comunicazione possa essere letta solo da Laura (cioè il destinatario previsto) e da nessun altro, nemmeno dal server che sta inoltrando la conversazione. E qui interviene la chiave privata.
Ogni dispositivo ha una chiave privata univoca, memorizzata sullo smartphone e da nessun’altra parte. Pertanto, quando Giorgio invia un messaggio a Laura, quest’ultimo viene crittografato e trasmesso utilizzando le chiavi pubbliche della ragazza, ma può essere essere tradotto solo utilizzando la chiave privata da lei posseduta.
Come la posta
Per fare una semplice analogia, pensa a come funzionano le cassette presenti al fianco degli uffici postali e dislocate in città (come fossero i server). Chiunque può piazzare al loro interno cartoline o missive, attraverso la fessura disponibile (la chiave pubblica), ma solo il postino, che ha l’accesso (la chiave privata), è in grado di aprire la scatola, recuperare tutte le lettere e consegnarle al destinatario. La differenza è che l’uomo può sbagliare o ritardare, la crittografia no.