Позиция 21wiki
Страница переработана после инцидента с генератором случайных чисел COLDCARD в июле 2026 года: разбор инцидента. До публикации независимого отчёта об аудите доверять устройствам этого производителя не стоит.
COLDCARD упоминается ниже как пример конкретных инженерных решений, а не как побуждение к покупке. Эта страница вообще не рекомендует устройств: она разбирает модель угроз, а не выбирает модель за читателя.
Аппаратный кошелёк — устройство, основная задача которого защитить приватные ключи пользователя. Ключи не покидают устройство в открытом виде, транзакция подписывается внутри, наружу выходит только подписанный результат. Это самый сбалансированный по шкале «простота / безопасность» подход к холодному хранению, и обходится он менее чем в сто долларов. Основа: Сравнение аппаратных кошельков.
Эта страница — не обзор моделей, а разбор того, что именно вы вынуждены принимать на веру, покупая такое устройство, и какими средствами это доверие можно сократить.
Что приходится доверять производителю
Аппаратный кошелёк — закрытая коробка, выполняющая несколько критических операций. По каждой из них вы либо доверяете производителю, либо находите способ проверить.
Генератор случайных чисел
Самая незаметная точка доверия. Устройство генерирует сид и показывает вам готовые слова, но качество источника случайности снаружи неотличимо. И исправный, и сломанный генератор выдают внешне одинаковый результат: те же слова, тот же отпечаток, тот же адрес.
Отсюда следует, что правильный вопрос к устройству — не «хороший ли у него генератор». На этот вопрос снаружи нет способа ответить. Правильный вопрос другой: есть ли в создании ключа хоть один источник случайности за пределами кремния производителя, и можно ли воспроизвести результат независимо.
По этой оси устройства делятся на три группы, и деление не совпадает ни с ценой, ни с наличием защищённого элемента, ни с сертификацией:
- Вся энтропия внутренняя. Ключ создаётся генератором устройства, и больше ничем. Отказ такого генератора пользователь не обнаружит в принципе — не потому, что производитель плох, а потому, что проверять нечем.
- Свою энтропию можно добавить или подставить. Устройство принимает ваши броски кости — либо подмешивая их к собственной случайности, либо полностью заменяя её ими. Это разные вещи, и разница принципиальна.
- Устройство вообще не генерирует ключ. SeedSigner доводит идею до предела: энтропию задаёте вы — кости, монета или снимок камерой, — а устройство лишь считает контрольную сумму и показывает сид-фразу. Ломаться внутри просто нечему. Основа: гид по SeedSigner.
Подмешать и заменить — не одно и то же. В гиде по COLDCARD прямо сказано: добавление собственной энтропии бросками игральной кости снижает уровень доверия к генератору случайных чисел, предлагаемому устройством. Но снижает — не значит устраняет. Когда ваши броски подмешиваются к внутренней случайности, вы результат страхуете: он не может выйти хуже, чем ваши собственные броски, но и повторить его независимо нельзя. Когда ваши броски заменяют внутренний источник целиком, результат становится воспроизводимым — ту же последовательность можно прогнать через независимую реализацию и сверить слова. Оба режима описаны в документации производителя. В сравнительных таблицах возможностей это отдельная строка — «DIY-энтропия», — и есть она далеко не у всех моделей.
Насколько всё это не теоретическая угроза, показал инцидент 2026 года: ошибка в сборке прошивки COLDCARD увела генерацию сида с аппаратного генератора на программный запасной. Ни прошивка, ни экран, ни ревью кода не подали никакого сигнала. Разбор: инцидент с ГСЧ COLDCARD.
Важно, что именно этот случай доказывает. Он не доказывает, что один производитель хуже другого, — он показывает класс отказа, которому подвержено любое устройство, вся случайность которого рождается внутри одного кремния. Защищённый элемент и сертификация от этого класса не защищают: они закрывают физическое извлечение ключа из устройства, а здесь ключ вычисляется удалённо, и к устройству никто не подходит.
Прошивка и защищённый элемент
Часть устройств использует защищённый элемент (secure element, SE) — специализированный чип для хранения секретов. SE обеспечивает защиту от физических атак, но у него есть цена: устройство с защищённым элементом требует несколько большего доверия, особенно если код SE закрыт.
Подходы производителей заметно различаются:
- Ledger использует SE с закрытым исходным кодом и собственную ОС BOLOS с изолированными приложениями.
- COLDCARD Mk4 ставит два защищённых элемента от разных производителей: один хранит зашифрованную версию приватного ключа, а для расшифровки нужны второй SE и микроконтроллер. Архитектура устройства позволяет не доверять защищённому элементу.
- BitBox02 также построен так, что архитектура позволяет не доверять SE.
- Blockstream Jade обходится вовсе без защищённого элемента, используя модель «слепого оракула»: оракул ничего не знает о данных кошелька и даже не знает фактический PIN пользователя, а при желании его можно запустить самостоятельно. Это позволило полностью открыть исходный код.
Открытость кода
Открытый код — не гарантия отсутствия ошибок, но необходимое условие для того, чтобы ошибку в принципе можно было найти. Основа: открытое ПО.
При этом «открытый» — не бинарный признак, и делить рынок на открытые и закрытые устройства бессмысленно. У любой модели это как минимум три независимых вопроса:
- Прошивка — опубликован ли исходный код того, что исполняется на устройстве, и на каких условиях. Лицензии различаются, и «исходники можно прочитать» не всегда означает «свободная лицензия».
- Аппаратная часть — опубликованы ли схемы платы и перечень компонентов.
- Защищённый элемент — код внутри SE закрыт почти всегда, даже когда прошивка и схемы открыты полностью.
Ответы не совпадают между собой: устройство может иметь полностью открытую прошивку и закрытый SE, или опубликованные схемы при ограничительной лицензии на код. Поэтому степень открытости нужно проверять по репозиторию и документации конкретного производителя, а не по ярлыку в обзоре — например, прошивка и схемы COLDCARD, репозиторий SeedSigner, репозитории Foundation Devices. Ledger здесь крайний случай: ключ создаётся собственной операционной системой BOLOS с закрытым кодом.
И вещь, которую открытость не даёт сама по себе: прочитанный код и правильно прочитанный код — не одно и то же. Дефект может годами лежать в открытом репозитории, если ревью убеждается, что нужный код в прошивке присутствует, а не в том, что вызывается именно он. Открытость необходима, чтобы ошибку можно было найти, но не достаточна, чтобы её нашли.
Само существование производителя
Предпосылка, о которой редко думают, пока она не нарушится. Как отмечено в материале о сид-фразах, производитель оборудования всегда может допустить ошибку, которая скомпрометирует ваши средства, или внести изменения в программное обеспечение, доставляющие неудобства при самостоятельном хранении.
Отказы производителей — не единичные аномалии, а несколько устойчивых категорий, и различаются они тем, что можно сделать после.
- Непреднамеренный дефект в коде. Сборочный дефект в прошивке COLDCARD, из-за которого сиды с марта 2021 года создавались слабым генератором. Чинится обновлением — но только для новых ключей: уже созданный ключ обновление не лечит, и перенос его в другое устройство не лечит тоже.
- Продуктовое решение, меняющее модель безопасности. В 2023 году Ledger анонсировали функцию, при которой сид хранится не только на самом устройстве. Код при этом работал как задумано — изменились обещания, на которых пользователь строил свой выбор. После этого рекомендовать эти устройства для защиты крупных сумм одним ключом перестало быть разумным — при том что как элемент мультиподписи или для небольших сумм они по-прежнему лучше обычного горячего кошелька.
- Дефект, который обновлением не чинится. Часть слабостей лежит в самом железе, и тогда «патч» означает сменить устройство или изменить модель поведения. Другого выхода нет: при достаточных ресурсах злоумышленник извлечёт сид-фразу из любого аппаратного кошелька.
- Вмешательство в цепочке поставок. Устройство приходит уже скомпрометированным, и с качеством кода производителя это не связано вообще. Разбирается ниже отдельно.
Реакция на категории разная. От первой защищает возможность создать ключ, не полагаясь на устройство целиком. От второй — то, что вы не обязаны обновляться и не привязаны к фирменному программному обеспечению. От третьей — парольная фраза и разнородность, то есть отсутствие схемы, в которой всё держится на одном производителе.
Средство защиты, общее для всех категорий, здесь одно — совместимость. Сид-фраза стандарта BIP-39 восстанавливается в кошельке любого производителя, и при должном хранении сида аппаратный кошелёк перестаёт быть единой точкой отказа.
Цепочка поставок
Отдельный класс угроз, не связанный с качеством самого устройства. Проблема в том, что между производителем и вами стоят люди. Основа: гид по SeedSigner.
Чем длиннее логистическая цепочка, тем больше третьих лиц и тем выше вероятность вмешательства в целостность устройства. Подменённые аппаратные кошельки — не гипотеза: покупатели устройств у третьих лиц не раз обнаруживали, что их сбережения ушли на неподконтрольный им адрес, и Trezor здесь лишь один пример из многих. Покупка устройства на маркетплейсах общего назначения — категорически неприемлемый вариант.
Часть производителей отвечает на это сокращением самой цепочки — отказом от реселлеров и отправкой устройств только напрямую; так поступает, например, Coinkite. Логика простая: стоит ли экономия тридцати долларов на реселлере того риска, которому вы подвергаете хранимую сумму.
Производители отвечают на эту угрозу несколькими механизмами:
- Упаковка с защитой от вскрытия. Устройство приходит запечатанным так, что вскрытие оставляет необратимый след, а напечатанный на упаковке уникальный номер должен совпасть с числом, которое устройство покажет на экране при первом включении. Так устроена, например, поставка COLDCARD: прозрачный герметичный пакет, на котором после снятия пломбы проступает слово «void».
- Антифишинговые слова. PIN разделён на две части. После ввода первой половины устройство показывает два слова, уникальных для этого экземпляра. Если вы видите не те слова — перед вами подменённое устройство, и вводить остаток PIN нельзя.
- Светодиодные индикаторы. У COLDCARD Mk4 и Passport отдельные светодиоды подтверждают, что содержимое защищённого элемента не изменилось с прошлого использования, что программное обеспечение не скомпрометировано и что в устройство не вносились физические изменения.
- Защита от вскрытия корпуса. У Keystone 3 Pro любая попытка вскрыть корпус приводит к удалению данных.
Радикальный ответ на ту же угрозу — собрать устройство самому. SeedSigner собирается из общедоступных компонентов широкого применения: микрокомпьютера, платы с дисплеем и миникамеры. Детали можно купить где угодно, потому что сами по себе они не несут секретов — плата лишь производит вычисления по проверяемому открытому коду, а устройство никогда не подключается к интернету. Смысл подхода его автор формулирует прямо: перестать быть вынужденным кому-либо доверять.
Физические атаки и принуждение
Отдельная ветка модели угроз — сценарий, в котором устройство физически оказалось в чужих руках.
Базовый факт стоит принять сразу: никакое оборудование не обеспечивает стопроцентную защиту сида. При достаточных ресурсах и опыте злоумышленник извлечёт сид-фразу из любого аппаратного кошелька. Основа: материал о парольных фразах. Именно поэтому, если физические атаки входят в вашу модель угроз, к устройству нужна надёжная парольная фраза.
Механизмы, которые устройства предлагают на этот случай:
- Защита от перебора PIN. Устройства Ledger сбрасываются до заводских настроек уже после трёх неудачных попыток, Trezor — после шестнадцати. Компромисс двусторонний: подобрать PIN злоумышленнику крайне сложно, но и вы рискуете быстро получить стёртое устройство, если забыли код.
- Запасной («подставной») PIN. Открывает второй кошелёк с небольшой суммой. У Jade это реализовано ещё мягче: устройство удаляет сохранённую фразу восстановления и выводит на экран «Внутреннюю ошибку».
- PIN-кирпич. У COLDCARD ввод аварийного PIN не сбрасывает устройство, а уничтожает оба защищённых элемента, делая кошелёк бесполезным.
Отдельно стоит отметить биометрию. Датчик отпечатка пальца, как в Keystone 3 Pro, удобен, но такая авторизация уязвима перед «атакой гаечным ключом» и лишает возможности правдоподобного отрицания, поэтому включение устройства и вход в настройки безопасности там всё равно требуют PIN или пароль.
Воздушный зазор
Большинство аппаратных кошельков работает через прямое подключение к компьютеру по USB. Воздушный зазор (air gap) убирает и этот канал: устройство никогда физически не соединяется ни с чем, кроме источника питания.
Обмен данными идёт через промежуточный носитель — карту microSD, QR-код на экране и камеру или NFC. Работает это благодаря стандарту BIP-174, задающему формат частично подписанной транзакции (PSBT). Компьютер конструирует транзакцию и сохраняет её как PSBT, устройство подписывает её офлайн своими приватными ключами, подписанный файл возвращается в программу для трансляции в сеть. Тот же формат лежит в основе мультиподписи, где транзакция по очереди обходит владельцев ключей, накапливая подписи.
Практическое следствие: устройство с воздушным зазором совместимо с любым программным обеспечением, поддерживающим PSBT; вы не привязаны к фирменному приложению производителя.
Беспроводные интерфейсы
Bluetooth и NFC расширяют возможности и одновременно расширяют поверхность атаки.
Наличие Bluetooth вызывает у многих обоснованные опасения из-за потенциала атаки во время сопряжения, и производители наличие такой опасности признают. Функция, как правило, отключается в настройках, а подключение переводится на кабель, но сам факт наличия беспроводного модуля в устройстве, хранящем ключи, спокойствия не прибавляет. Аналогично с NFC у COLDCARD Mk4: по умолчанию функция отключена, а при желании соединение на плате можно физически нарушить.
Bitcoin-only прошивки
Поддержка тысяч посторонних токенов означает больше кода, больше приложений и больше векторов атаки. Ряд производителей предлагает прошивку исключительно для Биткоина, из которой удалено всё лишнее.
Нюансы стоит знать заранее: у Trezor Bitcoin-only прошивка существует, но не устанавливается по умолчанию. У BitBox02 версия Bitcoin-only, в отличие от других устройств, не может быть перенастроена на поддержку других монет — это уже не режим, а отдельный продукт. У COLDCARD, Jade, Passport и SeedSigner поддержка Биткоина эксклюзивна изначально.
Как сократить доверие на практике
Ни один из пунктов ниже не требует специальных знаний — только последовательности.
- Покупайте напрямую у производителя. Не у реселлеров, не с рук и тем более не на маркетплейсах общего назначения.
- Проверьте упаковку до включения. Сверьте номер на пломбе с числом на экране при первом запуске.
- Запишите антифишинговые слова и сверяйте их при каждом вводе PIN.
- Задайте энтропию сами, если устройство это позволяет, — или используйте устройство, которое иначе и не умеет.
- Проверьте подлинность программного обеспечения перед установкой — подпись PGP и контрольную сумму. Для SeedSigner это официально рекомендованный (хотя и необязательный) шаг сборки. Процедура целиком — на странице проверка подлинности ПО.
- Запишите отпечаток кошелька (XFP) рядом с сид-фразой и сверяйте его каждый раз при подключении к новому программному обеспечению или вводе парольной фразы.
- Не храните аппаратный кошелёк вместе с резервной копией сида. Даже если они защищают один и тот же сид, разделение даёт вам время вывести средства раньше злоумышленника.
- Проверьте схему на небольшой сумме до того, как переносить сбережения.
Когда одного устройства мало
Аппаратный кошелёк устраняет самую массовую угрозу — попадание ключа в интернет, — но остаётся единственным устройством, за которым стоит единственный производитель, единственная прошивка и единственный источник случайности.
Ключевой вопрос при выборе устройства формулируется в исходном обзоре так: будет ли оно использоваться как отдельный кошелёк с одной подписью или как часть схемы мультиподписи. Ответ определяет всё остальное — от требований к устройству до допустимых мест хранения резервных копий.
Пробелы
Внутреннее устройство аппаратного источника случайности источники описывают только на уровне последствий его отказа. Отдельный открытый вопрос — воспроизводимость сборок самих прошивок аппаратных кошельков: практика здесь заметно неоднороднее, чем у Bitcoin Core, и по ней в нашей вики пока что материала нет.
Источники
- Сравнение аппаратных кошельков
- Что такое Coldcard?
- SeedSigner: аппаратный кошелёк своими руками
- Что такое сид-фраза?
- Насколько надёжна ваша парольная фраза?
- Сид на костях: как создать ключ, не доверяя генератору
- COLDCARD: создание мастер-сида — документация производителя
- Прошивка COLDCARD и схемы аппаратной части
- Репозиторий SeedSigner
- Репозитории Foundation Devices
- Ledger BOLOS — документация производителя
- BIP-174: Partially Signed Bitcoin Transaction Format (BSD-2-Clause)