Dichiarazione di non responsabilità: non ho mai provato a utilizzare spider oak quindi sto solo andando a fare quello che affermano di fare, quello che ti hanno detto che fanno e il risultato finale.
Dato che pretendono di archiviare i tuoi dati crittografati e non sono mai in grado di accedervi, presumo che l'unica cosa a cui abbiano accesso sia la versione crittografata dei tuoi dati. Ciò significherebbe che l'applicazione sul client esegue tutte le operazioni di crittografia / decrittografia e memorizza solo i dati risultanti (e possibilmente metadati crittografati aggiuntivi sul server).
Questi dati devono essere crittografati da qualcosa. Passando ora dalla loro risposta a te, suppongo che abbiano una gerarchia di chiavi. La mia ipotesi sarebbe di almeno 2 livelli, ma per semplicità consideriamo solo uno.
Ciò significherebbe che i dati sono crittografati da una chiave generata in modo casuale K 1 (sulla tua macchina). Questa chiave viene quindi crittografata con una chiave K 2 = PBKDF (32 byte salt, password, 16384 round). Con la brutta descrizione precedente voglio dire che usano l'algoritmo PBKDF2 (Password Based Key Derivation Function v2.) (Usando SHA-2) per generare una chiave di crittografia dalla tua password. Questo tasto K 2 non verrebbe mai memorizzato da nessuna parte (tranne la memoria del client). Sarebbe sempre generato al volo quando vuoi accedere ai tuoi dati.
Il pacchetto che verrebbe quindi inviato e memorizzato sui server di Spider Oak sarà E K 1 (dati), E K 2 (K 1 ). Quando si desidera recuperare i dati, i dati inviati vengono crittografati e viene crittografata anche la chiave inviata all'utente. Quando inserisci la password, PBKDF2 viene utilizzato per generare K 2 che viene utilizzato per decrittografare K 1 , che viene quindi utilizzato per decodificare i dati.
Quindi cosa succede quando cambi la tua password? Bene, il server invia al client tutti i pacchetti E K 2 (K 1 ) $ per qualsiasi K 1 ' s ha per i tuoi dati. Localmente vengono decodificati dalla chiave generata dalla vecchia password e reencrittati dalla chiave generata dalla nuova password, che fornisce un nuovo K ' 2 .
Quando arrivi a un altro dispositivo, accendi il client e prova a recuperare i dati, i dati crittografati vengono accompagnati dalla chiave crittografata utilizzando la nuova password. Inserisci la password, PBKDF2 è magico e voilà decifri K 1 e quindi decrittografano i tuoi dati.
modifica: GAH come faccio a far funzionare TeX qui nei miei post?
Edit2 .: Rileggendo le informazioni ottenute dal rappresentante sembra che vengano generati anche tutti i nuovi K 1 . Questo sembra un po 'strano, nel senso che crittografa o decodifica i loro server (quindi non è completamente a conoscenza zero) o loro ti inviano tutti i dati quando cambi la tua password e il tuo client la re-codifica. Il primo di questi sembra più probabile che sia onesto, poiché altrimenti il sovraccarico per il cliente sarebbe piuttosto ampio. Ovviamente è anche possibile che il rappresentante non sappia davvero cosa sta dicendo. L'ho avuto più volte.