Microsoft Store
 

Password


 

A password is a form of secret authentication data that is used to control access to a resource. The password is kept secret from those not allowed access, and those wishing to gain access are tested on whether or not they know the password and are granted or denied access accordingly.

Factors in the security of a password system

The security of a password-protected system depends on several factors. The system must, of course, be designed for sound overall security. See computer security and computer insecurity. Here are some password management issues that must be considered:

Related Topics:
Computer security - Computer insecurity

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Rate at which an attacker can try out guessed passwords

The rate at which an attacker can submit guessed passwords is a key factor in determining system security. Some systems impose a long time out after a small number (e.g. 3) of failed password entry attempts. Absent other vulnerabilities, such systems can be secure with relatively simple passwords as long as they are not easily guessed. Examples of passwords that are easily guessed include the name of a relative or pet, automobile license plate numbers and default passwords such as admin or 1234. Other systems store or transmit a cryptographic hash of the password in a manner that makes the hash value accessible to an attacker. When this is done, and it is common, an attacker can try out passwords at a very high rate, perhaps using widely available lists of common passwords. Passwords that are used to generate cryptographic keys, e.g for disk encryption or Wi-Fi security, are also subject to high rate guessing. Stronger passwords are needed in these systems.

Related Topics:
Cryptographic hash - Disk encryption - Wi-Fi

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Form of stored passwords

Some systems store passwords as plain text. If an attacker gains access to the password file, all passwords are compromised. If some users employ the same password for multiple accounts, those will be compromised as well. Better systems store each password in a cryptographically protected form, so access to the actual password will be difficult for a snooper who gains internal access to the system, whilst validation still remains possible.

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

A common cryptographic scheme stores only a "hashed" form of the plaintext password. When a user types in a password on such a system, it is run through the hashing algorithm, and if the hash value generated from the user's entry matches the hash stored in the password database, the user is permitted access. The hash value is created by applying a cryptographic hash function to a string consisting of the password and, usually, another value known as a salt. The salt prevents attackers from building a list of hash values for common passwords. MD5 and SHA1 are frequently used cryptographic hash functions. A modified version of DES was used in early Unix systems.

Related Topics:
Cryptographic hash function - Salt - MD5 - SHA1 - DES - Unix

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

The UNIX DES function was iterated to make the hash function slow, to further frustrate automated guessing attacks. A more flexible function for iterated hashed passwords is described in PKCS-5.

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

If the hash function is well designed, it is computationally infeasible to reverse it to find the plaintext directly. However, if an attacker can gain access to the hashed values (and many systems do not protect them adequately), he can use widely available tools which compare the encrypted outcome of every word from some collection, such as a dictionary. Long lists of possible passwords in many languages are widely available and the tools try common variations as well. These dictionary attack tools demonstrate by existence the relative strengths of different password choices against such attacks. Use of a key derivation function can reduce this risk.

Related Topics:
Dictionary attack - Key derivation function

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Methods of verifying a password over a network

A variety of methods have been used to verify passwords in a network setting:

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Simple transmission of the password

Passwords can be vulnerable to snooping while being transmitted to the authenticating machine or person. If the password is carried as electrical signals on unsecured physical wiring between the user access point and the central system controlling the password database, it is subject to snooping by wiretapping methods. If it is carried over the Internet, anyone able to watch the packets containing the logon information can snoop with very little possibility of detection. Cable modems may be more vulnerable to snooping than DSL and dialup connections, and ethernet may or may not be snoopable, depending particularly on the choice of networking hardware and wiring. Some organizations have noted a significant increase in stolen accounts after users began logging in over cable connections.

Related Topics:
Wiretapping - Cable modem - DSL - Dialup - Ethernet

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Transmission through encrypted channels

The risk of interception of passwords sent over the Internet can be reduced with the Transport Layer Security (TLS, previously called SSL) feature built into many Internet browsers. Most browsers display a closed lock icon when TLS is in use. See cryptography for other ways in which the passing of information can be made more secure.

Related Topics:
Transport Layer Security - Browser - Cryptography

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Hash-based challenge-response methods

