Gmail, la cifratura per business non è "vera" end-to-end? Ecco come funziona
C'è di mezzo un server, per farla breve.
Qualche giorno fa Google ha annunciato l’arrivo della crittografia end-to-end su Gmail, almeno per gli utenti business, ma è importante osservare che si tratta di un’implementazione piuttosto particolare che, nel senso più stretto e “purista” del termine, non è nemmeno una vera e propria end-to-end. Per capire cosa ciò significa, partiamo prima di tutto da come funziona (semplificando) una cifratura end-to-end “normale”, quella per esempio che c’è su WhatsApp.
- Il destinatario compone il messaggio.
- Il suo client di messaggistica usa la chiave pubblica del destinatario per cifrarlo.
- Il messaggio viaggia tra server e cavi internet completamente criptato, senza che nessuno possa decifrarlo.
- Il messaggio arriva, ancora criptato, al destinatario.
- Il client del destinatario usa la propria chiave privata e lo decripta.
- Il messaggio è decriptato e può essere letto dal destinatario.
Nel caso di Gmail, il messaggio è invece criptato nel browser Web in cui è aperto il sito. Per limitazioni tecniche varie, le aziende del mittente e del destinatario devono sostanzialmente “mettersi d’accordo” per scambiarsi messaggi criptati. In concreto, è necessario un piccolo server per la distribuzione delle chiavi di cifratura, che Google chiama KACL o Key Access Control List. Il server può essere ospitato in sito o su cloud. Il flusso diventa quindi il seguente:
- Il destinatario compone il messaggio e spunta l’opzione per criptarlo.
- Il browser si connette al KACL e genera una chiave.
- Il browser scarica la chiave e con essa cripta il messaggio, aggiungendo una chiave di riferimento.
- Il messaggio viaggia anche in questo caso completamente criptato.
- Il messaggio arriva, ancora criptato, al destinatario.
- Il destinatario deve autenticarsi in un modo approvato e riconosciuto dal mittente.
- Il browser si collega al server KACL e, usando la chiave di riferimento, scarica la chiave per decriptare il messaggio.
- Il browser decripta il messaggio e cancella tutte le chiavi usate nel processo.
- Il messaggio può quindi essere letto dal destinatario.
È facile quindi intuire perché in senso stretto non si possa parlare davvero di crittografia end-to-end: "qualcun altro" al di fuori di mittente e destinatario (il server KACL), per un periodo di tempo più o meno breve, custodisce le chiavi di lettura del messaggio.