Sicurezza della password

12

Mi è stato richiesto nella pagina di accesso di un sito Web di cambiare prima la mia password. Dopo aver digitato una nuova password, la pagina web mi ha detto che la nuova password non differiva abbastanza da quella precedente. Ciò significa che la società che gestisce il sito Web non memorizza le password in modo sicuro? O c'è un modo per memorizzare l'hash delle password e ancora essere in grado di capire che la password precedente differisce di 1 carattere da quella nuova?

    
posta Robert 30.12.2013 - 20:58
fonte

4 risposte

21

Dato che hai appena inserito la vecchia password per accedere, un sito potrebbe conservare tale password per il confronto - molto brevemente - solo fino a quando non avrai completato la modifica della password nella pagina successiva. Questo è un principio abbastanza sicuro, ed è come l'UNIX passwd utility rileva le nuove password troppo simili .

Poiché di solito è necessario chiedere la password corrente dell'utente quando si cambia la password , questo approccio alla somiglianza -il rilevamento può essere facilmente applicato nella maggior parte degli scenari di cambio di password.

Per completezza, ecco alcune altre possibilità meno probabili:

  1. Il sito memorizza la tua password in testo semplice.

  2. Il sito utilizza un hash con qualche tipo di debolezza che consente confronti significativi (es. stime della distanza Levenshtein ) delle password hash. Se questo è il caso, è un punto debole sostanziale, e non molto meglio della memorizzazione della password in testo semplice.

  3. In alternativa, la password potrebbe essere memorizzata in una trasformazione reversibile, ad esempio la crittografia. Questo non è un buon modo per proteggere le password: apre la possibilità di compromettere la password attraverso il compromesso chiave e non offre vantaggi significativi perché non è necessario rendere reversibili le trasformazioni delle password protette (motivo per cui in genere utilizziamo gli hash).

  4. Quando inserisci una nuova password, il sito esegue una serie di piccole trasformazioni della tua nuova password per vedere se qualcuno di questi corrisponde al vecchio hash della password. Questo potrebbe essere fatto in modo sicuro.

    Ad esempio, supponiamo che il sito conosca il tuo hash della vecchia password, Q . Quando inserisci una nuova password p , il sito calcola gli hash delle password che sono molto vicine a p . Supponendo che la tua nuova password sia xyzzy , il sito potrebbe provare hashing ayzzy , byzzy , cyzzy , ecc., Per vedere se qualcuno di questi corrisponde al vecchio hash Q .

    Questo sembra uno sforzo notevole, specialmente se il sito utilizza un algoritmo di hashing che è adatto per le password (ad esempio, in particolare, che è lento da calcolare). Pertanto, anche se questo caso fosse vero, sembra suggerire che il sito utilizza un algoritmo di hashing poco adatto alla protezione delle password.

Naturalmente, non possiamo sapere quale di queste possibilità sia vera - tutte potrebbero facilmente portare al comportamento che descrivi.

    
risposta data 30.12.2013 - 21:22
fonte
3

Does this mean the company that manages the website does not store the passwords in a safe manner?

Un possibile modo in cui potrebbero farlo è confrontando la tua nuova password con la vecchia password che hai fornito sulla stessa pagina (o precedente) per accedere a questo sito web. Si noti che anche se il sito Web memorizza l'hash della password, la password in formato testo viene inviata al sito Web ogni volta che si accede. Per la funzione di modifica della password, potrebbero salvarla temporaneamente in sessione per eseguire il calcolo "a prescindere dalle password".

Se è così che lo fanno, non vedo alcun problema con questo. Tuttavia, se davvero invertono le password in qualche modo, allora sicuramente non lo fanno nel modo giusto.

Or is there a way to store the passwords hashed and still be able to figure out that the previous password just differs 1 character from the new one?

No, non c'è modo di recuperare la password in testo semplice o calcolare la lunghezza del testo in chiaro dal suo hash (dato il suo hash usando un algoritmo di hashing buon e non può essere forzata bruta)

    
risposta data 30.12.2013 - 21:22
fonte
0

L'hashing è un processo in cui il più piccolo cambiamento dà un risultato completamente diverso e non è reversibile. L'unico modo in cui potrebbero confrontare la tua vecchia password con la tua nuova password sarebbe se stessero memorizzando le tue password senza essere hash.

Questo non significa che stiano memorizzando le password in modo insicuro: l'hashing è solo un metodo di archiviazione sicura delle password. Le password con hash non sono comunque garanzia di sicurezza, con hash tables e rainbow table hash le password possono essere violate con relativa facilità. Fintanto che vengono memorizzati criptati e i loro controlli intorno a loro sono sani, allora sei sicuro come ci si può ragionevolmente aspettare.

Tutto dipende da quanto bene l'azienda in questione ha sviluppato il suo prodotto, e non si può rispondere qui.

    
risposta data 30.12.2013 - 21:20
fonte
-1

Le probabilità sono, le password sono crittografate. A seconda dell'implementazione della crittografia, la tua password è sicura. Quindi, no, date le informazioni, non è possibile concludere che le password siano archiviate in un argomento non sicuro.

In teoria, almeno, il server può memorizzare solo l'hash. Quindi, quando arrivi con la tua nuova password, hanno cancellato le varianti della tua password per vedere se hanno colpito il tuo hash della password originale. È un po 'allungato, ma è certamente possibile.

    
risposta data 30.12.2013 - 21:18
fonte

Leggi altre domande sui tag