G
UIDE TO 
E
NTERPRISE 
P
ASSWORD 
M
ANAGEMENT 
(DRAFT)
twice since they were previously created. This allows the attacker to avoid re-computation and to perform 
cracking more quickly by traversing the lookup table versus generating the hashes on-the-fly.  
There are some issues with using rainbow tables. They can take large amounts of storage and can take a 
long time to create (although the latter issue may not be important if the attacker can acquire copies of 
existing tables or reuse tables that the attacker previously created). Also, the use of rainbow tables can be 
hampered by using salting. Rainbow tables will not produce the right results if they do not take salting 
into account, which dramatically increases the amount of space that the tables require; larger salts 
effectively make the use of rainbow tables infeasible. Many OSs, such as Mac OS X and other Unix-
based OSs, often implement salted password hashing mechanisms to reduce the effectiveness of password 
cracking. Another technique that helps mitigate the use of rainbow tables is called stretching. Stretching 
involves hashing each password and its salt thousands of times. This makes the creation of the rainbow 
tables correspondingly more time-consuming, while having little effect on the amount of effort needed by 
the organization’s systems to verify password authentication attempts. Section 3.4 provides more 
information on how salts can affect cracking. 
All forms of cracking can be mitigated by making passwords strong, using one-way password hash 
algorithms, and protecting the confidentiality of password hashes. Changing passwords periodically also 
slightly reduces the risk posed by cracking. Section 3.2.3 provides details on these mitigation techniques. 
3.2.3  Password Strength 
Having strong passwords helps mitigate guessing and cracking. Password strength is determined by a 
password’s length and its complexity, which is determined by the unpredictability of its characters. An 
example of a password complexity policy is requiring that characters from at least three of the following 
four groups be present in every password: lowercase letters, uppercase letters, digits, and symbols.
6
Table 3-1 illustrates the effect of password length and complexity by showing the possible approximate 
keyspace for passwords using various lengths and character sets. Keyspace is the total number of possible 
values that a key, such as a password, can have. For example, a four-digit PIN could have any of 10 
different values (0 through 9) for each of its four characters: the keyspace would be 10
4
, or 10,000 (i.e., 
0000 – 9999). An eight-character password using a character set of 95 has a key space of 95
8
approximately 7 * 10
15
—7 quadrillion possible passwords. As the keyspace increases, the time required to 
perform an exhaustive brute force attack on a password increases. 
The table shows that keyspace increases somewhat as the complexity increases and more rapidly as the 
length increases. Increasing the character set from 26 characters to 95 characters on a four character-
length password increases the keyspace almost 200 times. However, if the length of the password is 
increased from four to 12, given a character set of only 26 characters, the keyspace increases by almost 
200 billion times. Although both have significant effect on the overall strength of a password in resisting 
brute force attacks, outside of cryptographic attacks, length seems to be the dominating factor in 
determining password strength. Also, password length is often set as a range, such as permitting 
passwords from 8 to 15 characters long, which further increases the keyspace.
Setting a narrow range for 
password length has implications other than keyspace—for example, a range of six to eight characters 
significantly limits users in their password choices, such as not being able to use passphrases. 
6
 Other types of characters can be entered in some cases, such as ASCII characters that do not appear on the keyboard. These 
