Ecco un piano a cui sto pensando. Non ho visto questo proposto, quindi ho pensato di chiederlo.
Minacce di cui stiamo proteggendo:
Un laptop perso o rubato che porta all'esposizione di informazioni sensibili.
Descrizione del progetto:
Sviluppo di un'app client desktop per consentire agli utenti in viaggio di raccogliere dati quando non sono connessi alla rete. Sono dati sensibili e devono essere crittografati a riposo. Ovviamente, la chiave per la crittografia non può essere memorizzata nel client da nessuna parte, quindi userò una generazione di chiavi basata su password per crittografare i dati. Hash password memorizzato nel client. Si tratta di laptop che non controlliamo, quindi non possiamo applicare la crittografia dell'intero disco.
Questo va bene finché l'utente non dimentica la sua password o un altro utente prende in consegna il lavoro o l'utente cambia la sua password. L'amministratore ha bisogno di un modo per salvare i dati crittografati. Quindi, la proposta è di salvare una copia dei dati crittografati utilizzando una chiave pubblica generata dall'amministratore, che detiene la chiave privata associata. Questa copia viene salvata per transazione o quando l'utente termina la sessione.
Domande:
- C'è un difetto in questo approccio?
- È stato risolto in un altro modo?
Simile a: Crittografia dei dati utente tramite password e password dimenticata
Tranne che si tratta di un'applicazione web e una coppia di chiavi pubblica-privata non è suggerita.
Aggiornamento: questo è un client Java (utilizzando Java Web Start) su Windows.