Sono in fase di pianificazione dello sviluppo di un'applicazione web che voglio rendere più sicura possibile. Sono abbastanza chiaro su come farlo dal punto di vista tecnico, ma c'è un enorme potenziale buco di sicurezza: voglio che il sito abbia utenti.
Come chiunque sia mai stato un utente sa, gli utenti dimenticano i nomi utente, dimenticano le password, a volte dimenticano di avere persino un account con il tuo sito. Gli utenti rispondono alle e-mail di phishing e danno via le loro credenziali. Se fai qualcosa che ritengono troppo complicato, non useranno il tuo sito, deve essere semplice e tutto si svolgerà nel minor numero possibile di clic, ma dobbiamo bilanciarlo rendendolo il più difficile possibile per gli utenti in modo accidentale dare via le loro credenziali e mantenere l'accesso al servizio il più sicuro possibile.
Ciò di cui sono particolarmente interessato sono le strategie che vanno oltre la combinazione di nome utente e password standard e metodi per ripristinare o reimpostare le password che rendono le cose facili agli utenti ma difficili per chiunque cerchi di rubare il loro account. So che molti siti forniscono una domanda di sicurezza aggiuntiva per l'utente, ma poiché non mi fido degli utenti di non creare una domanda stupida come "cos'è 1 + 1", non vedo come questo possa garantire la sicurezza.
Esistono strategie che potrebbero essere utilizzabili per l'utente più incompetente, ma sfidare a un attacco determinato e mirato che mira a penetrare nel loro account? Se no, quali sono le cose più vicine che potremmo ottenere? Come utente quali sono i siti migliori / peggiori per questo che hai incontrato e perché?