are not supported by many password mechanisms and are much more difficult for users to employ. 
3-6
Pdf password security - C# PDF Password Library: add, remove, edit PDF file password in C#.net, ASP.NET, MVC, WinForms, WPF
Help to Improve the Security of Your PDF Document by Setting Password
break password on pdf; add password to pdf
Pdf password security - VB.NET PDF Password Library: add, remove, edit PDF file password in vb.net, ASP.NET, MVC, WinForms, WPF
Help to Improve the Security of Your PDF Document by Setting Password
pdf passwords; pdf password online
G
UIDE TO 
E
NTERPRISE 
P
ASSWORD 
M
ANAGEMENT 
(DRAFT)
Table 3-1. Possible Keyspaces by Password Length and Character Set Size 
Character Types 
Password Length 
Char. 
Set 
Size 
Digits 
Letters 
Symbols 
Other 
12 
16 
20 
10 
Decimal 
1*10
4
1*10
8
1*10
12
1*10
16
1*10
20
16 
Hexa-
decimal 
7*10
4
4*10
9
3*10
14
2*10
19
1*10
24
26 
Case-
insensitive 
5*10
5
2*10
11
1*10
17
4*10
22
2*10
28
36 
Decimal 
Case-
insensitive 
2*10
6
3*10
12
5*10
18
8*10
24
1*10
31
46 
Decimal 
Case-
insensitive 
10 common
7
4*10
6
2*10
13
9*10
19
4*10
26
2*10
33
52 
Upper and 
lower 
7*10
6
5*10
13
4*10
20
3*10
27
2*10
34
62 
Decimal 
Upper and 
lower 
1*10
7
2*10
14
3*10
21
5*10
28
7*10
35
72 
Decimal 
Upper and 
lower 
10 common 
3*10
7
7*10
14
2*10
22
5*10
29
1*10
37
95 
Decimal 
Upper and 
lower 
All symbols on 
standard 
keyboard 
8*10
7
7*10
15
5*10
23
4*10
31
4*10
39
222  Decimal 
Upper and 
lower 
All symbols on 
standard 
keyboard 
All other ASCII 
characters 
2*10
9
6*10
18
1*10
28
3*10
37
8*10
46
The keyspace numbers shown in Table 3-1 reflect ideal passwords—passwords in which all possible 
characters are equally likely to be used for each position of the password. However, in practice this is 
often not the case. Users that create passwords themselves are likely to follow certain patterns—for 
example, if a system requires at least eight characters in passwords, including upper case, lower case, and 
numeric characters, users often select passwords with the minimum possible length, with only the first 
character capitalized and numeric characters at the end (e.g., Nist2008). Other patterns are using digits 
just as substitutes for particular letters (e.g., the number “1” for the letter “l”, the number “0” for the letter 
“O”) and using a special character as the last character in the password. Passwords based on such patterns 
may meet password complexity and length requirements, but they significantly reduce the keyspace 
because attackers are aware of these patterns. A similar problem exists with users that select simple 
passphrases, such as well-known titles—although such passphrases may be long, they consist of 
concatenated dictionary words and thus have low entropy.
Entropy in an information system is the 
measure of the disorder or randomness in the system. Passwords that do not have sufficient entropy are 
more likely to be recovered through brute force attacks. 
When determining policies for password length and complexity, organizations should consider maximum 
and likely actual keyspace. If users will be expected to memorize their passwords, then it may be helpful 
to set policies that make them easier to remember, such as favoring longer passwords over more complex 
passwords. If passwords are stored and users do not have to remember them, then both length and 
complexity should be maximized. Another important consideration for password length and complexity 
policies is the rate at which cracking attacks can be performed. Section 3.4 discusses this in more detail. 
7
 For the purposes of this publication, the ten common symbols are the symbols appearing on the 0 through 9 keys on a 
