Nel contesto delle password in testo semplice, ecco le politiche più pertinenti:
* Passwords must be 8 to 16 characters in length.
Sebbene l'impostazione di una lunghezza massima di 16 caratteri possa essere semplicemente una guida errata o disinformata, molto probabilmente indica come il sistema sta memorizzando la password e la compatibilità con i sistemi legacy.
Il problema maggiore qui sarebbe se il campo del database fosse impostato su 16 caratteri e stessero memorizzando le password come testo normale. Se questo è il caso, il sistema è completamente insicuro.
Tuttavia, potrebbero anche usare un hash come crypt16 che limita la lunghezza della password a 16 caratteri, sebbene questo non sia ampiamente usato e meno probabile la spiegazione. Se questo è il caso, il sistema è pericolosamente insicuro.
Un altro motivo potrebbe essere che stanno usando MD5 e qualcuno ha determinato che a causa delle collisioni c'è poco da guadagnare consentendo password più lunghe di 16 caratteri. Sebbene questa logica sia difettosa, l'ho vista accadere. Se questo è il caso, il sistema è ancora pericolosamente insicuro.
Penso che la spiegazione più probabile sia che stanno crittografando le password e non le eseguono con l'hashing, il che significa che stanno memorizzando la chiave di crittografia da qualche parte che è anche pericolosamente insicura.
Speriamo che la ragione di questo abbia a che fare con le limitazioni sepolte da qualche parte in un enorme numero di codice che hanno paura di toccare e che in realtà stanno memorizzando le password usando SHA256, ma sfortunatamente non è probabile. Il problema più probabile qui è che sono pericolosamente insicuri.
* Users may not re-use the previous eight passwords.
Per determinarlo, devono memorizzare le otto password precedenti. Visto che probabilmente usano il testo in chiaro, un algoritmo di hashing debole o una crittografia reversibile, ciò significa che 9 password per ogni utente sono potenzialmente a rischio.
* Passwords must contain at least:
- One alphabetic character
- One numeric character
- One of the following special characters: @, #, $
Se la password è sottoposta a hash o addirittura crittografata, i caratteri utilizzati non dovrebbero fare alcuna differenza, purché siano stampabili e all'interno della tabella codici corrente. Il fatto che lo limitino a così pochi caratteri indica strongmente che le password potrebbero essere archiviate in testo normale.
* When changing a password, the new password must not contain more than
three consecutive characters from the previous password.
Questo può essere confrontato nel punto in cui le password vengono modificate, quindi non è un indicatore strong in entrambi i casi.
Questo è fuori tema, ma le seguenti politiche sono tentativi fuorvianti e obsoleti di rendere più forti le password. Una lunghezza minima della password minima eliminerebbe la necessità di tutti questi.
* Passwords must be updated every 90 days.
* Passwords must contain a non-numeric in the first and last positions.
* Passwords may not contain two consecutive identical characters.
* Passwords may not contain a dictionary word or proper noun.