Designing a personal, user-friendly password
In controlling access to anything, trade-offs are made between security and convenience. If a resource is protected by a password, then security is increased with a consequent loss of convenience for users. The amount of security and inconvenience inherent in a particular password system or policy are affected by several factors addressed below. However, there is generally no one universal 'best' way to set a balance between security and convenience for all cases.
Some password protected systems pose little or no risk to a user if compromised, for example a password allowing access to a free information web site with no confidential data. Others pose modest economic or privacy risk, as for instance a password used to access e-mail or a security lock code for a mobile telephone. Still others could have very serious consequences if compromised, such as passwords used to limit access to AIDS treatment records, control a power transmission grid, or access to personnel records (consider the risk of identity theft in this instance).
Security and convenience
The security of a password-protected system depends on several factors. The system must, of course, be designed for sound overall security, without which no password protection can have any significance. Early passwords on many systems were limited to a few numbers, or upper-case-letters, only often in prescribed patterns limiting the number of possible passwords. Most passwords today usually have fewer such limits. User input is determined by several limiting factors: allowable inputs (numbers / letters, non-visual codes and/or other keys / device inputs), minimum & maximum of time required for input, availability of cut / delete / paste / copy for input, and error/noise tolerance errors in the password or communications input. Some system administrators also enforce other limitations on passwords, such as compulsory change schedules, safe-password analysis feedback, and compulsory length / composition limits. See computer security and computer insecurity.
Here are some password management issues that must be considered:
Factors in the security of a password system
The rate at which an attacker can submit guessed passwords to the system is a key factor in determining system security. Some systems impose a long time out (several seconds) after a small number (e.g., a maximum of three) of failed password entry attempts. Absent other vulnerabilities, such systems can be secure with relatively simple passwords, if they are not easily guessed. Examples of passwords that are easily guessed include the name of a relative or pet, an automobile license plate number, and such default passwords as admin, 123456, or letmein. [1]
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 very common (to most observers' surprise or despair), an attacker can work off-line, rapidly testing candidate passwords against the true password's hash value.
Lists of common passwords are widely available and can further speed the process. (See Password cracking.) A sufficiently complex password used in a system with a good hash algorithm can defeat such attacks as the work factor imposed on such an attacker can be made impossible in practice. 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 such systems.
Rate at which an attacker can try out guessed passwords
Some computer systems store passwords, against which to compare user attempts, as cleartext. If an attacker gains access to such an internal password file, all passwords would be compromised. If some users employ the same password for multiple accounts, those will be compromised as well. More secure 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, while validation still remains possible.
Email is sometimes used to distribute passwords. Since most email is sent as cleartext, it is available without effort during transport to any eavesdropper. Further, it will be stored on at least two computers as cleartext -- the sender's and the receipients's. If it passes through intermediate systems during its travels, it will likely be stored on those as well. Emailed passwords are generally an insecure method of distribution.
A common cryptographically based 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 submitted 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.
The UNIX DES function was iterated to make the hash function slow, to further frustrate automated guessing attacks, and used the password candidate as a key to encrypt a fixed value, thus blocking yet another attack on the password hashing system. A more flexible function for iterated hashed passwords is described in PKCS-5.
If the hash function is well designed, it will be computationally infeasible to reverse it to find the plaintext directly. However, many systems do not protect their hashed passwords adequately, and if an attacker can gain access to hashed values 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 (eg, on the Internet) and the tools try common variations as well. The existence of these dictionary attack tools demonstrates the relative strengths of different password choices against such attacks. Use of a key derivation function can reduce this risk.
A poorly designed hash function can make attacks feasible even if a strong password is chosen. See LM hash for a widely deployed example.[2]
Form of stored passwords
A variety of methods have been used to verify passwords in a network setting:
Methods of verifying a password over a network
Passwords can be vulnerable to interception (ie, "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 as packetitzed data over the Internet, anyone able to watch the packets containing the logon information can snoop with a very low probability of detection.
An example of cleartext transmission of passwords is this website. When you log into your Wikipedia account (if you are not an administrator) your username and password are sent from your computer through the Internet via cleartext. Anyone can read them in transit and potentially log into your account. But because anyone can gain access to the site—without logging in—there is little need to encrypt transmissions.
Another example of transmission vulnerability is email. Emailed passwords may be read by anyone with access to the transmission medium. Using client-side encryption will only protect transmission from the POP server to the client. Previous or subsequent relays of the email will not be protected and the email will be stored on multiple computers in cleartext.
Simple transmission of the password
The risk of interception of passwords sent over the Internet can be reduced by, among other approaches, using 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.
Transmission through encrypted channels
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 (ie, password) is, and to do this, the server must be able to obtain the shared secret from its stored form. On Unix-type systems doing remote authentication, the shared secret usually becomes the hashed form and has the serious limitation of exposing passwords to offline guessing attacks.
Hash-based challenge-response methods
Rather than transmitting the password, password-authenticated key agreement systems can perform a zero-knowledge password proof, which proves knowledge of the password without exposing it.
Moving 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.
Zero-knowledge password proofs
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) even 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 confirmation e-mail message, with the obvious increased vulnerability.
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 (ie, at account initialization). 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 relatively easily guessed, determined by research, or obtained through social engineering, and so this is less than reliable as a verification technique. While many users have been trained never to reveal a password, few consider the name of their favorite movie to require similar care.
Procedures for changing passwords
"Password aging" is a feature of some operating systems which forces users to change passwords frequently (eg, quarterly, monthly or even more often), thus ensuring that a stolen password will become unusable more or less quickly. Most users are not so familiar with passwords and computers as to be comfortable with this, so such policies usually earn some protest and foot-dragging at best and hostility at worst. These features are therefore not always used. In any case, the 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 (one example of this is a rootkit).
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 the relevant human factors.
Password longevity
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 preferable to having a single password shared by legitimate users of the system, certainly from a security viewpoint. This is partly because users 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.
Number of users per password
Common techniques used to improve the security of software systems protected by a password include:
Some of the more stringent policy enforcement measures can pose a risk of alienating users, possibly decreasing security.
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 Design of the protected software
Blog Archive
-
▼
2007
(132)
-
▼
August
(21)
- The Schapfen-Mill-Tower is a 115 meter high si...
- Navassa Island (French: La Navase, Haitian Kre...
- A Ferris wheel (or, more commonly in the UK, big...
- Arthur (Art) Blakey (October 11, 1919–October 16...
- Actinobacteria Aquificae Chlamydiae Bacteroidete...
- Dahlen is a city in Nelson County, North Dakot...
- Bellefontaine Cemetery (established in 1849) a...
- In Japan, Setsubun (節分) is the day before the ...
- Little is know of the Chinese Mars exploration p...
- Biography Born in Graz to Charles II of Austria ...
- Billy Mann (real name: William Hort Mann born ...
- The Committee on Petitions (PETI) is a committ...
- Bread - Pasta - Cheese - Rice Sauces - Soups - D...
- Designing a personal, user-friendly password In ...
- For current information on this topic, see AT&...
- Delmar Wesley Crandall (born March 5, 1930 in ...
- Northern America is the northernmost region of...
- The main chain of the Alps is the central line...
- This article is part of the series: Politics and...
- สันนิบาตอาหรับ (อาหรับ: جامعة الدول العربية) ...
- There are different people named Larry Young: ...
-
▼
August
(21)