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…
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:
- make guessing the combo painfully slow (KDF),
- lock each note inside its own mini-box (per-item encryption),
- never learn your combo, and
- 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