standard keyboard: !@#$%^&*() 
3-7
Online Remove password from protected PDF file
hlep protect your PDF document in C# project, XDoc.PDF provides some PDF security settings. On this page, we will talk about how to achieve this via password.
convert password protected pdf to excel online; password on pdf file
C# PDF Digital Signature Library: add, remove, update PDF digital
Document Protect. Password: Set File Permissions. Password: Open Document. How to C#: Add Digital Signatures to PDF. Help to Improve the Security of Your PDF File
change password on pdf; add password to pdf document
G
UIDE TO 
E
NTERPRISE 
P
ASSWORD 
M
ANAGEMENT 
(DRAFT)
Organizations also need to consider how effectively their password strength requirements can be 
enforced. Many operating systems and applications may not be able to require compliance with all of the 
requirements. In such a situation, one way to improve compliance is to add a password filter utility, which 
is specifically designed to verify that a password being created by a user complies with the password 
policy; if the password is weak, the user is forced to select a different password. A less rigorous solution 
is to educate users on password strength requirements and to run password crackers against their stored 
passwords regularly to identify weak passwords, which are likely violations of the strength requirements.
8
Because this solution is reactive, it should only be used when a proactive solution, such as a password 
filter, is not feasible. Organizations can also choose to alter their password strength requirements so that 
they are more easily enforceable—for example, if a system cannot require the use of punctuation marks in 
passwords but it can require the use of long passwords, then it may be more secure to increase the 
password length requirement and decrease the password complexity requirement so as not to include 
punctuation marks. 
When setting policy, organizations should also take into account weaknesses in password mechanisms 
that may undermine password length and complexity requirements. Examples are as follows: 
Some password mechanisms have more limited character sets than users would expect. For example, 
an application might permit users to enter mixed-case passwords but then converts all lowercase 
letters to uppercase before hashing the password. This reduces the strength of passwords that use 
mixed case, often unbeknownst to the user, who may think the password is considerably stronger than 
it actually is.  
Some password mechanisms accept password characters past the maximum length that is stored or 
checked. Not knowing the input length limit may inadvertently cause a user to create a weak 
password. For example, consider a system that accepts an arbitrarily long password string from a user 
but truncates it to eight characters before hashing it. If a user attempts to set the password to “Security 
is my #1 Priority!”, the system will truncate the password to “Security”, which is far weaker than the 
intended password. 
3.2.4  User Password Selection 
There are two ways to generate passwords: automatic random (or pseudo-random) generation and user 
selection. Although automatically generated random passwords usually provide greater entropy than user-
selected passwords and thus are stronger passwords, they can be hard for users to remember. Conversely, 
user-generated passwords generally contain less entropy and are weaker and easier to guess or crack but 
easier for users to remember. For passwords that the user does not need to remember, automatically 
generated random passwords should be used whenever feasible. A utility called a password generator can 
be used to create such passwords. A password generator usually has built-in password restrictions, and 
may also allow the user to specify custom restrictions; the password generator then creates a password 
that complies with the restrictions. Automatically generated passwords should be as strong as possible, 
using the full variety of characters allowed (e.g., upper case letters, lower case letters, digits, special 
characters) and the maximum or nearly maximum length possible. It is generally unrealistic to expect 
users to memorize these passwords. For passwords that are intended to be memorized, organizations 
should consider security needs and expected user behavior when deciding which password generation 
method should be used.  
8
 Cracking can be performed offline—on a system other than the system on which the passwords were stored—and in a 
