È una cattiva idea lasciare all'utente la responsabilità della propria chiave simmetrica?

3

Lavoro per un'azienda che fornisce un'app Web in cui vorremmo offrire all'utente una sorta di "cassastrong digitale". In questa cassastrong, l'utente può archiviare e scaricare qualsiasi file desideri.

L'idea è che il sistema generi una chiave simmetrica per un utente e questa chiave verrà utilizzata per crittografare e decrittografare i file all'interno della cassastrong. Questa chiave verrà generata una sola volta per l'utente e non appena la scarica, verrà eliminata dal server. Se l'utente vuole vedere cosa c'è dentro la cassastrong o vuole inserire un nuovo file all'interno, dovrà fornire questa chiave. Poiché tutti i file dovrebbero essere crittografati a riposo, questo dovrebbe tenerci al sicuro nel caso in cui qualcuno acceda a questi file sul server. Inoltre, se qualcuno riesce a rubare un account utente e una password, non sarebbe comunque in grado di vedere i file a meno che non siano riusciti a rubare la chiave.

L'obiettivo è trasferire realmente la responsabilità di mantenere questa chiave sicura per l'utente. Siamo consapevoli che se perde questa chiave non sarà mai in grado di recuperare di nuovo i depositi nella cassastrong. L'idea è renderci meno responsabili di ciò che sta conservando nella cassastrong e dimostrare che nemmeno noi, i creatori dell'app Web, abbiamo accesso ai suoi dati.

Quindi, riassunto: la divulgazione è importante. Vogliamo consentire all'utente di crittografare i file e proteggerli da noi stessi e da potenziali intrusi, anche se il nome utente e la password dell'utente vengono a mancare. Lasciare che l'utente sia responsabile della sua chiave dovrebbe renderci meno responsabili.

È una pessima idea lasciare che l'utente sia responsabile dei suoi dati crittografati?

    
posta Bhaskara 10.07.2012 - 09:49
fonte

1 risposta

4

Dato lo scenario alternativo, in cui si memorizza la chiave, al fine di garantire la privacy è necessario autenticare l'utente - in modo efficace la password dell'utente diventa un surrogato della chiave.

È abbastanza possibile implementare la generazione di chiavi e la crittografia / decrittografia sul browser - che evita una potenziale divulgazione della chiave in trasmissione / sul server. Questo risolve anche il problema delle richieste di divulgazione - capire quali terze parti sono effettivamente in grado di richiedere la divulgazione può essere un po 'un problema. D'altra parte, vi è un certo valore nel fornire un servizio in cui la divulgazione gestita è parte dell'offerta (ad esempio, i singoli conti sono impostati come parte di un gruppo - ad esempio un'entità aziendale) e l'entità aziendale può stabilire criteri formali in base ai quali le informazioni possono essere divulgate a un altro membro del gruppo).

vale a dire. se una cattiva idea dipende dal modello di business.

    
risposta data 10.07.2012 - 12:11
fonte

Leggi altre domande sui tag