Unfortunately, there is a conflict between stored hashed-passwords and hash-based challenge-response authentication; the latter requires a client to prove to a server that he knows what the shared secret (the password) is, and to do this, the server end needs to be able to obtain the shared secret from its stored form. On Unix-type systems doing remote authentication, the shared secret becomes the hashed form of the password, not the unhashed form; if an attacker can obtain a copy of the hashed password, he will be able to access the system remotely, even without being able to determine what the original unhashed password was. Furthermore, hash-based challenge-response methods have the serious limitation that they expose passwords to offline guessing attack.

Related Topics:
Challenge-response authentication - Unix

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Zero-knowledge password proofs

Rather than transmitting the password, password-authenticated key agreement systems can perform a zero-knowledge password proof, which proves knowledge of the password without revealing it.

Related Topics:
Password-authenticated key agreement - Zero-knowledge password proof

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Taking it a step further, augmented systems for password-authenticated key agreement (e.g. AMP, B-SPEKE, PAK-Z, SRP-6) avoid both the conflict and limitation of hash-based methods; An augmented system allows a client to prove knowledge of the password to a server, where the server knows only a (not exactly) hashed password, and where the unhashed password is required to gain access.

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Procedures for changing passwords

Usually, a system must provide a way to change a password, either because a user believes the current password has been (or might have been) compromised, or as a precautionary measure. If a new password is passed to the system in an unencrypted form, security can be lost (e.g., via wiretapping) before the new password can even be installed in the password database. If the new password is given to a compromised employee, little is gained. Some web sites include the user-selected password in an unencrypted confirming e-mail message.

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Identity management systems are increasingly used to automate issuance of replacements for lost passwords, a feature called self service password reset. The user's identity is verified by asking questions and comparing the answers to ones previously stored. Typical questions include "Where were you born?," "What is your favorite movie?" or "What is the name of your pet?" In many cases the answers to these questions can be guessed, determined by research, or obtained through social engineering. While many users have been trained never to reveal a password, few consider the name of their favorite movie to require similar care.

Related Topics:
Identity management - Self service password reset - Social engineering

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Longevity of a password

Forcing users to change passwords frequently (quarterly, monthly or even more often) ensures that a valid password in the wrong hands will eventually become unusable. Many operating systems provide such features, though they are not universally used. Their security benefits are limited because attackers often exploit a password as soon as it is compromised. In many cases, particularly with administrative or "root" accounts, once an attacker has gained access, he can make alterations to the operating system that will allow him future access even after the initial password he used expires.

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Forcing password change too frequently may make users more likely to forget which password is current, and there is a consequent temptation for users to either write their password down or to reuse an earlier password, which may negate any added security benefit. Implementing such a policy requires careful consideration of human factors.

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Number of users per password

Sometimes a single password controls access to a device, for example, for a network router, or password-protected mobile phone. However, in the case of a computer system, a password is usually stored for each user name, thus making all access traceable (save, of course, in the case of users sharing passwords).

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

A would-be user must give a name as well as a password. If the user supplies a password matching the one stored for the supplied user name, he or she is permitted further access into the computer system. This is also the case for a cash machine, except that the user name is the account number stored on the bank customer's card, and the PIN is usually quite short (4 to 6 digits).

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Allotting separate passwords to each user of a system is usually preferable to having a single password shared by legitimate users of the system. This is partly because people are more willing to tell another person (who may not be authorized) a shared password than one exclusively for their use. Single passwords are also much less convenient to change because many people need to be told at the same time, and they make removal of a particular user's access more difficult. Per-user passwords are also essential if users are to be held accountable for their activities, such as making financial transactions or viewing medical records.

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Design of the protected software

Common techniques used to improve the security of software systems protected by a password include:

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

  • not echoing the password on the display screen as it is being entered or obscuring it as it is typed by using asterisks or circular blobs
  • allowing passwords of adequate length (some Unix systems limited passwords to 8 characters).
  • requiring users to re-enter their password after a period of inactivity
  • enforcing a password policy to ensure strong passwords
  • requiring periodic password changes
  • assigning passwords at random
  • providing an alternative to keyboard entry
  • using encrypted tunnels or password-authenticated key agreement to prevent network attacks on transmitted passwords
  • Some of the more stringent policy enforcement measures can pose a risk of alienating users, possibly decreasing security.

    ~ ~ ~ ~ ~ ~ ~ ~ ~ ~