distributed manner, it can be performed quickly, efficiently, and without affecting the network or the authentication system. 
The system or systems performing the cracking should be well secured, with these systems contained on a private network 
that has very limited connectivity, allowing only those connections required by the crackers and only as absolutely needed 
for the crackers to perform their duties. If possible, the crackers should not be connected to any other network 
3-8
VB.NET PDF Digital Signature Library: add, remove, update PDF
Protect. Password: Set File Permissions. Password: Open Document. NET PDF - Add Digital Signatures to PDF in VB VB.NET Programmers to Improve the Security of Your
protected pdf; pdf open password
VB.NET PDF Library SDK to view, edit, convert, process PDF file
XDoc.PDF SDK allows users to perform PDF document security settings in VB.NET program. Password, digital signature and PDF text, image and page redaction will
add password to pdf preview; copy from protected pdf
G
UIDE TO 
E
NTERPRISE 
P
ASSWORD 
M
ANAGEMENT 
(DRAFT)
When users need to choose new passwords, whether user-selected or randomly-generated, the users 
should be made aware of password requirements, including restrictions on password composition. For 
example, an application might permit passwords between eight and 20 characters long, require a 
combination of letters and digits, and prohibit the use of special characters such as punctuation marks. 
Providing a clear list of password restrictions helps users to select passwords that meet the password 
criteria and avoid the frustration of having new passwords rejected, which can cause users to choose 
subsequent passwords more hastily. Organizations should conduct training and awareness activities for 
their users to ensure that they are aware of the characteristics of strong passwords and the importance of 
having strong passwords and protecting them. 
A variety of methodologies have been created with the intent of helping users select passwords that are 
both strong and relatively easy-to-remember. Examples of these methodologies are listed below.
9
Mnemonic Method. A user selects a phrase and extracts a letter of each word in the phrase (e.g., 
the first letter or second letter of each word), adding numbers or special characters or both. Table 
3-2 shows examples of the mnemonic method. 
Table 3-2. Mnemonic Method of Password Generation 
Phrase 
Password 
Please be my best valentine! 
Pbmbval! 
This is the worst car I have ever driven in my LIFE!  TitwcIhedimLIFE! 
I am definitely your #1 fan. 
Iady#1f. 
Although a mnemonic password is generally stronger than a dictionary password—for example, 
“Pbmbval!” would be much stronger than “valentine”—many mnemonic passwords are still 
susceptible to brute force guessing attacks. Common phrases converted into mnemonic 
passwords, without using unusual character substitutions or other alterations, can be guessed by 
attackers using dictionaries of mnemonic passwords.
10
Users that create mnemonic passwords 
should either avoid using common phrases, making up their own phrases instead, or should make 
significant unexpected changes to the passwords, such as changing capitalization and punctuation 
and spelling out one or more of the words. 
Altered Passphrases. A user selects a phrase and alters it to form a derivation of that phrase. 
This method supports the creation of long, complex passwords. Passphrases can be easy to 
remember due to the structure of the password: it is usually easier for the human mind to 
comprehend and remember phrases with a coherent vocabulary than a string of random letters, 
numbers, and special characters. Table 3-3 shows examples of altered passphrases. 
Table 3-3. Altered Passphrases 
Passphrase 
Alternate Passphrase 
to be or not to be 
2.be.0r.nOt@to0.bEE 
Dressed to the nines 
Dressed*2*the*9z 
9
 NIST encourages readers of this publication to submit feedback on these methodologies to NIST during the public comment 
period, as well as to suggest additional methodologies that would be helpful. 
10
 Cynthia Kuo, Sasha Romanosky, and Lorrie Faith Cranor, “Human Selection of Mnemonic Phrase-based Passwords”, 
