Penso che la cosa migliore da fare sia controllare la debolezza della password sul lato server, questa può essere un'operazione costosa (ad esempio, la ricerca dai dizionari). Anche le password comunemente usate o controllate per gli attacchi sono una buona scommessa.
È possibile che MS provi prima a cancellare la password e a confrontarla con un elenco di password non sicure (che in realtà non sono utilizzate da nessun utente reale). Se l'hash fallisce, in questo caso, ad esempio, potrebbe cercare la forza della password con un altro euristico , infine può rifiutare o accettare la password e dimenticarla nella sua versione non hash. Se la password viene rifiutata, è probabile che sia aggiunto all'elenco di hash non protetto .
Il controllo della debolezza della password può anche tenere conto degli attacchi usati comunemente, quindi deve essere un algoritmo in evoluzione.
Questo ha 2 vantaggi:
- Non è necessario memorizzare TUTTI gli hash delle password non protette.
- Puoi vietare le collisioni dell'altro in hash (ad esempio una password complessa con lo stesso hash di una password debole).
Naturalmente quelle sono solo speculazioni, non possiamo sapere che le misure di sicurezza della password sono state prese da una corporazione così grande come Microsoft.
Come misura finale, utilizzerei un hash diverso per le password deboli rispetto alle password degli utenti reali.
EDIT:
Perché anche le password deboli dovrebbero essere sottoposte a hash? Per me non c'è bisogno di un hash strong, ma le password deboli di hashing consentirebbero almeno di "proteggere" dati preziosi. Non è un costo fare un semplice hashing, ma se qualche perdita di dati del database, si sa che almeno i concorrenti non saranno in grado di invertire facilmente password deboli, che potrebbero essere ancora un problema di sicurezza per servizi che non usano il divieto lista o almeno può solo causare un piccolo vantaggio economico .
Quindi per rispondere a GroundZero comment: No, per me nessuna password debole dovrebbe essere memorizzata in testo normale. Un semplice hash sarebbe comunque utile per l'azienda. Questo perché ci sono password specifiche per la cultura, che raccolgono informazioni che richiederebbero un investimento massiccio, quindi perché dovresti memorizzare informazioni preziose in modo facile da recuperare?