Password manager
A password manager is a computer program that allows users to store, generate, and manage their passwords for local applications and online services.

A password manager assists in generating and retrieving complex passwords, storing such passwords in an encrypted database, or calculating them on demand.

Types of password managers include:

 locally installed software applications
 online services accessed through website portals
 locally accessed hardware devices that serve as keys

Depending on the type of password manager used and on the functionality offered by its developers, the encrypted database is either stored locally on the user's device or stored remotely through an online file-hosting service. Password managers typically require a user to generate and remember one "master" password to unlock and access any information stored in their databases. Many password manager applications offer additional capabilities that enhance both convenience and security such as storage of credit card and frequent flyer information and autofill functionality.

Locally installed software 

Password managers commonly reside on the user's personal computer or mobile device, in the form of a locally installed software application. These applications can be offline, wherein the password database is stored independently and locally on the same device as the password manager software. Alternatively, password managers may offer or require a cloud-based approach, wherein the password database is dependent on an online file hosting service and stored remotely, but handled by password management software installed on the user's device.

Some offline password managers do not require Internet permission, so there is no leakage of data due to the network. To some extent, a fully offline password manager is more secure, but may be much weaker in convenience and functionality than an online one.

Web-based services 
An online password manager is a website that securely stores login details. They are a web-based version of more conventional desktop-based password manager.

The advantages of online password managers over desktop-based versions are portability (they can generally be used on any computer with a web browser and a network connection, without having to install software), and a reduced risk of losing passwords through theft from or damage to a single PC – although the same risk is present for the server that is used to store the users passwords on. In both cases this risk can be prevented by ensuring secure backups are taken.

The major disadvantages of online password managers are the requirements that the user trusts the hosting site and that there is no keylogger on the computer they are using. With servers and the cloud being a focus of cyber attacks, how one authenticates into the online service and whether the passwords stored there are encrypted with a user defined key are just as important. Another important factor is whether one- or two-way encryption is used.

Some online password management systems, such as Bitwarden, are open source, where the source code can be independently audited, or hosted on a user's own machine, rather than relying on the service's cloud.

The use of a web-based password manager is an alternative to single sign-on techniques, such as OpenID or Microsoft's Microsoft account (previously Microsoft Wallet, Microsoft Passport, .NET Passport, Microsoft Passport Network, and Windows Live ID) scheme, or may serve as a stop-gap measure pending adoption of a better method.

Token-based hardware devices 

Token-based password managers need to have a security token mechanism, wherein a locally-accessible hardware device, such as smart cards or secure USB flash devices, is used to authenticate a user in lieu of or in addition to a traditional text-based password or other two-factor authentication system. The data stored in the token is usually encrypted to prevent probing and unauthorized reading of the data. Some token systems still require software loaded on the PC along with hardware (smart card reader) and drivers to properly read and decode the data.
 Credentials are protected using a security token, thus typically offering multi-factor authentication by combining 
 something the user has such as a mobile application that generates rolling a Token similar to virtual smart card, smart card and USB stick, 
 something the user knows (PIN or password), and/or
 something the user is like biometrics such as a fingerprint, hand, retina, or face scanner.
There are a few companies that make specific third-party authentication devices, with one of the most popular being YubiKey. But only a few third-party password managers can integrate with these hardware devices. While this may seem like a problem, most password managers have other acceptable two-step verification options, integrating with apps like Google Authenticator and in-built TOTP generators. While third-party token devices are useful in heightening security, they are only considered extra measures for security and convenience, and they are not considered to be essential nor are they critical to the proper functioning of a password manager.

Advantages 

The advantage of password-based access controls is that they are easily incorporated in most software using APIs available in many software products, they require no extensive computer/server modifications, and that users are already familiar with the use of passwords. While passwords can be fairly secure, the weakness is how users choose and manage them, by using:
 simple passwords – short in length, that use words found in dictionaries, or do not mix in different character types (numbers, punctuation, upper/lower case), or are otherwise easily guessable
 passwords others can find – on sticky notes on monitors, in a notepad by the computer, in a document on the computer, whiteboard reminders, smart device storage in clear text, etc.
 the same password – using the same password for multiple sites, never changing account passwords, etc.
 shared passwords – users telling others passwords, sending unencrypted emails with password information, contractors using same password for all their accounts, etc.
 administrative account logins where limited logins would suffice, or
 administrators who allow users with the same role to use the same password.

It is typical to make at least one of these mistakes. This makes it very easy for hackers, crackers, malware and cyber thieves to break into individual accounts, corporations of all sizes, government agencies, institutions, etc. It is protecting against these vulnerabilities that makes password managers so important.

