Device‑bound secret
True possession
✔︎ Private key / TOTP seed on your device
SMS code
✘ Code generated remotely; no secret on device
A second factor must come from a different category. SMS codes only prove reachability of a phone number, not possession of a device.
It’s okay if you use SMS today. Let’s make it safer—and accurate in terms of factors.
Two factors ≠ two channels
Different factor means different category (knowledge, possession, inherence), not just a different delivery medium.
What possession requires
A device‑bound secret and live challenge–response. SMS has neither.
Reachability ≠ possession
Numbers can be ported, mirrored, or forwarded. Delivery doesn’t prove which device you have.
2FA means two different categories: something you know, something you have, or something you are. Any two distinct categories qualify. The problem we’re addressing is the false claim that SMS is a possession factor.
Why SMS fails as possession
SMS is a postcard to your number. If someone redirects your mail, they get your code. That’s not proof of possession—just delivery.
True possession
✔︎ Private key / TOTP seed on your device
SMS code
✘ Code generated remotely; no secret on device
True possession
✔︎ Cryptographic proof of possession
SMS code
✘ Whoever sees the code can use it
True possession
✔︎ No (tied to the device)
SMS code
✘ Yes (porting/mirroring/forwarding)
True possession
✔︎ Local generation / secure channel
SMS code
✘ Often unencrypted across telecom paths
Beyond SIM swaps and SS7 issues, researchers found unencrypted data broadcast by satellites — including SMS — accessible to anyone with the right equipment. If texts can be read from orbit, they’re not a trustworthy possession proof.
Source: University of California, San Diego and the University of Maryland, College Park (Oct 2025).
Common ways SMS breaks
Store a secret on your device and generate codes locally. Works offline. Examples: Aegis, 1Password, Authy, Google Authenticator.
Use a private key in a secure element to sign a server challenge. Phishing‑resistant and bound to your device.
“SMS works fine for me.”
It works—until someone else receives your texts. Possession must be proven on your device, not inferred from delivery.
“But SMS is better than nothing.”
Label it accurately: it’s an extra step of the knowledge factor, not a possession factor.
“Our carrier added extra checks.”
Good—but a routable number still isn’t a device‑bound authenticator.
“Is TOTP perfect?”
No factor is perfect. TOTP is possession but can be phished; passkeys add phishing resistance.