Crystallize logo

What Is Two-Step Verification? 2FA, Passkeys, and WebAuthn Explained

Two-step verification is an account security process that requires users to complete two verification steps before gaining access.

A common example combines a password with a one-time code from an authenticator app. When the steps use two independent authentication factors, the process qualifies as two-factor authentication (2FA), a form of multi-factor authentication (MFA).

Passwords alone aren't particularly reliable protection. They can be reused, leaked, guessed, or stolen through phishing.

Two-step verification adds another check, making unauthorized access harder even if an attacker obtains a password.

However, not every two-step verification method provides the same level of security.

And with passkeys and WebAuthn, the familiar password-plus-code approach is no longer the only option.

How Does Two-Step Verification Work?

The traditional two-step verification process involves two consecutive checks.

First, the user enters a username and password.

Second, the service requests additional verification, usually through an authenticator application, hardware security key, or one-time code. Access is granted only after the required checks succeed. This helps protect accounts against password compromise.

For example, if someone steals your password through a phishing email, they may still be unable to access your account without the additional verification step.

However, some attacks can capture or relay one-time codes. Two-step verification significantly improves security, but its protection depends on the method you choose.

Two-Step Verification vs. Two-Factor Authentication vs. MFA

These terms are often used interchangeably, but they aren't identical.

Two-step verification describes an authentication process involving two verification stages.

Two-factor authentication (2FA) requires two independent authentication factors from different categories.

Multi-factor authentication (MFA) requires two or more independent authentication factors.

Authentication factors typically fall into three categories:

  • Something you know: A password or PIN.
  • Something you have: An authenticator device, hardware security key, or cryptographic credential.
  • Something you are: A biometric characteristic such as a fingerprint or facial recognition.

Entering two passwords involves two steps but only one factor category.

A password combined with a possession-based authenticator is an example of 2FA.

For a broader explanation, see What Is Multi-Factor Authentication (MFA)?.

What Are Common Two-Step Verification Methods?

SMS and Email Verification Codes

After entering a password, users receive a temporary verification code through SMS or email. These methods are widely supported and easy to understand.

However, SMS codes are vulnerable to attacks such as SIM swapping and phishing. Email-based codes can also be compromised when the email account itself is insecure.

They provide additional protection over passwords alone but aren't the strongest available authentication methods.

Authenticator Applications

Applications such as Google Authenticator and Microsoft Authenticator generate time-based one-time passwords (TOTP). The codes usually change every 30 seconds.

Authenticator apps avoid some risks associated with SMS delivery, although users can still be tricked into entering codes on fraudulent websites.

Hardware Security Keys

Hardware security keys, such as supported YubiKey devices, can use cryptographic authentication to verify a user's identity.

When configured with FIDO2/WebAuthn, security keys provide phishing-resistant authentication by binding credentials to the legitimate website.

They are particularly useful for protecting accounts with access to sensitive business systems.

Biometric Authentication

Fingerprint and facial recognition can unlock an authentication credential on a device.

Biometrics aren't necessarily transmitted to the website. In modern passkey implementations, biometric verification typically happens locally to authorize use of a cryptographic credential.

What Are Passkeys and How Do They Improve Authentication?

Passkeys are a modern authentication method that replaces passwords with cryptographic credentials. Instead of requiring users to remember a password and enter a separate code, passkeys use public-key cryptography. When a passkey is created, the authentication system generates a public-private key pair.

The service registers the public key. The private key remains protected by an authenticator, such as a device or credential manager.

During login, the authenticator signs a challenge, and the server verifies it using the public key. Users typically authorize the operation through device biometrics, a PIN, or another local verification method.

The critical advantage is that passkeys are bound to the legitimate service, making them resistant to conventional credential phishing. An attacker cannot simply create a convincing imitation login page and capture a reusable password or one-time code.

Passkeys can provide a passwordless, multi-factor authentication experience when the authenticator combines credential possession with local user verification.

What Is WebAuthn?

Web Authentication (WebAuthn) is a web standard developed through the W3C and FIDO ecosystem. It enables websites and applications to use public-key credentials for secure authentication. WebAuthn defines browser-facing interfaces for registering and using authenticators.

Passkeys build on WebAuthn and related FIDO standards to provide a more convenient authentication experience.

The distinction is useful:
WebAuthn is the technical interface. Passkeys are credentials and user experiences built using that technology.

Developers can use WebAuthn to support phishing-resistant authentication without requiring users to enter traditional passwords.

Why Does Authentication Matter in Ecommerce?

E-commerce businesses manage sensitive customer information, account details, administrative privileges, and financial workflows.

A compromised customer account can expose personal information or enable unauthorized purchases.
A compromised administrator account can be considerably worse.
Attackers may gain access to product information, customer records, pricing configurations, or operational tools.

In headless ecommerce, authentication often involves several connected systems, including storefronts, identity providers, administrative applications, and backend APIs.

Secure authentication must therefore work alongside authorization, session management, and role-based permissions.

Verifying someone's identity doesn't automatically mean they should have access to every system.

Which Authentication Method Should You Choose?

For new applications, prioritize phishing-resistant authentication methods such as passkeys and FIDO2 security keys where supported.

For existing password-based systems, authenticator apps provide stronger protection than passwords alone.

SMS verification can serve as a fallback when stronger methods are unavailable, but it shouldn't automatically be the preferred method for sensitive accounts.

Also consider account recovery. A secure login process loses much of its value if attackers can bypass it through weak recovery procedures.

For businesses, authentication balances security, usability, operational support, and recovery.

The objective isn't simply to add another login step. It's to make account compromise harder without making legitimate users fight their own security system.