Proton ha annunciato Lumo a fine luglio. Si tratta di un assistente AI che offre funzionalità simili a quelle dei chatbot più popolari. C’è tuttavia un’importante differenza. I dati degli utenti non vengono utilizzati per addestrare i modelli AI o altri scopi (pubblicità). La software house svizzera ha spiegato come garantisce la massima privacy.
Crittografia U2L e zero-access
Tutti i servizi di Proton, tra cui Mail e Drive, supportano la crittografia end-to-end. Questa tecnologia non può tuttavia essere applicata a Lumo, in quanto i messaggi non verrebbero letti dal chatbot essendo cifrati. La soluzione migliore sarebbe la crittografia omomorfica, ma richiede troppe risorse ed è estremamente lenta (le risposte arriverebbero dopo oltre un giorno).
Proton ha quindi implementato due tipi di crittografia per altrettante fasi (invio dei messaggi e conservazione della cronologia sul dispositivo). La prima, denominata U2L (User-to-Lumo), garantisce la sicurezza delle conversazioni tra l’utente e il chatbot.
Il server LLM di Lumo genera una chiave PGP pubblica per tutti i client (le app). Il dispositivo dell’utente genera invece una chiave AES simmetrica. Quest’ultima viene cifrata con la chiave PGP pubblica e può essere decifrata solo dalla chiave PGP privata del server LLM. La chiave AES viene usata per cifrare la richiesta (prompt) dell’utente e la risposta del chatbot.
La richiesta cifrata con AES e la chiave AES cifrata con PGP vengono inviati al server tramite una connessione HTTPS. Il server LLM decifra la chiave AES con la chiave PGP privata e la richiesta con la chiave AES, quindi invia la risposta cifrata con la stessa chiave AES. Nessuno può leggere richiesta e risposta. Il server LLM non conserva nulla, essendo memoryless.
Per conservare la cronologia delle chat viene invece utilizzata la crittografia zero-access che combina crittografia simmetrica e asimmetrica. Messaggi (richieste e risposte), metadati e allegati sono cifrati con chiavi simmetriche (Conversation Key). Queste ultime sono cifrate con una Master Key simmetrica (unica per ogni utente), a sua volta cifrata da una coppia di chiavi PGP asimmetriche che richiedono la password dell’account per essere sbloccate.