skip to content

Proving Who Is Calling

How a caller proves who it is before a store releases a value: a bootstrap secret, an identity the platform signs, or an assertion from a trusted issuer. Asked because the first secret starts here.

on this pageshow

questions

22

A secret store releases nothing until the caller authenticates, so what must already exist on a machine before its first fetch?

level: juniorimportance: must knowfreq 60%

answer

  1. the fetch is itself authenticated
  2. something must be there first
  3. a credential to get credentials
  4. long-lived, single-use, or none carried
  5. length does nothing against copying

basics

~20 s

Something the store already accepts must be on the machine before it can fetch anything: the bootstrap credential. Moving secrets into a store does not remove that first one. It only decides where it comes from and how long it lives.

solid answer

~50 s

A store is a service you authenticate to, so the values it holds cannot be the thing that gets you in. Before the first fetch, something the store accepts has to be present on the machine or reachable from it — the bootstrap credential, or first secret. Putting forty credentials behind it does not delete it. In practice it takes one of three shapes: a long-lived value placed on the machine once and left there, which is exactly the exposure the store was bought to remove; a value the store accepts once inside a short window, handed over at provisioning by whoever is trusted to introduce machines; or no carried value at all, because the platform vouches for the workload. The first two leave something on disk, the third does not, and something is still trusted at the end of the chain either way.

go deeper

for a junior

Be able to say it out loud: the store authenticates every caller, so a credential must already be on the machine before the first fetch. Name it the bootstrap credential, and say that adopting a store does not make it go away.

for a middle

Explain the shapes the first credential can take and what each leaves behind: a value placed once and left, a value accepted once inside a short window, or no carried value because the platform vouches. Say which one the estate you worked on actually ran.

for a senior

Show the operating consequence. A first credential unchanged since the machine was built has an unknown number of copies, no expiry to rely on, and nothing that forces anyone to ask whether it should still work. Describe how you would bound each of those.

for a principal

The judgment call is where the chain ends for the whole estate and who is permitted to introduce a machine. Argue for one boring, watched termination rather than a different first secret invented by each team.

## The recursion, stated exactly A secret store is a running service, not a file: it answers a request only after the caller has proved who it is. That property is the reason to run one. It is also the reason a new machine cannot start empty. Before any value comes back, the machine must satisfy the store's authentication step, which means **something the store already accepts must exist on that machine, or be reachable from it, before the first fetch**. That something is the *bootstrap credential*, or the first secret. You need a credential to get credentials. This is not a defect in any one store. Every store has it, because the alternative — a store that hands a value to a caller it has not identified — is not a store. ## What actually happens at a restart Interviewers ask this because candidates describe the store as though the problem vanished. Walk the sequence instead: 1. The machine boots and the process starts holding no values. 2. The process presents whatever the store accepts as proof of who it is. 3. The store checks that proof, then decides what this caller is allowed to read. 4. The values come back over the connection and are used. 5. The machine restarts next week and step 2 happens again, unattended, with nobody at a terminal. Step 2 is the bootstrap problem, and it recurs at every restart rather than only at install. That is why *we set it up once* is not an answer. ## The three shapes the first credential takes | Shape | What sits on the machine | What it costs | |---|---|---| | A long-lived value placed once | a credential-shaped string that never changes | the exposure the store was meant to remove, now guarding everything the store will release to it | | A value accepted once, in a short window | nothing once the exchange completes | something trusted must hand it over at the right moment, and must be protected in turn | | No carried value at all | nothing | trust moves to the platform that vouches for the workload and to the store's rule about what it accepts | The first shape is what most estates actually run, and an honest answer says so rather than describing the ideal. The second is where most of the improvement is available without changing anything about the platform. The third is a separate subject — what a platform-signed identity document proves and what it does not — and knowing the route exists is as far as this question goes. ## Why the delivery shape is not the answer A weak answer stops at where the value is presented to the process. That is a delivery decision and a different subject. The properties that decide whether a first credential is tolerable are these: - **Lifetime.** Does a copy stop working on its own, and when? - **Redemption count.** May it be presented more than once, or exactly once? - **Scope.** Does it grant a read of everything the machine may see, or only the right to obtain a proper identity? - **Uniqueness.** Is it this machine's value, or the fleet's? - **Provenance.** Can anyone say who placed it there and on what date? A long random string scores well on guessing and badly on every one of those. Guessing is not the threat model for a value sitting in a file on a machine several people can reach; **copying is**, and length does nothing against copying. ## The strongest version of the answer Someone who has wired this says three things. First, the first credential always exists in some form, so the design question is only its lifetime, its scope and who delivers it. Second, the failure mode of the common arrangement — a value placed at build time and never touched — is not that it can be guessed, but that copies of it accumulate quietly and none of them expires. Third, the improvement available without changing the platform is to make the first credential worth almost nothing: unique to the machine, valid for minutes, accepted exactly once, and carrying only the right to obtain a real identity rather than the right to read stored values. Someone who has not wired it says the store took the secrets off the machine. Asking what the machine presents when it restarts unattended brings the real answer out immediately.

  • Why does the age of a bootstrap credential matter more than its length?
    Length only resists guessing. A value unchanged since the machine was built has had every rebuild, every operator and every backup to spread it, nothing records how many copies exist, and no copy stops working on its own. Age is a proxy for copies; length is not.
  • What makes the first credential safer without removing it?
    Four changes, all independent of which store you run: make it unique per machine so a read can be attributed, bound its life so a stolen copy dies, allow exactly one redemption so a second presentation is visible, and narrow it to obtaining an identity rather than reading values.
  • Is the bootstrap problem only about machines?
    No. A person at a terminal has the same recursion, but it terminates differently: the person carries something they know and something they hold, and a human is present to notice a strange prompt. An unattended restart at three in the morning has neither.

