India is a country obsessed with security. We check both ways while crossing a one-way street. We double-check our locks and bolt our windows. We even have locks on our fridges. As part of this, we are also a country obsessed with One-Time Passwords (OTPs). OTPs are an easy way of adding a second layer of protection to our daily digital tasks. Whether making a bank transaction or logging into a service, you cannot proceed without entering the secret code sent to you via SMS in addition to your regular password. But are these OTPs as secure as we think?
Multi-factor authentication (MFA) uses multiple factors to establish identity instead of relying on just one, as in classical authentication.
Examples of factors include:
For most daily activities, two-factor authentication (2FA) is sufficient. SMS OTPs are a type of 2FA.
SMS OTPs aim to validate “something you have” (your phone), but they have several drawbacks:
Additionally, depending on SMS OTPs requires a functioning external network.
Biometric authentication validates “something you are,” like a fingerprint or facial scan. While seemingly secure, it has limitations:
Thus, biometric authentication is not ideal for widespread 2FA.
TOTPs validate “something you have,” such as a TOTP generator. Features include:
TOTPs use the current time and a pre-shared secret (seed) to generate a one-time password. They do not require a network connection.
Workflow Example:
TOTPs are a modern, secure, and reliable solution for 2FA, used by organizations like GitHub, Stripe, Yahoo, and UK Government Services. They are easy to implement, refresh, and secure against breaches.
The article advocates for TOTPs as the preferred method of 2FA for critical systems.
This article was written by Aaruni Kaushik.