Skip to content

Commit e45b975

Browse files
mswilkisonclaude
andcommitted
docs(tbtc/signer): scope the sidecar secret-boundary claim to signing
Section 1 said the host "holds no signing secrets at any time," but section 3 maps the transitional DKG calls unchanged and the frozen Phase 7 spec still has the DKG APIs returning/accepting secret_package_hex through the host until the DKG-custody follow-up. So in deployments that run DKG through this transport the host still sees DKG secret material (review finding). Section 1 now scopes the property to the signing path and states explicitly that #4007 must treat the host<->sidecar signing interface as a secret boundary but NOT the DKG interface until DKG custody moves inside the sidecar - a precondition for the sidecar being a complete secret boundary. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 parent cde0946 commit e45b975

1 file changed

Lines changed: 17 additions & 2 deletions

File tree

pkg/tbtc/signer/docs/phase-7-sidecar-transport-addendum.md

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,23 @@ A separate OS process that owns the signer engine and every secret
1717
it holds: key-share state, the state-encryption key path, and (after
1818
Phase 7.1) the in-memory interactive nonces. The keep-client host
1919
process — Go runtime, libp2p, Ethereum client, every transitive
20-
dependency — talks to it over local IPC and holds no signing
21-
secrets at any time.
20+
dependency — talks to it over local IPC.
21+
22+
**Boundary scope (important, and a hard prerequisite for #4007).**
23+
The "host holds no signing secrets" property is *scoped to the
24+
signing path* and holds once Phase 7.1's engine-held nonce custody
25+
ships: key shares are env/command-only and nonces never leave the
26+
engine. It does **not** yet hold for **DKG**: the transitional DKG
27+
APIs that section 3 maps unchanged still return and accept
28+
`secret_package_hex` through the host (frozen Phase 7 spec section 4
29+
names DKG secret-package custody as an out-of-scope follow-up). So in
30+
any deployment that runs DKG through this transport, the host process
31+
still sees DKG secret material. #4007 must therefore treat the
32+
host↔sidecar **signing** interface as a secret boundary but must NOT
33+
treat the DKG interface as one until the DKG-custody follow-up moves
34+
that material inside the sidecar (or DKG is run out-of-band). Closing
35+
that gap is a precondition for the sidecar being a complete secret
36+
boundary.
2237

2338
The isolation claim, stated precisely: today a memory-disclosure
2439
bug anywhere in the host address space can read whatever the

0 commit comments

Comments
 (0)