Cos’è la crittografia end-to-end?
La crittografia end-to-end (E2EE) è un tipo di messaggistica che mantiene i messaggi privati da chiunque, incluso il servizio di messaggistica. Quando si utilizza E2EE, un messaggio appare in forma decriptata solo per la persona che invia il messaggio e per la persona che lo riceve. Il mittente è una “estremità” della conversazione e il destinatario è l’altra “estremità”; da qui il nome “end-to-end”.
Pensa alla crittografia end-to-end come a una lettera che passa per posta in una busta sigillata. La persona che invia la lettera è in grado di leggerla e la persona che la riceve può aprirla e leggerla. Gli impiegati del servizio postale non possono leggere la lettera perché rimane sigillata nella busta.
Cosa rende la crittografia end-to-end unica rispetto ad altri tipi di crittografia?
Molti servizi di messaggistica offrono comunicazioni crittografate senza una vera crittografia end-to-end. Un messaggio viene crittografato mentre viaggia dal mittente al server del servizio e dal server al destinatario, ma quando raggiunge il server, viene brevemente de-crittografato prima di essere nuovamente crittografato. Questo è il caso del protocollo di crittografia comune TLS.
Immagina se ci fosse un servizio postale che, dopo aver accettato la lettera di qualcuno per la consegna, aprisse la busta e trasferisse la lettera in una nuova busta prima di consegnarla al destinatario. Il contenuto della lettera potrebbe essere esposto ai dipendenti del servizio postale.
Il servizio può promettere che non leggerà il messaggio nella sua forma decifrata, proprio come il servizio postale nell’esempio sopra potrebbe promettere che i suoi dipendenti non leggeranno mai le lettere mentre vengono trasferite nella loro nuova busta. Ma qualcuno che invia un messaggio deve comunque fidarsi che il servizio di messaggistica manterrà la sua promessa.
E2EE è “end-to-end” perché è impossibile per chiunque nel mezzo decifrare il messaggio. Gli utenti non devono fidarsi che il servizio che stanno utilizzando non leggerà i loro messaggi: non è possibile per il servizio farlo. Immagina se, invece di inviare una lettera in una busta, qualcuno la spedisse in una scatola chiusa a chiave di cui solo lui ha la chiave. Ora sarebbe fisicamente impossibile per chiunque leggere la lettera a parte il destinatario previsto. Ecco come funziona E2EE.
Come funziona la crittografia?
La crittografia funziona alterando i dati in modo che solo qualcuno che possiede una specifica parte di conoscenza, nota come chiave, possa interpretare i dati. Supponiamo che Anna invii un messaggio a Jack, ma Zac ruba il messaggio mentre è in viaggio verso Jack. Se Anna ha crittografato il messaggio usando una chiave che lei e Jack hanno entrambi, Zac non può leggerlo e il messaggio di Anna rimane sicuro. Se invece il messaggio raggiunge Jack, Jack è in grado di de-crittografare il messaggio usando la chiave che possiede e può leggerlo.
Le chiavi possono assumere forme diverse in contesti diversi. Nell’esempio sopra, una chiave può essere semplice come un set di istruzioni per decifrare il messaggio di Anna. Con le comunicazioni su Internet, una chiave è una stringa di bit che gioca un ruolo nelle complesse equazioni matematiche utilizzate per codificare e decifrare i dati.
Con E2EE, la chiave che può crittografare e de-crittografare i messaggi rimane salvata sul dispositivo di un utente.
Che tipo di crittografia utilizza E2EE?
La crittografia end-to-end utilizza una forma specializzata di crittografia chiamata crittografia a chiave pubblica, talvolta anche chiamata ”crittografia asimmetrica”. La crittografia a chiave pubblica consente a due parti di comunicare senza dover inviare la chiave segreta su un canale non sicuro.
La crittografia a chiave pubblica si basa sull’utilizzo di due chiavi anziché una: una chiave pubblica e una chiave privata. Mentre chiunque, incluso il servizio di messaggistica, può visualizzare la chiave pubblica, solo una persona conosce la chiave privata. I dati crittografati con la chiave pubblica possono essere de-crittografati solo con la chiave privata ”non con la chiave pubblica”. Ciò contrasta con la crittografia simmetrica, in cui viene utilizzata una sola chiave sia per crittografare che per de-crittografare.
Qual è la differenza tra E2EE e TLS?
Transport Layer Security (TLS) è un protocollo di crittografia che, come E2EE, utilizza la crittografia a chiave pubblica e garantisce che nessun intermediario possa leggere i messaggi.
Tuttavia, TLS è implementato tra un utente e un server, non tra due utenti. Ciò mantiene i dati sicuri in transito da e verso un server, ma i dati sul server stesso sono in forma decriptata. Ciò è spesso necessario, ad esempio, se un utente sta utilizzando un’applicazione Web, il server ha bisogno di accedere ai suoi dati affinché l’applicazione funzioni. Tuttavia, dal punto di vista della privacy, ciò non è appropriato in tutte le situazioni. Ad esempio, se gli utenti desiderano inviarsi messaggi, potrebbero non volere che il fornitore di servizi sia in grado di vedere i loro messaggi.
In che modo la crittografia end-to-end supporta la privacy?
E2EE garantisce che nessuno possa vedere i messaggi, fatta eccezione per le due persone che stanno comunicando tra loro (a condizione che i dispositivi che stanno utilizzando non siano compromessi o rubati). Quando implementato correttamente, non richiede agli utenti di fidarsi che un servizio gestirà correttamente i loro dati. Pertanto, E2EE offre alle persone il controllo totale su chi può leggere i loro messaggi, consentendo loro di mantenere privati i loro messaggi.
Quali sono i limiti della crittografia end-to-end?
E2EE mantiene i messaggi sicuri durante il transito ”mentre passano da una persona all’altra”. Ma non protegge i messaggi una volta che raggiungono la destinazione.
Supponiamo che Anna e Jack stiano usando un’app E2EE, ma Zac ruba il telefono di Jack. Ora Zac può vedere i messaggi di Anna a Jack. Se Zac non vuole prendersi la briga di rubare il telefono di Jack, potrebbe anche intrufolarsi dietro Jack e guardare oltre la sua spalla per leggere i messaggi di Anna. Oppure, potrebbe provare a infettare il telefono di Jack con un malware per rubare i messaggi di Anna. In entrambi i casi, E2EE da solo non protegge Jack da questo tipo di attacchi.
Infine, non è garantito che E2EE sia a prova di futuro. Se implementati correttamente, i moderni metodi di crittografia sono abbastanza forti da resistere agli sforzi di violazione della crittografia anche dei computer più potenti del mondo. Ma i computer potrebbero diventare più potenti in futuro. I computer quantistici, se sviluppati, sarebbero in grado di decifrare gli algoritmi di crittografia moderni. L’utilizzo di E2EE mantiene i messaggi sicuri nel presente, ma potrebbe non mantenerli sicuri in modo permanente.
Cosa sono le backdoor con crittografia end-to-end?
Nella sicurezza informatica, una backdoor è un modo per aggirare le normali misure di sicurezza di un sistema. Immagina un edificio completamente protetto con più serrature su tutte le porte, fatta eccezione per una porta nascosta sul retro che rimane aperta e di cui solo poche persone sono a conoscenza. Una backdoor di crittografia è un po’ così; è un modo segreto per accedere ai dati che sono stati “bloccati” dalla crittografia. Alcune backdoor di crittografia sono infatti intenzionalmente integrate in un servizio per consentire al fornitore del servizio di vedere i dati crittografati.
Ci sono stati alcuni casi in cui un servizio ha dichiarato di offrire messaggistica E2EE sicura, ma in realtà ha integrato una backdoor nel proprio servizio. Potrebbero farlo per una serie di motivi: per accedere ai messaggi degli utenti e analizzarli per frodi o altre attività illegali, o per spiare apertamente i propri utenti. Gli utenti dovrebbero assicurarsi di leggere attentamente i Termini di servizio di un servizio e i warrant canary se vogliono mantenere privati i propri messaggi.
Alcuni hanno sostenuto che i provider di servizi E2EE dovrebbero integrare delle backdoor nella loro crittografia in modo che le forze dell’ordine possano visualizzare i messaggi degli utenti quando necessario. I sostenitori della privacy dei dati tendono a non essere d’accordo, poiché le backdoor indeboliscono la crittografia e diminuiscono la privacy degli utenti.