Перейти к содержимому

Подпись и хранение ключей в POA

POA с идентификатором сети 77 — основная сеть. Производитель блоков и Agent Gateway используют HSM собственной разработки — 2d-hsm — на инфраструктуре AMD SEV-SNP. Обозреватель публикует версии развёрнутых компонентов.

РольПолномочия
Производитель блоковПодписывает хеши блоков алгоритмом ML-DSA-65. Подпись не заменяет проверку транзакций и корня состояния.
Кошелёк агентаПодписывает разрешённые операции одного кошелька. Gateway проверяет API-токен, право доступа и политику операции.
Оператор моста в POAПодписывает bridge_lock. Проверка Ethereum-события и ограничения моста остаются обязательными.
Операционный ключ Ethereum vaultВызывает OperatorVault.bridgeOut(destination, amount) в пределах списка получателей, лимита операции и скользящего суточного лимита. Используется для операций казначейства по решению управления vault; не предоставляет публичный вывод. Отделён от ключа оператора POA и ключа оплаты Ethereum-claim.
Управление vaultМеняет подписанта, получателей, лимиты и реализацию контракта. Компрометация этой роли позволяет снять операционные ограничения. Хранение активов и управление проверяются отдельно от свойств TEE.
Отправитель Ethereum-claimОплачивает газ отдельным EOA-кошельком. Вызвать claim может любой участник; получателя определяет HTLC.

Оператор моста в POA использует профиль agent_gateway и отдельный ключ с назначением agent_bridge_operator_k1. Его выбирает BRIDGE_OPERATOR_ENCLAVE_KEY_REF. Адрес подключения, идентификатор сети и привязка к среде задаются параметрами BRIDGE_OPERATOR_ENCLAVE_*. Это отдельный ключ: он не является ни ML-DSA-ключом производителя, ни ключом кошелька агента. Идентификаторы среды участвуют в криптографических привязках и не меняются ради названия продукта.

Перед SIGN_BRIDGE_LOCK компонент Chain.Bridge.Executor проверяет SignerPolicy и OPA на хосте. Анклав формирует данные вызова, фиксируя адрес прекомпайла, нулевое поле value и закреплённый идентификатор сети. Хост сверяет возвращённого подписанта и хеш подписываемых данных с запросом. Ethereum-событие и его финальность отдельно проверяет верификатор.

Эти проверки не подтверждают подлинность образа или достоверность Ethereum-данных, переданных хостом. Перед выпуском отдельно проверьте образ, происхождение аттестации SEV-SNP, закреплённый открытый ключ и политику подписи.

В сети 77 BRIDGE_NETHSM_SIGNING_ENABLED=false выключает NetHSM, но подпись bridge_lock в анклаве управляется другим переключателем — AGENT_SIGNER_LIVE_SIGNING_ENABLED. Автоматическое создание блокировок дополнительно требует BRIDGE_INTENT_WATCHER_MODE=live. Если включаете подпись для агентов без активации моста, оставляйте watcher выключенным или в dry_run.

Смена реализации подписанта или переключателей финансовых операций требует перезапуска и контрольной проверки ключей. Успешная проверка текущей конфигурации не доказывает прохождение аттестации и восстановления для нового релиза.

Ethereum-роль OperatorVault.bridgeOut имеет собственную конфигурацию и ограничения. Полномочия ключа POA на неё не распространяются. Отправка Ethereum-claim с отдельного EOA не позволяет изменить получателя HTLC. Публичный вывод POA → Ethereum остаётся выключенным.

Публичная регистрация назначает ключ из проверенного пула, с резервной копией и статусом identity_verified. Она не генерирует и не экспортирует ключи по HTTP. Нехватка доступных ключей останавливает выдачу. Квоты регистрации ограничивают назначения; переводы отдельно подчиняются политике Gateway и подписанта.

TEE изолирует использование ключа от вызывающего хоста при выполнении требований к образу и аттестации. Оператор также проверяет политику и резервное восстановление. Подпись производителя подтверждает источник хеша, а верификатор проверяет исполнение блока. API-токен остаётся секретом с правами на кошелёк агента.

  1. Сверьте версии узла и 2d-hsm, ожидаемый ключ и настройки подключения.
  2. Выполните контрольную проверку владения ключом и подтвердите восстановление согласно применимой политике.
  3. Проверьте лимиты, получателей и переключатели до разрешения операций записи.
  4. После изменения проверьте подписи блоков и ограниченный сценарий агента. При несовпадении остановите затронутую операцию.

Это требования к изменению конфигурации основной сети, а не подтверждение проведения конкретной процедуры восстановления.

Подпись в TEE · Agent Gateway · Мост · Мониторинг моста