A time-based one-time password (TOTP) is a form of two-factor authentication (2FA) that generates a one-time password (OTP) as the second factor, which changes at regular intervals. TOTPs come in different token forms. Hardware tokens are usually key fobs like YubiKeys or RSA SecurID hardware tokens that display a code on the device. Software tokens are usually authenticator apps like Google Authenticator or Microsoft Authenticator. As the TOTP code changes at regular intervals, it makes it harder for attackers to launch replay attacks and gain access to your account .
A TOTP adds an extra layer of security beyond a username and password. It offers a smoother user experience as the code is generated on the device without needing an internet connection. This removes potential delays and increases functionality. Also, many TOTP authenticator apps are free and support a wide range of services and applications.
A TOTP uses two inputs to generate a code: a static secret key (a seed) that the token shares with the server and a moving factor (Unix time) that changes every time an OTP is requested. During registration, the server generates the seed, which gets stored in the database and on the client's device.
TOTP authentication works in four steps:
TOTP authenticators come in different forms. Software authenticators can be installed on phones, while hardware authenticators require you to carry security keys.
ADSelfService Plus is an identity security solution with adaptive MFA that supports a wide range of authenticators, including TOTP authentication. By configuring a TOTP authenticator, you can seamlessly log in to Windows, macOS, or Linux; access a wide range of enterprise applications through single sign-on; and perform self-service password resets and account unlocks.
When a user tries to log in, the client generates a time-based code using an authenticator app or a key fob. This code is sent to the server for validation. The server generates another code simultaneously. If the two codes match, the user is successfully logged in.
First, you will need to register your TOTP authenticator and get the seed (the shared secret key). After doing this, whenever you try to log in, the client will use the seed to generate a TOTP code. This code will be displayed on your key fob or authenticator app for a short period before changing. Use this TOTP code to log in.
A TOTP is a form of 2FA that uses a time-based OTP as the second factor.
Yes, a TOTP is better than an OTP as the code is unique for each login and changes after a set period. TOTPs also work offline, unlike OTPs delivered via SMS messages, which can be intercepted.