Processo di reimpostazione della password

2

Quindi sto lavorando al mio primo meccanismo di reset della password. Vado con quella che capisco essere una procedura abbastanza comune:

  1. L'utente fa clic su "Password dimenticata"
  2. all'utente viene richiesto l'indirizzo email
  3. Se l'indirizzo email inserito è valido, invia un'email con un link di ripristino all'indirizzo
  4. Reimposta link utilizza un token di qualche tipo per identificare l'account utente e mantenere i suoi dettagli protetti
  5. Quando la password viene ripristinata, generare un nuovo token e salvarlo sull'account utente

Credo che questo dovrebbe essere abbastanza sicuro, ma mi stavo chiedendo se qualcuno potesse fornire degli approfondimenti che potrei non considerare a questo punto.

    
posta Ortund 28.05.2014 - 13:01
fonte

1 risposta

6

Dal foglio trucchi OWASP Password dimenticata :

  1. Raccogli dati di identità o domande di sicurezza

    La prima pagina di una funzione di Password dimenticata sicura richiede all'utente più pezzi di dati che avrebbero dovuto essere raccolti in precedenza (generalmente quando l'utente si registra per la prima volta). [...] Come minimo, dovresti aver raccolto alcuni dati che ti permetteranno di inviare le informazioni sulla reimpostazione della password a qualche canale laterale fuori banda, come un indirizzo email (possibilmente diverso) o un numero di testo SMS , ecc. da utilizzare nel passaggio 3.

  2. Verifica le domande di sicurezza

    Dopo che il modulo del Passaggio 1 è stato inviato, l'applicazione verifica che ogni dato sia corretto per il nome utente specificato. Se qualcosa non è corretto o se il nome utente non viene riconosciuto, nella seconda pagina viene visualizzato un messaggio di errore generico come "Spiacenti, dati non validi". Se tutti i dati inviati sono corretti, il Passaggio 2 dovrebbe visualizzare almeno due delle domande di sicurezza personale prestabilite dall'utente, insieme ai campi di input per le risposte.

  3. Invia un token su un canale laterale

    Dopo il passaggio 2, blocca immediatamente l'account dell'utente. Quindi invia via email o SMS all'utente un codice generato a caso con 8 o più caratteri. Questo introduce un canale di comunicazione "out-of-band" e aggiunge difesa-in-profondità in quanto è un altro ostacolo da superare per un hacker. Se il cattivo si è in qualche modo riuscito a superare con successo i passaggi 1 e 2, è improbabile che abbia compromesso il canale laterale. È anche consigliabile avere il codice casuale generato dal sistema per avere un periodo di validità limitato, non più di 20 minuti circa.

  4. Permetti all'utente di cambiare la password

    Il passaggio 4 richiede l'immissione del codice inviato nel passaggio 3 e consente all'utente di reimpostare la sua password. Visualizza un semplice modulo HTML con un campo di input per il codice, uno per la nuova password e uno per confermare la nuova password. Verificare che venga fornito il codice corretto e assicurarsi di applicare tutti i requisiti di complessità della password esistenti in altre aree dell'applicazione.

Ci sono molti più dettagli al link.

    
risposta data 28.05.2014 - 13:52
fonte

Leggi altre domande sui tag