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

Никакого доверия транспорту

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

Запечатанная капсула с замком движется по трём зашумлённым каналам между ноутбуком и телефоном
Каналы шумные. Капсула — нет.
Содержание

Канал — не удостоверение

Сопряжение (pairing) по Bluetooth доказывает лишь, что два устройства исполнили ритуал сопряжения. Близость NFC доказывает, что что-то оказалось в нескольких сантиметрах от ридера. QR-код доказывает, что камера увидела узор. Ничто из этого не говорит, кто на другой стороне, и каждый из этих каналов уже атаковали публично: прослушивание, понижение стойкости ключей, ретрансляция касания через весь город с помощью двух обычных телефонов.

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

Три слоя: внизу враждебные каналы, посередине сессия AirNox, наверху ваше решение
Каналы внизу. Сессия над ними. Вы — на самом верху.

Сопряжение — один раз

Доверие устанавливается один раз — когда вы выполняете сопряжение компьютера и телефона. Компьютер показывает QR-код, телефон его сканирует. Затем на обоих экранах появляется короткий код, и вы их сравниваете. Если коды совпадают, устройства договорились о ключах, которых не видел ни один канал, и с этого момента каждое знает, кто на другой стороне. Если не совпадают, кто-то вклинился посередине, и вы останавливаетесь.

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

Три шага: сканирование QR-кода, сравнение короткого кода на обоих экранах, сопряжение готово; ниже — изменённые, повторённые и пришедшие не по порядку сообщения отбрасываются
Одно сравнение — дальше работает сессия.

Сессия

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

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

Что отбрасывается

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

Вот почему удобство Bluetooth LE и NFC ничего не отнимает у безопасности. Канал может быть сколь угодно слабым. Насколько защищено радио под сессией — вопрос, на который нам вообще не нужно отвечать.

Через любой канал — одна и та же сессия

Сессия не знает, что её несёт: свет, радио или касание. Можно выполнить сопряжение по QR, а затем каждый день работать через Bluetooth LE и пользоваться NFC у терминала, и всё это без повторного сопряжения. Смена канала не меняет того, чему доверяют, потому что каналу и так никогда не доверяли.

Это всё ещё воздушный зазор?

Пуристы говорят, что воздушный зазор (air gap) — это только свет. Спорить о словах мы не будем. Если вам нужна строгая версия, пользуйтесь только QR-кодами — этот вариант всегда доступен. Нам важно свойство, которое стоит за словом: у устройства с ключами нет пути в интернет, и через зазор проходят только запрос, который телефон декодирует сам, и подпись, которую он решил создать. Сессия через Bluetooth LE это свойство сохраняет. А добавляет она то, что вы этим и дальше пользуетесь.

Вся серия

  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

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

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