Crittografia lato client, ma il servizio cloud può ancora decrittografare i dati in caso di morte? È possibile?

39

Sono stato preoccupato per questo gestore di password, PasswordBox che sembra aver recuperato un po 'di vapore ultimamente.

Sembrano aver raccolto fondi VC e offrono uno strumento gratuito per la gestione e la memorizzazione delle password. La loro squadra non sembra avere una vasta esperienza di crittografia.

Ciò che mi preoccupa veramente è che la loro sicurezza pagina cita:

All of your sensitive data is encrypted and decrypted on your computer by a master password > that only you know. This master password is NOT stored on our servers, so your secure data > can't be retrieved by anyone but you.

Nel frattempo, la loro pagina delle caratteristiche menziona che possono fornire l'accesso alle password ai propri cari dopo che un utente muore (purché abbia un certificato di morte). Flusso dettagliato qui

Come può la chiave utilizzata per crittografare i dati della password solo essere memorizzati sul client e consentire comunque a un servizio di terze parti la possibilità di decrittografare i dati in caso di morte. Perché qualcuno dovrebbe fidarsi di questi ragazzi?

    
posta Mallory 12.06.2013 - 17:01
fonte

5 risposte

21

Aggiornamento:

PasswordBox ha risposto alla mia richiesta sull'argomento. Personalmente, non riuscivo davvero a capire di cosa stessero parlando. Potrebbe essere un problema nella comprensione di my . Di seguito è riportato uno screenshot della risposta

Questaèunadomandainteressantemolto.PasswordBoxsembraaffermarechenonpossonomaiavereaccessoalletuepassword.SecondolaloropaginadelleFAQ:

PasswordBoxserverswillNEVERseeyourdecrypteddata

PasswordBoxneverseesorstoresyourMasterPassword,sowecannevergainaccesstoyourdata

L'unicapossibilitàlasciata(chepossopensare)èchemetàdellachiavepotrebbeesserememorizzatanelclientel'altrametàèneiloroserver.Quindinonpossonoaccedereaituoidatiequandorichiedil'accessoall'accountdiunapersonaamatahannounmodoperinviaremetàdellachiavedalloroserveralclient(sulcomputerdellapersonadecedutaosulcellulare)equindiidatidecrittografatisonosolosuilclientstesso.

Sinotichequandodico"metà della chiave" è a causa della mia mancanza di conoscenza in crittografia. potrebbe essere in qualche modo in cui due parti possono condividere due parti di una chiave in un modo in cui sono necessarie due parti per accedere effettivamente al segreto.

Aggiornamento: grazie a @ commento di DeerHunter , sembra che sia in effetti un tale schema, si chiami Sharing Secret Sharing Schema. Ho appena scaricato l'implementazione e ci ho giocato un po '. Per me (ancora una volta, conoscenza della crittografia molto superficiale) sembra che potrebbe essere un buon candidato per il problema proposto nella tua domanda. Puoi provarlo tu stesso .

SSSS-split(shares, threshold, secret)
SSSS-split(2, 2, "YOUR_KEY")

Azioni = 2 (un pezzo per te e un pezzo del servizio)
Soglia = 2 (sono necessari almeno due pezzi per recuperare il segreto, qui significa tutti i pezzi)

Nota: tutte le risposte (inclusa questa) sono solo speculazioni. Ancora non sappiamo cosa sta succedendo perché PasswordBox non condivide molti dettagli tecnici. Io e Lucas abbiamo già inviato e-mail a PasswordBox e stiamo aspettando una risposta. Una volta ricevuta una risposta, le risposte verranno aggiornate di conseguenza.

    
risposta data 12.06.2013 - 17:30
fonte
10

Si noti la frase "Questa password principale NON è memorizzata sui nostri server, quindi i dati protetti non possono essere recuperati da nessuno tranne te." In realtà, uno non significa necessariamente l'altro, a seconda dei dettagli.

Considera il seguente sistema: Una chiave simmetrica viene generata sul software client tagliando la tua password principale, eventualmente con qualcosa di abbastanza strong come un numero sufficiente di round PBKDF2. Questa chiave verrà utilizzata per crittografare simmetricamente i dati, utilizzando qualcosa come AES-128 o AES-256 a seconda della durata della chiave che possono generare dalla password. Quella chiave viene quindi crittografata asimmetricamente (RSA, ECC) utilizzando una chiave pubblica fornita al cliente dal servizio di archiviazione e trasmessa a loro insieme ai dati crittografati. La chiave privata di quella coppia è fisicamente protetta in un HSM chiuso in un deposito dietro cemento armato, strati di controllo di accesso autenticato e regole di processo per garantire che nessuna persona possa mai trovarlo da solo.

Per decrittografare i dati normalmente, la password principale deve essere re-hash nel software client per ottenere la chiave simmetrica. Se la tua password non è disponibile perché sei stato portato nella tomba, il tuo parente più prossimo deve presentare il tuo certificato di morte ai rappresentanti della società, che recuperano quindi un dump dei dati del tuo account e i dati memorizzati dai loro server a qualcosa di portatile. Lo portano in una stanza protetta con accesso al vault di HSM, estraggono l'HSM, lo collegano al computer ed eseguono la chiave simmetrica crittografata attraverso di esso, quindi usano la chiave decifrata asimmetricamente per decodificare simmetricamente i dati e darli a la tua famiglia.

La tua password principale, quindi, non viene mai memorizzata sui loro server, fedele alla loro parola. Allo stesso modo, la chiave necessaria per decifrare la tua non è tecnicamente memorizzata sui loro server; è tenuto offline per garantire l'accesso fisico al dispositivo. Quindi, normalmente , sei l'unica persona che può accedere ai tuoi dati. Tuttavia, in caso di morte, tramite un processo controllato, la tua famiglia può richiedere alla società di archiviazione di recuperare i tuoi dati.

