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

Невидимый в эфире: устройство подписи, которое не найти сканером

Радиомодуль, который сообщает «здесь кошелёк», свёл бы на нет половину смысла офлайн-устройства подписи (offline signer). Поэтому телефон с AirNox Vault о себе не объявляет.

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

Проблема с радио

Bluetooth делает работу за столом удобной. Но он же заставляет телефон «подавать голос». Устройство, которое транслирует имя вроде «Wallet» и постоянный адрес, можно найти, узнать, отслеживать изо дня в день и выделить как цель, достойную атаки. Чтобы просканировать Bluetooth-устройства вокруг, хватит телефона и бесплатного приложения. Вредоносное ПО (malware) на компьютере тоже на это способно.

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

В эфире пусто, пока вы не откроете приложение

Телефон вещает, только пока AirNox Vault открыт, разблокирован и находится на переднем плане. Заблокируйте телефон — он замолкает. Переключитесь на другое приложение — замолкает. Положите его экраном вниз в ящик — ничего не передаётся. Нет фоновой службы, которая держала бы канал наготове.

Три состояния: заблокирован, в фоне, открыт на переднем плане; в эфир выходит только последнее, на низкой мощности
Три состояния. Говорит только одно, на низкой мощности и только пока вы на него смотрите.

И даже когда телефон вещает, он делает это на низкой мощности передатчика. Его дальность — в пределах стола. Это осознанное решение о том, кто может его услышать, а не замена шифрованию.

Что он говорит, когда выходит в эфир

Три вещи делают этот сигнал бесполезным для постороннего.

В нём нет имени устройства. Ничто в эфире не говорит ни «AirNox», ни «кошелёк», ни что-либо ещё.

Телефон использует случайный Bluetooth-адрес, который система каждый раз генерирует заново. Нет постоянного адреса, который можно записать и завтра поискать снова.

А идентификатор сервиса, который он объявляет, не фиксирован, а вычисляется. Он выводится из сопряжения (pairing) телефона с вашим компьютером и текущего временного окна, поэтому меняется каждые несколько минут, и только компьютер, у которого есть это сопряжение, может вычислить его текущее значение. Для всех остальных это случайное на вид число, которое через короткое время сменится другим случайным на вид числом.

Что видит сканер: случайные адреса, нет имени, идентификаторы меняются; что видит сопряжённый компьютер: AirNox Vault, сопряжён и готов
Один и тот же телефон глазами постороннего и глазами своего компьютера.

Что видит сканер

Сканер в соседней комнате видит безымянный случайный адрес с идентификатором, похожим на случайный. Через несколько минут — другой адрес с другим идентификатором. Ничто не связывает их между собой. Ничто не выдаёт в устройстве кошелёк среди прочих безымянных устройств с Bluetooth. Запоминать на следующий раз нечего.

Что видит вредоносное ПО на компьютере

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

Почему найти телефон всё равно ничего не даёт

Допустим, атакующий всё-таки заметил телефон, пока вы им пользуетесь. Само по себе это ему ничего не даёт. Каждый запрос всё равно попадает на экран телефона, декодированный из тех байтов, которые будут подписаны, и там вы его читаете и нажимаете Accept («Принять») — или нет. По радио идёт зашифрованный трафик внутри сессии, аутентифицированной при сопряжении. Быть достаточно близко, чтобы его слышать, не значит суметь к нему подключиться.

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

Вся серия

  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

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

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