Il recupero chiave è una domanda molto vecchia e da un punto di vista concettuale non è cambiata da secoli:
- se esiste una sola chiave (leggi: solo una persona conosce il segreto ), solo il proprietario della chiave può aprire la cassastrong, ma se la chiave viene distrutta o persa (leggi: l'utente dimentica la sua password), ciò che è nella cassastrong (leggi: dati crittografati) è perso (*) = > questo può essere usato per dati personali quando il rischio di compromissione è più grave del rischio di perdita
- questo può essere mitigato creando una seconda chiave (leggi: una terza parte ha accesso al segreto). Se la chiave viene persa o distrutta, il proprietario della cassastrong chiede la copia e crea immediatamente una nuova copia = > questo viene utilizzato quando la perdita di dati è il rischio più elevato, quando i dati sono essenziali per più di una persona, ad esempio file sensibili di un'organizzazione.
In quest'ultimo caso, la parte difficile non è tecnica, ma è solo organizzativa: come può il proprietario della chiave avere fiducia nella terza parte? Per le reimpostazioni di password Web / server, gli amministratori possono sempre fare qualsiasi cosa per conto di un utente, quindi concettualmente tengono una chiave e possono dare una copia al proprietario. Nelle organizzazioni di medie e grandi dimensioni e nei dati altamente sensibili, un uso comune è avere un sicuro (fisico o numerico) che può essere sbloccato solo da due diversi tasti e nessuno dovrebbe tenere entrambi i tasti - nota: questo è più o meno come le casseforti personali nel lavoro di banca, la banca è responsabile per la chiave della camera di sicurezza e il proprietario ha la chiave della sua cassastrong personale. Per i dati meno sensibili, un responsabile della sicurezza può conservare le copie: questo è il modo in cui il ripristino delle chiavi funziona con la cartella crittografata microsoft: la chiave simmetrica viene criptata due volte, una volta con la chiave personale dell'utente e una volta con una chiave amministrativa per consentire all'amministratore di recuperare i dati.
Quindi la buona domanda è qual è il tuo vero requisito di sicurezza:
- solo l'utente è responsabile dei propri dati
- l'amministratore (o l'help-desk o ...) dovrebbe essere in grado di recuperare i dati se un utente dovesse perdere la sua password
- hai davvero bisogno di collaborare con due persone diverse per recuperare i dati
Il terzo modo può essere semplicemente impostato codificando una chiave simmetrica in sequenza con due diverse chiavi pubbliche, ma il recupero sarà più complesso perché i proprietari delle chiavi private dovranno collaborare.
(*) puoi sempre provare a rompere una cassastrong fisica, ma alcuni possono essere appositamente progettati per distruggere il loro contenuto in quel caso
Parliamo ora del tuo problema reale. La 3 domanda gioco è una prova per un sistema di autenticazione a più fattori. Il problema è che qualcuno che conosce la persona può indovinare le risposte se sono vere (e molte persone sanno molte cose sulle celebrità) e l'uso può dimenticare quello che ha risposto che vuole che non sia immaginabile da nessuno. Il modo migliore per un utente di non dimenticare una password particolare è archiviarlo in una password sicura come l'eccellente keypass . L'analogia sarà: metto una copia di tutte le mie chiavi in una sola cassastrong e tengo la chiave attaccata alla mia collana. Per evitare la perdita del file delle password, è facile sincronizzare un keypass su un desktop con uno su uno smartphone. Sfortunatamente può essere utilizzato solo da utenti educabili.
Se ciò di cui hai bisogno è consentire agli utenti di recuperare la loro password, significa che devi creare una copia (sul tuo server o nel computer dell'utente) crittografata con una chiave pubblica di cui sei proprietario della parte privata . Se la copia è conservata dall'utente, dovrà inviarla a te in modo da decrittografarla e rispedirla. Questa parte è estremamente sensibile e potresti provare a configurare un'autenticazione a più fattori: ad esempio, un'autenticazione normale e un account di posta secondaria. Se la copia viene conservata da te, dovresti pensare alle conseguenze della tua chiave master compromessa = > rompe l'intera sicurezza del sistema.