Aggiornato

Perché la crittografia lato client è importante per la condivisione di segreti

Di

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:

  1. Digiti il tuo segreto in un modulo
  2. Il tuo browser invia il testo in chiaro al server
  3. Il server lo cifra e memorizza il testo cifrato
  4. 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:

  1. Digiti il tuo segreto in un modulo
  2. Il tuo browser genera una chiave di cifratura AES-256-GCM e cifra il segreto localmente
  3. Solo il testo cifrato crittografato viene inviato al server
  4. 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