In computing, a password is a word or string of characters, entered, often along with a user name, into a computer system to log in or to gain access to some resource. A word is a unit of Language that carries meaning and consists of one or more Morphemes which are linked more or less tightly together and has a Phonetic For other uses see Character. In Computer and machine-based Telecommunications terminology a character is a unit of Users in a Computing context refers to one who uses a computer system Passwords are a popular form of authentication. Authentication (from Greek αυθεντικός real or genuine from authentes author is the act of establishing or confirming something (or someone as Full security requires that the password be kept secret from those not allowed access.
The use of passwords goes back to ancient times. Sentries guarding a location would challenge for a password or watchword. They would only allow a person in if they knew the password. In modern times, passwords are used to control access to protected computer operating systems, mobile phones, cable TV decoders, automated teller machines (ATMs), etc. Access control is the ability to permit or deny the use of a particular resource by a particular entity An operating system (commonly abbreviated OS and O/S) is the software component of a Computer system that is responsible for the management and coordination A typical computer user may require passwords for many purposes: logging in to computer accounts, retrieving e-mail from servers, accessing files, databases, networks, web sites, and even reading the morning newspaper online. Users in a Computing context refers to one who uses a computer system Electronic mail, often abbreviated to e-mail, email, or originally eMail, is a Store-and-forward method of writing sending receiving
Despite the name, there is no need for passwords to be actual words; indeed passwords which are not actual words are harder to guess (a desirable property), but are generally harder for users to remember (an undesirable property). Note that password is often used to describe what would be more accurately called a passphrase. A passphrase is a sequence of words or other text used to control access to a computer system program or data Passcode is sometimes taken to imply that the information used is purely numeric, such as the personal identification number (PIN) commonly used for ATM access. A personal identification number (PIN is a secret numeric Password shared between a user and a system that can be used to authenticate the user to the system Passwords are generally short enough to be memorized. In Psychology, memory is an organism's ability to store retain and subsequently retrieve information
Passwords vary in the degree of public awareness, security protection and frequency of change. The most public, and therefore least secure, password might be one that is given to members of a group, a committee or some other organization. For instance, "publiclibrary", "internet", "AAAfinancecommittee" or "password" are all examples of easily remembered passwords, more or less publicly knowable passwords. Less easily attacked passwords might be built from such a basic form, for instance, "smith12nov34street" or "AAAchairpersonSUE". These are slightly more secure, but being relatively easily predictable should not be relied upon to actually block unauthorized access. Effective access control requires passwords which are more difficult to guess or to find automatically, less publicly knowable (ideally not at all), and these are the subject of much of the rest of this article. One method of creating passwords that are memorable, but harder to attack successfully is to use selective substitution of numbers for letters, e. g. 'I' is replaced by '1', 'E' by '3' etc. This becomes even more secure if the numbers are 'shifted' on the keyboard. In this instance, the number '1' might be replaced by '!', assuming '!' is a permitted character in passwords on the relevant system.
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. This article describes how security can be achieved through design and engineering Many current Computer systems have only limited security precautions in place
Here are some password management issues that must be considered:
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 guessable. 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. 
Other systems store or transmit a cryptographic hash of the password in a manner that makes the hash value accessible to an attacker. A cryptographic Hash function is a transformation that takes an input (or 'message' and returns a fixed-size string which is called the hash value (sometimes 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. Security in such situations depends on making such an attack computationally infeasible for the attacker. in Claude Shannon's terms, to increase the 'work factor' enough to prevent successful attack. Claude Elwood Shannon (April 30 1916 – February 24 2001 an American Electronic engineer and Mathematician, is "the father of Information
Lists of common passwords are widely available and can further speed the process. (See Password cracking. Password cracking is the process of recovering Passwords from data that has been stored in or transmitted by a Computer system. ) 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, can also be found by high rate guessing. Wi-Fi (ˈwaɪfaɪ is the trade name for the popular wireless technology used Stronger passwords are needed in such systems, but protocol designs sometimes prevent this.
Some computer systems store passwords, against which to compare user attempts, as cleartext. In Data communications, cleartext is the form of a message or data which is in a form that is immediately comprehensible to a human being without additional processing 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 of user access attempts 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. In Data communications, cleartext is the form of a message or data which is in a form that is immediately comprehensible to a human being without additional processing Further, it will be stored on at least two computers as cleartext -- the sender's and the recipient'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. A cryptographic Hash function is a transformation that takes an input (or 'message' and returns a fixed-size string which is called the hash value (sometimes In Cryptography, a salt comprises random Bits that are used as one of the inputs to a Key derivation function. The salt prevents attackers from building a list of hash values for common passwords. MD5 and SHA1 are frequently used cryptographic hash functions. In Cryptography, MD5 ( Message-Digest algorithm 5) is a widely used partially insecure Cryptographic hash function with a 128- Bit hash value
A modified version of DES was used for this purpose in early Unix systems. The Data Encryption Standard ( DES) is a Cipher (a method for Encrypting information selected by NBS as an official Federal Information Unix (officially trademarked as UNIX, sometimes also written as Unix with Small caps) is a computer 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. PBKDF2 (Password-Based Key Derivation Function is a Key derivation function that is part of RSA Laboratories ' Public-Key Cryptography Standards (PKCS series
If the hash function is well designed, it will be computationally infeasible to reverse it to directly find a plaintext. 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 password choices against such attacks. In Cryptanalysis and Computer security, a dictionary attack is a technique for defeating a Cipher or authentication mechanism by trying to determine its Use of a key derivation function can reduce this risk. "KDF" redirects here For the Nazi organization see Kraft durch Freude In Cryptography, a key derivation function (or
A poorly designed hash function can make attacks feasible even if a strong password is chosen. See LM hash for a very widely deployed, and deplorable, example. LM hash or LAN Manager hash is one of the formats that Microsoft LAN Manager and Microsoft Windows versions previous to Windows Vista use to store user 
A variety of methods have been used to verify passwords in a network setting:
Passwords can be vulnerable to interception (i. e. , "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. Wiretap redirects here For the radio program see WireTap (radio program Telephone tapping (or wire tapping / wiretapping in 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. In Information technology, a packet is a formatted unit of Data carried by a Packet mode Computer network.
An example of cleartext transmission of passwords is the original Wikipedia website. In Data communications, cleartext is the form of a message or data which is in a form that is immediately comprehensible to a human being without additional processing ***************************************************************************************** * * When you logged into your Wikipedia account, your username and password are sent from your computer's browser through the Internet as cleartext. Users in a Computing context refers to one who uses a computer system Anyone could read them in transit and thereafter log into your account. More recently, Wikipedia has offered a secure login option, which, like many e-commerce sites, uses the SSL (TLS) cryptographic protocol to eliminate the cleartext transmission. But, because anyone can gain access to Wikipedia (without logging in at all), and then edit most articles, it can be argued that there is little need to encrypt these transmissions. Other websites (eg, banks and financial institutions) have quite different security requirements, and cleartext transmission of anything is clearly insecure in those contexts.
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. In Computing, local E-mail clients use the Post Office Protocol version 3 ( POP3) an application-layer Internet standard protocol Previous or subsequent relays of the email will not be protected and the email will be stored on multiple computers in cleartext.
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. Transport Layer Security ( TLS) and its predecessor Secure Sockets Layer ( SSL) are Cryptographic protocols that provide secure Transport Layer Security ( TLS) and its predecessor Secure Sockets Layer ( SSL) are Cryptographic protocols that provide secure A web browser is a software application which enables a user to display and interact with text images videos music games and other information typically located on a 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. Cryptography (or cryptology; from Greek grc κρυπτός kryptos, "hidden secret" and grc γράφω gráphō, "I write"
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 (i. In Computer security, challenge-response authentication is a family of protocols in which one party presents a question ("challenge" and another party must provide In Cryptography, a shared secret is a piece of data only known to the parties involved in a secure communication e. , 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. Unix (officially trademarked as UNIX, sometimes also written as Unix with Small caps) is a computer
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. In Cryptography, a password-authenticated key agreement method is an interactive method for two or more parties to establish cryptographic keys based on one or more party's knowledge A zero-knowledge password proof (ZKPP refers to a Password-authenticated key agreement protocol that is secure against off-line dictionary attacks
Moving a step further, augmented systems for password-authenticated key agreement (e. In Cryptography, a password-authenticated key agreement method is an interactive method for two or more parties to establish cryptographic keys based on one or more party's knowledge 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.
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. In Information systems identity management is the management of the identity Life cycle of entities (subjects or objects Self-service password reset is defined as any process or technology that allows users who have either forgotten their Password or triggered an intruder lockout to authenticate 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. Social engineering is the art of manipulating people into performing actions or divulging confidential information While many users have been trained never to reveal a password, few consider the name of their favorite movie to require similar care.
"Password aging" is a feature of some operating systems which forces users to change passwords frequently (e. g. , 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). A rootkit is a computer virus which consists of a program (or combination of several programs designed to take fundamental control (in Unix terms "root"
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.
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). This article describes how security can be achieved through design and engineering 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.
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 as a result. A password policy is a set of rules designed to enhance Computer security by encouraging users to employ strong Passwords and use them properly In Cryptography, a password-authenticated key agreement method is an interactive method for two or more parties to establish cryptographic keys based on one or more party's knowledge
Studies of production computer systems have for decades consistently shown that about 40% of all user-chosen passwords are readily guessed automatically, and still more with some individual research regarding a particular user. Password strength is a measurement of the effectiveness of a Password as an Authentication credential Password strength is the likelihood that a password cannot be guessed or discovered by an unauthorized person or computer. Authentication (from Greek αυθεντικός real or genuine from authentes author is the act of establishing or confirming something (or someone as A computer is a Machine that manipulates data according to a list of instructions. Passwords easily guessed are termed weak or vulnerable; passwords very difficult or impossible to guess are considered strong.
The numerous ways in which reusable passwords can be compromised has prompted the development of other techniques. Unfortunately, few of them have become universally available for users seeking a more secure alternative.
Graphical passwords are an alternative means of authentication for log-in intended to be used in place of conventional password; they utilize images instead of text. Authentication (from Greek αυθεντικός real or genuine from authentes author is the act of establishing or confirming something (or someone as An image (from Latin imago) or picture is an artifact usually two-dimensional that has a similar appearance to some subject &mdashusually In Computing, plain text is a term used for an ordinary "unformatted" sequential file readable as textual material without much processing In many implementations, the user is required to pick from a series of images in the correct sequence in order to gain access.
While some believe that graphical passwords would be harder to crack, others suggest that people will be just as likely to pick common images or sequences as they are to pick common passwords. Password cracking is the process of recovering Passwords from data that has been stored in or transmitted by a Computer system.
Passwords are used on websites to authenticate users and are usually server-side, meaning the browser sends the password to the server (by HTTP POST), the server checks the password and sends back the relevant content (or an access denied message). This process eliminates the possibility of local reverse engineering as the code used to authenticate the password does not reside on the local machine.
The transmission of the password through the browser in plaintext means it can be intercepted along its journey to the server. Most web authentication systems use SSL to establish an encrypted session between the browser and the server. This is done automatically by the browser and ensures integrity of the session.
Attempting to crack passwords by trying as many possibilities as time and money permit is a brute force attack. Password cracking is the process of recovering Passwords from data that has been stored in or transmitted by a Computer system. In Cryptanalysis, a brute force attack is a method of defeating a Cryptographic scheme by trying a large number of possibilities for example possible keys A related method, rather more efficient in most cases, is a dictionary attack. In Cryptanalysis and Computer security, a dictionary attack is a technique for defeating a Cipher or authentication mechanism by trying to determine its In a dictionary attack, all words in one or more dictionaries are tested.
There are several programs available for password auditing and recovery such as L0phtCrack, John the Ripper, and Cain; some of which use password design vulnerabilities (as in the Microsoft LANManager system) to increase efficiency. L0phtCrack is a Password Auditing and recovery application (now called LC5) originally produced by Mudge from L0pht John the Ripper is a free Password cracking software tool Initially developed for the UNIX Operating system, it currently runs on fifteen different Cain and Abel is a free Windows Password recovery tool though its authors offer an option to donate Some are useful to system administrators as any password which can be found using one of these programs is most definitely a weak password and should be rejected as an unacceptable password choice.
Passwords have been used with computers since the earliest days of computing. MIT's CTSS, one of the first time sharing systems, was introduced in 1961. It had a LOGIN command that requested a user password. "After typing PASSWORD, the system turns off the printing mechanism, if possible, so that the user may type in his password with privacy. "  Robert Morris invented the idea of storing login passwords in a hashed form as part of the Unix operating system. Robert "Bob" H Morris is an American Cryptographer. He received a Bachelor's degree in Mathematics from Harvard University Unix (officially trademarked as UNIX, sometimes also written as Unix with Small caps) is a computer His algorithm, know as crypt(3), used a 12-bit salt and invoked a modified form of the DES algorithm 25 times to reduce the risk of dictionary attacks. In Unix computing crypt is the name of both a commonly available utility program and a C programming function In Cryptography, a salt comprises random Bits that are used as one of the inputs to a Key derivation function. The Data Encryption Standard ( DES) is a Cipher (a method for Encrypting information selected by NBS as an official Federal Information In Cryptanalysis and Computer security, a dictionary attack is a technique for defeating a Cipher or authentication mechanism by trying to determine its