Lumo è un assistente IA per le persone che tengono alla privacy. Che tu stia scrivendo email, risolvendo problemi tecnici o semplicemente cercando risposte, Lumo ti aiuta a fare di più senza compromettere i tuoi dati. Basato su modelli linguistici open source e costruito sulla crittografia zero-access di Proton, Lumo offre un’alternativa sicura ai principali strumenti di IA.
Esploriamo l’architettura alla base del design di Lumo incentrato sulla privacy e le funzionalità che lo rendono una scelta affidabile per conversazioni IA private e crittografate.
- Perché la privacy nell’IA è importante
- Sfide nell’offrire la crittografia end-to-end completa (E2EE) per i sistemi di IA
- Crittografia da utente a Lumo (U2L): proteggere il percorso verso il modello linguistico di grandi dimensioni (LLM)
- Crittografia ad accesso zero a riposo per la cronologia delle conversazioni
- Conclusione
Perché la privacy nell’IA è importante
Con il proliferare delle violazioni dei dati e delle invasioni della privacy, garantire la riservatezza dei modelli linguistici di grandi dimensioni diventa non solo una sfida tecnica, ma un imperativo etico. Le persone si rivolgono agli assistenti IA per aiuto con problemi sensibili, dalle condizioni mediche alle questioni aziendali riservate. Dovrebbero poter condividere questo tipo di informazioni senza temere che i loro dati vengano usati per addestrare modelli linguistici, sfruttati da grandi aziende tecnologiche o governi, o che trapelino in una violazione dei dati.
In Proton, creiamo prodotti con la privacy by design e Lumo non fa eccezione. Individui e organizzazioni dovrebbero poter utilizzare l’IA con fiducia, sapendo che le loro informazioni più sensibili restano protette.
Sfide della E2EE completa per i sistemi di IA
Tipicamente, i modelli di sicurezza dei dati di Proton includono la crittografia end-to-end completa, come si vede nei nostri prodotti di servizio di posta elettronica privata e di archiviazione cloud sicura. Perché? Perché la E2EE garantisce che i dati non siano mai accessibili alla piattaforma stessa. Ad esempio, quando invii un’email con Proton Mail, i tuoi messaggi vengono crittografati sul tuo dispositivo prima di essere inviati ai server e possono essere aperti solo dal destinatario previsto. Proton non può vederli e, anche se i nostri server venissero violati, i messaggi rimarrebbero illeggibili da chiunque altro.
Ottenere una crittografia end-to-end completa per i sistemi di IA presenta sfide uniche. Idealmente, i messaggi dovrebbero essere crittografati in modo che nemmeno l’LLM possa leggerli. La tecnica più promettente per questo è la crittografia omomorfica (HE), a volte discussa anche nella sua variante di crittografia completamente omomorfica (FHE). Tuttavia, la HE è molto, molto dispendiosa in termini di risorse ed estremamente lenta. Mentre un’IA normale come ChatGPT risponde alle query in pochi secondi, gli esperimenti con la HE hanno mostrato che le risposte richiedono più di un giorno(nuova finestra). Sebbene il risultato tecnico sia impressionante, aspettare così tanto per una risposta non è pratico.
Chiaramente, non possiamo stare seduti ad aspettare che l’HE sia pronta. Dobbiamo trovare soluzioni pratiche al problema della privacy dell’IA — oggi.
Per fortuna, ci sono altri modi per offrire un alto livello di privacy e un’esperienza utente fluida. La sicurezza è intrinsecamente legata alla praticità(nuova finestra); un sistema che dà priorità alla sicurezza a scapito dell’usabilità è probabile che venga sottoutilizzato, rendendolo alla fine meno protettivo.
Con Lumo, implementiamo diverse forme di crittografia per massimizzare la privacy dell’utente. Rispetto ad altre app LLM, l’implementazione di Lumo è semplicemente molto più robusta di qualsiasi altra cosa sul mercato. Per capire perché, dobbiamo esaminare due fasi distinte nelle interazioni di una persona con l’IA:
Crittografia in transito: Come ci assicuriamo che i messaggi tra l’utente e l’IA siano illeggibili da chiunque altro?
Crittografia a riposo: Come garantire un’archiviazione privata a lungo termine?
Ognuna di queste due fasi richiede una soluzione distinta, che esploreremo nelle sezioni seguenti.
Crittografia da utente a Lumo (U2L): proteggere il percorso verso l’LLM
La nostra prima soluzione al problema di chattare in modo sicuro con un’IA è crittografare tutte le comunicazioni tra il dispositivo dell’utente e Lumo. Solitamente con la crittografia end-to-end, entrambe le “estremità” sono umane, ma qui l’altra estremità sarebbe il modello linguistico stesso. Come notato sopra, una vera E2EE che bypassa il server LLM sarebbe troppo lenta utilizzando la crittografia omomorfica o qualcos’altro. Quindi dobbiamo fornire all’LLM messaggi in chiaro.
In mancanza di E2EE, possiamo comunque costruire un percorso strettamente protetto tra l’utente e Lumo. In un certo senso, si potrebbe definire questa configurazione come una forma di crittografia end-to-end in cui l’utente è una “estremità” e Lumo è l’altra. Detto questo, riconosciamo che questa non è la definizione regolare di crittografia end-to-end, motivo per cui preferiamo chiamarla crittografia da utente a Lumo (U2L) per evitare qualsiasi malinteso.

