Quando si modifica una password utilizzando una pagina Web, la vecchia password deve essere inserita sullo stesso schermo?

11

C'è una convenzione per richiedere sempre la vecchia password sulla stessa pagina di quella in cui la vecchia password viene cambiata come mostrato di seguito.

È accettabile dal punto di vista della sicurezza consentire a un utente di accedere e quindi modificare la password su una pagina separata che non richiede la vecchia password?

Mi sto chiedendo perché sto cercando di semplificare un'applicazione mobile e sto pensando di rendere lo stesso flusso di lavoro un'applicazione web standard.

Esempio di un flusso di lavoro "fastidioso" per l'utente:

  1. L'utente autentica

  2. L'utente è avvisato PW è scaduto o deve essere modificato (immediatamente)

  3. L'utente è indirizzato alla schermata seguente. Il suggerimento aggiuntivo per "password corrente" è fastidioso e mi chiedo quale vantaggio fornisce ...

    
posta random65537 01.02.2013 - 02:33
fonte

3 risposte

11

Il motivo per cui ti sei fatto inserire la tua password attuale quando ne scegli una nuova è assicurarsi che la persona che sta cambiando sia il "vero" proprietario dell'account.

Se puoi modificare la tua password direttamente dopo aver effettuato il login, sono possibili i seguenti attacchi:

  1. Ti allontani per un momento dal tuo computer, vado al sito web
    e cambia la tua password
  2. Rubo i tuoi cookie di accesso, carica il sito web come te e cambio la tua password

Modifica: se stai suggerendo la seguente sequenza: Accedi utilizzando la vecchia password, quindi la pagina successiva richiede immediatamente una nuova password, quindi probabilmente hai lo stesso livello di protezione, supponendo che la schermata "modifica" scada dopo un po 'di tempo.

Non penso che importi il numero di schermate che il processo richiede. Penso che la chiave sia che è più breve la durata tra quando si può essere sicuri che il proprietario "reale" abbia interagito con il sito e quando viene emessa la richiesta di modifica della password, maggiore è la sicurezza.

Dato che puoi impostare il tempo trascorso a zero inserendo i vecchi e nuovi campi password sulla stessa pagina, con (IMHO) pochi cambiamenti in UX, probabilmente è questo il motivo per cui spesso è fatto in quel modo.

    
risposta data 01.02.2013 - 03:08
fonte
8

L'obiettivo è impedire che un utente si allontani dalla sessione e che un utente malintenzionato assuma il controllo della sessione e modifichi la password per l'utente.

Quindi, se ci pensate da una prospettiva di mitigazione dell'attacco, l'attacco è qualcuno che salta su una sessione esistente e cambia le credenziali. La mitigazione è di richiedere un'autenticazione point-in-time prima di cambiare le credenziali.

Nello scenario mobile, la teoria è che l'utente avrà sempre il proprio telefono con sé e la sessione probabilmente non verrà abbandonata (abbastanza a lungo) da consentire a un utente malintenzionato di fare qualcosa di dannoso.

Tuttavia, in pratica non funziona perché un utente malintenzionato potrebbe teoricamente convertire una sessione non mobile in una sessione mobile (ad esempio, saltare su una sessione desktop, rubare i cookie, allegare i cookie alla sessione mobile) e bypassare il controllo dell'autenticazione point-in.

È un compromesso tra funzionalità / esperienza e contromisure di sicurezza. Per fare in modo che il secondo scenario funzioni in modo sicuro, devi essere sicuro (con attenuazioni per questi attacchi) che un utente malintenzionato non può convertire la sessione o inserirsi in una sessione mobile esistente.

    
risposta data 01.02.2013 - 03:09
fonte
3

Secondo me, no, non sarebbe accettabile. Il motivo è che una modifica della password è un evento transazionale, e devi verificare che l'utente che modifica la password sia l'utente autorizzato a eseguire quella transazione, e tu le autentichi confermando che conoscono la password corrente.

    
risposta data 01.02.2013 - 03:09
fonte

Leggi altre domande sui tag