Perché la crittografia lato client è importante per la condivisione di segreti
Di Maxim Novak
La crittografia lato client è fondamentale per la condivisione sicura di segreti perché garantisce che il server non veda mai il tuo testo in chiaro. Con la crittografia lato server, il servizio può leggere i tuoi segreti — e lo stesso vale per chiunque comprometta la loro infrastruttura. Strumenti lato client come Vaulted cifrano i dati nel tuo browser con AES-256-GCM prima che venga inviato qualsiasi cosa.
Il problema della crittografia lato server
Gli strumenti tradizionali per la condivisione di segreti seguono questo flusso:
- Digiti il tuo segreto in un modulo
- Il tuo browser invia il testo in chiaro al server
- Il server lo cifra e memorizza il testo cifrato
- Viene generato un link per il destinatario
Il problema è il passaggio 2. Il tuo segreto attraversa la rete in chiaro (protetto da TLS, ma completamente visibile al server). Il servizio ha accesso ai tuoi dati, anche se solo brevemente.
Questo significa:
- Un server compromesso espone ogni segreto in transito — una violazione dei dati pronta ad accadere
- I dipendenti del servizio potrebbero teoricamente accedere ai tuoi dati
- Le autorità o richieste legali potrebbero costringere il servizio a consegnare i segreti
- I log del server potrebbero catturare inavvertitamente dati in chiaro
Come la crittografia lato client risolve il problema
Vaulted adotta un approccio diverso. La crittografia avviene interamente nel tuo browser:
- Digiti il tuo segreto in un modulo
- Il tuo browser genera una chiave di cifratura AES-256-GCM e cifra il segreto localmente
- Solo il testo cifrato crittografato viene inviato al server
- La chiave di cifratura viene inserita nel frammento URL (
#), che i browser non inviano mai ai server
Il server vede esclusivamente dati cifrati. Non può decifrare il tuo segreto perché non possiede mai la chiave.
Perché il frammento URL è importante
Il frammento URL — tutto ciò che si trova dopo il simbolo # — ha una proprietà speciale: i browser non lo includono nelle richieste HTTP. Quando qualcuno apre il tuo link Vaulted, il frammento rimane nel suo browser. Il server riceve una richiesta per l'ID del segreto, ma non vede mai la chiave di decifratura.
Non si tratta di un protocollo personalizzato né di un workaround. È il modo in cui i browser hanno sempre funzionato, definito nella RFC 3986.
Cosa significa in pratica
Con la crittografia lato client, anche se i server di Vaulted fossero completamente compromessi, un attaccante otterrebbe solo blob cifrati — inutili senza le chiavi che esistono esclusivamente nei link condivisi. Questo è il principio fondamentale dell'architettura zero-knowledge.
Nessuna fiducia richiesta. La crittografia parla da sola.
Pronto a condividere un segreto in modo sicuro? Prova Vaulted — è gratis.
Correlati
- Cos'è la crittografia lato client? — definizione completa del glossario
- Encryption Playground — osserva la crittografia AES-256-GCM passo dopo passo
- Cos'è l'architettura Zero-Knowledge? — perché il server non può mai leggere i tuoi dati