A settlement signing key never left its device, yet your clearing partner accepted instructions nobody authorised — where do you look?
answer
- custody bounds copies, not calls
- start with the operation count
- who may invoke which key
- the path that submits the digest
- revoke the credential before re-keying
basics
~20 sLook at invocation, not custody. Start with the device's operation count against the instructions the business issued, then the credential that authenticates to the device, the device's rule about who may invoke that key, and the code path that decides what gets submitted.
solid answer
~50 sThe device stops the key being copied; it does nothing about calls it is willing to answer, so the signatures are almost certainly genuine and someone obtained them legitimately from the device's point of view. I would scope first from the device's own operation record — the number of signatures it produced against the number of instructions the business raised gives me the size of the problem. Then three suspects, in order: the credential the service authenticates with, and who else could read it; the device's access rule, which is often broader than the one service that needs it; and the submission path, because the device signs a digest and has no opinion about whether the instruction was authorised. The fastest containment is at invocation — revoke the credential or disable the key — not re-keying.
go deeper
Recall that a device which will not export a key still signs for anyone it is willing to answer, so a genuine signature does not mean an authorised instruction.
Explain the three invocation routes — the caller's credential, the device's access rule, and the code path that submits the digest — and why the device cannot judge whether an instruction was authorised.
Show the working order: scope from the device's operation count, stop invocation, fix the submission path, and only then discuss the key. Name the outage each containment step causes.
Own the part that is not technical: withdrawal runs on an external verifier's timetable, so the estate needs a pre-agreed route to stop a public half being accepted, rehearsed before it is needed.
## What custody settled, and what it left open Hardware-backed custody buys exactly one property: the private half cannot be copied out. Everything else about this incident is untouched by it. A signature the partner accepted verifies against your public half, which means it was produced by that key, which means the device produced it — because nothing else can. So the useful conclusion is not "who has the key" but **"who could make the device work."** One caveat before you lean on that. The claim holds if the key was *generated* inside the device. If it was generated elsewhere and imported, an off-device copy may exist and the whole line of reasoning reopens. Check the provenance — ideally an attestation from generation time — before you rule it out rather than after. ## Scope it from the operation record first A device that performs operations counts them, and most will tell you how many signatures a given key produced over a window. Put that number beside the number of settlement instructions your own systems raised in the same window: - **Counts match** — the extra instructions did not come from this key, and you are looking at the partner's acceptance rules, not your custody. - **Device count is higher** — you have the size of the exposure in operations, which is a bounded, countable number. That is the practical dividend of custody: an exported key gives you an unbounded problem, an invoked key gives you a counted one. The record tells you *how many*. It does not by itself tell you *who* — identity comes from the credential presented on each call, which is the next thread. ## The three ways an invocation gets made 1. **The credential the service authenticates with.** Where does it live, how is it delivered, who else can read the host or the process, and is it shared across environments? A credential copied out of a deployment artefact buys someone signatures without ever touching the key. 2. **The device's own access rule.** Which identities may invoke *which* key for *which* operation. The common real defect is a rule written once, broadly, so that every service and every operator identity on the estate can invoke the settlement key because narrowing it later was never done. 3. **The submission path.** The device signs a digest. It cannot tell an authorised settlement instruction from an attacker's. An internal endpoint with no authorisation of its own, a queue anyone can publish to, or an operations tool that signs whatever it is handed turns the device into a signing service for whoever reaches that path. In practice this is where these incidents most often live, because it requires no credential theft at all. ## The fast control is invocation, not the key | Action | Effect | Cost | |---|---|---| | Revoke the credential the caller authenticates with | Stops that caller immediately | Anything legitimately using it stops too | | Disable the key at the device | Stops all signing with it at once | Your own settlement flow stops | | Narrow the device's access rule | Stops identities that never needed it | Needs to be right first time under pressure | | Generate a new key in the device | New signatures use a new key | Slow: every verifier must accept the new public half, and the old one keeps verifying until they stop | Note the direction on the last row. **Generating a new key is replacement, not withdrawal.** The partner goes on accepting the old public half until they are told to stop, and nothing about a new key undoes instructions already accepted. Withdrawal is an action against the party that verifies, and with an external partner it runs on their lead time, not yours. ## What would have caught this, and what would not Alerting on **failed** authentication to the device would have caught nothing: these calls succeeded. The signals that fit are the ones that notice legitimate-looking work that nobody needed — the device's operation count diverging from settlement volume, invocations from an identity that has no business signing, or signing outside the hours the batch runs. Reconciliation with the partner is the outermost of these and usually the one that actually fires. ## The order you work in Stop further invocation, then repair the submission path, then decide about the key. Re-keying is the slowest control you have here and the least useful in the first hour: it does not stop the caller, does not withdraw the old public half, and does not touch what the partner already accepted.
- What can you do in the first ten minutes that actually stops further signatures?Revoke the credential the caller authenticates with, or disable that key at the device. Both work immediately and both stop your own settlement signing, so name the outage you are accepting before you pull either. Narrowing the access rule is gentler but slower to get right under pressure.
- Why is generating a new key in the device not the first move?Because it is replacement, not withdrawal. The partner keeps accepting the old public half until they act, which is their lead time, and nothing about a new key retracts instructions already accepted. It also does not stop the caller, who can simply invoke the new key by the same route.
- The device's record shows the expected number of operations. What does that tell you?That the extra instructions probably were not signed by this key, so attention moves to what the partner accepts: a second key they still trust, a stale public half never withdrawn, or an acceptance path that does not check the signature at all. Confirm the record covers the whole window first.
saying these in an interview costs you the question
- The key could not be exported, so the signatures must be forgeries
- Generating a new key in the device undoes the instructions already accepted
- Failed-authentication alerts on the device would have caught this
- Only someone with administrative access to the device could have caused it
- Hardware custody means we can skip authorisation checks in the submission path