SWAMID template Password Policy


Purpose and Scope

This wiki page is SWAMIDs template Password Policy including password complexity and password guessing rate limiting. In this page there is an example in Swedish with an additional translation to English how to create an environment that establish a resonable security level to fulfil both SWAMID Identity Assurance Level 1 Profile and SWAMID Identity Assurance Level 2 Profile.

Determining password strength

There are two factors to consider in determining password strength:

  1. the average number of guesses the attacker must test to find the correct password and
  2. the ease and speed of which an attacker can check the validity of each guessed password.

The first factor is determined by how long the password is, how large set of characters or symbols that be used in the password, if a combination of both lower, upper and non alphabetic characters is used and whether the password is created randomly or created by the user himself. There is a trade of regarding demanding a high complexity and the users ability to remember the password.

The second factor is the rate at which an attacker can submit passwords guesses to the system. If some kind of rate limiting and maximum password age is used the need for password complexity is greatly redused in online scenarios. However the identity management system must store information about the user passwords in some form and if that information is stolen, say by breaching system security, the less complex passwords can be at greater risk.

Swedish template Password Policy

SWAMID template password policy is written in Swedish due to that the implementing organisation are Swedish legal entities.

Some reading help:

  • The policy is made for a decentralised IT-organisation but is easily adapted to a centralised organization.
  • All text within [] should be changed to local information.

1 Inledning

Detta dokument anger [ORGANISATION] policy för kvalitet på samt hantering av lösenord i enlighet med identitetsfederationen SWAMIDs policy.

2 Ansvar

2.1 Efterlevnad

Som användare av [ORGANISATION] informationssystem ansvarar du själv för

  • att dina lösenord uppfyller den kvalitet och hantering som anges i denna policy.
  • att du håller dina lösenord hemliga.
  • att, som en del av ovanstående punkt, aldrig uppge dina lösenord till någon som efterfrågar dem via e-post, i telefon eller på annat sätt.

För system som är kopplade till [ORGANISATION] gemensamma inloggnings- och autentiseringsrutiner (Webbinloggning, LDAP och Active Directory) finns systemstöd för efterlevnad av policyn.

För system med egen lösenordshantering är det systemägare som ansvarar för efterlevnad av denna policy.

3 Definitioner

Lösenordskvalitet. God lösenordskvalitet innebär att ett lösenord är tillräckligt långt och komplext sammansatt för att reducera risken för att en inkräktare kan gissa sig till rätt lösenord. Två saker avgör svårigheten i att gissa ett lösenord: längden och komplexiteten på lösenordet. Med hjälp av dessa kan man räkna ut lösenordets entropi . Ju högre entropi ett lösenord har desto svårare är det att gissa det. Se pkt. 6.1 och bilaga 1 för vidare information.

Lösenordsskydd. Säker lösenordshantering innebär, förutom att varje användare ansvarar för att hålla sina lösenord hemliga, att inloggningstjänsten skyddar lösenord från otillbörlig åtkomst och användning. Se pkt. 6.2 för vidare instruktioner.

Tvåfaktorautentisering. Inloggning (autentisering) med två skilda faktorer; ”något man vet” (t.ex. ett lösenord) och ”något man har” (t.ex. ett kort).

4 Syfte

Det övergripande syftet med denna policy är att så långt det är möjligt skydda [ORGANISATION] lösenordsskyddade informationssystem från obehöriga användare.

5. Strategier

Alla informationssystem (applikationer) ska vara kopplade till [ORGANISATION] gemensamma inloggningstjänst om inte särskilda skäl föreligger.

[ORGANISATION] gemensamma inloggningstjänst innehåller teknikstöd för god lösenordskvalitet och säker lösenordshantering, se pkt. 6.1 och 6.2.

Varje användare har ett lösenord för inloggning till [ORGANISATION] IT-tjänster. För inloggning till vissa [ORGANISATIONSGEMENSAMMA] IT-tjänster som t.ex. det trådlösa nätverket har varje användare dessutom ytterligare ett lösenord. Därutöver kan verksamhets- och/eller systemspecifika lösenord finnas.

Tvåfaktorautentisering ska användas för åtkomst till IT-tjänster eller system (applikationer) som enligt [ORGANISATION] policy för informationsklassificering innehåller konfidentiell information med HÖGA eller SÄRSKILDA KRAV på att skydda informationen från obehöriga användare.

