Se implemento l'autenticazione a due fattori usando TOTP, I (ovviamente) deve proteggere dai semplici attacchi di forza bruta del valore TOTP.
Se chiedo il valore TOTP dopo l'accesso con password, l'autore dell'attacco conosce già la password valida. Poiché la lunghezza predefinita per il valore TOTP è di 6 cifre, è facile da forzare.
Possibili soluzioni:
- Blocca account utente: svantaggio del blocco di un utente legittimo senza possibilità di sblocco.
- Blocca IP: potrebbe funzionare, ma potrebbe essere aggirato sfruttando una botnet. Dovrebbe bloccare più di un singolo IP per IPv6.
Soluzioni che non funzionano:
- Blocca sessione corrente: non funziona, poiché l'utente malintenzionato conosce la password e può semplicemente aprire un'altra sessione.
Come può essere implementata una protezione da forza bruta in modo che non blocchi l'utente legittimo, ma blocca ancora gli attacchi nel miglior modo possibile?