Статья 7 из 124 мин чтения

Телефон ведёт собственный журнал

Когда что-то выглядит не так, нужна запись, которой можно доверять. История на компьютере хранится на машине, которую мы считаем скомпрометированной. Поэтому телефон ведёт свою.

Телефон показывает свой журнал со значком замка; сбоку компьютер, связь которого с журналом перечёркнута
Запись, до которой компьютер не дотянется.
Содержание

Зачем устройству подписи (signer) журнал

Офлайн-устройство подписи — единственное в этой схеме, чьему состоянию можно верить. Логично, чтобы оно помнило, что делало. AirNox Vault ведёт долговечный зашифрованный журнал каждого решения, принятого на телефоне: о чём попросили, что вам показали и что вы решили. Это собственная версия событий устройства подписи, не зависящая от того, что записывает компьютер.

Если в истории появилась транзакция, которую вы не узнаёте, журнал скажет, подписывал ли её этот телефон. Если компьютер утверждает, что сопряжён, журнал скажет, когда и через какой канал прошло это сопряжение (pairing). Если кто-то подбирал пароль на телефоне, пока вас не было, журнал это покажет.

Что записывается

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

В каждой записи есть всё, чтобы узнать действие: кошелёк, компьютер, с которого пришёл запрос, канал, сеть, получатель, сумма и предупреждения, которые вы тогда видели.

Две колонки: записывается (подписи, отказы, сопряжения, изменения кошельков, блокировки) и не записывается никогда (сид-фраза, ключи, пароль, байты подписи, трафик синхронизации)
Что журнал хранит и чего в нём не бывает никогда.

Что не записывается никогда

Ни ключа, ни сид-фразы (seed), ни фразы восстановления (recovery phrase), ни пароля, ни байтов подписи — и ничего, из чего что-то из этого можно было бы получить. Журнал фиксирует, что вы подписали, но не саму подпись. Технический шум в него тоже не попадает: трафик синхронизации, пакеты адресов, установка и разрыв связи, сбои транспорта. Это не решения, и журнал, полный таких записей, спрятал бы те, что действительно важны.

Запись — до подписи

Порядок действий выбран сознательно. Когда вы нажимаете Accept («Принять»), телефон сначала записывает ваше одобрение в журнал. Только потом он подписывает. Если запись в журнал сделать не удалось, ничего не подписывается, компьютер получает ответ, что запрос не может быть выполнен, а экран объясняет вам почему.

Запрос сначала записывается, потом подписывается; ответвление показывает: нет записи — нет подписи
Нет записи — нет подписи.

Поэтому из журнала не может выпасть ни одна состоявшаяся подпись. Не бывает момента, когда телефон подписал, а запомнить не смог.

Долговечность

Журнал можно только дополнять. Ничего в нём никогда не редактируется, и кнопки очистки нет. Он переживает удаление кошелька: записи за время, пока кошелёк использовался, остаются с пометкой, что этот кошелёк удалён. Он переживает смену пароля приложения. Он хранится на телефоне в зашифрованном виде и запечатан с той же тщательностью, что и сами сид-фразы.

Размер задаётся в настройках. Вы выбираете, сколько записей хранить, и когда журнал заполнен, самые старые уступают место новым. Больше ничто и никогда записи не удаляет.

Остаётся на телефоне

Журнал никогда не покидает устройство. Он не экспортируется, не синхронизируется и не показывается компьютеру. Компьютер не может его запросить: такого запроса просто не существует. Вы читаете его на телефоне, на экране Journal («Журнал»), с фильтром, который показывает либо всё, либо только важные записи: ключ был задействован, изменилось, кто и о чём может просить этот телефон, кошелёк создан или удалён, или есть признаки того, что кто-то пытался войти.

Запись, которая живёт только на устройстве подписи, делается перед каждой подписью и недоступна для чтения или изменения никакому другому устройству. Если вам когда-нибудь понадобится узнать, что произошло на самом деле, смотреть нужно сюда.

Вся серия

  1. Считайте, что компьютер скомпрометирован
  2. Mass Adoption Security: подписывает телефон, который у вас уже есть
  3. Три пути через зазор: QR-коды, Bluetooth LE и NFC
  4. Невидимый в эфире: устройство подписи, которое не найти сканером
  5. Никакого доверия транспорту
  6. Что показывает телефон: анализ транзакций на устройстве подписи
  7. Телефон ведёт собственный журнал
  8. Хранилище на вашем компьютере: Argon2id и профиль, устойчивый к подбору пароля
  9. dApp без кошелька в браузере
  10. MCP-сервер с правилами: ИИ-агенты в рамках лимитов
  11. Один защищённый кошелёк для всего
  12. Компактный и нативный: C++ без среды выполнения JavaScript, от рабочей станции до Raspberry Pi

Запишитесь в лист ожидания

Оставьте почту, и мы пришлём новости о релизе. Больше ничего.