La verifica email è sufficiente per la maggior parte delle applicazioni
Potrebbe non essere perfetto ma la maggior parte della gente si aspetta e accetta questo tipo di approccio. Nel complesso, un buon processo è il seguente
- L'utente fa clic su "Password dimenticata"
- Il sistema genera un token monouso (UUID), lo memorizza nel database contrassegnandolo come nuovo
- Email contenente un link di reimpostazione della password HTTPS con l'UUID inviato all'account di posta elettronica dell'utente. Questo è il punto debole perché presuppone che l'utente sia autorizzato dal proprio accesso al proprio account di posta elettronica, non dalle informazioni segrete precedentemente condivise.
- L'utente fa clic sul collegamento e il sistema verifica che l'UUID non sia utilizzato
- Supponendo che tutto vada bene, l'utente passa attraverso il processo di reimpostazione della password, che per prima cosa contrassegna l'UUID come usato e quindi accetta gli aggiornamenti delle password.
- La password viene salata e sottoposta a hash e quindi archiviata nel database. La versione in chiaro della password non viene mai mantenuta. mai.
Dati preziosi?
Se i dati che stai cercando di proteggere sono molto più preziosi (dichiarazioni dei redditi, coordinate bancarie, ecc.), allora hai bisogno di un processo di autorizzazione implicito più severo (vedi precedente fase 3). Questo di solito è sotto forma di una lettera contenente l'UUID (solitamente nascosto in una busta antimanomissione). Si prevede quindi che l'utente attivi la procedura di reimpostazione della password e inserisca manualmente l'UUID.
Dati estremi
Infine, se quanto sopra non è sufficiente, ti troverai nei regni della gestione delle identità. Scoprirai la prova di indirizzo, patente di guida, passaporto, certificato di nascita, referenze personali e tutti gli altri fronzoli necessari per stabilire oltre ogni ragionevole dubbio che l'utente è chi dicono di essere. E poi procedi al passaggio 5.