Symposium on Usable Privacy and Security (SOUPS), 2006, Pittsburgh, PA, July 2006. 
3-9
C# HTML5 Viewer: Deployment on AzureCloudService
RasterEdge.XDoc.PDF.HTML5Editor.dll. system.webServer> <validation validateIntegratedModeConfiguration="false"/> <security> <requestFiltering
pdf password reset; copy text from protected pdf to word
C# HTML5 Viewer: Deployment on ASP.NET MVC
RasterEdge.XDoc.PDF.HTML5Editor.dll. system.webServer> <validation validateIntegratedModeConfiguration="false"/> <security> <requestFiltering
password pdf; protected pdf
G
UIDE TO 
E
NTERPRISE 
P
ASSWORD 
M
ANAGEMENT 
(DRAFT)
As with mnemonic passwords, it is important for users who create altered passphrases to avoid 
the use of common phrases that do not have significant unexpected changes. 
Combining and Altering Words. A user can combine two or three unrelated words and change 
some of the letters to numbers or special characters. Table 3-4 shows examples of combining 
words. 
Table 3-4. Combining and Altering Words 
Words 
Password 
“bank” and “camera” 
B@nkC@mera 
“mail” and “phone” 
m4!lf0N3 
Although these techniques are helpful, users may find it difficult to remember several passphrases, 
mnemonics, or altered word combinations. An alternative strategy is to select a single memorable base 
password and alter it to form derivations, such as inserting additional letters, numbers, and symbols into 
the base password. Then each derivation can be used as a password for a different system or application. 
Table 3-5 shows example password derivations. 
Table 3-5. Password Derivations 
Derivation 
System or Application 
Resulting Password 
Base password 
None (the base password is only used to build other 
passwords, and is not actually used as-is for any 
system or application) 
G00dTimes 
Prepend “42*” to the base 
System 1 
42*G00dTimes 
Append “*42” to the base 
System 2 
G00dTimes*42 
Prepend “42*” to the base and 
insert “#23” in the middle 
Application 1 
42*G00d#23Times 
The user does not need to memorize all the derivation rules, just the base password. Then the user can 
write down the derivation rules and refer to the rules as needed to derive the necessary passwords. 
However, there are two major disadvantages to this method. If an attacker gets access to the rules, they 
could make it easier for an attacker to guess or crack passwords. Also, if an attacker gets one of the 
passwords, then the attacker is much more likely to guess or crack the other passwords; this becomes 
trivial if the attacker can also get the rules. So an attacker who shoulder surfs while a user is entering a 
password and looking at the rules sheet may be able to gain access to several accounts with little effort.  
3.2.5  Local Administrator Password Selection 
In most enterprises there are two types of passwords: local and domain. Domain passwords are 
centralized passwords that are authenticated at an authentication server (e.g., a Lightweight Directory 
Access Protocol server, an Active Directory server). Local passwords are passwords that are stored and 
authenticated on the local system (e.g., a workstation or server). Although most local passwords can be 
managed using centralized password management mechanisms, some can only be managed through third-
party tools, scripts, or manual means. A common example is built-in administrator and root accounts. 
Having a common password shared among all local administrator or root accounts on all machines within 
3-10
VB.NET PDF Page Extract Library: copy, paste, cut PDF pages in vb.
DNN (DotNetNuke), SharePoint. Security PDF component download. Online source codes for quick evaluation in VB.NET class. A good external
add password to pdf file without acrobat; convert password protected pdf files to word online
.NET PDF SDK - Description of All PDF Processing Control Feastures
Easy to change PDF original password; Options for setting PDF security level; PDF text content, image and pages redact options. PDF Digital Signature.
pdf password unlock; convert password protected pdf to excel online
G
UIDE TO 
E
NTERPRISE 
P
ASSWORD 
M
ANAGEMENT 
(DRAFT)
a network simplifies system maintenance, but it is a widespread weakness. If a single machine is 
compromised, an attacker may be able to recover the password and use it to gain access to all other 
machines that use the shared password. Organizations should avoid using the same local administrator or 
root account password across many systems. Also, built-in accounts are often not affected by password 
policies and filters, so it may be easier to just disable the built-in accounts and use other administrator-
level accounts instead. 
A solution to this local password management problem is the use of randomly generated passwords, 
unique to each machine, and a central password database that is used to keep track of local passwords on 
client machines. Such a database should be strongly secured and access to it limited to only the minimum 
needed. Specific security controls to implement include only permitting authorized administrators from 
authorized hosts to access the data, requiring strong authentication to access the database (for example, 
multi-factor authentication), storing the passwords in the database in an encrypted form (e.g., 
cryptographic hash), and requiring administrators to verify the identity of the database server before 
providing authentication credentials to it. 
Another solution to management of local account passwords is to generate passwords based on system 
characteristics such as machine name or media access control (MAC) address. For example, the local 
password could be based on a cryptographic hash of the MAC address and a standard password. A 
machine’s MAC address, “00:16:59:7F:2C:4D”, could be combined with the password “N1stSPsRul308” 
to form the string “00:16:59:7F:2C:4D N1stSPsRul308”. This string could be hashed using SHA and the 
first 20 characters of the hash used as the password for the machine. This would create a pseudo-salt that 
would prevent many attackers from discovering that there is a shared password. However, if an attacker 
recovers one local password, the attacker would be able to determine other local passwords relatively 
easily. 
Regardless of the method chosen, a solution should be implemented that prevents the use of shared local 
account passwords across many systems. 
3.3  Password Replacing 
An attacker can successfully authenticate to an account by replacing the account’s existing password with 
another password that is known by the attacker. The attacker does not necessarily need to know the 
original password to accomplish this—for example, the attacker could intercept a user’s legitimate 
attempt to reset a password. This section describes several ways in which attackers can replace passwords 
to gain access to accounts. 
3.3.1  Forgotten Password Recovery and Resets 
When a user forgets a password, generally there are two options: regain access to the old password—
password recovery—or set a new password—a password reset. Password resets are also performed when 
a new account is created, to set an initial password. There are many ways in which password recovery and 
resets can be conducted—ranging from an in-person visit with an IT staff member to a fully automated 
self-service utility. If the identity of the user requesting a password recovery or reset is not properly 
verified, an attacker could easily pose as a user and gain access to that user’s password, so all recovery 
and reset mechanisms should first verify the user’s identity. Examples of verification methods include 
basic knowledge-based verification (e.g. employee ID number, badge number, date of birth); 
predetermined challenge response questions set during account creation (e.g., color of first car, favorite 
pet’s name); calling a user back on an office phone; and requiring a face-to-face visit from the user to 
provide photo identification.  
3-11
G
UIDE TO 
E
NTERPRISE 
P
ASSWORD 
M
ANAGEMENT 
(DRAFT)
Each verification method has advantages and disadvantages that should be evaluated before use. Privacy 
concerns should be carefully evaluated; for example, information such as social security numbers and 
mother’s maiden name should not be used for identity verification. User verification should not include 
data or question answers that can be easily obtained or guessed by an attacker, such as an employee ID 
number available from a company directory. For each password recovery or reset mechanism, the 
thoroughness of the user verification can be tailored to the account’s relative security needs—for 
example, organizations might want to require a rigorous, out-of-band verification method for the highest-
security passwords and use less rigorous methods for other cases. When selecting verification methods, 
organizations should consider the relative risk of each method as opposed to its cost and convenience. 
Organizations should also identify and address any requirements to perform password recovery and resets 
for people who are not physically located in the organization’s main facilities, including users who 
telecommute or are on travel.  
The confidentiality of all sensitive information stored and transmitted as part of password recovery and 
resets should be protected. For example, if predetermined challenge-response questions or password hint 
questions are used to verify identity, the confidentiality of the answers should be protected at all times, 
and the confidentiality of the questions should also be protected if the questions are user-generated or 
otherwise differ among users. Organizations should also carefully consider using filters to ensure that the 
answers set by a user to challenge-response questions have reasonable entropy, such as not using the same 
answer for each question and not using all one-character answers. Organizations should send reset 
passwords through cleartext email messages and other unsecured applications only in the lowest-security 
situations because of the risk of interception by attackers.  
3.3.2  Access to Stored Account Information and Passwords 
Attackers may be able to replace passwords by gaining access to stored user account information and 
passwords. For example, a host may have incorrect privileges set on its password files that allow a user to 
overwrite them. The user could set new passwords for others’ accounts or create new accounts. A similar 
attack can be accomplished on many hosts if an attacker gains physical access to the host. There are 
password reset tools and utilities that can permit an attacker with physical access to reset the built-in 
administrator account password. Section 3.1.1 contains recommendations for securing stored passwords. 
3.3.3  Social Engineering 
Attackers may be able to trick users into changing their existing passwords to attacker-selected passwords 
by using social engineering techniques. Section 3.1.3 contains recommendations for mitigating such 
attacks. 
3.4  Using Compromised Passwords 
If an attacker has compromised a password through guessing, cracking, or capture, then the attacker will 
be able to use that password until it is changed by the user. To reduce the potential impact of such 
unauthorized password use, many organizations have implemented password expiration mechanisms that 
force a user to select a new password after a certain number of days. Although this is beneficial for 
reducing the impact of some password compromises, it is ineffective for others—for example, when the 
attacker can compromise the new password through the same method as the old password (such as a 
keylogger running on the user’s computer) or when the attacker has a way of maintaining access to the 
target without the password, such as setting up a backdoor on the target. Password expiration is also often 
a source of frustration to users, who are often required to create and remember new passwords every 
month or two for dozens of user accounts.  
3-12
G
UIDE TO 
E
NTERPRISE 
P
ASSWORD 
M
ANAGEMENT 
(DRAFT)
Organizations should decide whether to use password expiration mechanisms and what expiration period 
to set based on balancing security needs and usability. For example, if the organization provides secure 
storage for user passwords, so that users do not have to remember passwords, then password expiration 
will be less frustrating to users. If there are significant threats involving unauthorized access to password 
hashes, then it may be necessary to set the expiration period to be less than the amount of time required to 
crack the passwords from the hashes, as discussed in the box below. Another consideration is the 
frequency of authentication; if an application is accessed only a few times a year by employees and 
password expiration is enforced, then the passwords will be expired every time the users attempt to 
authenticate. Other factors for organizations to consider in selecting password expiration requirements 
include the strength of password storage and transmission algorithms and the system security 
requirements. Organizations should consider having different policies for password expiration for 
different types of systems, OSs, and applications, to reflect their varying security needs and usability 
requirements. 
Because of advances in hardware and cracking software and the availability of large numbers of 
compromised computers through botnets, attackers are constantly increasing their ability to crack 
passwords. The type of cryptographic algorithm used for the password hashes somewhat affects the 
cracking speed, but generally does not affect it enough to make cracking ineffective. Security researchers 
and cracking software vendors claim hash generation speeds for some hash algorithms of hundreds of 
millions to over a billion per second per computer, with the ability to use thousands of computers 
simultaneously.
11
Generating a billion hashes per second on each of a thousand machines would equal 
approximately 2.6 quintillion (2.6*10
18
) hashes per month. 
In cases where password hashes are at significant risk of compromise, organizations should take estimates 
of cracking abilities into consideration when setting policies for password expiration, length, and 
complexity. Consider the keyspace examples from Table 3-1. A password with a character set size of 72 
and a length of 8 characters has a maximum keyspace of 7*10
14
. For the example described above, hashes 
for this entire keyspace could be generated in 12 minutes. Increasing the character set size to 95 only 
increases the time to 2 hours. However, increasing the length to 12 characters, and keeping the character 
set size at 72, drastically increases the time needed to generate all the hashes—to over 500 years.  
The use of salts also makes cracking more difficult—for example, using 48-bit salting values effectively 
appends a 48-bit password hash to the original password hash, assuming that the attacker does not have 
access to the salting values and that the salting values are well-chosen. So a salted password might have 
the same effective length, and therefore be roughly as time-consuming to crack, as an unsalted password 
that is several characters longer. Also, salts typically use the full range of possible values, unlike 
passwords that have limited character sets, so salts can strengthen the effective password complexity. 
Policies for password expiration, length, and complexity should take into account the use of salts. 
In cases where generating all hashes would take many years, having password expiration would be 
irrelevant for mitigating cracking, even if most users do not take full advantage of the available character 
set. Generally, password expiration periods are not of much help in mitigating cracking because they have 
such a small effect on the amount of effort an attacker would need to expend, as compared to the effect of 
other password policy elements. Suppose that an organization reduced its password expiration period 
from 60 days to 30 days. An attacker would simply need to use twice the hardware resources to 
compensate for this change.  
When password expiration is enabled and it is expected that users will be memorizing their passwords, it 
is helpful to provide reminders to users that their passwords will be expiring soon. Giving users at least a 
11
An example is described at http://www.elcomsoft.com/edpr.html?r1=pr&r2=multi-gpu
.  
3-13
G
UIDE TO 
E
NTERPRISE 
P
ASSWORD 
M
ANAGEMENT 
(DRAFT)
few days or a few logons to prepare for a password change will give them a better opportunity to choose a 
strong password that they are likely to remember. Forcing users to change passwords without warning 
often results in less complex passwords that are easier to remember, or passwords that are stored 
insecurely (e.g., written on a notepad, stored in a plaintext user file). If setting a new password requires 
that a user be physically present at the organization’s facilities, but the password can be used remotely 
(i.e., through remote access for telework), then it is generally prudent to notify users one to two weeks 
before expiration. This makes it more likely that users will have an opportunity to reset the password 
before teleworking, particularly if they will be traveling for several days. 
Password expiration is not effective unless users select different passwords from those previously used. 
Password history is the retention of one or more previous passwords or password hashes for comparison 
against new passwords or password hashes. A new password is checked to ensure that it has not been 
used during the specified history. The period is usually defined as either a certain number of previous 
passwords or a period of time. Another password attribute closely related to password history is minimum 
password age. The minimum password age is the amount of time that must pass between password 
changes. To reduce the effort required in remembering passwords, some users will cycle through 
passwords after expiration until they have exceeded the password history retention buffer and then change 
their password back to the original. Although enforcing a minimum password age does not prevent this, it 
is a deterrent.  
Some password history mechanisms are also capable of identifying passwords that are not sufficiently 
different from previous passwords. When forced to select a new password, some users tend to use 
variations of old passwords (e.g., changing “password07” to “password08”). This makes it trivial for an 
attacker who knows the old password to guess or crack the new one quickly. Some password history 
mechanisms can be configured to reject new passwords that have a certain number of characters in 
common with previous passwords. Without such a mechanism, it is generally easy for users to append 
counters to their passwords, such as the “password07” and “password08” examples. This renders 
password expiration largely ineffective, and may actually cause users to choose weaker passwords than 
they would have without password expiration.  
Password history generally only works on a single authentication mechanism and cannot check history 
from multiple mechanisms. This allows users to use the same password (and previous passwords) on 
many systems at once. Users often do this because it reduces the number of passwords that they have to 
remember, but this increases the risk to the enterprise by allowing an attacker who compromises one 
password to reuse it to gain access to additional resources. In addition, administrators will sometimes 
reuse password between a local user account on a personal workstation and an account that has domain or 
centralized administrative privileges. This can pose a major risk to the enterprise because the security of 
centralized password management is generally higher than on individual workstations. An attacker who 
compromises the workstation and is able to crack the domain administrator password will have significant 
access to enterprise resources.  
There is generally no easy way to detect password reuse across systems, particularly when both internal 
and external systems are involved. To attempt to reduce the likelihood of password reuse, organizations 
can have their password management policies prohibit use of the same or closely-related passwords on 
organizational IT system and external systems. The password management policy can also explicitly 
forbid the reuse of centralized (e.g., domain) administrative level credentials with user or local (e.g., local 
administrator or root) accounts. Proper user training that stresses the importance of proper password 
management and protection and explains the risks of password reuse should also be implemented. 
However, without an enforcement mechanism, it is unlikely that policies against reuse will be 
significantly effective in reducing reuse, given the number of passwords that users typically need to 
remember. 
3-14
G
UIDE TO 
E
NTERPRISE 
P
ASSWORD 
M
ANAGEMENT 
(DRAFT)
3-15
If an organization believes that a password management system or other source of passwords has been 
compromised, the organization should act swiftly to mitigate the weaknesses that allowed the 
compromise, restore the compromised system to a secure state, and require all users to change their 
passwords immediately. Implementing the enterprise password change will require careful planning and 
coordination. Procedures should be in place to notify all affected users. This notification should only 
inform the users of the situation and notify them that their passwords have been reset or need to be 
changed immediately. Users should be instructed to change their password as they normally would and 
contact the helpdesk if they need assistance.
12
If users are allowed to change their passwords, a procedure 
should be in place to force the change and verify that changes have been made. If passwords are reset to 
assigned passwords, then there should be procedures in place to communicate the assigned passwords to 
the users in a secure manner. If the procedures that are in place cause a greatly increased workload on 
help desk staff, there should be resources available to augment help desk staff to ensure they can 
effectively handle the password resets. 
12
 Having a different or special procedure could confuse users and make them more susceptible to phishing attacks in the 
future. 
Documents you may be interested
Documents you may be interested