Non c'è davvero una risposta "corretta" che possiamo dare. È necessario comprendere i rischi e gli impatti al fine di prendere una decisione sensata. Solo tu puoi farlo con una comprensione del valore dei dati e del costo di una violazione.
Detto questo:
- L'utilizzo di userid da solo non darebbe alcuna sicurezza reale ed è normale che un sistema ricordi l'userid in uso tramite un cookie per la comodità dell'utente.
- Richiedere l'immissione della password per riautenticare sarebbe il requisito minimo che penserei
- Richiedere 2FA dopo un timeout è più sicuro ma è probabile che porti gli utenti a fuggire! Anche molte applicazioni bancarie non lo richiedono. Tuttavia, di nuovo, dipende dalle impostazioni che stai utilizzando. Se i timeout sono ragionevolmente lunghi, richiedere 2FA può andare bene. Se si verificano dopo 5 minuti di inattività, è improbabile che sia accettabile per gli utenti.
Quindi pensa ai rischi e all'impatto se i rischi sono realizzati. Pensa al valore / costo. Non solo sull'esperienza utente.
Inoltre, non dimenticare che potresti diventare più sofisticato. Ad esempio, se il timeout è impostato su 15 minuti, forse è necessario reinserire la password durante i 15 minuti successivi, ma se l'utente non ha risposto in 30 minuti, si potrebbe richiedere 2FA.
Inoltre, non dimenticare di aggiungere impatti più significativi se qualcuno non riesce ad accedere dopo un numero di tentativi. In generale, è consigliabile iniziare impedendo ulteriori tentativi per un breve periodo di tempo con il tempo che aumenta su ulteriori tentativi fino a un blocco completo che richiede l'intervento dell'amministratore dopo un certo numero di tentativi falliti.