All articles
2FAApril 15, 20265 min

Two-Factor Authentication: Why SMS Is Bad and TOTP Is Good

Why Do I Need 2FA If I Have a Strong Password?

Even a perfect password can leak through phishing, data brokers, or a third-party breach. A second factor makes a stolen password useless without physical access to your device.

2FA Method Hierarchy (Weakest to Strongest)

❌ SMS Codes — worst option

  • SIM-swapping: attackers convince your carrier to transfer your number to their SIM
  • SS7 attacks: technical vulnerabilities in telephony protocols
  • Interception on public networks

That said, SMS is still better than nothing.

⚠️ Authenticator Apps (TOTP) — good

Google Authenticator, Aegis, Raivo — generate a one-time 6-digit code every 30 seconds. Codes don't travel through the phone network; only vulnerable to real-time phishing.

Recommendation: use Aegis (Android) or Raivo (iOS) — with encrypted backup support.

✅ Hardware Keys (FIDO2/WebAuthn) — best option

YubiKey, Google Titan Key — physical USB/NFC keys. Cannot be intercepted remotely. Phishing-resistant — the key is bound to a specific domain.

✅✅ Passkeys — the future is here

Passkeys (supported on iOS 17+, Android 14+, Windows 11) fully replace password + 2FA. On-device biometrics + cryptographic key. Cannot leak or be intercepted.

How to Set Up TOTP Right Now

  1. Download Aegis Authenticator (Android) or Raivo OTP (iOS)
  2. Go to security settings of your account (Google, GitHub, email)
  3. Find "Two-factor authentication" → "Authenticator app"
  4. Scan the QR code
  5. Save backup codes in your password manager or print them

Tips

  • Always enable 2FA on: email, banking, password manager, GitHub, social media
  • When registering on new services, use a temporary email — spammers won't get your real address and can't attack through it
  • Never enter a 2FA code on request from "support" — that's phishing