Ho notato che un certo numero di volte in cui un approccio per impedire che le modifiche alla password forzata vengano trasformate in passwords simili (ad esempio, mysecurepassword1
viene modificato in mysecurepassword2
e così via) equivale a hash multiple variazioni che può essere in seguito paragonato a. Ciò può essere fatto cercando i pattern e facendo cose come incrementare i numeri, aggiungerli, ecc.
Sono curioso di sapere quali sono le implicazioni di questo sulla sicurezza. Questi hash darebbero maggiori opportunità per un forcer bruto, vero? Sono essenzialmente collisioni. Anche se, d'altra parte, ci si aspetterebbe che se qualcuno fosse un forzato bruto, probabilmente proverebbe le varizioni in un tempo simile, quindi sembra che non risparmierà molto tempo di forzatura bruta. Inoltre, non sono sicuro di quanto potrebbero essere importanti anche le collisioni se la password è abbastanza sicura. Ad esempio, se abbiamo 10 varianti di hash, questo in teoria significa che ci vorranno 10 volte meno tentativi di forzare la password, giusto? Ma la scala di grandezza del tempo necessaria per forzare una password sicura è spesso così grande che anche una diminuzione di 10 volte è un periodo di tempo imprecisato.
Quindi sì, l'hashing di queste variazioni indebolisce significativamente la sicurezza? È abbastanza piccolo da non avere importanza (in particolare rispetto ai vantaggi di evitare un riutilizzo simile della password)?