Подпись и хранение ключей в production POA
POA chain 77 — production-сеть. Producer и Agent Gateway подписывают через 2d-hsm на инфраструктуре AMD SEV-SNP. Explorer публикует версии развёрнутых компонентов.
Раздельные роли ключей
Заголовок раздела «Раздельные роли ключей»| Роль | Полномочия |
|---|---|
| Producer | Подписывает хеши блоков с ML-DSA-65. Подпись не заменяет независимую проверку транзакций и state root. |
| Кошелёк агента | Подписывает разрешённые операции одного assigned wallet. Gateway проверяет API-токен, capability и применимую политику. |
| Bridge operator | Подписывает bridge_lock на POA. Верификация Ethereum-события и ограничения моста остаются обязательными. |
| Ethereum vault operator | Отдельный операционный ключ для OperatorVault.bridgeOut(destination, amount): allowlist получателей, лимит операции и скользящий суточный лимит. Только treasury/rebalance по решению governance, не публичный вывод; отделён от POA operator и claim gas EOA. |
| Vault governance | Отдельный principal для ротации подписанта, allowlist, лимитов и upgrades. Его компрометация позволяет снять операционные ограничения; custody и governance проверяются отдельно от утверждений о TEE. |
| Ethereum claim | Использует отдельный gas EOA для permissionless claim. Получатель определяется самим HTLC. |
Production-подписант bridge_lock
Заголовок раздела «Production-подписант bridge_lock»Оператор моста на стороне POA использует 2d-hsm, профиль протокола agent_gateway и отдельный singleton key purpose agent_bridge_operator_k1. Этот путь выбирает BRIDGE_OPERATOR_ENCLAVE_KEY_REF; endpoint, chain ID и sealed environment identity закреплены соответствующими BRIDGE_OPERATOR_ENCLAVE_*. Это не ML-DSA-ключ producer и не ключ assigned wallet. Внутренние environment identifiers — криптографические привязки: они не делают chain 77 тестовой сетью и не переименовываются ради брендинга.
Перед SIGN_BRIDGE_LOCK компонент Chain.Bridge.Executor проверяет host SignerPolicy и OPA. Анклав собирает calldata bridge_lock и фиксирует адрес прекомпайла, нулевой value транзакции и sealed chain ID; хост сверяет возвращённого подписанта и signing hash с запрошенным envelope. Верификация Ethereum-события и finality остаётся отдельной обязанностью verifier. Эти проверки сами по себе не доказывают доверенность запущенного образа и переданных хостом Ethereum-доказательств: отдельно проверяйте release/image, происхождение SEV-SNP attestation, закреплённый публичный ключ и policy при выпуске.
На chain 77 BRIDGE_NETHSM_SIGNING_ENABLED=false выключает путь NetHSM, но не enclave bridge_lock. Анклав использует AGENT_SIGNER_LIVE_SIGNING_ENABLED; автоматические locks дополнительно зависят от BRIDGE_INTENT_WATCHER_MODE=live. При включении agent signing оставляйте watcher выключенным или в dry_run, если bridge locks не входят в цель изменения. Смена signer backend или money switch требует рестарта процесса и проверки identity/canary. Настройки identity check текущего deployment не доказывают прохождение attestation или recovery новым custody-релизом.
Отдельная Ethereum-роль OperatorVault.bridgeOut подчиняется собственной конфигурации подписанта и vault controls; полномочия POA enclave key на неё не распространяются. Permissionless Ethereum claims используют gas EOA и не могут изменить получателя HTLC. Публичный вывод POA → Ethereum остаётся выключенным.
Выдача кошельков
Заголовок раздела «Выдача кошельков»Публичная регистрация назначает ключ из проверенного пула, с резервной копией и статусом identity_verified. Она не генерирует ключи и не экспортирует их по HTTP. Исчерпание пула останавливает выдачу. Лимиты регистрации ограничивают число назначений; сами переводы по-прежнему подчиняются политике Gateway и подписанта.
Граница доверия
Заголовок раздела «Граница доверия»TEE отделяет ключ от вызывающего хоста. Это не отменяет проверку запущенного образа, аттестации, policy и резервного восстановления. Подпись producer подтверждает источник хеша; verifier отдельно проверяет исполнение блока. API-токен остаётся секретом с правами на назначенный кошелёк.
Проверки перед изменением конфигурации
Заголовок раздела «Проверки перед изменением конфигурации»- Сверьте версии node и
2d-hsm, ожидаемый ключ и настройки подключений. - Выполните identity canary и подтвердите резервное восстановление для применимой политики.
- Проверьте лимиты, получателей и feature switches до открытия write-путей.
- После изменения проверьте подписи блоков и ограниченный сценарий агента; при несоответствии остановите затронутую операцию.
Эти проверки относятся к изменениям production-конфигурации. Они не являются утверждением о проведении конкретной церемонии восстановления.