Skip to content

Commit 92376a3

Browse files
committed
docs(geolocation): Add TPM-Signed ZKP Output for end-to-end hardware binding
- ZKP proof hash is signed by TPM on Keylime-attested host - Proves proof was generated on specific server, prevents replay - Input binding (TPM-signed coordinates) + Output binding (TPM-signed proof) - Performance note: 1-5 min refresh means ~100ms TPM overhead is negligible
1 parent dcddc77 commit 92376a3

File tree

1 file changed

+53
-0
lines changed

1 file changed

+53
-0
lines changed

docs/auditor-privacy-preserving-geolocation.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,8 +126,61 @@ fn main(
126126
}
127127
```
128128

129+
### TPM-Signed ZKP Output: End-to-End Hardware Binding
130+
131+
For **absolute privacy guarantees**, the ZKP proof itself is signed by the TPM on the Keylime-attested host. This ensures the proof was generated on a specific verified server and cannot be replayed from elsewhere.
132+
133+
```
134+
┌─────────────────────────────────────────────────────────────────────────┐
135+
│ TPM-SIGNED ZKP OUTPUT (KEYLIME AGENT PLUGIN) │
136+
└─────────────────────────────────────────────────────────────────────────┘
137+
138+
Keylime Agent Plugin Auditor
139+
════════════════════ ════════
140+
141+
┌──────────────────────┐
142+
│ 1. TPM-Signed │ (Input attestation)
143+
│ GPS Coordinates │
144+
└──────────┬───────────┘
145+
146+
147+
┌──────────────────────┐
148+
│ 2. ZKP Circuit │ (Privacy-preserving computation)
149+
│ Generates Proof │
150+
└──────────┬───────────┘
151+
152+
153+
┌──────────────────────┐
154+
│ 3. TPM Signs │ (Output attestation)
155+
│ Proof Hash │
156+
│ ──────────── │
157+
│ proof_hash = │
158+
│ SHA256(zkp) │
159+
│ output_sig = │
160+
│ TPM_Sign( │
161+
│ proof_hash) │
162+
└──────────┬───────────┘
163+
164+
165+
┌──────────────────────┐ ┌─────────────────────┐
166+
│ ZKP Proof + │────────▶│ Verify: │
167+
│ TPM Output Sig │ │ • ZKP is valid │
168+
└──────────────────────┘ │ • Output sig binds │
169+
│ proof to TPM │
170+
└─────────────────────┘
171+
```
172+
173+
**Why This Matters:**
174+
1. **Input Binding:** TPM-signed coordinates prove the GPS came from genuine hardware
175+
2. **Output Binding:** TPM-signed proof hash proves the ZKP was generated on **that specific Keylime-attested server**
176+
3. **No Replay:** An attacker cannot generate a valid ZKP elsewhere and replay it—the output signature would fail TPM verification
177+
178+
> [!NOTE]
179+
> **Performance Impact:** Geolocation proofs are refreshed every 1-5 minutes (not per-request). At this frequency, the ~100ms TPM signing overhead is negligible.
180+
129181
---
130182

183+
131184
## 4. Multi-Sensor Fusion: Defeating Spoofing Attacks
132185

133186
AegisSovereignAI uses **hardware-rooted multi-sensor fusion** to prevent location spoofing. This builds on the architecture detailed in the **[Unified Identity & Trust Framework](../hybrid-cloud-poc/README-arch-sovereign-unified-identity.md)**.

0 commit comments

Comments
 (0)