escrow-box
Escrow box est un prototype libre qui conserve un secret dans une machine virtuelle mesurée et le libère selon une règle convenue. La référence implémente le dépôt de code source. Après scellement et vérification, la VM peut rester éteinte jusqu’à la vérification de l’événement de remise.
- TPM 2.0
- UKI
- Clevis
- Statut
- Prototype testé localement avec QEMU et swtpm ; le dépôt documente un démarrage sur Shielded VM. La production exige une plateforme qualifiée et un transfert de contrôle vérifié. La signature avec un portefeuille est une application décrite, non implémentée dans la référence pour le code source.
- Licence
- Apache 2.0.
- Plateformes
- Linux x86-64 ; banc local QEMU/OVMF/swtpm et essais cloud documentés.
Le problème résolu
Le client doit vérifier que le code déposé reproduit le binaire livré, tandis que le fournisseur le garde privé jusqu’à l’événement convenu. La vérification est séparée de la remise.
Fonctionnalités principales
- La clé de déchiffrement est liée au TPM et aux mesures de l’image de démarrage.
- Le vérificateur reconstruit l’artefact livré et le compare octet par octet ; seuls les hachages et le résultat sortent de la machine.
- La règle de référence utilise le statut au registre des sociétés et un signal de présence signé, avec un délai en cas de preuves manquantes.
- Des commandes SSH fixes permettent la vérification, la consultation et la remise sans terminal interactif.
- Après scellement et vérification, la VM peut rester éteinte jusqu’au contrôle de l’événement. Ses disques peuvent être sauvegardés, retirés de l’hôte pour libérer de l’espace, puis restaurés au besoin. La VM et son état TPM initial restent conservés ; cet état n’occupe que quelques kilo-octets. La sauvegarde comprend l’image, le dépôt chiffré, l’enveloppe scellée de la clé et l’état enregistré de la box.
Fonctionnement
Une image unifiée du noyau contient le dépôt chiffré, les outils de vérification et la règle de remise. Le démarrage mesuré lie la clé à cette image. La protection de la mémoire et de l’état du TPM dépend de la plateforme.
provision → check → verify → status → unlock
Prérequis
- Une machine Linux de compilation avec les outils du dépôt et une VM équipée d’un TPM.
- Pour un dépôt réel, une plateforme empêchant le destinataire de lire la mémoire et l’état du TPM, avec des procédures convenues de redémarrage et de récupération.
- Un événement de remise convenu, des preuves authentifiées et des contrôles de réception avant de déposer un secret réel.
- Conserver la même VM et son état TPM ; garder une sauvegarde complète des disques et la restaurer sur cette VM avec la configuration de plateforme convenue.
Cette page résume le README et la documentation du dépôt à la date d’octobre 2026. La référence reste le dépôt lui-même.