Replies: 3 comments
1 · TRNG — Hardware True Random Number GeneratorContext from the reviewPR #2283 enforces The trait bound doesn't dictate how the RNG obtains entropy — only that it promises cryptographic quality. This is the seam where hardware TRNGs fit. What TRNG hardware gives youMany embedded platforms — ARM Cortex-M, ESP32, STM32, RISC-V MCUs — ship dedicated TRNG peripherals. These circuits sample physical entropy (thermal noise, ring oscillators, avalanche breakdown) and produce raw bitstreams. They do not require an OS; they're accessible from bare-metal How to wire it correctlyA TRNG produces raw entropy (biased, limited bitrate, possibly blocking). It is not a CSPRNG in itself. The correct pattern: The TRNG seeds the CSPRNG; the CSPRNG stretches the entropy deterministically and uniformly. The CSPRNG implements What already works today: if your platform's Open questions for the community
|
2 · Hardware-backed key stores and cryptographic coprocessors — TPMs and Secure ElementsContext from the reviewIn PR #2283, the The authority key TPM vs. secure element: the relationshipA secure element (SE) is the broad category: a tamper-resistant chip that generates and stores keys internally and performs cryptographic operations without ever exposing private material. A TPM is a standardized kind of secure element, specified by the Trusted Computing Group, with a well-defined API (the What distinguishes a TPM from a generic secure element is the surrounding ecosystem: PCRs (platform configuration registers) that hash the boot chain, measured boot, sealing (binding a key to a specific PCR state so it unseals only if the platform booted as expected), a standardized API, and remote attestation (a signed quote of the PCR values a remote party can verify). These matter more for proving what platform a key lives in than for per-message crypto. What hardware-backed key storage gives youThe device generates the key inside the chip. The private key never exists in system RAM, never appears in a core dump, and is never exportable. Cryptographic operations — ECDH, ECDSA sign — happen inside the device, not in software. For
The generalized
|
3 · TEEs — hardware-isolated execution for Noise secretsContext from the reviewThe PR's memory hygiene changes trace every copy of key material through the handshake and wipe the ones within reach: HKDF temp keys, ECDH outputs, HMAC pads, cipher-key locals. But it honestly documents what it cannot reach:
The PR answers this with "TEE" is the umbrella termA TEE (Trusted Execution Environment) is any hardware-isolated execution domain that can hold secrets and run trusted code while an untrusted host OS or hypervisor runs alongside it. The term covers a family of designs with different boundaries. One clarification up front: "Secure Enclave" is a specific Apple product — the security coprocessor/key manager in Apple silicon — not a generic synonym for the category. Throughout this section, "TEE" is the umbrella term, and the family splits by where the isolation boundary is drawn and what runs inside it. Endpoint TEEs and secure-world designsOn the endpoint — the downstream side of Sv2, the miner, the proxy, the device — the relevant designs are:
Endpoint TEEs are the natural home for a downstream role's long-term identity keys (for example, the client-side static key in an authenticated Noise pattern like XK), and for any secret the miner must keep while an untrusted rich OS runs around it. Server confidential-computing TEEsOn the server — the upstream side of Sv2, the pool — the relevant designs are confidential-computing TEEs. Here the boundary is drawn differently, and memory is encrypted:
These are the natural home for a pool's authority signing key ( Practical integration routes
What TEEs do — and do not — give youTEEs reduce exposure to the untrusted host/hypervisor: secrets held inside cannot be read by a compromised OS, a debugger, or a memory dump of the host. This is a genuine hardening improvement, but it is not a substitute for zeroization:
Attestation: a clarificationTrustZone does not lack attestation, but it lacks a universal, SGX-like attestation ecosystem. Intel SGX ships a quoting enclave and an attestation service as a coherent product. TrustZone's equivalent is fragmented: Arm PSA (Platform Security Architecture) provides an attestation framework, but real-world deployments lean on device-specific trust chains — provisioning performed by the silicon vendor, whose keys ultimately control what the secure world can claim. For Sv2, this means: do not assume a portable "prove my TEE to the remote party" primitive exists across platforms; the trust chain is platform-specific. Open questions
|
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
This discussion presents potential directions for integrating hardware-backed security into Stratum V2's Noise Protocol implementation to enforce provable and sound guarantees around:
It is grounded in a review of PR #2283 ("Noise SV2 Hardening"), which closes 7 issues found by Project Loupe on
noise_sv2crate across:The PR hardens the security baseline for pure SOFTWARE-based integrations of
noise_sv2crate.Any pure SOFTWARE implementation must hold key material in readable memory while it operates, so no software hardening can defend in-use secrets against an attacker with live memory access. Hardening bounds the exposure window and closes the forensic vectors.
But only HARDWARE isolation moves selected secrets out of RAM entirely — and only for the secrets it actually keeps inside.
This discussion asks: where could HARDWARE raise the bar even further, and how would
noise_sv2need to adapt?Three hardware directions are explored:
non_secure_eraseon long-term keypairsEach direction is additive, not a replacement — the PR's software hardening remains necessary for secrets that must leave the hardware boundary.
Note: generated with help from Kimi K3 plus DeepSeek V4 Pro (both on high reasoning mode), with PR #2283 and
sv2-specloaded into the context window, guided by SRI core contributor @plebhashNote: this Discussion is organized in threads, which should evolve around specific topics. Please avoid starting a new thread if your comment is directly related to a specific topic that already has a dedicated thread. Otherwise there's no point in using Github Discussions and this is just a Github Issue.
All reactions