Ho un sito su cui vorrei impedire a un utente malintenzionato non autenticato di sapere se esiste un account. Sul sito, le password vengono sottoposte a hash con bcrypt, quindi le richieste di accesso devono eseguire un confronto bcrypt (forza 12), che richiede tempo alla CPU.
La mia preoccupazione: il tempo di risposta del server varia a seconda che l'account utente sia stato trovato o meno. Se l'account è stato trovato, viene eseguito il confronto con bcrypt per verificare la password; in caso contrario, la funzione può tornare immediatamente. Sul mio computer locale, ricevo un tempo di risposta di ~ 600ms quando viene rilevato l'account, mentre ricevo il tempo di risposta di ~ 30ms quando non lo è. In produzione, aggiungi solo la latenza di rete a entrambi.
In breve, come cliente, potrei determinare se esiste un account.
La mia domanda: è qualcosa di cui dovrei preoccuparmi? E se sì, qual è la soluzione migliore: un'attesa artificiale? Una forza di crittografia inferiore? Un algoritmo di hash più veloce?