← Back to list

The engine under the hood of a password manager (a security engineer’s view)

Below is how a security engineer models a password manager: what keys exist, how they’re derived, where secrets live, and how data moves…

Cube1214 · 2025-11-20 15:54 · 1 claps · 6.0 min read
#1password #passkey #software-engineering #passwords #password-management
Open on Medium ↗
Wiki topics: BIZ · Business Strategy

The engine under the hood of a password manager (a security engineer’s view)

Below is how a security engineer models a password manager: what keys exist, how they’re derived, where secrets live, and how data moves. Each section starts with a quick “why this matters,” then dives into vendor-backed specifics.

1) Unlock pipeline (KDFs & local key hierarchy)

Why this matters: If an attacker ever gets a copy of your encrypted vault, the strength and type of key-derivation function (KDF) and any extra secret material determine how hard offline cracking will be.

Modern managers stretch a master secret into a high-entropy key before any vault decryption:

  • Bitwarden supports Argon2id (memory-hard) and PBKDF2-SHA256; Argon2id is available to new and existing accounts and is the OWASP-recommended variant. Keys are derived client-side and never leave the device. (Bitwarden)
  • 1Password mixes two secrets — your Account Password and a high-entropy Secret Key — in a “two-secret key derivation” design and uses SRP so the password/Secret Key aren’t sent to the server. (1Password)
  • LastPass derives encryption keys client-side with PBKDF2-SHA256 and (for new or updated accounts) a minimum of 600,000 rounds. (LastPass Support)
  • Dashlane documents a zero-knowledge model with local key derivation and passwordless/SSO flows that still preserve end-to-end encryption. (dashlane.com)
  • Keeper uses a client-side key hierarchy (record, folder, data/app keys) derived from a master password or SSO device credentials. (Keeper Docs)

2) Vault encryption at rest (device & cloud)

Why this matters: Even with perfect auth, your provider will store ciphertext. Strong, authenticated encryption before sync — and sane key wrapping — protects you if servers or backups are compromised.

  • Bitwarden encrypts vault items locally with AES-256-CBC + HMAC-SHA256 (encrypt-then-MAC) and uses RSA-OAEP for sharing. (Bitwarden)
  • 1Password performs end-to-end encryption with item/vault keys generated on-device and uses authenticated encryption for items (white paper section “How vault items are secured”). (1Password)
  • Keeper encrypts each record with its own AES-256 key (GCM), wraps keys up the hierarchy, and even adds a per-request AES-256 transmission key on top of TLS. (Keeper Docs)
  • Dashlane stores only ciphertext; vaults are encrypted locally under a zero-knowledge design. (dashlane.com)

3) Authentication to the vendor & sync channel

Why this matters: You want authentication that doesn’t give the server enough to run offline guesses, and a transport that assumes TLS might fail.

  • 1Password uses SRP so credentials aren’t revealed and not even a verifier enables cracking; its white paper also documents an additional, authenticated transport layer over TLS. (1Password)
  • Dashlane separates device authentication from data-encryption keys and supports passwordless/SSO while keeping vaults E2E-encrypted. (dashlane.com)
  • Keeper keeps decryption local, then wraps every server payload with an extra AES transmission key in addition to TLS. (Keeper Docs)
  • Bitwarden/LastPass: client-side key derivation + TLS; servers store encrypted blobs. (See their security/help docs.) (Bitwarden)

4) OS keystore & browser-integrated managers (Microsoft)

Why this matters: Built-in managers bind secrets to the OS logon; an attacker with a disk image (or even admin) shouldn’t decrypt your browser-stored passwords without your sign-in context.

  • Windows DPAPI (CryptProtectData / .ProtectedData) encrypts secrets to the current user or machine context; only the right logon can unprotect them. Browser managers on Windows (e.g., Edge) build on this. (Microsoft Learn)
  • Microsoft Edge Password Manager: passwords are encrypted so they can only be accessed when that OS user is logged in; admin or offline access is designed not to yield plaintext. (Microsoft Learn)
  • Extra gating: Edge supports “device/biometric authentication before autofill” via policy and user-facing settings (a custom “primary password” option). (Microsoft Learn)
  • Microsoft’s direction: Authenticator removed password autofill in 2025 and consolidated credentials in Edge; passkeys remain supported. (Microsoft Support)