MODIFICA DA COMMENTI: questa è solo una possibilità e, come dedotto dai commenti, potrebbe assumere più informazioni sui reali processi interni della società di quanti ne esistano effettivamente. L'OP ha chiesto della possibilità di un sistema che potrebbe avere la crittografia lato client, consentendo nel contempo il recupero dei dati sul lato server e proteggendo ancora la password segreta dell'utente. Questa è una di queste possibilità, e non posso affermare né negare che PasswordBox stia usando qualcosa di simile.

    
risposta data 12.06.2013 - 20:03
fonte
7

Il flusso fornito è decisamente carente nei dettagli tecnici. Fornisce il processo del personale, ma non quello tecnico. Difficile dire, vederlo, cosa significa.

Il mio pensiero originale leggendo le FAQ era che la password è qualcosa che un umano può ricordare, ma la "password principale" è un numero inscrutabile costruito con la password e un processo per salarlo. È usato per crittografare i dati lato client prima del trasporto.

Sto assumendo sia:

  • il beneficiario può ottenere una copia della password originale (non del master) e quindi utilizzare la macchina del proprietario originale, il beneficiario può sbloccare la password principale ottenendo l'accesso al client.

  • sono totalmente incoerenti e c'è un modo per decriptare i dati del client dal server.

Aggiungerò un piccolo rant qui - lo vedo molto con i servizi di "sicurezza" fatti per le persone normali, o lo sforzo di ridurlo in modo che il consumatore normale si senta al sicuro rende le informazioni tecnicamente prive di significato, o semplicemente donano Non ho pensato abbastanza al loro design, ma in ogni caso mi fa impazzire il fatto che una persona tecnica ragionevolmente esperta non possa ottenere una risposta diretta.

    
risposta data 12.06.2013 - 17:32
fonte
6

Tieni presente che potrebbe esserci una differenza tra la password e la chiave di crittografia!

Le prime affermazioni dicono che non c'è modo di poter decifrare i tuoi contenuti senza avere la tua password. Considerando la seconda affermazione, credo che stiano probabilmente crittografando una chiave di crittografia o tutti i file (duplicati) con la propria chiave master / password. Ciò significa che possono decrittografare le tue cose e non c'è riservatezza.

Se possono decodificarlo, significa che hanno un modo per ottenere la tua chiave (crittografata) (non la tua password) o hanno una chiave master. Indipendentemente dal fatto che abbiano un modo per accedere ai tuoi dati mentre stanno memorizzando la chiave (devono farlo se vogliono decifrare i dati se qualcuno muore).

Può anche essere che devi fornire la chiave della persona dopo la sua morte (se riesci a trovarla). O un altro scenario plausibile è che la chiave di crittografia stessa è crittografata con la password della madre. Quando la madre chiede di assegnare un erede, il figlio deve fornire una password che poi crittograferà anche la chiave di decrittazione della madre. Ora la chiave di decrittazione / crittografia è memorizzata sui loro server, ma la chiave stessa è crittografata con una password (quindi tecnicamente non possono ottenere la chiave).

Ora personalmente preferirei che i file fossero encrypred localmente (completamente) e poi inviati al servizio piuttosto che al servizio che contiene la mia chiave di decrittografia crittografata con la mia password. Perché avrebbero ANCORA avere accesso alla chiave di decrittografia (sebbene sia crittografata). Intendo cosa li impedirebbe dall'implementare una funzione che memorizza una copia della tua chiave crittografata con la loro password?

    
risposta data 12.06.2013 - 17:23
fonte
2

Sembra che non sia in grado di commentare così invece una risposta, con un metodo semplice su come ottenere ciò che è possibile:

  1. Viene generata la password master lunga e incredibilmente difficile.
  2. Il software crea inoltre una chiave simmetrica completamente casuale (lunga). Chiamiamo questa chiave simmetrica il DeathKey (in pratica un pezzo lungo di byte casuali).
  3. Il software utilizza DeathKey per crittografare la tua password principale e invia questa password master crittografata a PasswordBox.

Ora PasswordBox non è in grado di "indovinare" la tua password principale, perché per questo avrebbero bisogno di DeathKey (quindi non dovresti mai inviare questo DeathKey a PasswordBox).

Se muori, PasswordBox fornisce la password principale crittografata al tuo familiare, che utilizza quindi la DeathKey memorizzata sul tuo computer per decodificare la password master crittografata.

Voilà: il tuo parente ora ha la password principale.

Per sicurezza:

  • Il DeathKey è inutile, a condizione che nessuno possa accedere alla password master crittografata memorizzata su PasswordBox. Dopotutto è solo un pezzo di byte completamente casuale.
  • Anche la password master crittografata senza DeathKey è inutile. Quindi, finché PasswordBox non avrà accesso al tuo DeathKey , non potranno farci nulla.

Come già accennato, questo è anche un semplice algoritmo su come farlo; è pura speculazione se PasswordBox sta usando questo algoritmo.

Nota: Naturalmente potresti anche farlo al contrario; memorizzi la password principale crittografata sul tuo computer (crittografata con DeathKey ) e invia invece questo DeathKey a PasswordBox; una volta eseguita questa operazione, DeathKey viene completamente cancellato dal tuo computer. Ora hai una password master crittografata sul tuo computer, ma la chiave di decodifica è archiviata su PasswordBox. Ciò ha ancora più senso, perché con questo scenario PasswordBox memorizza solo un blocco di byte casuali (il DeathKey ), che in realtà non ha nulla a che fare con la tua password principale.

    
risposta data 13.06.2013 - 04:41
fonte

Leggi altre domande sui tag