escrow-box
Escrow box — открытый прототип для хранения секрета в измеряемой виртуальной машине и его выдачи по согласованному условию. Эталонная реализация предназначена для депонирования исходного кода. После опечатывания и проверки VM можно держать выключенной до момента проверки события выдачи.
- TPM 2.0
- UKI
- Clevis
- Статус
- Прототип: проверен локально в QEMU со swtpm; в репозитории описана загрузка Shielded VM. Для промышленного применения нужны квалификация платформы и проверенная передача управления. Подписание платежей кошельком описано как применение, но не реализовано в эталонном box для исходников.
- Лицензия
- Apache 2.0.
- Платформы
- Linux x86-64; локальный стенд QEMU/OVMF/swtpm и описанные облачные эксперименты.
Какую задачу решает
Клиенту нужно проверить, что депонированный код воспроизводит выданный бинарь, а поставщику — сохранить исходники закрытыми до согласованного события. В box проверка отделена от раскрытия.
Основные возможности
- Ключ расшифрования привязан к TPM и измерениям загрузочного образа.
- Проверка пересобирает выданный артефакт и сравнивает его побайтно; наружу выходят только хеши и результат.
- Эталонное условие выдачи использует статус компании в реестре и подписанный сигнал активности, с периодом ожидания при отсутствии подтверждения.
- Фиксированные команды SSH дают проверку, статус и выдачу без интерактивной оболочки.
- После опечатывания и проверки VM можно выключить и держать выключенной до момента проверки события. Её диски можно сохранить в резервной копии, удалить с хоста для освобождения места и восстановить, когда понадобится проверка. Сама VM и её исходное состояние TPM сохраняются: состояние TPM — всего несколько килобайт данных. Резервная копия включает образ, зашифрованный депозит, запечатанный контейнер ключа и сохранённое состояние box.
Как это работает
Единый образ ядра содержит зашифрованный депозит, средства проверки и условие выдачи. Измеряемая загрузка привязывает ключ к образу. Защита секрета в памяти и состоянии TPM зависит от выбранной платформы.
provision → check → verify → status → unlock
Требования
- Linux-машина сборки с инструментами из репозитория и виртуальная машина с TPM.
- Для реального escrow — платформа, на которой получатель не может читать память VM и состояние TPM, с согласованными процедурами перезапуска и восстановления.
- Согласованное событие выдачи, аутентифицированные свидетельства и проверки приёмки до помещения реального секрета.
- Сохранить ту же VM и состояние её TPM; иметь полную резервную копию дисков и восстанавливать её на этой VM с согласованной конфигурацией платформы.
Эта страница кратко пересказывает README и документацию репозитория по состоянию на октябрь 2026 года. Первоисточник — сам репозиторий.