5) Autofill, extensions, and origin binding

Why this matters: Most real-world risk appears at fill time. Good managers verify the page origin and require a local “unlocked” state (often gated by device auth).

  • Edge policies can force a device prompt before any fill (BiometricAuthenticationBeforeFilling). That makes shoulder-surfing or quick walk-ups far less useful to an attacker. (Microsoft Learn)

6) Enterprise concerns (SSO, recovery, sharing)

Why this matters: Org deployments live or die on account recovery and least-privilege sharing — without breaking zero-knowledge.

  • Dashlane: admin-gated recovery and passwordless/SSO options that still keep the provider blind to vault contents. (dashlane.com)
  • 1Password: well-documented recovery, two-secret model, and SRP to prevent verifier reuse; SSO unlock best-practices are documented. (1Password)
  • Keeper: granular record/folder keys and org policy; SSO/passwordless users use ECC at the device level. (Keeper Docs)

7) Passkeys inside password managers

Why this matters: Passkeys (FIDO2/WebAuthn) remove shared secrets entirely. If your manager stores passkeys, its E2E model now protects private keys, not just passwords.

  • Bitwarden can store and autofill passkeys across apps/extensions; you can also log in to Bitwarden itself with a passkey. (Bitwarden)
  • 1Password supports saving and using passkeys on Windows, browsers, and mobile; it can also unlock with a passkey (documented design for device keys). (1Password)
  • Microsoft Edge now supports saving & syncing passkeys with Microsoft Password Manager in Edge. (Windows Blog)
  • Windows/Entra: native FIDO2/passkeys and Windows Hello for Business provide phish-resistant sign-ins you can pair with (or move toward instead of) passwords. (Microsoft Learn)

8) Practical review checklist (security engineer’s lens)

Why this matters: Vendors market features; you want testable, cryptographic claims tied to defaults and policy controls.

  • KDF defaults: Is Argon2id available and encouraged? If PBKDF2, what iteration floor (e.g., LastPass ≥600k for new/updated accounts)? (Bitwarden)
  • Extra secret: Do they add a device-held secret (like 1Password’s Secret Key) so a breached server verifier isn’t enough? (1Password)
  • Item encryption: Is it authenticated encryption with sound key wrapping (e.g., Bitwarden’s AES-CBC-HMAC; Keeper’s per-record AES-GCM)? (Bitwarden)
  • Auth channel: Is there a PAKE (e.g., SRP) or equivalent that prevents credential disclosure? Any additional transport encryption beyond TLS? (1Password)
  • OS binding: On Windows, does the browser-stored manager rely on DPAPI and enforce “user must be logged in” semantics? (Microsoft Learn)
  • Autofill gating: Can you force device/biometric auth before fill (Edge policy/support)? (Microsoft Learn)
  • Passkeys: Does the manager store passkeys E2E and interoperate cleanly with platform passkeys? Are exports/imports documented? (Bitwarden)

Conclusion — what to look for before you choose

Favor products whose defaults already meet your bar:

memory-hard KDFs (or a second secret like 1Password’s), authenticated, client-side encryption of item data, PAKE-style auth (no reusable password verifiers), robust key hierarchy for sharing/recovery, tight OS binding (DPAPI on Windows), policy controls to gate autofill behind device auth, and first-class passkey support so you can shift away from shared secrets. If a vendor can’t point to public docs/white papers that explain these choices, keep looking. (Bitwarden)

Guide for the tech novice

Think of a password manager like a safe you open with a combo, where the safe is built on your device. The good ones:

  1. make guessing the combo painfully slow (KDF),
  2. lock each note inside its own mini-box (per-item encryption),
  3. never learn your combo, and
  4. ask your computer/phone to confirm it’s really you before auto-typing anything.

The newest step up is passkeys — they’re like keys cut to your device that websites accept instead of passwords; your manager can keep those keys safe and ready to use. If you turn on the setting that asks for your device PIN/biometrics before autofill, you’ve just closed one of the easiest loopholes. (Microsoft Learn)

References (APA 7th)

Bitwarden. (n.d.). Encryption key derivation. https://bitwarden.com/help/kdf-algorithms/ (Bitwarden)

Bitwarden. (n.d.). What encryption is used? https://bitwarden.com/help/what-encryption-is-used/ (Bitwarden)

