Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help


title: “Passkeys (FIDO2/WebAuthn)” created: 2026-10-23 updated: 2026-10-23 type: knowledge tags:

  • aws
  • iam
  • security
  • certification
  • authentication
  • mfa

Passkeys (FIDO2/WebAuthn)

What It Is

A passkey is a phishing-resistant authentication credential based on public-key cryptography (the FIDO2 / WebAuthn standard). A key pair is generated: the private key never leaves the authenticator (e.g. 1Password, a hardware key, or the device’s secure enclave), and the public key is registered with the service (e.g. AWS).

Do NOT confuse a passkey with AWS access keys. Access keys (Access Key ID + Secret Access Key) are long-lived programmatic credentials for the CLI/SDK/API. A passkey is an interactive sign-in / MFA credential — a completely different thing.

Why It Matters

Passkeys are the strongest practical sign-in method for the AWS Console because they are resistant to phishing: a fake AWS login page cannot capture a reusable secret, since nothing reusable is ever transmitted. They are recommended for high-value identities such as the root user and admin IAM users.

Key Concepts

TermMeaning
Private keySecret half, stored in the authenticator, never shared
Public keyRegistered with the relying party (AWS) for verification
Relying partyThe service verifying the login (AWS Console)
AuthenticatorWhere the private key lives (1Password, YubiKey, device enclave)
ChallengeRandom value AWS sends; the authenticator signs it with the private key

Passkey vs TOTP (MFA)

  • TOTP (6-digit code, e.g. 1Password Auth-App): a shared secret both sides know; phishable if the user is tricked into typing the code on a fake site.
  • Passkey: origin-bound signature; the authenticator refuses to sign for the wrong domain, so it cannot be phished.

Usage in AWS

A passkey on the AWS Console can be used:

  1. As a phishing-resistant MFA second factor (on top of a password), or
  2. As a full sign-in credential, depending on the AWS sign-in flow and identity type.

Applicable to the root user and IAM users sign-in (signin.aws.amazon.com).

How It Works

  1. Registration: authenticator generates a key pair, sends the public key to AWS.
  2. Sign-in: AWS sends a challenge → authenticator signs it with the private key.
  3. AWS verifies the signature with the stored public key. No password is transmitted.

Examples

  • Root user: register a passkey (in 1Password) as a strong MFA/sign-in method, while keeping the existing TOTP MFA as a backup factor.
  • Admin IAM user (benoitAsAdmin): same approach — passkey plus a fallback factor.

Gotchas

  • Single point of failure: if the passkey lives only in 1Password, access to the 1Password vault becomes the single point of failure for the AWS root. Always keep a second MFA method registered on each identity; never leave root with only one.
  • Recovery: keep the 1Password Emergency Kit and master password stored offline.
  • Not for the CLI: passkeys cover interactive Console sign-in, not aws login (SSO) or programmatic access. Daily CLI access still goes through Identity Center.
  • A passkey is not an AWS access key — different purpose, different lifecycle.

See Also

  • [[iam-users]]
  • [[iam-sign-in-url]]
  • [[iam-groups]]