Ошибка Coldcard показывает, почему три аппаратных кошелька могут разделять один риск
Ключевые выводы
- •Рекомендации Coldcard говорят, что затронутым пользователям нужна новая seed-фраза и перевод средств после проверки нового кошелька, поскольку исправление прошивки не переназначает уже существующие средства.
- •Seed-фразы, созданные как минимум с 50 честными, независимыми и приватными бросками костей, рассматриваются как исключение, а пользователям с passphrase все равно следует мигрировать, потому что базовая seed-фраза остается прежней.
- •Кошелек 2-of-3 настолько независим, насколько независимы его подписанты, а несколько устройств с одной и той же recovery phrase по-прежнему считаются одним подписантом.
- •В статье сказано, что запись для восстановления multisig должна включать политику подписания, тип script, output descriptor, XPUB, master fingerprints и пути деривации.
- •Перед крупным депозитом следует провести небольшой тест восстановления, а материалы для восстановления никогда не следует передавать сайтам или в сообщения поддержки.

Затронутым seed-фразам Coldcard нужны новые ключи
Установка исправленного релиза прошивки оставляет без изменений каждый приватный ключ, выведенный до обновления. Текущие рекомендации по безопасности Coldcard предписывают затронутым владельцам создать новую seed-фразу и перевести средства после проверки нового кошелька.
Компания описывает одно исключение: seed-фразы, созданные как минимум с 50 честными, независимыми и приватными бросками костей. Финальные слова должны быть получены после бросков, а последовательность должна оставаться в секрете. Coldcard также советует пользователям с passphrase мигрировать как можно скорее, поскольку passphrase не меняет базовую seed-фразу.
Обзор Coldcard от Coindoo за 21 августа перечисляет соответствующие модели, ветки прошивок и исправленные релизы. Владельцам, готовым перевести средства, следует следовать пошаговому руководству Coldcard по миграции, которое включает проверку резервной копии, сверку wallet fingerprint, небольшой тестовый перевод и финальную сверку баланса. Эта последовательность важна, потому что одно лишь обновление прошивки не переназначает средства, уже выведенные из затронутой seed-фразы.
Материалы для восстановления никогда не следует отправлять на сайты или передавать в сообщениях поддержки. Coldcard заявляет, что пользователи не должны раскрывать seed-слова, passphrase, броски костей, XPRV, пароли резервных копий или QR-коды приватных ключей. Любому, кто не уверен в процессе, следует остановиться до стирания устройства или отправки полного баланса.
После того как открытые средства окажутся под контролем нового ключа, владелец может решить, подходит ли multi-vendor setup для защищаемой суммы и объема работ по восстановлению, который он создает.
Кошелек 2-of-3 все равно содержит одного скомпрометированного подписанта
Кошелек 2-of-3 требует две авторизованные подписи для каждой траты. Наличие одного ключа дает злоумышленнику недостаточные полномочия для перемещения bitcoin, если остальные подписанты и политика кошелька остаются в безопасности.
Однако три устройства, загруженные одной и той же recovery phrase, по-прежнему представляют одного подписанта. Каждое устройство создает подписи из одних и тех же приватных ключей, а бренд оборудования не влияет на ключи, уже выведенные из импортированной фразы.
Три отдельно сгенерированные seed-фразы создают трех разных подписантов. Если все три были созданы одним производителем, кошелек также наследует его генерацию случайных чисел, прошивку и допущения по secure element. Распределение создания ключей между несколькими производителями снижает риск, связанный с уязвимостью в одной реализации.
Одних названий поставщиков недостаточно, чтобы доказать полную независимость. Разные продукты могут использовать общие программные библиотеки, чипы или приложения coordinator. Происхождение seed-фраз, записи настройки и проверка на устройстве дают доказательства, необходимые для понимания этих общих зависимостей.
Unchained применил эту логику порога в своем security advisory по Coldcard. Провайдер multisig посоветовал клиентам, у которых есть два пользовательских ключа, сгенерированных Coldcard, создать новый vault с использованием свежих ключей не от Coldcard. Unchained продает collaborative custody и выигрывает от более широкого внедрения multisig, поэтому это предупреждение полезно как операционный опыт заинтересованного провайдера.
Прежде чем пополнять multisig-кошелек, ответьте на пять вопросов
- Где была сгенерирована каждая seed-фраза? Зафиксируйте производителя, модель устройства, версию прошивки и дату настройки. Пометьте каждую импортированную seed-фразу ее исходным источником.
- Есть ли у каждого подписанта отдельные материалы для восстановления? Клонированные фразы — это копии одного ключа. Seed-фразы, выведенные из одного master или из одной и той же последовательности только из бросков костей, также имеют общее происхождение.
- Видел ли подключенный компьютер достаточно секретов, чтобы подписывать? Храните каждую фразу внутри собственного аппаратного подписанта и офлайн-резервной копии. Проверяйте политику и адрес получения на экранах устройств.
- Физически ли разделены устройства и резервные копии? Один пожар, кража или принуждение могут затронуть всех подписантов, хранящихся вместе. Отчет Coindoo от 25 июля о домашних вторжениях, связанных с криптовалютой объясняет, почему планирование хранения должно учитывать людей и места, связанные с ключами.
- Кто сможет восстановить кошелек после исчезновения одного подписанта? Инструкции должны покрывать отказ устройства, смерть, недееспособность и потерю доступа к удаленному месту хранения.
Устраните любой неясный ответ до внесения значимого баланса.
Подкрепите политику кошелька seed-фразами
Восстановление multisig требует правил, которые объединяют несколько публичных ключей в правильные адреса Bitcoin. BIP-380 объясняет, что резервных копий ключей может быть недостаточно, если в кошельке отсутствует информация о типе script и деривации. Output descriptor хранит эти сведения в формате, поддерживаемом совместимым программным обеспечением кошельков.
Основной набор данных для восстановления должен содержать:
- Политику подписания, например 2-of-3
- Адрес и тип script
- Публичный output descriptor и его checksum
- XPUB и master fingerprint каждого подписанта
- Путь деривации для каждого ключа
- Несколько защищенных копий полного набора данных
Документация Coldcard по multisig показывает, как политика, формат адреса, путь деривации, fingerprints и XPUB определяют кошелек. Сопроводительные примечания могут указывать coordinator software, устройства генерации ключей, последнюю проверку восстановления и контакты наследования.
Экспортируйте публичный descriptor, содержащий XPUB, и рассматривайте его как чувствительные финансовые метаданные: он может раскрывать адреса кошелька, балансы и историю транзакций. Descriptor, содержащий XPRV, предоставляет право на расходование и относится к материалам приватных ключей.
Точные места хранения резервных копий держите в отдельной записи с ограниченным доступом. Украденный документ, который идентифицирует каждого подписанта и место хранения, может подорвать физическое разделение настройки.
Проведите один тест восстановления до основного депозита
Используйте небольшую сумму bitcoin и выполните упражнение, когда один подписант недоступен:
- Восстановите watch-only wallet из сохраненного descriptor.
- Подтвердите политику, тип script и fingerprints подписантов.
- Проверьте один и тот же адрес получения на двух подписывающих устройствах.
- Отправьте небольшую тестовую сумму на подтвержденный адрес.
- Создайте, подпишите и транслируйте транзакцию с использованием доступного кворума.
- Подтвердите адрес назначения и исправьте недостающие инструкции.
Каждая seed-фраза должна оставаться внутри своего аппаратного подписанта на протяжении всего упражнения. Сбор достаточного количества фраз для выполнения политики на одном подключенном компьютере дает этой машине контроль над кошельком.
Повторите упражнение после замены подписанта, смены coordinator, перемещения резервной копии или обновления плана наследования. Сохраняйте прежние материалы восстановления, пока каждый перевод в новую политику не будет подтвержден и сверен.
Multi-vendor multisig подходит для долгосрочных активов, потеря которых нанесла бы серьезный ущерб, для бизнес-резервов с определенными обязанностями по подписанию и для наследственных масс с поддерживаемым процессом наследования. Владелец должен уметь защищать несколько записей, добираться до нужных мест и повторять тест восстановления.
Более простой кошелек может подойти для активных расходов и заменяемых сумм, требуя меньшего обслуживания. Крупные активы могут оправдывать помощь профессионалов, если владелец не может уверенно восстановить кошелек или управлять несколькими подписантами.
План collaborative custody сочетает независимо контролируемый ключ провайдера с поддержкой восстановления, проверками личности, доступностью сервиса, комиссиями и регулирующей правовой юрисдикцией. Все условия следует изучить до пополнения кошелька.
Что меняет инцидент с Coldcard
Проверка хранения теперь может начинаться с трех записей: происхождения каждого подписанта, полного wallet descriptor и датированного теста восстановления. Недостающую информацию следует устранить до того, как дополнительные устройства или более крупные балансы усложнят изменение настройки.