Introduzione
La natura delle moderne comunicazioni digitali fa sì che raramente comunichiamo direttamente con i nostri destinatari. Può sembrare che tu e i tuoi amici stiate scambiando messaggi privatamente quando, in realtà, questi vengono registrati e archiviati in un server centrale.
Forse non vuoi che i tuoi messaggi vengano letti dal server responsabile del loro passaggio tra te e il ricevente. In questo caso, la crittografia end-to-end (o, più semplicemente, E2EE) potrebbe essere la soluzione giusta per te.
La crittografia end-to-end è un metodo per la cifratura di comunicazioni tra destinatario e mittente, in modo che questi due siano le uniche parti in grado di decifrare i dati. Le sue origini risalgono agli anni '90, quando Phil Zimmerman ha rilasciato Pretty Good Privacy (meglio conosciuto come PGP).
Prima di spiegare i motivi per cui potresti voler usare E2EE e scoprire come funziona, diamo un'occhiata al funzionamento dei messaggi non cifrati,.
Come funzionano i messaggi non cifrati?
Vediamo come una regolare piattaforma di messaggistica per smartphone potrebbe operare. Installi l'applicazione e crei un account, che ti permette di comunicare con altri che hanno fatto la stessa cosa. Scrivi un messaggio e inserisci il nome utente del tuo amico, quindi lo invii a un server centrale. Il server vede che il messaggio è indirizzato al tuo amico, quindi lo trasmette alla destinazione.
Gli utenti A e B comunicano. Devono passare i dati attraverso il server (S) per raggiungersi.
Potresti conoscere questa struttura come un modello client-server. Il client (il tuo smartphone) non sta facendo molto – invece, il server si occupa di tutto il lavoro pesante. Questo, però, significa anche che il fornitore del servizio agisce da intermediario tra te e il destinatario.
Il più delle volte, i dati che passano tra A <> S e S <> B nel diagramma mostrato sopra sono cifrati. Un esempio di questo caso è il Transport Layer Security (TLS), usato ampiamente per proteggere le connessioni tra client e server.
Il TLS e le soluzioni di sicurezza simili impediscono a chiunque di intercettare il messaggio quando questo si sposta da client a server. Anche se queste misura possono prevenire l'accesso ai dati da parte di estranei, il server può comunque leggerli. E' qui che entra in gioco la cifratura. Se i dati da A sono stati cifrati con una chiave crittografica appartenente a B, il server non è in grado di leggerli o accedervi.
Senza i metodi E2EE, il server può archiviare le informazioni in un database insieme a milioni di altri dati. Considerando il grande numero e la frequenza di violazioni dei dati su larga scala, questo può avere implicazioni disastrose per gli utenti finali.
Come funziona la crittografia end-to-end?
La crittografia end-to-end garantisce che nessuno – nemmeno il server che ti connette con gli altri – può accedere alle tue comunicazioni. Le comunicazioni in questione possono essere qualsiasi cosa da testo semplice e email a file e videochiamate.
I dati sono cifrati in applicazioni come Whatsapp, Signal o Google Duo (in teoria) in modo che solo i mittenti e i destinatari possono decifrarli. Negli schemi di crittografia end-to-end, potresti avviare questo processo con qualcosa chiamato scambio di chiavi.
Cos'è uno scambio di chiavi Diffie-Hellman?
L'idea dello scambio di chiavi Diffie-Hellman è stata concepita dagli esperti di crittografia Whitfield Diffie, Martin Hellman e Ralph Merkle. E' una potente tecnica che permette alle parti di generare un segreto condiviso in un contesto potenzialmente ostile.
In altre parole, la creazione della chiave può avvenire su forum non sicuri (anche con qualcuno che osserva) senza compromettere i conseguenti messaggi. Nell'Era dell'Informazione, questa caratteristica è particolarmente preziosa in quanto le parti non devono scambiare le chiavi fisicamente per comunicare.
Lo stesso scambio coinvolge grandi numeri e magia crittografica. Non entreremo troppo nei dettagli. Invece, useremo la popolare analogia dei colori di vernice. Supponiamo che Alice e Bob siano in stanze di hotel separate alle estremità opposte di un corridoio, e vogliano condividere un particolare colore di vernice. Non vogliono che nessun altro scopra il colore.
Sfortunatamente, questo piano dell'hotel è pieno di spie. Supponiamo che in questo esempio Alice e Bob non possano entrare nella stanza dell'altro, quindi possono interagire solo nel corridoio. Ciò che potrebbero fare è concordare su un colore comune nel corridoio – diciamo, giallo. Prendono una latta di questa vernice gialla, la dividono tra di loro e tornano nelle rispettive camere.
Nelle loro camere, mischiano una vernice segreta – che nessuno conosce. Alice usa una tonalità di blu, e Bob usa una tonalità di rosso. Cosa fondamentale, le spie non possono vedere questi colori segreti che stanno usando. Vedranno le miscele risultanti, però, in quanto Alice e Bob escono ora dalle loro stanze con i loro intrugli blu-giallo e rosso-giallo.
Si scambiano questi miscugli allo scoperto. Non importa se le spie li vedono ora, perché non riusciranno a determinare la precisa tonalità dei colori aggiunti. Ricorda che questa è solo un'analogia – la matematica reale su cui si basa il sistema rende ancora più difficile indovinare il “colore” segreto.
Alice prende il mix di Bob, Bob prende quello di Alice, e ritornano di nuovo nelle proprie camere. Ora, aggiungono i loro colori segreti alla vernice.
Alice combina la sua tonalità di blu segreta con il mix rosso-giallo di Bob, creando un mix rosso-giallo-blu
Bob combina la sua tonalità di rosso segreta con il mix blu-giallo di Alice, creando un mix blu-giallo-rosso
Entrambe le combinazioni hanno al loro interno gli stessi colori, quindi dovrebbero apparire identiche. Alice e Bob sono riusciti a creare un colore unico che gli avversari non conoscono.
Quindi, questo è il principio che possiamo usare per creare un segreto condiviso allo scoperto. La differenza è che non ci troviamo in corridoi e non usiamo latte di vernice, bensì ci troviamo in canali non sicuri e utilizziamo chiavi pubbliche e chiavi private.
Scambio di messaggi
Una volta che le parti hanno il loro segreto condiviso, possono usarlo come base per uno schema di cifratura asimmetrica. Le implementazioni più diffuse integrano solitamente tecniche aggiuntive per una maggiore sicurezza, ma tutto questo viene astratto dall'utente. Una volta connesso con un amico su un'applicazione E2EE, la cifratura e la decifratura possono solo avvenire sui vostri dispositivi (escludendo ogni grave vulnerabilità software).
Non importa se sei un hacker, il fornitore del servizio o persino le forze dell'ordine. Se il servizio usa davvero crittografia end-to-end, qualsiasi messaggio che intercetti apparirà come un groviglio illeggibile.
➟ Vuoi iniziare con le criptovalute? Compra Bitcoin su Binance!
Pro e contro della crittografia end-to-end
Contro della crittografia end-to-end
La crittografia end-to-end ha un solo lato negativo – e la negatività dipende interamente dalla tua prospettiva. Per qualcuno, la stessa proposta di valore della E2EE è problematica, precisamente perché nessuno può accedere ai tuoi messaggi senza la chiave corrispondente.
Gli oppositori sostengono che i criminali possono usare la E2EE, con la certezza che i governi e le compagnie tecnologiche non possono decifrare le loro comunicazioni. Credono che gli individui rispettosi della legge non dovrebbero aver bisogno di tenere nascosti i propri messaggi e chiamate. Questo sentimento viene ripreso da molti politici che supportano legislazioni per introdurre backdoor nei sistemi al fine di permettere loro l'accesso alle comunicazioni. Ovviamente, questo vanificherebbe lo scopo della crittografia end-to-end.
E' importante sottolineare che le applicazioni che usano la E2EE non sono sicure al 100%. I messaggi sono offuscati quando trasmessi da un dispositivo all'altro, ma sono visibili nei punti finali – ad es., i laptop o gli smartphone alle due estremità. Non si tratta, di per sé, di uno svantaggio della crittografia end-to-end, ma vale la pena tenerlo presente.
Il messaggio è visibile in testo semplice prima e dopo la decifratura.
La E2EE garantisce che nessuno può leggere i tuoi dati mentre questi sono in transito. Ma esistono altre minacce:
Il tuo dispositivo potrebbe essere rubato: se non hai un codice PIN o se il criminale riesce a bypassarlo, può ottenere l'accesso ai tuoi messaggi.
Il tuo dispositivo può essere compromesso: il tuo dispositivo potrebbe avere malware che spia le informazioni prima e dopo che le invii.
Un altro rischio è che qualcuno potrebbe inserirsi tra te e il tuo destinatario attraverso un attacco man-in-the-middle. Questo avviene all'inizio della comunicazione – se stai eseguendo uno scambio di chiavi, non sai per certo se la parte con cui lo stai facendo è davvero il tuo amico. Potresti inconsapevolmente stabilire un segreto con un hacker. L'hacker riceve poi i tuoi messaggi e ha la chiave per decifrarli. Potrebbe ingannare il tuo amico nello stesso modo, ovvero potrebbe trasmettere messaggi e leggerli o modificarli come preferisce.
Per aggirare questo potenziale problema, molte app integrano qualche tipo di funzione di codice di sicurezza. Si tratta di una stringa di numeri o un codice QR che puoi condividere con i tuoi contatti attraverso un canale sicuro (idealmente offline). Se i numeri corrispondono, puoi essere sicuro che non ci siano terze parti a spiare le tue comunicazioni.
Pro della crittografia end-to-end
In una configurazione senza nessuna delle vulnerabilità menzionate sopra, la E2EE è senza dubbio una risorsa molto preziosa per una maggiore confidenzialità e sicurezza. Come l'onion routing, è una tecnologia sostenuta e promossa dagli attivisti per la privacy di tutto il mondo. Inoltre, può essere integrata facilmente in applicazioni che assomigliano a quelle a cui siamo abituati, il che significa che la tecnologia è accessibile a chiunque sia in grado di usare un telefono cellulare.
Considerare la E2EE come un meccanismo utile soltanto per criminali e informatori sarebbe un errore. Anche le compagnie in apparenza più sicure si sono dimostrate suscettibili ad attacchi informatici, rivelando informazioni non cifrate degli utenti a malintenzionati. L'accesso ai dati dell'utente, come comunicazioni sensibili o documenti d'identità, può avere impatti catastrofici sulle vite degli individui.
Se una compagnia che utilizza la E2EE viene attaccata, gli hacker non possono estrarre informazioni significative sul contenuto dei messaggi (se l'implementazione della cifratura è solida). Nella migliore delle ipotesi, possono impadronirsi di metadati. Questo è comunque preoccupante dal punto di vista della privacy, ma è un grande passo avanti rispetto all'accesso ai messaggi non cifrati.
In chiusura
Oltre alle applicazioni menzionate in precedenza, abbiamo a disposizione un numero sempre crescente di strumenti E2EE. iMessage di Apple e Duo di Google vengono forniti con i sistemi operativi iOS e Android, e nuovi software più concentrati su privacy e sicurezza continuano ad essere introdotti sul mercato.
Ripetiamo che la crittografia end-to-end non è una barriera magica contro tutte le forme di attacco informatico. Con uno sforzo relativamente minimo, però, puoi usarla attivamente per ridurre notevolmente il rischio a cui ti esponi online. Insieme a Tor, i VPN e le criptovalute, le applicazioni di messaggistica con E2EE possono essere una preziosa aggiunta al tuo arsenale per la privacy digitale.
➟ Hai delle domande sulla crittografia end-to-end? Visita Ask Academy per discuterne con la comunità!