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?