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

Хранилище на вашем компьютере: Argon2id и профиль, устойчивый к подбору пароля

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

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

Один профиль

Всё, что десктоп знает о вас, лежит в одном зашифрованном файле: кошельки, их адреса и метки, адресная книга, сетевые настройки, сопряжения с телефоном, а для неизолированных (not air-gapped) кошельков — и их сид-фразы (seed). Файл открывается вашим паролем на том компьютере, где он был создан, и записывается с той аккуратностью, какой заслуживает файл кошелька.

Argon2id и почему важно, что он требователен к памяти

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

AirNox Wallet пропускает ваш пароль через Argon2id — победителя конкурса Password Hashing Competition и текущую рекомендацию именно для такой задачи. Argon2id требователен к памяти (memory-hard): для его вычисления нужен большой блок памяти на всё время работы, а не только процессорное время. У видеокарты тысячи ядер, но нет тысяч больших блоков памяти, поэтому обычный приём — параллельный перебор на GPU — почти ничего не даёт. Специализированное железо справляется не лучше.

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

Откалиброван под ваш компьютер

Цена — не фиксированное число. При создании профиля кошелёк измеряет ваш компьютер и настраивает Argon2id так, чтобы одно вычисление занимало на нём около секунды и большой объём памяти. На быстрой рабочей станции это означает больше работы на каждую попытку, на маленьком одноплатном компьютере — параметры, подогнанные под возможности железа, но всё ту же примерно секунду.

Вы платите эту цену один раз за разблокировку; атакующий — за каждую попытку, и видеокарты ему не помогут
Вы платите один раз. Тот, кто подбирает, — каждый раз.

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

Привязка к компьютеру

Профиль привязан к компьютеру, на котором создан, а на машинах с чипом безопасности TPM 2.0 эта привязка закреплена в самом чипе. Если скопировать файл на другую машину, одним паролем его не открыть. Поэтому украденный файл становится гораздо более трудной задачей, чем обычно.

Что ещё есть в хранилище

Растущие задержки. После неверных попыток пауза перед следующей растёт. Попытка, которая и так дорогая, становится ещё и медленной.

Автоблокировка при бездействии. Отошли — профиль заблокировался сам. Вернуться стоит одного пароля.

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

Без захвата экрана. Кошелёк не пускает свои окна в скриншоты и записи экрана, поэтому программа захвата экрана (screen capture) на том же компьютере не видит того, что видите вы.

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

Права только для владельца. Профиль может читать ваша учётная запись и больше никто на этом компьютере.

Что хранилище защищает, а что нет

У изолированного (air-gapped) кошелька десктопный профиль хранит адреса и настройки, а ключи остаются на телефоне. Хранилище защищает вашу приватность и конфигурацию. У кошелька, чья сид-фраза живёт на компьютере, хранилище — это то, что стоит между атакующим с вашим файлом и вашими средствами, поэтому оно и устроено именно так. По той же причине AirNox Wallet сам по себе, с сид-фразой в этом хранилище, — надёжный выбор для повседневных операций, а AirGap остаётся максимальным уровнем защиты для самого важного. В обоих случаях надёжный пароль выбираете вы. Хранилище делает каждую попытку дорогой. Сделать короткий пароль длинным оно не может.

Вся серия

  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

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

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