Multi-factor authentication is widely recommended as the primary defence against account takeover. This is correct — but it comes with an important caveat: most commonly deployed MFA methods do not resist phishing. Understanding which methods are genuinely phishing-resistant, and why, is critical for anyone making security decisions about their accounts or organisation.
MFA Phishing Resistance: The Full Ranking
| MFA Method | Phishing-resistant | Why / Why not | NIST AAL |
|---|---|---|---|
| FIDO2/WebAuthn hardware key | ✓ Yes | Cryptographic origin binding — cannot authenticate on wrong domain | AAL3 |
| Passkeys (device-bound) | ✓ Yes | Same origin binding as hardware keys — platform-managed | AAL2–3 |
| TOTP authenticator app | ✗ No | Codes can be forwarded in real-time AiTM attacks | AAL2 |
| Push notification (Duo, Microsoft) | ✗ No | MFA fatigue attacks — attackers spam push until user approves | AAL2 |
| SMS OTP | ✗ No | Forwardable + SIM swap + SS7 interception | AAL1 |
| Email OTP | ✗ No | Forwardable + email account compromise | AAL1 |
The Real-Time Phishing Attack (AiTM)
An adversary-in-the-middle (AiTM) phishing attack works as follows: the attacker sets up a proxy site that presents a legitimate-looking login page. When you enter your credentials and TOTP code, the proxy immediately forwards them to the real site. The real site responds with a valid session — the proxy captures this and delivers it to the attacker. The entire process completes in seconds, within the 30-second validity window of a TOTP code.
This attack defeats: TOTP, push notifications, SMS OTP, and email OTP — all four common MFA methods. It does not defeat FIDO2/WebAuthn because the cryptographic challenge is origin-bound and the phishing proxy cannot forge the real domain in the signed challenge.
Why FIDO2 Is Categorically Different
CISA's Implementing Phishing-Resistant MFA guidance is explicit: "phishing-resistant MFA" means specifically FIDO2/WebAuthn and Smart Cards (PIV). All other MFA methods, while better than no MFA, are categorised as not phishing-resistant.