escrow-box
Escrow box ist ein quelloffener Prototyp: Eine gemessene virtuelle Maschine bewahrt ein Geheimnis auf und gibt es nach einer vereinbarten Regel frei. Die Referenzimplementierung hinterlegt Quellcode. Nach Versiegelung und Prüfung kann die VM bis zur Prüfung des Freigabeereignisses ausgeschaltet bleiben.
- TPM 2.0
- UKI
- Clevis
- Status
- Prototyp: lokal mit QEMU und swtpm getestet; das Repository dokumentiert einen Shielded-VM-Start. Produktive Nutzung erfordert eine qualifizierte Plattform und eine geprüfte Übergabe. Wallet-Signaturen sind eine beschriebene Anwendung, kein Teil der Quellcode-Referenz.
- Lizenz
- Apache 2.0.
- Plattformen
- Linux x86-64; lokaler QEMU/OVMF/swtpm-Prüfstand und dokumentierte Cloud-Versuche.
Welches Problem es löst
Der Kunde muss prüfen können, ob der hinterlegte Code das gelieferte Programm erzeugt; der Anbieter will ihn bis zum vereinbarten Ereignis geheim halten. Prüfung und Freigabe sind getrennt.
Wichtigste Funktionen
- Der Entschlüsselungsschlüssel ist an das TPM und die Messwerte des Boot-Abbilds gebunden.
- Die Prüfung baut das gelieferte Artefakt neu und vergleicht es Byte für Byte; nur Hashwerte und das Ergebnis verlassen die Box.
- Die Referenzregel nutzt den Handelsregisterstatus und ein signiertes Lebenszeichen, mit einer Wartefrist bei fehlenden Nachweisen.
- Feste SSH-Befehle ermöglichen Prüfung, Status und Freigabe ohne interaktive Shell.
- Nach Versiegelung und Prüfung kann die VM ausgeschaltet bleiben, bis das Ereignis geprüft werden soll. Ihre Datenträger lassen sich sichern, zur Platzersparnis vom Host entfernen und später wiederherstellen. Die VM und ihr ursprünglicher TPM-Zustand bleiben erhalten; der TPM-Zustand umfasst nur wenige Kilobyte. Die Sicherung enthält Abbild, verschlüsseltes Depot, versiegelte Schlüsselhülle und gespeicherten Box-Zustand.
So funktioniert es
Ein vereinheitlichtes Kernel-Abbild enthält das verschlüsselte Depot, Prüfwerkzeuge und die Freigaberegel. Measured Boot bindet den Schlüssel an dieses Abbild. Der Schutz von RAM und TPM-Zustand hängt von der Plattform ab.
provision → check → verify → status → unlock
Voraussetzungen
- Ein Linux-Buildrechner mit den Werkzeugen aus dem Repository sowie eine VM mit TPM.
- Für echtes Escrow eine Plattform, auf der der Empfänger weder VM-Speicher noch TPM-Zustand lesen kann, mit vereinbarten Neustart- und Wiederherstellungsverfahren.
- Ein vereinbartes Freigabeereignis, authentifizierte Nachweise und Abnahmeprüfungen vor der Hinterlegung echter Geheimnisse.
- Dieselbe VM und ihren TPM-Zustand erhalten; eine vollständige Datenträgersicherung auf dieser VM mit der vereinbarten Plattformkonfiguration wiederherstellen.
Diese Seite fasst README und Dokumentation des Repositorys mit Stand Oktober 2026 zusammen. Maßgeblich ist das Repository selbst.