Passkeys, Explained: Why the Server Can No Longer Hold a Copy of Your Password
The original sin of passwords: the server must hold something that can verify you
The fundamental flaw of passwords isn't weak choices — it's the model. To verify you, the server must hold an equivalent of your secret (even hashed). So every database leak instantly feeds a billion credentials into credential-stuffing dictionaries, and every phishing page harvests the secret straight from your hands. The password generator and strength checker only address "can the secret be guessed" — "can the secret be stolen" was never solved.
Passkeys replace the model itself: the server no longer holds any version of your secret.
How it works: one asymmetric signature at registration, one per login
Passkeys stand on two standards: W3C's WebAuthn (the browser API) and the FIDO Alliance's CTAP2 (the device protocol). Two flows:
Registration (once)
- The device generates an asymmetric key pair inside a secure chip (TPM / Secure Enclave)
- The private key never leaves the chip; the public key plus a credential ID go to the site for storage
Login (every time)
- The server issues a random challenge
- After the browser confirms the domain, the device asks for user verification (fingerprint / face / PIN)
- The device signs "challenge + domain hash" with the private key
- The server verifies the signature with the stored public key
No shared secret ever travels, and no replayable credential exists — a stolen signature can't forge the next one, and a stolen database can't produce a login.
Phishing resistance is structural, not probabilistic
TOTP codes can be relayed in real time by a phishing page (the attacker just asks you for "the 6 digits"). Passkeys can't be phished for a reason baked into the cryptography: the signature covers the target domain's hash (rpIdHash). A passkey registered on github.com simply refuses when invoked from githsb.com — the browser sees the domain mismatch and declines to produce a signature at all. Not "hard for the attacker" — the signature mathematically does not exist.
Capability table across three auth methods
| Capability | Password | TOTP | Passkey |
|---|---|---|---|
| What the server holds | password hash | shared seed | public key only |
| Consequence of database leak | credential stuffing | seed replay, limited surface | login impossible |
| Phishing resistance | no | weak (relayable) | yes (origin binding) |
| Quantum exposure | — | — | current Ed25519/ECDSA families are on Shor's list; PQC signatures (ML-DSA) are ready to slot in |
The last row is where passkeys intersect the post-quantum migration: their asymmetric foundation faces the same algorithm rotation, and fortunately WebAuthn's algorithm registry is extensible — a textbook case of crypto-agility.
Synced passkeys vs. device-bound passkeys
- Synced passkeys: the private key syncs across devices via platform keychains (iCloud / Google Password Manager) with end-to-end encryption — you keep your keys when you switch phones, at the cost of trusting the platform account
- Device-bound passkeys: the private key lives in exactly one security key or device, never syncing — the choice for banking and high-security contexts, at the cost of losing the device meaning losing the credential
The three enterprise hurdles
Passkey users passed a billion in 2026 and authentication volumes doubled year-over-year — but enterprise friction isn't about "does it work", it's about operations (the three issues named in KuppingerCole's 2026 report):
- Enrollment: how to guide existing accounts into adding a passkey (the natural window: password resets)
- Multi-device: cross-ecosystem sync (Android ↔ iPhone) still relies on QR scans / Bluetooth bridging
- Recovery: if the account recovery path degrades to SMS or email, that's the weakest link of the whole chain — recovery must match the strength of the primary authenticator
Implementer's note
Writing the site's TOTP tool made me acutely aware of the words "shared secret": TOTP's security depends on the server and client holding the same seed, with the 30-second window acting as a delay lock on top; passkeys dismantle that sharing entirely, at the price of moving trust into hardware. The other realization is the collapse of the strength-scoring mindset: password strength talks about entropy and dictionary attacks, but a passkey has no "guessable space" dimension at all — asymmetric signature security is measured by algorithm and key length, with nothing the user chose involved. That's why NIST-era password guidance shifts wholesale to hardware-side metrics like authenticator assurance levels in the passkey world.
Related reading
- Password generator guide (the previous chapter of the 2FA strength ladder)
- TOTP guide
- Post-quantum migration self-check (the algorithm layer of passkeys)
- JWT vs. sessions (after authentication: how to manage sessions)
Related Tools
Related Articles
Post-Quantum Migration Self-Check: From Algorithm Inventory to Hybrid TLS — 12 Things to Do in 2026
A practical self-check framework for PQC migration: why three overlapping regulatory timelines make 2026 the starting line, how to build a cryptographic bill of materials (CBOM), ranking by HNDL exposure, enabling X25519+ML-KEM hybrid TLS, and what crypto-agility means in practice. With a 12-item checklist.
PIPL PIA Self-Check: The Five Triggering Scenarios, Three Assessment Elements, and a Working Framework
China's Personal Information Protection Law (Articles 55-56) requires a prior Personal Information Protection Impact Assessment (PIA) for five categories of processing. This post covers the triggers, the statutory three-element report structure, the three-year retention requirement, and a data-map → risk-matrix → controls framework. With the MLPS/miping/PIA three-pillar relationship.
MLPS 2.0 (China's Cybersecurity Multi-Level Protection Scheme) Self-Check: GB/T 22239, Layer by Layer
A practical self-check framework before China's MLPS level-protection evaluation (dengbao ceping): the filing workflow, high-frequency items across the five technical and five management layers, level-2 vs. level-3 differences, how MLPS relates to the cryptographic assessment (miping), and a remediation order ranked by points-per-effort.