Mi chiedo, perché i siti Web non utilizzano password monouso generate dalla catena di hash. Con questo intendo che un cliente sceglie un segreto e dopo essere stato salato, applica una certa funzione di hash F () su n volte (ad esempio n = 1000000) di seguito.
F (salted secret, n) = F (F (F (... F (segreto salato) ...)))).
Il client invia quindi il risultato e il nome della funzione di hash al server in modo sicuro.
Quindi, quando ha bisogno di autenticarsi contro il server, applica la funzione hash n-1 su un suo segreto in una riga F (salted secret, n-1) e usa questo hash come password una tantum per il processo di accesso. Il server autentica il client solo se F (F (salted secret, n-1)) == F (secret, n). La prossima volta, il processo si ripete per n-2 ...