18

Abbiamo lavorato su applicazioni Web in cui è necessario implementare le funzionalità di applicazioni Web tradizionali per il recupero della password. Secondo le tendenze ci sono approcci come ..Tecniche efficaci per il recupero di password in applicazioni Web moderne

  1. Invio del link di reimpostazione della password per e-mail dell'utente.
  2. Richiesta di domande segrete all'utente per il recupero della password.
  3. Ripristinare la password esistente e creare una nuova password e inviarla all'utente. Questo potrebbe anche costringere l'utente a cambiare la password al prossimo accesso.

Abbiamo qualche tecnica non tradizionale per implementare il meccanismo di recupero password? Quali altri approcci hai provato per questo?

Grazie.

+1

Per "non tradizionale", suppongo che intendi "peggio?" Le tradizioni esistono per una ragione. – mquander

+5

Respingo fortemente il sentimento di mquander, ma sono anche inconsapevole di qualcosa di meglio dei metodi tradizionali elencati, tutti ragionevolmente potenti – annakata

+0

inviare una nuova password (opzione 3) equivale a inviare un link di resto (opzione 1) perchè l'utente probabilmente cambia la sua password. – jrharshath

risposta

18

Dipende dal livello di sicurezza che si intende raggiungere, dai costi di supporto e dai problemi di usabilità.

Emailing un link di reimpostazione della password è l'approccio preferito per una serie di motivi:

  • costi di supporto - Questo è il più grande fattore da una prospettiva di business. Gli utenti spesso dimenticano anche i loro suggerimenti per le password o utilizzano un falso indirizzo postale o dimenticano il loro nome utente. Tutte queste sono legittime preoccupazioni per le quali potresti ricevere richieste di supporto. Questo a sua volta crea un altro problema, devi stabilire la legittimità dell'utente chiedendo loro informazioni sull'attività recente dell'account e cosa no. Se non fornisci quel livello di supporto, molti utenti alle prime armi rimarranno delusi. L'invio tramite e-mail di un link per reimpostare la password attenua questi dubbi perché gli utenti in genere hanno uno o due indirizzi e-mail e possono facilmente recuperare il loro nome utente/password fornendo il loro indirizzo e-mail.

  • Preoccupazioni per la sicurezza - Questo è il più grande fattore dal punto di vista tecnico. Qui ci sono varie preoccupazioni che devi pesare. Un account e-mail compromesso consente all'hacker di accedere a tutti i servizi degli utenti che consentono di inviare un collegamento per la reimpostazione della password. Puoi accontentarti di una via di mezzo che è inviare via e-mail un link di reimpostazione della password all'utente che a sua volta chiede all'utente una domanda di suggerimento sulla password, dopo di che gli consente di reimpostare la password. Ancora una volta, non si dovrebbe mai esporre la password dell'utente su qualsiasi supporto. Infatti, se hai la possibilità di mostrare loro la password, il tuo sistema è già insicuro perché implica che non lo stai archiviando usando un hash sicuro come SHA-1 e uno sviluppatore della tua azienda può ottenere la password di tutti.

  • Usabilità - Questo è il più grande fattore dal punto di vista dell'utente. L'invio tramite e-mail di un link per la reimpostazione della password richiede all'utente di andare a controllare il suo indirizzo e-mail, il che significa che il tempo per raggiungere l'attività può arrivare a 2 o anche 3 minuti. Tuttavia, penserei che questo non è un grosso problema.La maggior parte degli utenti non sembra preoccuparsene perché si sentono in colpa e questa è una misura di sicurezza nel loro migliore interesse. Sto solo ipotizzando un'esperienza personale e gli utenti in generale potrebbero sentirsi diversamente. Metterei la sicurezza come una priorità più alta dell'esperienza utente perché gli utenti raramente, se non mai, hanno bisogno di recuperare le loro password (l'utente non ha effettuato il login per molto tempo e ha dimenticato la sua password; l'utente ha salvato la sua password nel browser che è stato reinstallato e alcuni altri casi limite).

+0

Dal punto di vista dell'usabilità quali tecniche possiamo immaginare? Questo è in realtà il criterio. Per noi nient'altro conta quanto l'esperienza dell'utente. –

+0

in alcuni casi, la sicurezza e la privacy contano più dell'esperienza dell'utente. – jrharshath

+0

@s_ruchit, se l'esperienza utente è una grande preoccupazione, allora puoi anche fornire entrambe le opzioni, per andare con un sistema di suggerimento password come hotmail.com e fornire anche un link per inviare via email un modulo di reimpostazione della password. In questo modo possono scegliere ma dal punto di vista della sicurezza apre nuovi vettori di attacco. – aleemb

6

A mio parere, l'invio di un link di reimpostazione della password per l'email dell'utente è il modo migliore. Questo è il modo in cui Digg lo fa, e questo è il mio modo di fare.

Ma in questo metodo dobbiamo fare affidamento sull'utente che può accedere alla sua email.

Riguardo al metodo della domanda segreta: il più delle volte, la risposta alla domanda segreta non è così segreta come vorremmo. Sarebbe nel migliore interesse dei nostri utenti bloccare questo metodo di un "account-hack".

4

Un sito Web ei relativi amministratori non devono conoscere la password di testo non crittografata dei propri utenti. Dovrebbe esserci un solo hash unidirezionale della password memorizzata per il confronto agli eventi di autenticazione. Quindi l'invio di una password chiara non dovrebbe essere un'opzione.

Personalmente mi piace il link per la reimpostazione della password inviato all'utente. Ricorda di scartare quel link però. Inoltre, notificare all'utente tramite e-mail i tentativi di reimpostazione della password (può essere la stessa e-mail del collegamento di ripristino), anche dopo il ripristino corretto.

7

Altre opzioni che ho visto in pratica dovrebbe includere:

  • permettendo una seconda password quando qualcosa va male - qualcosa come il Super-PIN utilizzato con i telefoni cellulari.
  • creazione di un token di file (di solito una chiave PGP) che l'utente scaricherà durante la creazione dell'account e lo memorizzerà su una chiavetta USB o lo archivierà per un uso successivo. Quando si verifica un problema, l'utente carica il token, dimostrando di essere il "proprietario" dell'account e dell'applicazione che consentirà all'utente di modificare la password. Questo può essere un token costante o un file con più token (simile a un TAN bancario online) - ogni volta che viene utilizzato un token, viene anche invalidato.

I metodi di cui sopra non sono così semplici da implementare, ma sono abbastanza user friendly (poiché non c'è nulla di nuovo in loro e sono presenti in altre situazioni giorno per giorno).

0

Un ulteriore approccio al collegamento per la reimpostazione della password potrebbe essere quello di creare una chiave casuale che non si spenga nel collegamento di posta elettronica che l'utente dovrà digitare dopo aver fatto clic sul collegamento. Ciò aiuterebbe le persone a catturare l'e-mail.