Hai ragione, e questo è un grosso fastidio. Infatti tutta questa faccenda dell'hashing delle password e la scelta di quelle difficili da violare tramite l'hashing è una finzione completamente inutile e costituisce ciò che Schneier chiama "teatro della sicurezza".
Hashing delle password è irrilevante, tranne in situazioni specifiche: protocolli di autenticazione che comunicano gli hash in chiaro (cosa da non fare) e database di password che memorizzano gli hash in un modo leggibile dal mondo, come il classico / etc / passwd
(che non viene più fatto).
Ai vecchi tempi, se eri su un sistema Unix pubblico con migliaia di utenti, come una macchina o una fattoria di macchine, fornivi account di posta elettronica per gli studenti universitari, le password scadenti venivano letteralmente violate a destra ea sinistra. Il file delle password di un tale sistema era un grande magnete per il cracking, con grandi vantaggi. Ovviamente, un tale file di password è completamente stupido. Qualsiasi distribuzione Linux decente oggigiorno inserisce gli hash delle password in /etc/shadow
.
Quindi, il punto è che se un attaccante ha accesso agli hash, il sistema in questione è mal progettato (protocolli di autenticazione di rete quasi in chiaro, database di password leggibili pubblicamente) o è stato compromesso al punto che la conoscenza della tua password in chiaro non è più rilevante, poiché l'aggressore necessitava dei privilegi di amministratore per ottenere l'hash.
Tuttavia, gli hash forniscono un piccolo livello di sicurezza aggiuntiva. E quel livello protegge coloro che riutilizzano le password tra i siti . Se un sito è "pwned", in modo che gli aggressori possiedano la tua password con hash, sei nei guai se hai usato la stessa password altrove e quella password è facile da decifrare.
Ironia della sorte, è più probabile che le persone riutilizzino password molto difficili su più siti, perché sono difficili da ricordare. In secondo luogo, è probabile che riutilizzino quasi la stessa password difficile introducendo piccole variazioni su di esso. Ad esempio, se la password originale è considerata abbastanza forte da essere accettabile da un sistema, la useranno semplicemente su un altro sistema, ma cambieranno un 1
in un 2
o 3
e così via. Se gli aggressori violano la password con un 1
, possono facilmente indovinare gli altri.
È molto più facile generare e memorizzare password relativamente facili, in modo che siano completamente estranei l'uno all'altro.
Ecco anche un'altra cosa che le persone trascurano: gli amministratori del sito non sono tuoi amici fidati. Devi sospettare non solo di aggressori esterni, ma anche di addetti ai lavori . Su qualsiasi sito in cui si dispone di un account protetto da password, potrebbe esserci un amministratore malvagio che raccoglie password in testo normale. Non sai nemmeno se le password sono sottoposte ad hashing. Supponi che non siano sottoposti ad hashing e presumi che tra gli amministratori di ogni sito ci sia un malintenzionato che raccoglie le password. Anche se sai che il software del sito utilizza un database di password con hash, non puoi presumere che il codice non lo abbia stato modificato. L'interfaccia utente Javascript (o qualsiasi altra cosa) gestisce le password in modo chiaro.
Oh, e se non vedi "HTTPS" nella barra del browser, tutte le scommesse sono disattivate! La tua password di 32 caratteri generata casualmente viene raccolta da qualcuno, in chiaro.
Una password deve essere abbastanza difficile da non poter essere indovinata in diversi tentativi ingenui (tentativo di immissione tramite il normale meccanismo di autenticazione). Qualsiasi sito implementato in modo decente implementa l'importante misura di sicurezza del blocco di un account che è stato indovinato troppe volte, in modo che l'utente legittimo debba intraprendere ulteriori passaggi per sbloccarlo.
Se la tua password non può essere indovinata in una mezza dozzina di tentativi e sei in grado di generare e ricordare password completamente diverse di questo tipo per ogni sito, sei sostanzialmente a posto.
Password La creazione dell'interfaccia utente che costringe gli utenti a inventare password contorte è fastidiosa, controproducente e non fondata su principi di sicurezza concepiti razionalmente o sulla corretta identificazione di possibili minacce.