Per raggiungere il nostro obiettivo, utilizziamo una classica crittografia asimmetrica bidirezionale, ampiamente testata, tra il dispositivo dell’utente e l’LLM. Ecco i passaggi principali:
- Chiave pubblica di Lumo: in anticipo, il server LLM pubblica una chiave PGP pubblica e statica per tutti i client. Questa chiave viene recuperata dal dispositivo dell’utente e sarà utilizzata per proteggere la direzione utente-Lumo della pipeline.
- Crittografia del messaggio dell’utente: il dispositivo dell’utente genera una chiave AES(nuova finestra) simmetrica per la durata della richiesta. Questa chiave viene utilizzata per crittografare il messaggio dell’utente e la risposta dell’LLM. Con ogni nuovo messaggio, dobbiamo inviare l’intera conversazione dall’inizio alla fine, perché il server LLM non ha memoria e non conserva alcun log della conversazione di una sessione precedente.
- Crittografia della chiave AES: la chiave AES viene crittografata utilizzando la chiave PGP pubblica dell’LLM e inclusa insieme alla richiesta. Ciò garantisce che solo il server LLM, che possiede la corrispondente chiave PGP privata, possa decrittografare la chiave AES.
- ID della richiesta: l’app Lumo invia un identificatore univoco chiamato ID della richiesta insieme alla richiesta, utilizzando uno schema di crittografia comune noto come AEAD. Questo ID viene utilizzato per autenticare che i messaggi della richiesta siano riservati e che corrispondano al messaggio originale generato dall’utente. L’AEAD garantisce che nessun aggressore abbia sostituito il messaggio o la risposta con un messaggio diverso.
- Crittografia del messaggio utente: quando l’utente invia un messaggio a Lumo, il messaggio viene crittografato utilizzando la chiave AES. Questa chiave viene utilizzata anche per crittografare la risposta dell’LLM.
- Crittografia TLS: il messaggio utente crittografato con AES, la chiave AES crittografata e l’ID richiesta vengono inviati ai server di Proton attraverso un livello di crittografia TLS (HTTPS). La crittografia TLS è una pratica comune e standard, e praticamente tutti i siti web moderni la implementano come parte della loro configurazione di base. Nasconde semplicemente il contenuto delle tue comunicazioni a terzi sulla rete, come il tuo ISP, i router della dorsale internet e l’ISP che si connette al nostro data center. (La crittografia TLS avviene su ogni comunicazione dal tuo dispositivo a Proton, non solo con Lumo.)
- Instradamento interno: il messaggio crittografato raggiunge i server di Proton all’endpoint di terminazione TLS, a quel punto viene instradato attraverso una serie di sistemi interni — bilanciamento del carico, server applicativo backend di Lumo, code di messaggi, ecc. — finché non raggiunge finalmente il server LLM. A questo punto, il messaggio è ancora crittografato, il che significa che nessun sistema intermedio all’interno di Proton può leggere il contenuto del messaggio: essi si limitano a inoltrare payload opachi al server LLM.
- Decrittografia da parte del server LLM: il server LLM possiede la controparte privata della chiave PGP con cui è stata crittografata la richiesta, e può quindi decrittografare la chiave AES. Utilizzando questa chiave, l’LLM può vedere il messaggio utente decrittografato ed elaborarlo direttamente. Il messaggio in chiaro dell’utente non lascia mai il server e la richiesta non viene registrata o conservata dal server LLM dopo il suo completamento.
- Generazione della risposta: dopo aver letto la richiesta dell’utente, l’LLM inizia a generare una risposta. Questo di solito avviene in modalità streaming, il che significa che l’LLM genera una sequenza di sotto-parole note come token, producendo l’effetto parola per parola che tendi a vedere nella maggior parte delle app di chat IA, inclusa Lumo.
- Crittografia della risposta: per crittografare questi token nel loro percorso di ritorno all’app Lumo dell’utente, utilizziamo la stessa chiave AES. Ogni pacchetto di token è crittografato con la chiave AES e autenticato con AEAD in base all’ID della richiesta. Attraversa il livello di rete crittografato con AES, viene quindi instradato attraverso i sistemi interni di Proton come un payload opaco, e poi viene ulteriormente crittografato con lo stesso canale TLS tra Proton e il dispositivo dell’utente, dove può essere finalmente decrittografato.
In sintesi, il messaggio viene crittografato utilizzando una chiave AES simmetrica, che è a sua volta crittografata con la chiave PGP pubblica dell’LLM. Il server LLM decrittografa la chiave AES ed elabora il messaggio dell’utente sul posto. La risposta è crittografata utilizzando la stessa chiave AES, garantendo che il messaggio in chiaro non lasci mai il server. Per proteggere la tua privacy, il server LLM dimentica la richiesta non appena la risposta viene generata.
Tutto questo avviene automaticamente in background, così puoi godere dei vantaggi di chattare con Lumo senza dover pensare alla crittografia.
Crittografia ad accesso zero a riposo per la cronologia delle conversazioni
Una volta che l’LLM ha generato una risposta, possiamo sfruttare la crittografia ad accesso zero completa per garantire sicurezza e privacy all’avanguardia per la cronologia delle conversazioni. Il server LLM non è coinvolto in questo passaggio; il compito è conservare i dati dell’utente per l’archiviazione a lungo termine in modo che solo l’utente possa decrittografarli. A differenza della configurazione da utente a Lumo descritta nella sezione precedente, in cui l’altra “estremità” era il server LLM, in questo caso entrambe le “estremità” sono l’utente, il che soddisfa la definizione tradizionale di E2EE. In altre parole, nessun sistema di Proton può mai leggere la cronologia delle conversazioni di Lumo.
Utilizziamo una tecnica di crittografia robusta, simile a quella utilizzata in Proton Mail, Drive e Calendar, che combina la crittografia asimmetrica e simmetrica. Questo metodo garantisce che solo il dispositivo dell’utente possa decrittografare i dati archiviati.
Ogni contenuto, inclusi messaggi, metadati delle conversazioni e allegati, viene crittografato utilizzando un set di chiavi simmetriche note come Chiavi di Conversazione. Queste Chiavi di Conversazione sono a loro volta crittografate utilizzando una Chiave Maestra simmetrica, che è unica per ogni utente. Infine, anche la Chiave Maestra è crittografata, questa volta in modo asimmetrico, utilizzando la coppia di chiavi PGP dell’utente, che richiede la password dell’utente per essere sbloccata. Ciò significa che la password dell’utente è l’ultimo livello di sicurezza e la pietra angolare della solidità di questo schema. È essenzialmente lo stesso principio — sebbene con una struttura gerarchica delle chiavi leggermente diversa — che protegge i tuoi dati in altre app di Proton; in ogni caso, la password del tuo account è sempre la serratura suprema della tua cassaforte di dati.
Dopo che un utente invia un messaggio a Lumo e riceve una risposta, l’applicazione client chiude la connessione protetta da PGP descritta nella prima sezione e si prepara per l’archiviazione a lungo termine della conversazione. Inizia crittografando entrambi i messaggi con la Chiave di Conversazione. Questi messaggi crittografati vengono quindi inviati ai server di Proton per l’archiviazione nei nostri data center. Sebbene i file siano archiviati sui nostri server, la crittografia ad accesso zero ci impedisce (o a chiunque altro) di aprirli. Ma gli utenti possono accedere al loro account e alla cronologia delle conversazioni nella barra laterale sinistra dell’app Lumo.
Inoltre, i dati della conversazione vengono memorizzati nella cache locale del browser, seguendo lo stesso schema di crittografia. Ciò significa che anche se qualcuno ruba il tuo disco rigido, i tuoi dati rimangono al sicuro finché il ladro non conosce la tua password.
Implementando questo approccio di crittografia a più livelli, garantiamo che le tue conversazioni con Lumo non siano solo sicure in transito, ma anche protette a riposo. Questo impegno per la privacy e la sicurezza è al centro di tutto ciò che facciamo in Proton, e siamo orgogliosi di estendere questi principi al mondo dell’IA.
Conclusione
Senza dubbio, gli LLM sono una delle invenzioni più rivoluzionarie dell’ultimo decennio, eppure le principali piattaforme di oggi spesso non riescono a fornire solide tutele per la privacy, lasciando i dati degli utenti vulnerabili allo sfruttamento. Queste aziende possono utilizzare le tue chat con l’IA per addestrare ulteriormente i loro sistemi, potenzialmente divulgando le informazioni sensibili che fornisci. Ciò che è più problematico è che i tuoi dati potrebbero rimanere disponibili per sempre in un database di una Big Tech. Possono decidere in qualsiasi momento di trarne profitto vendendoli o di condividerli con terzi — non sarebbe la prima volta(nuova finestra) — o le tue chat potrebbero essere esposte in una violazione dei dati. Anche il clima politico è incerto e nessuno può prevedere cosa faranno i governi se accederanno ai tuoi dati.
Con Lumo, offriamo un’alternativa privata. In primo luogo, i tuoi messaggi sono crittografati su tutta la rete, inclusa la pipeline interna di Proton, finché non raggiungono l’LLM, che non conserva log delle tue chat. Al ritorno, la risposta è protetta con la stessa strategia di crittografia, garantendo che il tuo messaggio non attraversi mai alcun confine di rete non crittografato. In secondo luogo, la cronologia delle tue conversazioni è crittografata con crittografia ad accesso zero utilizzando un secondo processo di crittografia. Utilizziamo la classica crittografia a riposo, protetta dalla password dell’account, che è nota solo all’utente. Questo utilizza gli stessi principi ampiamente testati alla base di Proton Mail, Proton Drive, Proton Pass e dei nostri altri servizi che proteggono i dati di oltre 100 milioni di persone.
In definitiva, ciò che conta per noi è che queste solide garanzie siano disponibili per chiunque, non solo per le persone esperte di tecnologia che già cercano strumenti per la privacy. Ecco perché abbiamo progettato l’esperienza in modo che gli utenti non debbano pensare alla crittografia che c’è dietro. Questo è, a nostro avviso, il punto in cui la sicurezza diventa veramente utile: quando è pratica.
Speriamo che tu abbia discussioni fluide, piacevoli e, soprattutto, sicure con Lumo.