6 Omfattning

Policyn för lösenordshantering gäller för alla IT-tjänster och system (applikationer) vid [ORGANISATION].

Policyn omfattar två områden, lösenordskvalitet och lösenordsskydd.

6.1 Lösenordskvalitet

6.1.1 Lösenordssammansättning

Ett lösenord ska vara sammansatt på följande sätt:

  • Bestå av minst 8 tecken.
  • Vara sammansatt av följande tecken:
    • A – Z
    • a – z
    • 0 – 9
    • mellanslag
    • följande specialtecken: ~,!, @, #, $, %, ^, &, (, ), _, +, -, *, /, =, {, }, [, ], |, \, :, ;, ’ (enkelt citationstecken), ” (dubbelt citationstecken), <, >, , (kommatecken), . (punkt), och ?.
  • Innehålla minst en versal, minst en gemen och antingen minst ett specialtecken eller en siffra.

6.1.2 Lösenordssäkerhet

Alla användare avråds aktivt från att dela med sig av sina lösenord med andra användare, både interna och externa, antingen genom att använda tekniska kontroller eller genom att kräva att användare bekräftar användarregler som förbjuder delning av lösenord eller agerar på ett sätt som gör det enkelt att stjäla lösenordet.

Alla användare är uttryckligen avrådda från att använda sina lösenord i andra interna och externa system.

6.1.3 Lösenordskontroll

I [ORGANISATION] gemensamma inloggningstjänst finns teknikstöd för att säkerställa god lösenordskvalitet. Vid lösenordsbyte kontrolleras att dessa lösenord med avseende på att de

  • är sammansatta enligt pkt. 6.1.1 ovan,
  • inte återfinns i en katalog med lösenord av dålig kvalitet (123456, egennamn, årstider, bilmärken etc.)1,
  • inte är detsamma som det närmast föregående och
  • inte är samma som användarens övriga lösenord i den gemensamma inloggningstjänsten, t.ex. lösenordet för inloggning i trådlösa nät1.

Lösenordet går inte att spara förrän det uppfyller minimikraven.

1I Active Directory och andra nyckelfärdiga system är det inte alltid möjligt att genomföra kontroller enligt punkt två och fyra. Om detta gäller er är det rekommenderat att kravet på minsta lösenordslängd ökas med två tecken till tio tecken.

6.1.4 Undantag

Om det i enskilda system som inte är kopplade till den gemensamma inloggningstjänsten föreligger särskilda tekniska skäl för att inte följa ovanstående policy för god lösenordskvalitet ska undantag godkännas av systemägare och dokumenteras i systemets förvaltningsspecifikation eller motsvarande dokument. Vidare måste särskild hänsyn tas vid åtkomst av data hämtade från andra system.

6.2 Lösenordsskydd

6.2.1 Datalagring och transport av lösenord

För att reducera risken för obehörig åtkomst till lösenord gäller följande policy för lagring och transport av lösenord:

  • Lösenord ska alltid lagras och transporteras i krypterad form. Detta gäller även backupmedia.
  • Lösenord ska aldrig presenteras i läsbar form.
  • Lösenord ska aldrig kommuniceras via epost, telefon eller motsv.
  • IT-personal med teknisk åtkomst till de datorer och datamedia där lösenord lagras ska underteckna särskilda ansvarsförbindelser. En uppdaterad lista över medarbetare med dessa priviligierade behörigheter ska finnas vid den organisation som sköter driften av systemet, t.ex. [IT-ORGANISATION].

6.2.2 Skydd mot nätbaserade gissningsattacker (Rate limiting)

För att reducera risken för automatiserade gissningsattacker mot lösenord ska inloggningen vara skyddad genom s.k. rate limiting som förhindrar en inkräktare att göra många upprepade lösenordsgissningar på kort tid.

I [ORGANISATION] gemensamma inloggningstjänst är detta utformat enligt följande:

  • 10 felaktiga gissningar innan automatisk kontolåsning.
  • 5 minuters automatisk kontolåsning efter maximalt antal felaktiga gissningar.
  • Räknaren över antalet felaktiga gissningar nollställs efter korrekt inloggning eller efter 60 minuter efter senaste felaktiga inloggningsförsök.