A key cabinet in a locked room solves where the keys live, but it does not remove the need for a key to the room. Most estates end up taping that one under the mat.

saying these in an interview costs you the question

  • Says a store removes the need for any credential on the machine
  • Thinks a longer random bootstrap value solves the exposure
  • Assumes the first credential only matters at install, not at restart
  • Cannot say what the bootstrap credential is allowed to do
  • Treats where the value is presented as the security property
open as a page

Why does a secret store treat an engineer signing in at a terminal differently from a service re-authenticating at restart?

level: juniorimportance: must knowfreq 66%

basics

~20 s

A person is present, can answer a prompt, and acts under a name the organisation already knows. A service authenticates with nobody watching, at any hour, so nothing in its path may wait for a human, and its name belongs to no individual.

open as a page

Forty service credentials now live in a store and each machine holds one long-lived store token, so what actually improved?

level: middleimportance: must knowfreq 54%

basics

~20 s

Forty scattered values became one inventoried set that can be scoped, replaced and recorded centrally. What did not improve is the machine itself: it still holds one static long-lived value, and that value now reaches everything the store will release to it.

open as a page

When a secret store verifies proof signed by an issuer it does not run, what does a valid signature alone establish?

level: middleimportance: must knowfreq 58%

basics

~20 s

A valid signature establishes only that a particular issuer vouched for a particular subject. Whether that issuer is trusted here, which of its subjects are accepted, and which local identity results are all the store's own decisions.

open as a page

A platform-signed identity document arrives at the store from a workload holding no stored secret — what does the store verify before releasing a value?

level: middleimportance: must knowfreq 60%

basics

~20 s

Four things: that the signature comes from an issuer it already trusts, that the document names this store as its recipient, that its subject is a workload the store has a rule for, and that it was minted recently.

open as a page

An incident commander asks whether a caller's bounded session to the secret store is cut off yet — what must you check before answering?

level: seniorimportance: must knowfreq 61%

basics

~20 s

Check whether the store consults a session record on every call. If it does, an operator can end that session and the answer is a timestamp. If it verifies a self-contained proof instead, containment means waiting out its remaining validity.

open as a page

Every workload authenticating through an outside issuer began failing verification at 09:00 and recovered an hour later with no change on your side — what happened?

level: seniorimportance: must knowfreq 55%

basics

~20 s

The issuer rolled the key it signs with, and the store was verifying against an older copy of that issuer's published keys. Every document signed with the new key failed until the store's scheduled refill of that copy caught up.

open as a page

An on-call engineer reads a credential at 2am by authenticating as the payments service itself — what does that make impossible?

level: seniorimportance: must knowfreq 55%

basics

~20 s

Telling a person from a process, ever again. The store verified a valid workload identity and recorded the service as the caller, so no later question about whether a human read that value — and which human — has an answer anywhere.

open as a page

Platform-attested identity removes a workload's stored secret — what does the platform-signed document still fail to prove?

level: seniorimportance: must knowfreq 56%

basics

~20 s

It proves the platform placed work in a slot and will vouch for that slot — not that the code running there is what you reviewed. Anyone who can put code in that slot gets an identical document.

open as a page

