Un modo per combinare la conferma ritardata della password con la possibilità per gli utenti di allontanarsi?

0

Vogliamo impostare un flusso simile a questo:

  1. Creiamo l'account per un utente di alto valore dalla nostra sezione di amministrazione
  2. Ricevono in qualche modo un'email automatica contenente i dettagli di accesso per il nostro sito
  3. Seguono il link, confermano il loro account e visualizzano un modulo che chiede loro di reimpostare la password
  4. Questo sembra essere un po 'complicato: se si allontanano prima di impostare la propria password e tornare più tardi (avendo potenzialmente disconnessi / provenienti da un'altra macchina, ecc.), vogliamo che siano ancora in grado di accedere al proprio account senza dover richiedere una reimpostazione della password

Per quanto posso vedere, non esiste un modo sicuro per farlo, dal momento che richiederebbe almeno un token di accesso ripetuto per poterli inviare via email.

Quindi le mie domande sono:

1) Ho perso un modo per farlo in modo sicuro? (con scuse all'I3I, che ha risposto a una domanda simile che ho postato senza il quarto requisito qui )

2) Un approccio che abbiamo discusso è di inviare loro un token di accesso riutilizzabile con una data di scadenza, in modo che a) almeno non si rompa con un attacco arcobaleno eb) minimizziamo la finestra di vulnerabilità. So che questo non è l'ideale, ma (se c'è un modo significativo per rispondere a questa domanda) quanto è grande il rischio? È importante quanto è lungo il periodo di utilizzo? E c'è un modo per minimizzare il rischio oltre a ridurre il periodo di utilizzo (o anche il modo imperfetto-ma-migliore per ottenere lo stesso effetto desiderato)?

Se pertinente, stiamo utilizzando un back-end Rails / Devise.

Grazie in anticipo.

    
posta Arepo 06.02.2017 - 22:56
fonte

1 risposta

1

Potresti inviare un link appena generato quando l'utente si allontana dalla pagina, automaticamente (impareranno presto a smettere di fare che quando hanno 30 e-mail!) potresti votare il limite a invia, dì una volta al giorno.

Oppure puoi semplicemente tenere aperto il token fino a quando non viene impostata la password, che potrebbe lasciare il token là fuori all'infinito. Che come dici tu, è tutt'altro che ideale.

Oppure potresti adottare il secondo approccio ma aggiungere una scadenza temporale piuttosto che nel momento in cui il visitatore utilizza il link, quindi è valido fino a quando non viene impostata la password o, ad esempio, sono trascorsi 3 giorni. È quindi possibile inviare un nuovo collegamento o richiedere l'attivazione manuale / reimpostazione della password. Personalmente preferirei questo, come se l'e-mail non venisse mai ricevuta per qualsiasi motivo (problemi di posta / server completi) il collegamento di attivazione non è andato per sempre. Questo potrebbe quindi scadere dopo ulteriori unità temporali arbitrarie per rinunciare e bloccare l'account, piuttosto che mantenere l'account in sospeso indefinitamente.

In fin dei conti è la tua propensione al rischio e ciò che vedi come modello di minaccia. In ogni caso, non sarà perfetto dal punto di vista della sicurezza, dato che l'e-mail è molto probabilmente inviata in testo chiaro in qualsiasi punto del suo viaggio.

Non vedo una soluzione perfetta al tuo problema, no: (

    
risposta data 07.02.2017 - 18:04
fonte

Leggi altre domande sui tag