Poiché hashing password sicuro è una seconda riga di difesa , la sua efficacia non può essere verificata fino a quando non viene violata la linea di difesa prima , cioè il server viene violato, o fa qualcosa di stupido come inviare la password via email.
Come altri hanno spiegato, se il sito può rimandare la tua password, quindi, per definizione, l'hanno memorizzata, e non solo un token di verifica unidirezionale (solitamente indicato con "hash della password"). Questo è un chiaro indizio su storage molto insicuro. Tuttavia, se restituiscono non la tua password, non significa che lo memorizzino in modo sicuro. Potrebbero comunque memorizzarlo in modo reversibile (ad es. Crittografato invece di hash), oppure potrebbero anche cancellarlo con una debole funzione di hashing della password (es. Senza sale, o con una funzione hash troppo veloce, o entrambe - vedi questa risposta per i dettagli).
Altri indizi di memorizzazione di password errate includono:
-
Rilevamento post-fact delle "password errate": se ti inviano una email che indica che la tua password deve essere cambiata perché non è conforme ad alcune regole interne, quindi avere accesso alla password in modo asincrono (cioè non solo quando lo inserisci per l'autenticazione), e questo è male.
-
Rifiuto delle password simili : se cambi la password con una nuova password che è molto simile (ma non identica) a una password precedente che hai usato, e il sito la rifiuta su questa base, il sito può sapere quali password sono simili tra loro, il che implica ancora una volta la memorizzazione reversibile.
-
Tempo di risposta molto veloce. Questo è difficile da misurare e non puoi certamente farlo a mano; deve essere copiato. Quando si invia una richiesta di autenticazione, è possibile misurare il tempo impiegato dal server per rispondere. Durante questo ritardo, con il normale hashing della password, il server deve aver calcolato la funzione hash. Per una migliore precisione inviare molte richieste di autenticazione; se il server è in grado di gestire 100 richieste al secondo, si sa che qualunque cosa utilizzi non richiede più di 1/100 della potenza della CPU. Attenzione: se lo fai, potresti essere rilevato come un utente malintenzionato che sta tentando di eseguire un attacco di dizionario (al contrario, se sei non rilevato, significa che il sito non è protetto contro online attacchi di dizionario, e anche questo è brutto).
Personalmente, direi che imporre una modifica della password ogni 90 giorni è già un segno di una cattiva gestione delle password in generale. In ogni caso, non dovrai riutilizzare le password . Quando non riutilizzi le password, la mancanza di sicurezza nell'archiviazione delle password su un sito è molto meno critica.