Glossario

Cos'è Architettura zero-knowledge?

L'architettura zero-knowledge è un design di sistema in cui il fornitore di servizi non ha alcuna capacità di accedere, leggere o decifrare i dati che archivia per conto degli utenti, perché tutte le operazioni di cifratura e decifratura avvengono lato client.

Noto anche come: ZK, zero-knowledge encryption, zero-knowledge proof, ZKA

In un sistema zero-knowledge, il server funge esclusivamente da archivio cifrato. Riceve dati già cifrati dal client e li restituisce su richiesta, ma non possiede mai le chiavi necessarie per comprenderli. Questo si distingue dalla maggior parte dei servizi cloud, dove il provider detiene le chiavi di cifratura e potrebbe teoricamente accedere ai dati degli utenti — tramite un dipendente disonesto, un ordine giudiziario o una violazione della sicurezza.

Il termine "zero-knowledge" in questo contesto è distinto dalle prove a conoscenza zero in crittografia, anche se entrambi condividono il principio di non rivelare nulla oltre lo stretto necessario. Un servizio zero-knowledge sa che i dati esistono e può applicare controlli di accesso come scadenze o limiti di visualizzazione, ma non può determinare cosa contengano effettivamente i dati.

L'architettura zero-knowledge cambia radicalmente il modello di fiducia. Invece di fidarti dell'operatore del servizio per proteggere i tuoi dati e agire onestamente, devi solo fidarti del codice lato client in esecuzione nel tuo browser. Questo è un miglioramento significativo della sicurezza perché elimina un'intera classe di minacce: le violazioni lato server, l'accesso da parte di insider e la divulgazione forzata diventano inefficaci quando il server non può genuinamente leggere ciò che archivia.

Come Vaulted usa Architettura zero-knowledge

Vaulted è costruito dall'inizio come sistema zero-knowledge. Tutte le operazioni di cifratura e decifratura avvengono nel tuo browser tramite la Web Crypto API. Il server riceve e archivia solo ciphertext, il vettore di inizializzazione e metadati come il contatore delle visualizzazioni e la scadenza. La chiave di cifratura AES-256-GCM è incorporata nel frammento dell'URL, che i browser non inviano mai ai server in base all'RFC 3986. Anche se il server o il database di Vaulted venissero completamente compromessi, un attaccante otterrebbe solo blob cifrati senza alcun modo per decifrarli.