A one-time password is a code that can be used only once to gain access to a service, a new one time password needs to be generated to be able to sign in again. The one-time password can be generated through a variety of means such as a mobile application, a physical security token, an SMS and more. These tokens are normally valid for a short time period before being refreshed and replaced with a new token.
Technipages Explains One-Time Password
By requiring a one time password as a second-factor, security is strengthened in two ways: Firstly, an attacker now has to know both the password and have access to the correct one time password. Secondly, if the attacker is able to perform a man in the middle attack and compromise the password and one-time password, the one-time password will not be valid for a second use in a replay attack.
One time password systems are relatively cheap and generally free for the end-user depending on the product, although businesses may pay for employee licences. Services that utilise a mobile application or SMS are normally free for users, services with a physical security token like the RSA token do have an associated cost.
The use of SMS as the second factor in the two-factor verification process providing the one-time passcode does carry a small risk as there are ways for messages to be intercepted and used by an attacker although these attacks are quite complex. The security community generally advises that SMS is better than not using a second factor one time passcode but that other platforms are generally more secure and should be preferred.
Common Uses of One-Time Password
- Hardware security tokens generally implement a time synchronised one-time password
- Some banks send a printed one time password to new users of their online banking systems.
- More often than not, one time passwords are part of a two-factor authentication system.
Common Misuses of One-Time Password
- One time passwords are only used for throwaway accounts.