Multi-Factor Authentication (MFA)
A password proves only that someone knows a secret -- it says nothing about whether that someone is the legitimate account owner. Passwords are phished, stuffed from breach dumps, sprayed, and guessed at scale (see Passwords). MFA closes that gap by requiring proof of a second, independent factor before authentication succeeds. But not all MFA is equal: some factors stop real-time phishing attacks completely, while others -- SMS OTP in particular -- are routinely defeated by attackers today. This article ranks MFA options by real-world strength and aligns the guidance to NIST SP 800-63B (Digital Identity Guidelines) and the ACSC Essential Eight Maturity Model, the two reference frameworks most commonly required in security assessments.
Why Factor Choice Matters
MFA is not a single control -- it is a category of controls with very different failure modes. The attacks that matter most:
Real-Time (Adversary-in-the-Middle) Phishing
Tooling such as Evilginx and Modlishka sits a reverse proxy between the victim and the real login page. The victim enters their password and OTP/push approval into what looks like the real site; the proxy relays it to the real site in real time and steals the resulting session cookie. This defeats SMS OTP, authenticator app OTP (TOTP), and plain push notifications -- the user is doing everything "right" and still loses the account, because none of these factors are bound to the origin the user is actually talking to.
MFA Fatigue / Push Bombing
Attackers who already hold a valid password trigger repeated push notifications until the user approves one out of frustration or confusion (the technique used in the 2022 Uber and Cisco breaches). Plain "approve/deny" push is highly susceptible; number matching (the user must type a number shown on the login screen into the push prompt) substantially reduces this risk but does not eliminate phishing risk.
SIM Swapping and SS7 Interception
SMS-based OTP depends on the security of the mobile carrier and the telephone network, neither of which the relying party controls. SIM swaps (social-engineering a carrier into porting a number) and SS7 protocol attacks (intercepting SMS in transit) allow an attacker to receive the victim's OTP without touching the victim's device.
Malware and Session Token Theft
Infostealer malware increasingly targets browser session cookies and locally stored TOTP seeds directly, bypassing the authentication step entirely once a device is compromised. This is a defense-in-depth argument for hardware-backed factors (private keys that never leave a secure element) over software-based ones.
The only factor class that resists adversary-in-the-middle phishing is one that cryptographically binds the authentication response to the specific origin (domain) being authenticated against. This is what NIST calls "verifier impersonation resistance" and what is commonly called phishing-resistant MFA: FIDO2/WebAuthn and PKI-based certificates. Everything else -- OTP, push, SMS -- can be phished or relayed by a sufficiently motivated attacker regardless of how "strong" the underlying code generation is.
Recommended Order of Strength
Ranked strongest to weakest, based on resistance to phishing, SIM/network attacks, and fatigue-style social engineering:
| Rank | Factor | Phishing-Resistant | Primary Weakness | Notes |
|---|---|---|---|---|
| 1 | FIDO2 / WebAuthn hardware security key (e.g. YubiKey) | Yes | Physical loss/theft of the key (mitigated by PIN/biometric unlock) | Private key generated and held in hardware, never leaves the device; cryptographically bound to the origin |
| 2 | Platform passkey / Windows Hello for Business (hardware TPM) | Yes | Device compromise at the OS level | Biometric or PIN unlocks a hardware-backed key (TPM/Secure Enclave); device-bound passkeys are stronger than synced ones for high-assurance use |
| 3 | PKI smart card / certificate-based auth (PIV/CAC, AD CS-issued certs) | Yes | Certificate/key lifecycle management overhead | Common in government and regulated environments; pairs with mTLS for service-to-service trust |
| 4 | Synced passkey (cloud-synced across a vendor ecosystem, e.g. iCloud Keychain, Google Password Manager) | Yes | Compromise of the cloud account the passkey is synced through | Phishing-resistant in the same way as device-bound passkeys, but the private key's exposure surface is the sync account, not a single device |
| 5 | Authenticator app push with number matching (Microsoft Authenticator, Duo Verified Push) | No | Still relayable via a real-time phishing proxy | Number matching defeats blind "approve" fatigue attacks but not adversary-in-the-middle relay |
| 6 | TOTP authenticator app (Google Authenticator, Authy, Microsoft Authenticator OTP) | No | Real-time phishing relay; seed extraction from a compromised device | Far stronger than SMS since it isn't interceptable over the phone network, but the 30-second code can still be relayed live |
| 7 | Push notification without number matching | No | MFA fatigue / push bombing | A single tap approves; attacker only needs the user to get impatient or confused |
| 8 | Hardware OTP token (RSA SecurID-style) | No | Real-time phishing relay | No SIM-swap/SS7 exposure since it's not carrier-dependent, but still just a code that can be relayed |
| 9 | Email OTP / magic link | No | Depends entirely on email account security; often itself protected by weaker or no MFA | Effectively delegates account security to the email provider |
| 10 | SMS OTP | No | SIM swap, SS7 interception, real-time phishing relay | Weakest widely-deployed factor; NIST designates it a restricted authenticator requiring compensating controls |
| -- | Security questions / knowledge-based "authentication" | No | Answers are guessable, phishable, or discoverable via OSINT/breach data | Not a genuine second factor -- it is another memorized secret. Should never be used to satisfy an MFA requirement |
Practical takeaway: default new deployments to rank 1-3 (FIDO2/passkeys/smart cards) for anything privileged or sensitive. Use rank 5-6 as a realistic minimum baseline for general workforce and consumer accounts where hardware keys aren't yet feasible. Treat SMS and email OTP (ranks 9-10) as a last-resort fallback only, never the primary or only factor.
Alignment with NIST SP 800-63B
NIST SP 800-63B defines three Authenticator Assurance Levels (AAL), each requiring progressively stronger proof of factor possession:
| AAL | Requirement | Permitted Authenticators | Typical Use |
|---|---|---|---|
| AAL1 | Single-factor or multi-factor authentication using any NIST-listed authenticator type | Memorized secret, OTP device, look-up secret, single- or multi-factor crypto software/hardware | Low-risk services; minimum baseline |
| AAL2 | Two distinct authentication factors, using approved cryptographic techniques where applicable | Multi-factor OTP/crypto software or hardware; or a single-factor crypto device/OTP device combined with a memorized secret | Most workforce and consumer applications handling sensitive data |
| AAL3 | Everything in AAL2, plus a hardware-based authenticator that provides verifier impersonation resistance (phishing resistance) | FIDO2/WebAuthn security key, PIV/CAC smart card -- effectively ranks 1-3 in the table above | Privileged accounts, high-value systems, government/regulated environments |
Two details from SP 800-63B that materially change common practice:
- SMS is a "restricted authenticator." NIST does not ban it outright, but requires the organization to document additional risk mitigations (e.g. verifying the OTP isn't delivered over VoIP, providing an alternate phishing-resistant path) and to have a migration plan away from it. Treat any continued use of SMS OTP as a documented, time-limited exception, not a steady-state control.
- AAL3 is defined by verifier impersonation resistance, not merely "two factors." An organization can have "MFA everywhere" and still sit at AAL2 if every factor in use is OTP- or push-based. Reaching AAL3 requires phishing-resistant hardware authenticators specifically.
Alignment with the ACSC Essential Eight
Multi-factor authentication is one of the eight mitigation strategies in the Australian Cyber Security Centre's Essential Eight, and its Maturity Model (as updated November 2023) is explicitly built on NIST SP 800-63B's authenticator types. The Essential Eight is scored across three maturity levels, and the bar for MFA rises significantly between ML1 and ML2:
| Maturity Level | Key Requirements | Phishing-Resistant Required? |
|---|---|---|
| ML1 | MFA used for users authenticating to the organization's online services and third-party services handling organization-sensitive data. Factor composition: something you have + something you know, or something you have unlocked by something you know/are. | No -- OTP, push, and app-based methods are acceptable (SMS/email OTP still excluded) |
| ML2 | Everything in ML1, plus MFA required for both privileged and unprivileged users of systems (not just online services). | Yes -- MFA for online services and systems must be phishing-resistant |
| ML3 | Everything in ML2, plus MFA required for users of important data repositories. | Yes -- extends the ML2 phishing-resistance requirement to data repositories as well |
At every maturity level, successful and unsuccessful MFA events must be centrally logged, and those logs must be protected from unauthorized modification or deletion (a requirement from ML2 onward in most implementation guidance).
Authenticator types explicitly excluded from ML1 upward: SMS sign-in and email OTP are not permitted authenticators at any Essential Eight maturity level. From ML2 onward, this exclusion extends to essentially every non-phishing-resistant method: authenticator app push (with or without number matching), authenticator app OTP, OATH hardware/software tokens, and password-plus-device-compliance checks. The only authenticator category permitted at ML2 and ML3 is "multi-factor crypto hardware" -- FIDO2 security keys, hardware-backed passkeys, smart cards, and Windows Hello for Business backed by a hardware TPM.
Practical implication: an organization that has deployed authenticator-app push or TOTP everywhere has satisfied ML1, but is capped there. Reaching ML2 or ML3 -- required by many Australian government and regulated-sector contracts -- requires a genuine migration to hardware-backed, phishing-resistant authenticators, not just "turning MFA on."
Implementation Guidance by Use Case
| Use Case | Minimum Recommended Factor | Rationale |
|---|---|---|
| Privileged/admin accounts (domain admin, cloud admin, PAM-managed) | FIDO2 hardware key or smart card -- no exceptions | Highest-value target; compromise has organization-wide blast radius |
| Remote access / VPN | Certificate-based auth or FIDO2 | Remote access is a primary target for credential theft and is explicitly called out in Essential Eight ML1+ |
| Standard workforce accounts | Authenticator app with number matching, migrating to passkeys | Realistic baseline where hardware keys aren't yet rolled out; plan a phishing-resistant migration |
| Customer-facing consumer accounts | Passkeys offered and encouraged; TOTP acceptable fallback | Balances phishing resistance with the reality of BYOD and low support overhead |
| Break-glass / emergency access accounts | Hardware token stored under sealed, audited physical control | Must remain accessible if the primary identity provider is unavailable, but cannot be a routine backdoor |
| Legacy systems that cannot support modern MFA | Isolate behind a phishing-resistant-protected jump host or VPN | Do not weaken the organization's MFA baseline to accommodate a legacy application -- wrap it instead |
Common Pitfalls
- Legacy authentication protocols left enabled. IMAP, POP3, and legacy SMTP AUTH frequently bypass MFA entirely because they predate conditional access frameworks. Disable legacy auth protocols organization-wide before claiming MFA coverage.
- No number matching on push notifications. Plain approve/deny push is the leading cause of successful MFA-fatigue compromises. Enable number matching as an immediate, low-cost mitigation while planning a phishing-resistant migration.
- Conditional access exclusions for "trusted" locations. Excluding MFA for users on the corporate LAN or a known IP range undermines the control -- Essential Eight ML1 explicitly requires MFA regardless of sign-in location.
- Single registered factor with no backup. Users who lose their only MFA device generate helpdesk load and pressure to create insecure workarounds. Require at least two independent registered factors per user.
- Recovery/backup codes stored insecurely. Backup codes are a bearer secret equivalent to a password -- if stored in plaintext notes or shared inboxes, they undermine the entire control.
- Treating "MFA enabled" as binary. An organization can have 100% MFA coverage and still be trivially phishable if every factor in use is OTP- or push-based. Track which factors are deployed, not just whether MFA is on.
Hardening Checklist
| Control | Priority | Notes |
|---|---|---|
| MFA enforced for all user accounts, all sign-in locations | Critical | No exclusions for "trusted" networks (Essential Eight ML1) |
| MFA enforced for privileged and unprivileged access to systems | Critical | Not just online services/portals (Essential Eight ML2) |
| Phishing-resistant MFA (FIDO2/WebAuthn, smart card) for privileged/admin accounts | Critical | Required for NIST AAL3 and Essential Eight ML2+ |
| Phishing-resistant MFA for remote access / VPN | Critical | Remote access is a primary credential-theft target |
| SMS and email OTP eliminated or documented as a time-limited exception | High | Restricted authenticators per NIST SP 800-63B; excluded outright by Essential Eight |
| Number matching enabled on all app-based push authentication | High | Mitigates MFA fatigue / push bombing while phishing-resistant rollout is in progress |
| Legacy authentication protocols (IMAP, POP3, legacy SMTP AUTH) disabled | Critical | Common MFA bypass path |
| At least two independent factors registered per user | Medium | Prevents lockouts and insecure helpdesk workarounds |
| MFA success and failure events centrally logged | High | Required at Essential Eight ML2+; feed to SIEM |
| MFA event logs protected from modification/deletion | High | Essential Eight ML2+ |
| Break-glass accounts use hardware tokens under sealed physical control | High | Must bypass conditional access carefully, with monitoring and alerting on use |
| Backup/recovery codes issued and stored as securely as passwords | Medium | Treat as a bearer secret |
| Roadmap in place to migrate from OTP/push to phishing-resistant hardware authenticators | High | Required to progress past Essential Eight ML1 / NIST AAL2 |
References
- NIST SP 800-63B -- Digital Identity Guidelines: Authentication and Lifecycle Management
- ACSC Essential Eight Maturity Model
- ACSC -- Implementing Multi-Factor Authentication
- CISA -- Implementing Phishing-Resistant MFA
- OWASP Multifactor Authentication Cheat Sheet
- FIDO Alliance -- FIDO2 and WebAuthn Overview
- Passwords