Password Managers: How to Minimize Secret Exposure

Igor_Wiwi1 pts0 comments

Beyond Password Managers: How to Minimize Secret ExposureSkip to article

TL;DR — The safest secret is one that does not exist. The next best<br>option is short-lived, narrowly scoped, and unavailable for a person to<br>copy. A password manager remains valuable, but it should be the fallback for<br>systems that still require static passwords—not the foundation of<br>production access.

Password managers solve an important problem: they let us generate and store<br>unique credentials instead of remembering or reusing them. What they do not<br>solve is the more fundamental problem that a long-lived credential exists,<br>can be used repeatedly, and may grant more access than its holder needs.

For an engineer, the stronger design is not simply a better vault. It is an<br>identity and access system in which people and services rarely receive secrets<br>at all. They receive a specific capability, temporary role, or mediated<br>session instead.

This distinction matters because human authentication and machine<br>authentication are different problems. Passkeys can replace passwords for a<br>person signing in. Workload identity, dynamic credentials, and access brokers<br>address API keys, database passwords, cloud credentials, and production<br>sessions.

What is stronger than a password?

There is no single replacement for every password. The preferred mechanism<br>depends on who is authenticating and what they need to do:

Workload or managed identity lets software authenticate without a<br>stored API key.

Short-lived certificates and tokens expire after minutes or hours and<br>are limited to a specific role.

Passkeys and hardware security keys provide phishing-resistant<br>authentication for people.

Dynamic secrets are created immediately before use and revoked<br>automatically.

Static credentials in a password manager remain the compatibility<br>option for systems that support nothing better.

The first four approaches reduce either the existence, visibility, lifetime,<br>or authority of a secret. A password manager primarily reduces the risk of<br>weak storage and password reuse. Both are useful, but they operate at<br>different layers.

Use passkeys for people

A passkey uses a public-private key pair instead of sending a shared password<br>to a server. The private key remains with the authenticator, and the credential<br>is bound to the legitimate relying-party domain. That makes a correctly<br>implemented WebAuthn or FIDO2 login resistant to conventional credential<br>phishing.

NIST SP 800-63B<br>explicitly states that passwords and manually entered one-time passwords are<br>not phishing-resistant. NIST’s highest authentication assurance level requires<br>phishing-resistant public-key authentication, with non-exportable keys<br>protected by hardware. The<br>FIDO Alliance overview of passkeys<br>explains the underlying key-pair model.

There are two useful forms:

Synced passkeys are convenient and recoverable across devices. Their<br>security also depends on the account and synchronization system that carries<br>them.

Device-bound hardware security keys keep private keys non-exportable.<br>They are a better fit for primary email, cloud administration, source<br>control, and other high-impact accounts.

For important accounts, register at least two hardware keys: one for daily use<br>and one stored separately for recovery. Account recovery deserves the same<br>care as normal authentication because a weak recovery process can bypass a<br>strong passkey.

Remove credentials from workloads

An application should not need a permanent cloud access key merely because it<br>needs to call an API.

Cloud platforms provide identities tied to a runtime, virtual machine,<br>container, or external workload. The workload proves where it is running and<br>receives temporary credentials for an assigned role. The application no<br>longer needs a key in a configuration file, repository, deployment variable,<br>or developer’s vault.

The major cloud platforms document this pattern:

AWS recommends temporary credentials and IAM roles<br>instead of long-term access keys.

Azure managed identities<br>remove the need for developers to manage credentials for supported<br>resources.

Google Cloud Workload Identity Federation<br>lets external workloads exchange their existing identity for short-lived<br>Google Cloud credentials.

For infrastructure that spans platforms,<br>SPIFFE defines a standard<br>workload identity carried in short-lived certificates or tokens. Keys and<br>certificates can be rotated automatically without embedding an authentication<br>secret in the application.

This is stronger than protecting an API key well. It eliminates the API key.

Prefer dynamic credentials to static secrets

Some systems still require a database username, certificate, or token. In that<br>case, create the credential on demand and give it a short time to live.

A dynamic database credential might be:

unique to one workload or access request;

restricted to a read-only database role;

valid for 30 minutes; and

revoked automatically when the lease expires.

If it is exposed, its useful...

password credentials keys access authentication workload

Related Articles