6.2.3 Undantag

Om det i enskilda system föreligger särskilda tekniska skäl för att inte följa ovanstående policy för lösenordsskydd ska undantag godkännas av systemägare och dokumenteras i systemets förvaltningsspecifikation eller motsvarande dokument. Vidare måste särskild hänsyn tas vid åtkomst av data hämtade från andra system.

Bilaga 1: Beräkning av lösenordsentropi

Lösenordsentropi lösenord räknas i bitar och enligt följande formel från NIST SP 800-63-2 bil. A.

Entropi för av användaren själv satt lösenord beräknas enligt formeln:

  • Första tecknet ger fyra bitar.
  • Tecken 2 till 8 ger 2 bitar.
  • Tecken 9 till 20 ger 1,5 bitar.
  • Tecken 21 och uppåt ger 1 bit.
  • Ett tillägg om 6 bitar fås om lösenorden är komplexa, dvs. lösenordet innehåller minst en versal, minst en gemen och antingen minst en siffra och ett specialtecken.
  • Ett tillägg om 6 bitar fås om omfattande ordlistekontroll sker så länge lösenordet inte överstiger 20 tecken.

Sammansättning av lösenord enligt avsnitt 6.1.1 i medför en lösenordsentropi på 24 bitar vilket är minimikravet på god lösenordskvalitet för [ORGANISATION].

English template Password Policy

SWAMID template password policy is written in Swedish due to that the implementing organisation are Swedish legal entities. The English template is a translation from Swedish.

Some reading help:

  • The policy is made for a decentralised IT-organisation but is easily adapted to a centralised organisation.
  • All text within [] should be changed to local information.

1. Introduction

This document describes [ORGANISATION] policy for the quality and usage of password in accordance with SWAMID's policy.

2. Responsibilities

2.1 Compliance

As a user of the computer systems at [ORGANISATION], you are yourself responsible for the following:

  • that your passwords fulfil the quality and usage described in this policy
  • that you keep your passwords secret
  • that, in accordance with the point above, you never divulge your passwords to anyone who asks for them via email, telephone or in any other way.

For systems that are connected to [ORGANISATION] centralised login and authentication (web login, LDAP, Active Directory) there is inbuilt support for compliance with this policy.

For systems with own, inbuilt password handling it is the responsibility of the system owner to ensure compliance with this policy.

3. Definitions

Password Quality. Good password quality means that a password is both sufficiently long and complicated such that the risk that an attacker can guess the password is minimised. Two variables determine the difficulty when guessing a password - length and complexity. These can be used to calculate the passwords entropy. The higher the entropy, the harder it is to guess. Password entropy is calculated in bits according to the following formula from NIST SP 800-63-2 in Appendix A. See point 6.1 for more information.

Password protection. Secure password usage means, apart from the fact that every user is responsible for keeping his/her passwords secret, that the login service protects passwords from unauthorised access and use. See point 6.2 for further instructions.

Two-factor authentication. Login (authentication) with two distinct steps ; "something you know" (e.g. a password) and "something you have" (e.g. a smartcard).

4. Purpose

The overall purpose of this policy is, as much as possible, to protect [ORGANISATION]'s password protected information systems from unauthorised users.

5. Strategies

All information systems (applications) must be connected to [ORGANISATION]'s central login service unless specific reasons apply.

[ORGANISATION]'s central login service supports strong passwords and secure password management, see points 6.1 and 6.2.

Every user has a password for login to [ORGANISATION]'s IT services. Login to certain [ORGANISATION CENTRALISED] IT services, for example Wireless network, user have additionally another password. Furthermore, additional system or business-specific passwords can exist.

Two-factor authentication must be used for access to IT services or systems (applications) that according to [ORGANISATION]'s policy for information classification contain confidential information with HIGH or SPECIFIC REQUIREMENTS to protect the information from unauthorised users.

6. Scope

The policy for password usage applies to all IT services and systems (applications) at [ORGANISATION].

The scope of the policy covers two areas, password quality and safeguarding of passwords.

6.1 Password quality

6.1.1 Password composition

