feat/secure element offline bearer attestation#492
Merged
Conversation
cryptskii
commented
Jun 14, 2026
Collaborator
- test(cdbrw): same-model silicon uniqueness research instrumentation
- Promote secure-element offline-bearer authority; demote C-DBRW
- feat(crypto): add device_anchor, fix SPHINCS+ malleability, wire crypto mod/signatures; update android manifest; prune stale docs
Adds research-only native capture + on-device collectors used to test whether the C-DBRW orbit timing channel separates same-make/same-model devices (3x Galaxy A16, mt6789). NOT a production path; no K_DBRW or enrollment-schema change. - siliconfp.cpp: captureOrbitRaw() exposing the walk-altering knobs (rotation r, mu injection cadence k, per-core lane via verified pin) and returning raw per-probe CNTVCT timing + per-probe perf-cycle deltas (for a two-clock ratio) + mu histogram, for host-side extractor sweeps. - SiliconFingerprintNative.kt: captureOrbitRaw binding. - SiliconFpExtractorSweepTest / SiliconFpScaleSweepTest: arg-driven collectors (rotation x cadence x lane x altitude). Finding (3-device, no-pair-collapse gate, shuffle control): the timing channel does NOT provide same-model separation — matched warm-state pair collapses to ~1.08x; large gaps were transient thermal/DVFS state (fresh device), shrinking as state matched. Die-to-die variation is real but below this channel's noise floor; finer instruments (perf_event_open) are SELinux-denied to untrusted_app. Same-model anti-cloning rests on K_DBRW + per-device salt; the orbit remains a SoC-family / liveness signal. Full evidence in .claude/traces/sessions/TRACE-2026-06-11-001.json.
Secure-element attestation (Trezor Safe 7 / TROPIC01) becomes the controlling path for the optional offline-bearer authority tier, replacing C-DBRW silicon binding (retired per the dsm_anticlone ceiling theorem: no software-only physical channel can bind a transition against an off-device clone). - crypto/classical_verify.rs: scoped classical verifiers (Ed25519 TROPIC01, ECDSA-P256/SHA256 OPTIGA), fenced to external attestation; DSM's own crypto stays PQ (BLAKE3/SPHINCS+). - attestation/: frame_authenticate_device, dsm_island_challenge, verify_island_attestation (X.509 chain walk to pinned Safe 7 production roots; dev devices rejected), per-transition verify_island_intent_signature, SettlementPath decision (failure falls back to online, never a hard reject). - types/device_state.rs: IslandAttestation folded into compute_chain_tip append-only-when-present (zero canonical change for non-attested tips); OfflineBearerAttestation capability (deny-unless-proven, reset-on-recovery). - recovery/: faithful RelationshipChainStateProto codec carries island_attestation. - proto/dsm_app.proto + frontend dsm_app_pb.ts: IslandAttestationProto (field 11). - frontend: remove the C-DBRW dev screen + dbrw trust-protocol UI. - formal: reconcile lean4/tla code-correspondence with current code. Offline-bearer gate is implemented but activation-gated pending host transport. 1564 lib tests + clippy clean.
…to mod/signatures; update android manifest; prune stale docs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.