fare le password hash simili sono simili?
No.
Qualsiasi somiglianza, anche una correlazione complessa, sarebbe considerato una debolezza del hash. Una volta scoperto dalla comunità criptata, sarebbe stato pubblicato, e abbastanza punti deboli scoperti nell'hash avrebbero finito per aggiungere il consiglio di non usare più quell'hash.
Ovviamente non c'è modo di sapere se un hash ha punti deboli non scoperti o punti deboli noti a un aggressore ma non pubblicati, nel qual caso molto probabilmente l'attaccante è un'organizzazione governativa ben finanziata. L'NSA è certamente in possesso di attacchi teorici non pubblici su alcuni componenti crittografici, ma se questi attacchi sono utilizzabili è un'altra questione. Probabilmente lo è GCHQ. Immagino che alcuni altri paesi abbiano programmi segreti di crittografia con un numero sufficiente di matematici per aver svolto un lavoro originale: la Cina sarebbe la mia prima ipotesi. Tutto ciò che puoi fare è agire sulla migliore informazione disponibile. E se le migliori informazioni disponibili dicono che un hash è "buono per cripto", allora una delle cose che significa non sono somiglianze utilizzabili di questo tipo.
Infine, alcuni sistemi utilizzano gli hash deboli per le password, a causa dell'ignoranza da parte dell'implementatore o dell'eredità. Tutte le scommesse sono disattivate per le proprietà di uno schema di hashing che non ha avuto una revisione pubblica, o che è stato rivisto e trovato mancante, oppure è abbastanza vecchio da poter essere alla fine individuato debolezze significative. MD5 è rotto per alcuni scopi (poiché esistono mezzi pratici per generare collisioni) ma non per tutti gli scopi. AFAIK va bene per questo, nel senso che non ci sono pratici attacchi pre-immagine, e avere una manciata di hash dei relativi testi in chiaro non è meglio che avere una manciata di hash di plaintint non correlati. Ma per ragioni non correlate non dovresti usare una singola applicazione di alcun hash per l'archiviazione della password, dovresti usare più turni.
Un hacker potrebbe aumentare le possibilità di brute-forzare la password se ha un elenco di hash di password simili?
Indirettamente, sì, sapendo che quelle sono le tue vecchie password. Non a causa di alcuna proprietà dell'hash, ma supponiamo che l'hacker riesca a (molto lentamente) a forzare una o più delle vecchie password usando quei vecchi hash, e vede che in passato è stato "thisismypassword3" e "thisismypassword4" .
La password è stata modificata in "thisismypassword5". Ben fatto, cambiandolo prima che l'aggressore lo abbia incrinato, hai assicurato con successo che l'attaccante non ha recuperato una password preziosa! Vittoria! Tranne che non ti va bene, dal momento che l'aggressore ha i mezzi per indovinare il nuovo rapidamente comunque utilizzando la vecchia password (s).
Anche se l'utente malintenzionato ha solo una vecchia password e quindi non è in grado di individuare facilmente una tendenza, i cracker di password funzionano provando password che sono simili alle parole del dizionario e altri valori. Per semplificare un po ', proverà prima le parole del dizionario, quindi le stringhe composte da una parola con un carattere in più aggiunto, rimosso o modificato, quindi stringhe con due modifiche e così via.
Includendo la vecchia password negli "altri valori", l'utente malintenzionato può assicurarsi che le stringhe molto simili siano controllate all'inizio del processo di cracking.Quindi se la tua nuova password è simile a quelli vecchi, avere i vecchi hash ha un certo valore per l'attaccante - invertendo qualcuno di questi gli dà un buon seme per decifrare la tua password corrente.
Quindi, incrementare la password regolarmente non aggiunge molto. Cambiare la tua password in qualcosa che è probabile dalla vecchia password mette il tuo aggressore nella stessa posizione in cui si troverebbe se non sapesse nulla, ma la tua password era indovinabile dal nulla.
I principali attacchi pratici ai sistemi di password al giorno d'oggi sono intercettazioni (tramite keylogger e altri malware) e phishing. Cercare di invertire gli hash delle password non è un buon attacco percentuale, anche se un attaccante ha in qualche modo ottenuto un file/etc/passwd o equivalente, lo corrisponderà a in questo modo su alcune password deboli nel sistema medio.
Se è necessario modificare la password ogni qualche settimana e non è possibile riutilizzare una password per 20 tentativi, non è una meraviglia che gli utenti aumentino. Mi sembra che se hai bisogno di password modificate spesso per garantire la sicurezza, le password non sono il mezzo con cui dovresti garantire la sicurezza. – CaffGeek
Si noti che, sebbene non vi siano somiglianze nell'hash, la modifica delle password aggiunge sicurezza solo se impedisce agli aggressori che in qualche modo scoprono una vecchia password di utilizzarlo. Ad esempio, se un attaccante impiega un mese per eseguire un attacco di dizionario/forza bruta dato che conosce l'hash, cambiare la password ogni mese significa che l'attacco è inutile. * A meno che *, la password sia simile a quella vecchia, nel qual caso l'attaccante usa la vecchia password come punto di partenza per un nuovo attacco di forza bruta sul nuovo hash, che termina in microsecondi e ti prendono a calci in culo. –
Sono abbastanza sicuro che, in pratica, l'applicazione di frequenti modifiche alle password riduce la sicurezza, non la aumenta, dal momento che rende più difficile per gli utenti scegliere e ricordare password valide. Si basa sull'antica pratica della "password del giorno", in cui è necessario cambiare la password spesso perché * tutto il tuo esercito lo sa *, ed è garantito che coli al nemico a tempo debito. Le password del computer dovrebbero essere conosciute solo da 1 persona. –