Dealing with NIST’s about-face on password complexity

In the last few years, we’ve been seeing some significant changes in the suggestions that security experts are making for password security. While previous guidance increasingly pushed complexity in terms of password length, the mix of characters used, controls over password reuse, and forced periodic changes, specialists have been questioning whether making passwords complex wasn’t actually working against security concerns rather than promoting them.

Security specialists have also argued that forcing complexity down users’ throats has led to them writing passwords down or forgetting them and having to get them reset. They argued that replacing a password character with a digit or an uppercase character might make a password look complicated, but does not actually make it any less vulnerable to compromise. In fact, when users are forced to include a variety of characters in their passwords, they generally do so in very predictable ways. Instead of “password”, they might use “Passw0rd” or even “P4ssw0rd!”, but the variations don’t make the passwords significantly less guessable. People are just not very good at generating anything that’s truly random.

The other argument that’s been made is that putting the onus of generating and using complex passwords on the heads of the end users leaves them with a lot of stress and responsibility that might be better handled in some other way.

These changes in password composition recommendations have been coming at us for a while – generally in articles or posts about how setting overly strict password complexity standards might actually be making accounts less safe. Still, it’s only been since NIST’s fairly recent draft of its Special Publication 800-63-3: Digital Identity Guidelines (https://pages.nist.gov/800-63-3/) that those of us who manage servers have really begun to feel the need to sit back and pay attention. What do the rule changes mean to us? What might we do differently?