Броски костей сохраняют ключи bitcoin в оффлайне, но не все захотят этим заняться

iconBitcoin.com
Поделиться
AI summary iconСводка
Срочные новости о bitcoin: бросание шестигранного кубика может генерировать безопасные семена для кошельков bitcoin в автономном режиме, обеспечивая защиту от электронных уязвимостей. Честный кубик обеспечивает около 2,585 бита энтропии за один бросок, при этом 50 бросков соответствуют стандарту в 128 бит. Однако недавняя уязвимость Coldcard показала, что другие функции устройства могут оставаться уязвимыми. Исследователь безопасности Кевин Лоэак отметил, что такие функции, как создание бумажного кошелька, могут оставаться уязвимыми. Хотя энтропия на основе кубиков безопасна в теории, ручной процесс подвержен ошибкам и неудобен для большинства новых пользователей. Новости о bitcoin подчеркивают продолжающиеся дебаты между безопасностью и удобством при генерации ключей.

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

Основные выводы

  • Бросок честного шестигранного кубика обеспечивает около 2,585 бита энтропии по формуле Клода Шеннона.
  • Документация Coinkite утверждает, что 50 бросков костей соответствуют стандарту 128 бит для семени кошелька bitcoin.
  • Анализ Кевина Луэка Wizard Sardine выявил риски в инструментах Coldcard, выходящие за пределы основного семени.

Почему бросок кубика так сложно предсказать

Клод Шеннон, математик, заложивший основы теории информации, использовал энтропию для измерения степени неопределенности исхода. При справедливом шестигранном кубике каждая грань имеет одинаковую вероятность выпадения — одну шестую. Это дает каждому броску примерно 2,585 бита энтропии. Подбрасывание монеты дает 1 бит, а восьмигранной кости — 3 бита.

Изображение разноцветных костей

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

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

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

Превращение бросков костей в полезные данные

Компьютер не может напрямую использовать список результатов бросков костей. Броски сначала должны быть преобразованы в двоичные данные, и метод преобразования имеет значение.

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

Тот же принцип применяется в Diceware — проверенном методе создания надежных паролей — и при ручном создании bitcoin-кошельков. Типичная восстановительная фраза из 12 слов формируется из 128 бит энтропии. Приблизительно по 2,6 бита на бросок, около 50 честных бросков обеспечивают достаточный объем исходной информации для достижения этого порога.

Coinkite, производитель аппаратного кошелька Coldcard, рекомендует 99 или более роллов пользователям, которым требуется близкая к 256 битам энтропия. Это не делает кошелек вдвое сложнее в использовании, но обеспечивает сгенерированной секретной информации значительно большую математическую маржу безопасности.

Реальное тестирование семян, сгенерированных с помощью кубиков

Это различие стало важным после того, как Coinkite сообщила о проблеме с прошивкой, восходящей к 2021 году. На некоторых устройствах Coldcard программное обеспечение могло пропускать внутренний аппаратный генератор случайных чисел и вместо этого использовать более слабый процесс, связанный с несекретной информацией устройства.

Поскольку части этого процесса можно было восстановить, злоумышленникам удалось сузить возможные ключи кошельков, вместо того чтобы перебирать весь ключевой пространство. Уязвимость была связана с кражей примерно 1128,6633 BTC с примерно 1100 адресов по состоянию на 13:00 по восточному времени.

X скриншот
Источник изображения: X

Семена кошельков, созданные исключительно из достаточного количества независимых бросков костей, не были раскрыты через тот же путь. Эти пользователи предоставили собственную энтропию, поэтому неисправный аппаратный генератор не был ответственен за создание основного секрета кошелька.

Эта защита, однако, применялась только к сиду, сгенерированному с помощью костей. Она не защищала автоматически все остальные секреты, созданные устройством.

Волшебник Сардине изучает мелкий шрифт

Исследователь безопасности Кевин Лоак опубликовал оценку эксплойта Coldcard на сайте Wizard Sardine 1 августа. Его наиболее важное наблюдение касалось функций Coldcard, которые генерировали собственные секреты отдельно от основного семени кошелька.

«Я считаю крайне важным подчеркнуть, что даже пользователи, которые импортировали или сгенерировали семя с помощью костей, уязвимы, если используют следующие функции», — написал Loaec на X, прежде чем представить диаграмму затронутой системы.

Диаграмма показывает неисправный генератор случайных чисел, питающий несколько вторичных функций Coldcard. К ним относятся создание бумажного кошелька, клонирование устройства, шифрование сеанса USB, функция передачи Secret Teleport, создание ключей совместной подписи, встроенный генератор паролей и коды аутентификации модуля аппаратной безопасности.

X скриншот
Источник изображения: пост в X от исследователя безопасности Кевина Лоэка.

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

Почему большинство новых пользователей не будут бросать кости

Энтропия, генерируемая с помощью костей, технически надежна, если она выполнена правильно, но она не является реалистичным вариантом по умолчанию для большинства новых пользователей. Бросание кости 50 или 99 раз, точный ввод каждого результата и подтверждение того, что ни один бросок не был пропущен или дублирован, требуют терпения и большой концентрации. Один ошибочно введенный номер может полностью изменить итоговый кошелек, и большинство устройств не могут определить, возникла ли ошибка из-за плохого броска, ошибки ввода или неправильного понимания инструкций.

X скриншот
Источник изображения: X

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

X скриншот
Источник изображения: X

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

X скриншот
Источник изображения: X

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

Что должны проверить владельцы Coldcard

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

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

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

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