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

Проследите путь фразы от носителя до производного ключа

Мнемоника в стиле BIP-39 нормализуется, растягивается с помощью PBKDF2-HMAC-SHA512 с необязательной парольной фразой в качестве соли и превращается в семя, из которого кошелёк выводит ключи. Отсюда напрямую следуют два следствия. Во-первых, фраза — это постоянные полномочия, а не учётные данные сеанса, поэтому при утечке сброса на стороне сервера нет. Во-вторых, необязательная парольная фраза участвует в выводе, и поэтому восстановление, которое как будто даёт пустой кошелёк, обычно означает, что введена неверная парольная фраза, а не неверная фраза.

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

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

Гостевая система наследует доверие своего хоста

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

ControlWhat it addressesWhat it leaves exposed
Verified wallet buildRunning the code the publisher actually signedEverything the running process can read once it starts
Live-boot environment, no persistent diskSecrets left in swap, caches or a saved sessionThe firmware, the keyboard and the display path
Full-disk encryption on the hostRecovery material at rest after shutdownThe same material while the machine is unlocked
Tunnel to a trusted exitWho can observe traffic in transitLocal processes, screen capture and input hooks

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

Честный вывод уже, чем «виртуальная машина небезопасна». Виртуальная машина может быть правильным контейнером для работы, когда хост — это машина, которой вы доверяете, а функции общего доступа вы удалили. Хост, которому вы не доверяете, она спасти не может.

Что на самом деле покрывает шифрованный туннель

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

Это различие важно, потому что обе вещи продаются вместе. «Шифрованное соединение» описывает передачу; «доверенное устройство» описывает конечную точку. Процедура восстановления требует отдельного ответа на обе, и только один из них может дать сетевой сервис.

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

sha256sum -c SHA256SUMS.txt
gpg --verify SHA256SUMS.txt.sig SHA256SUMS.txt

Подготовьте среду до появления материала

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

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

Если вы подозреваете утечку, прекратите вводить материал в этой системе и перейдите в среду, которой можете доверять независимо. Закрытие виртуальной машины, смена пароля VPN или переустановка приложения кошелька не меняют полномочия кошелька; это делает только перенос активов в новый кошелёк с заново созданными ключами. Держите сырую фразу вне любого разговора с поддержкой, пока получаете шаги для своего кошелька, потому что ни один законный процесс поддержки в ней не нуждается. Это единственное правило предотвращает больше потерь, чем любой чек-лист по усилению защиты.

Похожие статьи