Считайте, что компьютер скомпрометирован
Чтобы украсть криптовалюту, криптографию обычно никто не взламывает. Всё начинается на обычном компьютере. AirNox Wallet рассчитан именно на такой компьютер и исходит из того, что он уже потерян.

Содержание
Угроза — в машине, а не в математике
Вспомните, как на самом деле деньги уходят с кошелька. Пакет в инструментах разработчика несёт в себе кое-что лишнее. Расширение для браузера (browser extension) выпускает обновление, которое никто не читал. Документ оказывается вовсе не документом. Веб-страница показывает одну транзакцию, а подписать просит другую. Утилита для буфера обмена (clipboard) подменяет адрес за мгновение до того, как вы его вставите.
Ни одна из этих атак не трогает криптографию. Всем им нужно одно и то же: приватный ключ (private key) или ваше согласие на машине, подключённой к интернету. Компьютер становится целью, потому что ключ живёт именно на нём.
Поэтому первое решение в архитектуре AirNox Wallet простое. Ключу там не место.
Ключи вне компьютера
AirNox Wallet работает на компьютере. Сам по себе это полноценный нативный кошелёк, сид-фраза (seed) которого запечатана в его хранилище, и для повседневных операций это надёжная конфигурация. В режиме AirGap он идёт на шаг дальше: у него никогда нет ключа, которым можно перевести ваши средства. Он хранит только те адреса, которые вы решили ему показать. С ними он делает всё, что кошелёк делает онлайн: общается с сетью, читает балансы и историю, собирает неподписанные транзакции, проверяет их и отправляет в сеть всё, что возвращается подписанным.
Подписывает AirNox Vault — приложение на Android-телефоне, который никогда не выходит в интернет. Сид-фразы хранятся в нём. Он декодирует каждый запрос из тех самых байтов, которые собирается подписать, показывает операцию, сумму, участников и сеть и подписывает только после того, как вы нажмёте Accept («Принять»).
Между ними — воздушный зазор (air gap). У телефона нет пути в интернет, и через зазор проходят только запрос в одну сторону и подпись в обратную.

Что делает каждое звено
Запрос может появиться на веб-странице, в самом кошельке или прийти от ИИ-агента, подключённого к кошельку. Откуда бы он ни пришёл, путь у него один.
Расширение поддерживает стандартные интерфейсы кошельков, которых ждут сайты. Ключей у него нет, и ничего оно не подписывает. Оно передаёт запрос десктопному кошельку по локальному каналу.
Десктоп декодирует запрос и проверяет его. Он распознаёт стандартные операции, помечает всё, что на них лишь похоже, проверяет разрешения на списание (approve) и тех, кому они выдаются, и собирает неподписанную транзакцию. Затем передаёт её телефону через QR-коды, Bluetooth LE или NFC.
Телефон снова декодирует запрос — из тех самых байтов, которые подпишет, — и показывает его вам простыми словами. Описание запроса на компьютере — всего лишь заявление. То, что показывает телефон, — правда. Вы читаете и нажимаете Accept или не нажимаете. Обратно уходит только подпись.
Где живёт ключ, там и решается, на что способно вредоносное ПО (malware)
AirNox даёт два уровня защиты. Их полезно сравнить с самой слабой из распространённых схем — классическим кошельком в виде расширения для браузера.

Классический кошелёк-расширение работает внутри самой уязвимой программы на компьютере. Его секреты защищены шифрованием, которое современные видеокарты вскрывают перебором (brute force) в промышленных масштабах. До него может добраться код, внедрённый в страницу, а увидеть его — любая программа, которая делает снимки экрана (screen capture). Он несёт в себе трекеры и рекламу, никак не защищает от подмены адреса и при этом весь день расходует ресурсы.
AirNox Wallet на компьютере — программа другого рода, способная себя защитить. Это нативный C++: нет ни скриптового движка, куда можно внедрить код, ни страницы, которую можно подменить. Сид-фразу он держит в памяти, только пока она нужна, и сразу после этого стирает. Он следит за процессами вокруг себя и за библиотеками, загруженными в него, так что чужой код не выполнится внутри кошелька незаметно. Каждый запрос он декодирует и проверяет, поэтому вы одобряете ровно то, что видите. За адресом в буфере обмена тоже следит: подмену заметит. Свои окна в снимки экрана не пускает. Хранимые секреты запечатаны требовательным к памяти (memory-hard) Argon2id и привязаны к чипу TPM 2.0 компьютера — на видеокартах это не ускорить. Трекеров в нём нет. Для повседневных операций он сам по себе надёжный выбор, и все механизмы защиты из этой серии работают в нём независимо от того, участвует ли телефон.
AirGap — максимальный уровень защиты поверх этого. Всё перечисленное выше продолжает работать, а сид-фраза переезжает на офлайн-телефон. Даже атакующий, захвативший всю операционную систему, не найдёт на компьютере ничего, что можно скопировать, и не сможет изменить экран, на котором принимается окончательное решение. Подмена получателя — единственный ход, который отчасти остаётся открытым везде, потому что подмена адреса (address poisoning) рассчитана на ваши глаза, а не на программы. Картинки адресов на обоих устройствах нужны как раз для того, чтобы этот ход поймать.
Чего это не решает
Офлайн-устройство подписи (offline signer) показывает вам правду о том, что вы подписываете. Но помешать вам согласиться оно не может. Резервная копия сид-фразы по-прежнему на вашей ответственности — на бумаге или стальной пластине, а не в менеджере паролей. И ни один кошелёк не защитит от того, кто заставит вас его разблокировать. Пусть лучше вы узнаете об этих ограничениях от нас, чем выясните их сами.
Остальные статьи серии разбирают части по одной: почему устройство подписи — это телефон, который у вас уже есть; три пути через зазор; как телефон остаётся невидимым в эфире; почему транспорту никогда не доверяют; что показывает телефон; и какой журнал он ведёт.
Вся серия
- Считайте, что компьютер скомпрометирован
- Mass Adoption Security: подписывает телефон, который у вас уже есть
- Три пути через зазор: QR-коды, Bluetooth LE и NFC
- Невидимый в эфире: устройство подписи, которое не найти сканером
- Никакого доверия транспорту
- Что показывает телефон: анализ транзакций на устройстве подписи
- Телефон ведёт собственный журнал
- Хранилище на вашем компьютере: Argon2id и профиль, устойчивый к подбору пароля
- dApp без кошелька в браузере
- MCP-сервер с правилами: ИИ-агенты в рамках лимитов
- Один защищённый кошелёк для всего
- Компактный и нативный: C++ без среды выполнения JavaScript, от рабочей станции до Raspberry Pi