Onlangs heeft de United States National Institute for Standards and Technology (NIST) nieuwe richtlijnen voorgesteld voor wachtwoordgebruik binnen de publieke sector. De richtlijnen zijn zinvol en kunnen ook toegepast worden op organisaties buiten deze sector. Beter goed gejat, dan slecht bedacht!
Volgens NIST zijn dit de zaken die je op orde moet hebben:
- Verleid de gebruiker
Zorg ervoor dat wachtwoorden zo eenvoudig mogelijk te gebruiken zijn. Technologie moet eventuele complexiteit voor de gebruiker oplossen, je moet hem daar niet mee lastig vallen. Voor mij persoonlijk geld ook dat ik goede feedback nodig heb, laat mij vooraf weten welke eisen er zijn en laat mij in duidelijke taal weten waarom een door mij gekozen wachtwoord niet voldoet. - Hoe langer hoe beter
Zorg ervoor dat gebruikers wachtwoorden kiezen van minimaal 8 karakters, maar sta ook wachtwoorden van minimaal 64 karakters toe. De melding “uw wachtwoord overschrijdt het maximum aantal van 8 karakters” kan absoluut niet meer. - Accepteer ASCII en UNICODE
Software en webapplicaties zouden alle printbare ASCII karakters moeten accepteren, inclusief spaties. Ook UNICODE, inclusief smileys zou geaccepteerd moeten worden. - Pas hashes en salt toe
Wanneer je een wachtwoord opslaat kun je het wachtwoord verlengen met een random gegenereerd stuk tekst, de zogenaamde salt. Wanneer je het verlengde wachtwoord vervolgens versleuteld met een hash, zorg je ervoor dat het wachtwoord niet meer terug gegenereerd kan worden. Alleen wanneer de gebruiker zijn wachtwoord invult en deze op dezelfde manier behandeld wordt, voordat hij vergeleken wordt met het wachtwoord in de database, kan de database een terugkoppeling geven of het wachtwoord overeenkomt of niet. Sophos heeft hier in 2013 een goed artikel over geschreven. - Controleer wachtwoorden op zwakheid
Wanneer een gebruiker een wachtwoord kiest moeten wachtwoorden als ‘Welkom01’, ‘12345678’ en ‘qwertyuiop’ geweigerd worden. Er zijn lijsten op internet te vinden met dit soort zwakke wachtwoorden waar je een gekozen wachtwoord mee kunt vergelijken. Komt een wachtwoord voor op de lijst, laat de gebruiker dan een andere kiezen.
Wat je volgens NIST vooral niet moet doen:
- Geen samenstelling voorschriften
Dwing je gebruikers niet om een wachtwoord te kiezen dat ‘een hoofdletter, een kleine letter en een speciaal karakter’ bevat. Laat mensen zelf kiezen en moedig ze aan om langere wachtwoorden te kiezen, die ze makkelijk kunnen onthouden. - Geen password hints
Wanneer je mensen vraagt om een hint te geven, dan schrijven ze zaken op als ‘Op welke dag ben ik geboren?’ of ‘Wat is de meisjesnaam van mijn moeder?’. Met al dit soort informatie vrijelijk te vinden via Facebook en andere social media zorgt het ervoor dat kwaadwillenden eenvoudig achter wachtwoorden komen. - Geen uiterste houdbaarheidsdatums zonder reden
Je wilt niet van je gebruikers vergen dat ze lange wachtwoorden bedenken en die ook nog eens regelmatig wijzigen. Een password reset is nodig wanneer een wachtwoord vergeten is, wanneer wachtwoorden gestolen zijn of wanneer een gebruiker slachtoffer is van een phishing aanval.
Ook komt NIST met een advies ten aanzien van sms als vorm van two-factor authentication. Omdat er inmiddels verschillende voorbeelden van onderscheppingen van sms berichten adviseert zij om deze methode uit te faseren.
Wat ik nog niet gelezen heb in de richtlijnen is het advies om een goede password manager te gebruiken. Een password manager zorgt ervoor dat gebruikers voor elk systeem een ander wachtwoord kiezen, dat hopelijk sterk is. Het zorgt er ook voor dat een gebruiker alleen het wachtwoord van zijn passwordmanager hoeft te onthouden om overal bij te kunnen. Dit zorgt overigens wel voor een kwetsbaarheid: wordt je password manager gehackt, dan kan een hacker overal bij. Wellicht dat NIST daarom uitgaat van password recovery.