Bitwarden. (n.d.). Autofill passkeys. https://bitwarden.com/help/storing-passkeys/ (Bitwarden)

Bitwarden. (2025, Nov 11). Bitwarden launches passkey management. https://bitwarden.com/blog/bitwarden-launches-passkey-management/ (Bitwarden)

Dashlane. (2021). Dashlane security principles & architecture [White paper]. https://www.dashlane.com/uploads/2021/07/whitepaper.pdf (dashlane.com)

Keeper Security. (n.d.). Keeper encryption and security model details. https://docs.keeper.io/en/enterprise-guide/keeper-encryption-model (Keeper Docs)

LastPass Support. (2024, Jan 30). Change your password iterations for LastPass. https://support.lastpass.com/s/document-item?_LANG=enus&bundleId=lastpass&language=en_US&topicId=LastPass%2Fchange-password-iterations.html (LastPass Support)

Microsoft. (n.d.). Microsoft Edge password manager security. https://learn.microsoft.com/en-us/deployedge/microsoft-edge-security-password-manager-security (Microsoft Learn)

Microsoft. (n.d.). CryptProtectData function (DPAPI). https://learn.microsoft.com/en-us/windows/win32/api/dpapi/nf-dpapi-cryptprotectdata (Microsoft Learn)

Microsoft. (n.d.). How to: Use Data Protection (.ProtectedData). https://learn.microsoft.com/en-us/dotnet/standard/security/how-to-use-data-protection (Microsoft Learn)

Microsoft. (2025). BiometricAuthenticationBeforeFilling (Edge policy). https://learn.microsoft.com/en-us/DeployEdge/microsoft-edge-browser-policies/biometricauthenticationbeforefilling (Microsoft Learn)

Microsoft. (2025). Additional privacy for your saved passwords (require auth before autofill). https://support.microsoft.com/en-us/topic/additional-privacy-for-your-saved-passwords-31dbd670-e314-4901-a546-6f302548502e (Microsoft Support)

Microsoft. (2025). Changes to Microsoft Authenticator autofill. https://support.microsoft.com/en-gb/account-billing/changes-to-microsoft-authenticator-autofill-09fd75df-dc04-4477-9619-811510805ab6 (Microsoft Support)

Microsoft Edge Team. (2025, Nov 3). Microsoft Edge introduces passkey saving and syncing with Microsoft Password Manager. https://blogs.windows.com/msedgedev/2025/11/03/microsoft-edge-introduces-passkey-saving-and-syncing-with-microsoft-password-manager/ (Windows Blog)

Microsoft. (n.d.). Windows Hello for Business — Overview. https://learn.microsoft.com/en-us/windows/security/identity-protection/hello-for-business/ (Microsoft Learn)

Microsoft. (2025). Enable FIDO2 security key sign-in to Windows (Entra ID). https://learn.microsoft.com/en-us/entra/identity/authentication/howto-authentication-passwordless-security-key-windows (Microsoft Learn)

Microsoft. (2025). Enable passkeys for your organization (Entra ID). https://learn.microsoft.com/en-us/entra/identity/authentication/how-to-enable-passkey-fido2 (Microsoft Learn)

1Password. (2025). 1Password security design [White paper]. https://1passwordstatic.com/files/security/1password-white-paper.pdf (1Password)

1Password Support. (2025). How Secure Remote Password protects your 1Password account. https://support.1password.com/secure-remote-password/ (1Password)

1Password Support. (2025). Save and sign in with passkeys on Windows. https://support.1password.com/save-use-passkeys-windows/ (1Password)

1Password Support. (2025). Save and sign in with passkeys in your browser. https://support.1password.com/save-use-passkeys/ (1Password)

1Password Support. (2025). About the security of unlocking 1Password with a passkey. https://support.1password.com/passkey-security/ (1Password)


메타데이터
post_id
f0b6982bd76c
slug
the-engine-under-the-hood-of-a-password-manager-a-security-engineers-view-f0b6982bd76c
url
https://medium.com/@cube1214/the-engine-under-the-hood-of-a-password-manager-a-security-engineers-view-f0b6982bd76c
canonical_url
https://medium.com/@cube1214/the-engine-under-the-hood-of-a-password-manager-a-security-engineers-view-f0b6982bd76c
author_url
https://medium.com/@cube1214
status
ok
fetched_at
2026-06-26 21:52:29