L'importante è che l'attaccante non possa essere in grado di forzare la forza bruta per ottenere l'accesso.
Ciò non significa necessariamente che l'algoritmo di hash deve essere lento. Il flusso di accesso end-to-end dovrebbe essere abbastanza lento. Questo può essere ottenuto in diversi modi:
- Come hai detto, modifica l'algoritmo di hashing in modo che sia lento.
- Disattiva i tentativi di accesso per una certa durata dopo un certo numero di tentativi sbagliati.
- Mandare password più lunghe e complesse. (Maggiore lunghezza aumenta il numero di possibilità da provare per il tentativo di forza bruta)
Le opzioni 1 e 2 sono inutili se l'hacker ottiene l'accesso al formato hash della password e all'algoritmo di hashing.
Modificato con il suggerimento del commento:
L'opzione 2 è inutile se l'hacker ottiene l'accesso al formato hash della password e all'algoritmo di hashing.
L'opzione 1 è anche inutile se la lentezza è in gran parte dovuta al sonno che può essere risolto (ad esempio se è disponibile il codice sorgente dell'algoritmo di hashing, allora è facile eliminare il sonno.) Altre opzioni sono possibili senza il codice sorgente troppo)