A password must be comprised as follows:

  • Contains at least 8 characters.
  • Be comprised with the following characters:
    • A-Z
    • a-z
    • 0-9
    • space
    • following special characters ~,!, @, #, $, %, ^, &, (, ), _, +, -, *, /, =, {, }, [, ], |, \, :, ;, ' (single quote), " (double quote), ,(comma), .(full stop) and ?.
  • contain at least one upper case, at least one lower case and either at least one special character or a number.

6.1.2 Password security

All users are actively discouraged from sharing credentials with other users, both internal and external, either by using technical controls or by requiring users to confirm policy forbidding sharing of credentials or acting in a way that makes stealing credentials easy.

All users  are explicitly discouraged to reuse their passwords in other internal and external systems.

6.1.3 Password control

In [ORGANISATION] central login service there is technical support that maintains good password quality. During a password change, the password is validated such that:

  • it is comprised according to point 6.1.1 above
  • it does not exist in a word list comprising of bad passwords (12345, own name, seasons, car makes etc.)1
  • it is not the same as the previous password
  • it is not similar to the user's other passwords in the central login service.1

The password must not be saved until it fulfils these base requirements.

1In Active Directory or other commercial systems is it not possible to adhere to item two or four. If that's true it's recommended that the least acceptable is password length is extended two characters to ten characters.

6.1.4 Exceptions

If there exist specific systems, not connected to the central login service, where there are exceptional technical reasons for not complying with the above policy, such exceptions must be approved by the system owner and documented in the system's management plan or similar document. Furthermore, special consideration must be taken when accessing the data retrieved from other systems.

6.2 Safeguarding of passwords

6.2.1 Data storage and transport of passwords

To reduce the risk of authorised access to passwords the following policy applies to the storage and transport of passwords:

  • Passwords must always be stored and transported in encrypted form. This applies also to backup media.
  • Passwords must never be visible in a readable format.
  • Passwords must never be divulged over email, telephone or any other communicable manner.
  • IT staff with technical access to those computer systems or media where passwords are stored must sign special responsibility agreements. An updated with over employees with such privileges must exist within the organisation that manages the systems, e.g. [IT-ORGANISATION].

6.2.2 Protection against network-based brute force attacks (Rate limiting)

To reduce the risk of brute force attacks against passwords, logins must be protected via so-called rate limiting that prevents an attacker from making repeated password guesses during a short time frame.

In [ORGANISATION] central login service this should be designed as follows:

  • Maximum of 10 wrong guesses during a time frame of 60 minutes.
  • Thereafter automatic disabling of account for 5 minutes

6.2.3 Exceptions

If there exist systems with specific technical reasons for not following the above policy, they must be approved by the system owner and documented in the system's management plan or similar document. Furthermore, special consideration must be taken when accessing the data retrieved from other systems.

Complex passwords in Active Directory

If you in Active Directory enable complexity requirements policy for passwords, define a minimum password length, define rate limiting and define a maximum password age you can fulfil the proposed password policy.

Enabling the password complexity requirement policy setting requires new passwords to meet the following requirements:

  1. Passwords may not contain the user's samAccountName (Account Name) value.
    • The samAccountName is checked in its entirety only to determine whether it is part of the password. If the samAccountName is less than three characters long, this check is skipped.
    • The check is not case sensitive.
  2. Passwords may not contain the user's entire displayName (Full Name value).
    • The displayName is parsed for delimiters: commas, periods, dashes or hyphens, underscores, spaces, pound signs, and tabs. If any of these delimiters are found, the displayName is split and all parsed sections (tokens) are confirmed to not be included in the password. Tokens that are less than three characters are ignored, and substrings of the tokens are not checked. For example, the name "Erin M. Hagens" is split into three tokens: "Erin", "M", and "Hagens". Because the second token is only one character long, it is ignored. Therefore, this user could not have a password that included either "erin" or "hagens" as a substring anywhere in the password.
    • The check is not case sensitive.
  3. The password contains characters from three of the following categories:
    • Uppercase letters of European languages (A through Z, with diacritic marks, Greek and Cyrillic characters).
    • Lowercase letters of European languages (a through z, sharp-s, with diacritic marks, Greek and Cyrillic characters).
    • Base 10 digits (0 through 9).
    • Non-alphanumeric characters (special characters) (for example, !, $, #, %).
    • Any Unicode character that is categorised as an alphabetic character but is not uppercase or lowercase. This includes Unicode characters from Asian languages.