Brainwallet

brainwallet — это метод получения ключей криптовалюты на основе информации, которую человек пытается запомнить. В классической форме Биткойна пользователь выбирает слово, цитату или парольную фразу и хэширует их, чтобы получить закрытый ключ. Этот метод небезопасен, поскольку выбранный человеком текст обладает гораздо меньшей непредсказуемостью, чем криптографический ключ, и может быть проверен злоумышленниками без взаимодействия с владельцем.
Этот термин также иногда используется для запоминания фразы восстановления, сгенерированной кошельком. Это другая конструкция: фраза восстановления кодирует случайную энтропию, генерируемую программным обеспечением кошелька, тогда как классический мозговой кошелек начинается со слов, выбранных пользователем. Использование памяти как единственной резервной копии по-прежнему создает серьезный риск безвозвратной потери.
Предупреждение безопасности: Не создавайте и не пополняйте классический мозговой кошелек. Не проверяйте настоящую парольную фразу, фразу восстановления, начальное значение или закрытый ключ на веб-сайте. Примеры, опубликованные в статьях, видеороликах, исходном коде или демонстрациях, следует считать скомпрометированными.
Как работают классические мозговые кошельки
Ранние инструменты Brainwallet обычно применяли хэш, такой как SHA-256, к выбранной пользователем фразе и интерпретировали результат как закрытый ключ Биткойна. Соответствующие открытый ключ и адрес затем могут быть рассчитаны детерминированным образом. Этот процесс не требовал сохранения файла ключа, что делало его устойчивым к потере или краже устройства.
Дизайн переносит проблему безопасности на заученную фразу. Злоумышленник может собрать словари, цитаты, названия песен, утекшие пароли, варианты написания, раскладки клавиатуры и списки слов для конкретного языка; получить каждый потенциальный ключ; и проверьте публичный блокчейн на наличие средств. Эти предположения выполняются в автономном режиме и на высокой скорости. Длинное или необычно выглядящее предложение не обязательно является непредсказуемым, и добавление нескольких замен или знаков препинания не обеспечивает измеримую криптографическую энтропию.
Доказательства эксплуатации
Васек, Бонно, Кастеллуччи, Кейт и Мур провели крупномасштабное исследование использования мозгового кошелька Биткойн. Оценив около 300 миллиардов паролей-кандидатов и исключив исследовательскую деятельность, они выявили 884 мозговых кошелька, использованных в период с сентября 2011 года по август 2015 года. Все, кроме 21, были опустошены; многие были опорожнены за считанные минуты, а большинство - за 24 часа. Исследователи наблюдали, как несколько сливщиков конкурируют за использование средств со слабых ключей.[1]
Райан Кастеллуччи публично продемонстрировал модель атаки на DEF CON 23 и выпустил brainflayer, инструмент для проверки концепции, который проверяет фразы-кандидаты с использованием вывода открытого ключа Биткойна secp256k1. [2] Этот инструмент не сломал криптографию Биткойна: он автоматизировал догадки, сделанные на гораздо меньшем пространстве человеческого выбора.
Почему усиления хеша недостаточно
В некоторых более поздних разработках были добавлены соли или функции создания паролей, требующие жесткого хранения памяти, чтобы сделать каждое предположение более дорогостоящим. Такие элементы управления могут существенно замедлить атаку злоумышленника, если они указаны и реализованы правильно, но они не делают предсказуемую фразу эквивалентной равномерно случайному секрету. Их защита зависит от фразы, параметров, соли, реализации и ресурсов злоумышленника.
Пользовательские схемы добавляют еще один риск: если забыты точная нормализация, кодировка символов, использование заглавных букв, соль или параметры, те же слова могут получить другой ключ. Частная конструкция также может не подвергаться тщательному анализу, и ее становится невозможно воспроизвести после исчезновения ее программного обеспечения. По этим причинам «защищенный мозговой кошелек» не следует представлять в качестве замены безопасно сгенерированной энтропии кошелька и проверенной резервной копии.
Фразы восстановления разные
Фразы восстановления BIP 39 кодируют от 128 до 256 бит энтропии, сгенерированной кошельком, плюс контрольную сумму и получают начальное число с помощью PBKDF2-HMAC-SHA512. Спецификация явно описывает слова как средство передачи случайных данных, сгенерированных компьютером, а не как способ обработки предложений, созданных пользователем. [3] Другие кошельки используют другие схемы кодов восстановления. Во всех случаях безопасность обеспечивается случайной энтропией кошелька и проверенным процессом вывода, а не изобретанием запоминающихся слов человеком.
Mastering Bitcoin отличает коды восстановления от мозговых кошельков по следующему признаку: слова восстановления создаются кошельком случайным образом, а слова для мозгового кошелька выбираются пользователем. [4] Фраза восстановления представляет собой полную секретную резервную копию и никогда не должна разглашаться.
Дополнительная кодовая фраза BIP 39 создает разные начальные значения для каждого введенного значения. Таким образом, он может предоставить дополнительный секрет, но также создает еще один риск необратимых потерь: универсальной службы восстановления учетной записи не существует, а неверная парольная фраза может открыть кажущийся действительным, но другой кошелек. Не следует путать с выбором самих слов восстановления.
Риски человеческой памяти и непрерывности
Даже тайна, изначально обладающая достаточной энтропией, может быть утеряна в результате обычных человеческих событий. Точное запоминание может измениться со временем, болезнью, травмой, стрессом, старением, изменениями в языке или неправильно понятым мнемоническим средством. Опека только по памяти также создает сложные проблемы наследования и недееспособности. И наоборот, принуждение может опровергнуть представление о том, что заученный секрет не оставляет ничего, что можно было бы украсть.
Запоминание материалов для восстановления, сгенерированных кошельком, может быть дополнительной личной защитой, но это не должно быть единственным проверенным методом восстановления, если только владелец сознательно не принял на себя риски забывания, недееспособности, смерти, принуждения и отказа в наследстве. Надежный план обычно отделяет безопасную случайную генерацию от избыточного, физически защищенного и проверенного восстановления.
Более безопасная практика
- Используйте поддерживаемое программное обеспечение кошелька или аппаратное устройство для подписи, которое безопасно генерирует энтропию.
- Запишите материалы для восстановления кошелька точно в соответствии с инструкциями и храните их в автономном режиме в физически защищенном хранилище.
- Никогда не фотографируйте, не отправляйте по электронной почте, не загружайте и не вставляйте фразу восстановления на веб-сайт, в беседу поддержки или в систему искусственного интеллекта.
- Проверьте процесс восстановления, используя документированную процедуру кошелька и безопасную среду, прежде чем полагаться на резервную копию.
- Сохраните тип кошелька и другие несекретные метаданные, необходимые для восстановления.
- Рассматривайте потерю, кражу, пожар, принуждение, недееспособность и наследование как отдельные части модели угроз.
- Если классический мозговой кошелек или общедоступный пример когда-либо содержали средства, считайте его ключ скомпрометированным и переместите все оставшиеся средства в вновь созданный кошелек.
Историко-познавательная ценность
Brainwallets являются важным примером разницы между размером математического ключа и эффективной безопасностью. Пространство закрытых ключей Биткойна чрезвычайно велико, но ключ, полученный из общей цитаты, занимает небольшой набор предположений, отдаваемых приоритетом злоумышленнику. Этот эпизод также иллюстрирует, почему требования безопасности должны учитывать генерацию энтропии, поведение резервного копирования, совместимость программного обеспечения и пользовательские интерфейсы, а не только криптографические алгоритмы.
Старые руководства часто включали обработанную фразу, производный ключ и адрес. Повторение такого пошагового руководства не имеет большой энциклопедической ценности и создает предсказуемый ключ, который читатели могут ошибочно принять. Полезный урок — это модель атаки и исторические свидетельства, а не рецепт многократного использования секрета.
См. также
- Закрытый ключ
- Mnemonic phrase
- Bitcoin wallet
- Cold storage
- Взлом пароля
Ссылки
- ↑ Vasek et al., “The Bitcoin Brain Drain: Examining the Use and Abuse of Bitcoin Brain Wallets”, Financial Cryptography and Data Security, 2017.
- ↑ brainflayer source and documentation, released with “Cracking CryptoCurrency Brainwallets,” DEF CON 23, 2015.
- ↑ BIP 39: Mnemonic code for generating deterministic keys, accessed 27 August 2026.
- ↑ Mastering Bitcoin, “Wallet Recovery Codes”, source manuscript, accessed 27 August 2026.