Il rifiuto rapido dice che le password sono archiviate in testo normale?

7

Supponiamo che tu stia utilizzando un sito web e inserisci la tua password in modo errato. Il sito web quindi "istantaneamente" appare con un messaggio "username / password errati".

Sarebbe sicuro dedurre che il sito Web non è una password di hashing?

A quanto ho capito, gli hash crittografici sono generalmente progettati per impiegare un certo periodo di tempo minimo al fine di dissuadere gli attacchi di forza bruta.

    
posta Liam 25.04.2016 - 04:01
fonte

4 risposte

23

Non puoi fare quella supposizione. L'hash si verifica estremamente velocemente, anche una password che è salata e utilizza un algoritmo "lento" sicuro (o anche un insieme di algoritmi incatenato) che ritornerà molto velocemente (per gli umani). Una stima del ballpark per l'utilizzo di PBKDF2 con 10.000 iterazioni per ogni tentativo di accesso potrebbe gestire 100.000 tentativi in un secondo (quando si considera solo il tempo di hashing). Ciò che sembra "istantaneo" per te è in realtà un tempo molto lungo per il sistema.

Ricorda anche che la pagina potrebbe non dover ricaricare alcun contenuto, potrebbe avere la finestra di dialogo già visualizzata semplicemente non visualizzata. Oppure la pagina potrebbe utilizzare una connessione persistente piuttosto che creare una nuova connessione quando si inviano le credenziali. Entrambi velocizzano il tempo di risposta.

Questo non vuol dire che l'errore per un nome utente / password errato non può rivelare informazioni. Alcuni siti restituiranno il loro messaggio di errore più velocemente se il nome utente non è valido (e quindi non si è preoccupato di controllare la password). Ciò può portare a un utente malintenzionato che enumera i nomi utente dell'account.

Stime di hash: link

    
risposta data 25.04.2016 - 08:00
fonte
2

La tua ipotesi è sbagliata. Gli hash crittografici non sono generalmente progettati per essere lenti. Al contrario, gli hash più largamente usati come MD5 e la serie SHA di hash crittografica sono stati sviluppati esplicitamente pensando alla velocità. Devono esserlo, perché possono essere utilizzati per hash file enormi o fornire un controllo di integrità per le strutture di dati del file system interno e non dovrebbero rallentare l'accesso in lettura / scrittura. Il requisito più importante per una funzione di hash crittografica è che è impossibile generare rapidamente un file di input che corrisponde a un determinato hash, non che sia lento.

Detto questo, esiste un sottoinsieme di funzioni di hash crittografiche sviluppate esplicitamente per l'uso come hash delle password. E questi sono in effetti sviluppati per essere (configurabilmente) lenti a scoraggiare gli attacchi di forza bruta. Due esempi sono PBKDF2 e bcrypt. Ma ciò non significa che gli archivi di password utilizzino solo questi tipi di funzioni hash crittografiche.

Quindi non è possibile dedurre la presenza dell'hash della password da una rapida negazione.

    
risposta data 25.04.2016 - 15:56
fonte
1

Suppongo che dipenda dalle circostanze.

Se stai eseguendo un computer Windows 95 su una connessione remota a un webservice in esecuzione su una scatola Unix sovraccaricata dal 1990, allora sì immagino che ci vorrebbe un secondo o due per restituire un risultato.

Tuttavia, siamo nel 2016, dove le CPU funzionano nell'intervallo GHz e le velocità di Internet sono contenute nel MB / s. Aggredire a un computer oggi è un'impresa banale, che richiederebbe una frazione di secondo. Per l'umano, è praticamente istantaneo.

Se utilizziamo AJAX e pre-rendering detto "pop-up", vedremo immediatamente un risultato nel migliore dei casi. Provalo su Facebook o Google. Vedrai subito un risultato. Provalo di nuovo su un Raspberry Pi. Vedrai la stessa cosa.

    
risposta data 25.04.2016 - 09:54
fonte
-16

No, perché la tua password con hash è comunque solo testo normale. L'hashing avviene quando si crea l'account, non ogni volta che si accede. Se qualcuno usa la stessa password allora avrà anche la stessa password con hash, motivo per cui molti siti richiedono password complesse.

Le password di testo in chiaro impiegheranno il tempo necessario per recuperarle, così come per crearle, anche se utilizzi un metodo più lento, la password verrà comunque creata immediatamente.

In che modo le password create così velocemente sono sicure? Perché è una crittografia unidirezionale; che riduce drasticamente il lavoro che un server deve fare.

    
risposta data 25.04.2016 - 11:17
fonte

Leggi altre domande sui tag