A new machine is handed a single-redemption enrolment token valid for ten minutes, so what does single redemption actually detect?

level: middleimportance: should knowfreq 40%

basics

~20 s

Single redemption does not prevent theft; it makes theft of a copy observable. Exactly one presentation can succeed, so either the thief's copy is already dead or the legitimate enrolment fails — and that failure is the only evidence anyone gets.

open as a page

A secret store hands a caller a bounded session at authentication — what is fixed at that moment, and what is not?

level: middleimportance: should knowfreq 50%

basics

~20 s

Authentication settles identity and attaches a rights snapshot plus a validity window to the session; it does not settle the secret values, which are read fresh per call. Whether a later rule change reaches a live session differs by design.

open as a page

Four on-call engineers share one secret-store login whose password sits in a team document — what has the estate lost?

level: middleimportance: should knowfreq 48%

basics

~20 s

Attribution and ownership. The store verifies the credential correctly every time, so authentication is not what failed; what is gone is any way to tie a read to one of the four, any single person responsible for replacing the value, and any departure that ends it.

open as a page

A reporting machine is rebuilt every few months and an engineer pastes the same store token back in, so what does that seeding step keep producing?

level: seniorimportance: should knowfreq 42%

basics

~20 s

It keeps producing copies. Every rebuild moves the same unchanging value through a human channel that keeps a record — a runbook, a message, a shell history, a backup — and because the value never changes, every copy ever made still works and nobody can count them.

open as a page

Your store trusts two issuers and both trust domains mint the subject name data-loader — how can a non-production workload arrive as the production identity?

level: seniorimportance: should knowfreq 46%

basics

~20 s

Subject names are unique only inside the issuer that mints them. A mapping matching the subject alone is satisfied by either trusted issuer, so a workload created with that name in the non-production domain becomes the production identity.

open as a page

A contractor's workload identity still authenticates three months after their own login was removed — why?

level: seniorimportance: should knowfreq 40%

basics

~20 s

Because nothing fires. A person's identity hangs off a departure routine somebody already runs; a workload's identity is a separate object that routine never touches, has no named owner, and is depended on by a service nobody wants to break.

open as a page

Your store accepts platform-signed identity documents up to an hour old to survive clock skew — what has that handed an attacker?

level: seniorimportance: should knowfreq 40%

basics

~20 s

An hour of impersonation from any copy that escapes. A widened window turns a short-lived document back into a reusable credential, and nothing can recall it — the store simply accepts it until it ages out.

open as a page

Your secret store's sessions back a fleet of unattended workloads — what containment time can you promise, and what does promising it cost?

level: principalimportance: should knowfreq 38%

basics

~10 s

Promise the worst case, not "immediately": containment time is the revocation path's own latency where sessions can be ended on demand, and the full remaining validity where they cannot. Shortening that window multiplies authentications.

open as a page

Another business unit asks you to trust its issuer so one of its services can read a shared credential from your store — what do you require first?

level: principalimportance: should knowfreq 34%

basics

~20 s

Extending the store's trust boundary to another organisation is the real request, not a configuration change. Check for a smaller answer first, then require a named owner, stable subject identifiers, a pin matching only that service, and a way out.

open as a page

Your estate is replacing stored secrets with platform-attested identity — how finely should you cut each workload's identity?

level: principalimportance: should knowfreq 30%

basics

~20 s

As finely as the rules you can genuinely operate allow, because the attested subject is the unit of blast radius. One identity shared by a team means the document proves only that something that team runs is calling.

open as a page

Why should a store map an outside caller to a local identity by a stable identifier rather than a display name?

level: middleimportance: nice to knowfreq 30%

basics

~20 s

Display names are editable and reusable, so a mapping keyed on one follows the name rather than the account. Reassign the name and its new holder inherits the local identity; rename the real caller and its access silently disappears.

open as a page

Enrolment values for new machines are issued by a provisioning service that authenticates to the store itself, so where did the bootstrap problem go?

level: seniorimportance: nice to knowfreq 26%

basics

~20 s

It moved and concentrated. Each machine now starts with something that dies in minutes, but the service that introduces them holds a standing right to create callers the store will accept — and its own first credential is now the estate's real bootstrap.

open as a page

A long-running consumer asks the store to derive a child credential from its own bounded session — what can that child carry?

level: seniorimportance: nice to knowfreq 26%

basics

~20 s

A derived credential carries at most the rights of the session it came from, usually a deliberately narrower slice and a shorter window. Whether ending the parent also ends the child depends on whether the store recorded the link between them.

open as a page