Password managers can also be used as a defense against phishing and pharming. Unlike human beings, a password manager program can also incorporate an automated login script that first compares the current site's URL to the stored site's URL. If the two do not match then the password manager does not automatically fill in the login fields. This is intended as a safeguard against visual imitations and look-alike websites. With this built-in advantage, the use of a password manager is beneficial even if the user only has a few passwords to remember. While not all password managers can automatically handle the more complex login procedures imposed by many banking websites, many of the newer password managers handle complex passwords, multi-page fill-ins, and multi-factor authentication prior.

By that same logic, password managers can also protect against keystroke logging malware (keyloggers). When using a multi-factor authentication password manager that automatically fills in logon fields, the user does not have to type any user names or passwords for the keylogger to pick up. While a keylogger may pick up the PIN to authenticate into the smart card token, for example, without the smart card itself (something the user has) the PIN does the attacker no good.   However, password managers cannot protect against man-in-the-browser attacks, where malware on the user's device performs operations (e.g. on a banking website) while the user is logged in while hiding the malicious activity from the user.

Issues

Vulnerabilities
If the passwords are stored in an unencrypted fashion, it is still generally possible to obtain the passwords given local access to the machine.

Some password managers use a user-selected master password or passphrase to form the key used to encrypt the protected passwords. The security of this approach depends on the strength of the chosen password (which might be guessed or brute-forced), and also that the passphrase itself is never stored locally where a malicious program or individual could read it. A compromised master password renders all of the protected passwords vulnerable.

As with any system which involves the user entering a password, the master password may also be attacked and discovered using key logging or acoustic cryptanalysis. Some password managers attempt to use virtual keyboards to reduce this risk  – though this is still vulnerable to key loggers that take screenshots as data is entered.  This risk can be mitigated with the use of a multi-factor verification device.

Some password managers include a password generator. Generated passwords may be guessable if the password manager uses a weak random number generator instead of a cryptographically secure one.

A strong password manager will include a limited number of false authentication entries allowed before the password manager is locked down and requires IT services to re-activate. This is the best way to protect against the brute-force attack.

Password managers that do not prevent swapping their memory to hard drive make it possible to extract unencrypted passwords from the computer’s hard drive. Turning off swap can prevent this risk.

Web-based password managers, which run inside the browser of the user, are particularly fraught with pitfalls. A detailed study using several password managers uncovered the following possible flaws inside web-based password managers:

 Authorization flaws: Another possible problem is mistaking authentication with authorization. The researcher found that several web-based password managers had, at one point in time, such flaws. These issues were in particular present in password managers which allowed users to share credentials with other users.
 Bookmarklet flaws: Web-based password managers commonly rely on Bookmarklets for signing in users. However, if improperly implemented, a malicious website can abuse this to steal a user's password. The main cause of such vulnerabilities is that the JavaScript environment of a malicious website cannot be trusted.
 User Interface flaws: Some password managers will ask the user to log in through an iframe. This can present a security risk because it trains the user to fill in their password while the URL displayed by the browser is not the one of the password manager. A phisher can abuse this by creating a fake iframe and capturing the user's credentials. A more secure approach may be to open a new tab where users can login to the password manager.
 Web flaws: Classic web vulnerabilities can also be present in web-based password managers. In particular, XSS and CSRF vulnerabilities may be exploited by hackers to obtain a user's password.

Furthermore, password managers have the disadvantage that any potential hacker or malware just need to know one password to gain access to all of a user's passwords and that such managers have standardized locations and ways of storing passwords which can be exploited by malware.

Blocking of password managers
Various high-profile websites have attempted to block password managers, often backing down when publicly challenged. Reasons cited have included protecting against automated attacks, protecting against phishing, blocking malware, or simply denying compatibility. The Trusteer client security software from IBM features explicit options to block password managers.

Such blocking has been criticized by information security professionals as making users less secure and that justifications are bogus. The typical blocking implementation involves setting autocomplete='off' on the relevant password web form. Consequently, this option is now ignored from Internet Explorer 11 on https sites, Firefox 38, Chrome 34, and in Safari from about 7.0.2.

A 2014 paper from researcher at the Carnegie Mellon University found that whilst browsers refuse to autofill if the protocol on the current login page is different from the protocol at the time the password was saved, some password managers would insecurely fill in passwords for the http version of https-saved passwords. Most managers did not protect against iframe and redirection based attacks and exposed additional passwords where password synchronization had been used between multiple devices.

See also 
 List of password managers
 Password fatigue
 Password management
 Security token
 Smart card
 Cryptography

References

External links
 

Password authentication
 
Identity management