A password manager is software that helps a user organize passwords and PIN codes. The software typically has a local database or a file that holds the encrypted password data for secure logon onto computers, networks, web sites and application data files. Many password managers also work as a form filler, thus they fill the user and password data automatically into forms. These are implemented using a browser extension, smart card application or USB stick application that communicates to the browser or other application.
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 don't 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 in 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 come in five often-combined flavors:
- Desktop - desktop/laptop software storing passwords on a computer hard drive.
- Portable - portable software storing passwords and program on a mobile device, such as a PDA, smart phone, or as a portable application on a USB memory stick.
- Token - credentials are protected using a security token, thus typically offering multi-factor authentication by combining "something you have" (smart card or USB stick) , "something you know" (PIN or password) and/or "something you are" (biometrics - such as a fingerprint, hand, retina, or face scanner).
- Web-based - Online password manager where passwords are viewed and copied to/from a provider's website.
- Cloud-based - Online password manager where credentials are stored on a service provider's servers on the Internet, but handled by password management software running on the client's machine.
- Stateless - Passwords are generated on the fly from a master passphrase and a tag using a key derivation function.
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 don't 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.
Password managers can protect against keyloggers or keystroke logging malware. 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 you have) the PIN does the user 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.
Desktop password managers and browser based password managers are convenient, however they often do not provide any protection for stored passwords. If the computer is on, it is possible for another individual to access the password manager and read the user's password. This situation is improved slightly by requiring the user to enter a password to access the repository, however 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. This demonstrates the inverse relation between usability and security: a single password may be more convenient (usable), but if compromised would render all of the held passwords compromised.
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 again is vulnerable to key loggers which take screenshots as data is entered.
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, or installing more memory can prevent this risk.
Online password manager 
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 - also 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 you trust the hosting site and a keylogger is not on the computer you’re using. With servers and the cloud being a focus of cyber attacks, how one authenticates into the online service and that the passwords stored there are encrypted with a user defined key are just as important. Again, users tend to circumvent security for convenience. Another important factor is whether one or two way encryption is used.
The use of a web-based password manager is an alternative to single sign-on techniques, such as OpenID or Microsoft's Windows Live ID scheme (formerly Passport), or may serve as a stop-gap measure pending adoption of a better method.
Security token password managers 
Security tokens like smart cards or secure USB flash devices are seen by security experts as the best way to authenticate users, since many require multi-factor authentication. 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. Some of the other advantages include: tokens can also be either contact or contactless smart card, stand-alone client based or tied into active directory. These tokens can be combined with RF ID badges for building access and use other security protocols like single sign-on (SSO), one-time passwords (OTP) and public-key infrastructure (PKI) instead of passwords to establish the trust. These tokens can be thought of as the key to secure the virtual front door.
The disadvantages include the different costs of ownership. Some implementations require back end server modifications, extensive training, server-to-token synchronization, outside certificate authorities and expensive tokens. Others may be less expensive to implement and have a lower cost of ownership, but many not support authentication, authorization, data integrity and non-repudiation. It's not that one token solution is better than another, but rather which is right for your environment, risk and budget.