我们刚刚上线。网站和服务仍在完善中,如有不准确或不完善之处,敬请谅解。发现了错误或有功能不正常? 请告诉我们,我们会尽快修复。

← 全部项目
ZH
TAKT 之外

escrow-box

Escrow box 是一个开源原型,将秘密保存在经过度量的虚拟机中,并按双方约定的规则释放。参考实现用于源代码托管。 封存并验证后,虚拟机可以保持关闭,直到需要检查释放事件。

  • TPM 2.0
  • UKI
  • Clevis
状态
原型已在本地 QEMU 与 swtpm 环境中测试;仓库记录了 Shielded VM 启动实验。生产使用仍需平台资格验证和经验证的控制权移交。钱包签名属于所描述的应用,并未在源代码参考实现中实现。
许可证
Apache 2.0。
平台
Linux x86-64;本地 QEMU/OVMF/swtpm 测试环境,以及已记录的云端实验。

解决什么问题

客户需要确认托管的代码能重建收到的二进制文件,供应商则需要在约定事件发生前保密。该设计将验证与释放分开。

主要功能

  • 解密密钥绑定到 TPM 和启动镜像的度量值。
  • 验证器重新构建交付物并逐字节比较;只输出哈希和验证结果。
  • 参考释放规则使用公司登记状态和签名的存活信号;证据缺失时设有等待期。
  • 固定 SSH 命令提供检查、状态查询和释放,不提供交互式终端。
  • 封存并验证后,虚拟机可一直关闭,直到需要检查事件。磁盘可备份后从宿主机删除以释放空间,待需要时再恢复。必须保留同一虚拟机及其原有 TPM 状态;TPM 状态仅占几 KB。备份须包含镜像、加密的托管内容、密封的密钥封装及 box 保存的状态。

工作原理

统一内核镜像包含加密的托管内容、验证工具和释放规则。度量启动将密钥绑定到该镜像。内存及 TPM 状态中的秘密保护取决于所选平台。

provision → check → verify → status → unlock

要求

  • 配备仓库所列工具的 Linux 构建主机,以及支持 TPM 的虚拟机。
  • 实际托管需要接收方无法读取虚拟机内存和 TPM 状态的平台,并约定重启与恢复流程。
  • 存入真实秘密前,须约定释放事件、经过认证的证据和验收检查。
  • 保留同一虚拟机及其 TPM 状态;保存完整的磁盘备份,并按约定的平台配置恢复到该虚拟机。

本页概述了截至 2026 年 10 月该仓库的 README 和文档内容。以仓库本身为准。