Кошелек-вопросник: pазвитие идеи ‘кошелька в голове’

btcwallet

Эта статья предлагает решение, которое сохраняет преимущества ‘кошельков в голове‘ (кошельков в памяти) и при этом не имеет его недостатков. Идея заключается в использовании личных вопросов как источника создания кошелька в памяти.

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

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

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

Однако, у метода есть и недостатки: он очень уязвим для брутфорс атак (атаки перебором), к тому же, человек может попросту забыть свою секретную фразу.

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

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

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

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

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

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

Чтобы вы имели представление, ознакомим вас с некоторыми данными: за всё время во Франции было издано в общей сложности 14 млн книг. Предположим, что длина случайной книги составляет 500 страниц, а на каждой странице помещается 20 предложений. Исходя из этого, общее количество предложений составляет 140 миллиардов. Всего-то пара секунд вычислительной работы одного компьютера! Получается, что любое существующее предложение или то, о котором вы можете подумать на любом языке, не является безопасным. Любая фраза из Интернета также небезопасна. Подмножество же всех существующих предложений или же выборка из другого языка увеличивает трудоемкость взлома не так уж сильно.

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

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

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

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

Учитывая вышеперечисленные проблемы, есть ли хоть какая-то надежда на безопасное использование кошельков в памяти?

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

Кошельки-вопросники

Моё предложение по улучшению кошельков в памяти заключается в хранении ряда очень личных вопросов, скажем в бумажном виде. Цепочка ответов на эти вопросы используется для воссоздания секретной фразы. Я пользуюсь кошельками, сгенерированными таким методом с 2012 года и нахожу их одновременно очень мощным и удобным средством.

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

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

Сравним кошельки-вопросники с уже существующими решениями класса ‘холодное хранилище’:

  • Кошелек-вопросник, также как и кошелек в голове, невозможно украсть чисто физически. Бумажные же кошельки, напротив, могут быть украдены или утеряны.
  • Практически невозможно забыть ответы на личные вопросы, также как и не прочесть данные с носителя бумажного кошелька.

Нужно принять меры предосторожности, дабы не было никаких двусмысленных вопросов, для чего можно воспользоваться следующим набором правил:

  • Оставлять пространство между каждым словом
  • Каждый знак должен быть строчным
  • Если ответ состоит из нескольких слов, использовать только первое из них

Автор метода рекомендует руководствоваться следующим списком, для максимальной энтропии и безопасности:

  • необходимо убедиться, что в ответах на вопросы отсутствует какая-либо двусмысленность
  • ответ не должен содержаться где-либо в Интернете
  • использовать не менее 20 вопросов

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

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

Вот пример подборки вопросов:

  1. Имя моей собаки, когда мне было 7 лет.
  2. Название города, где я сломал лодыжку.
  3. Фамилия девушки, с которой я переспал на школьной вечеринке под названием “люблю развлекаться”.
  4. Имя друга, с которым я прожил 3 месяца, будучи 3 месяца в Барселоне в 2012 году.
  5. Первое слово в названии видеогры в которую я с моим младшим братом Фрэнком играли  на праздниках в Казинсе.
  6. Названием моего клана в игре Warcraft 3.
  7. Никнейм моего друга Орельена Дюпона.
  8. Фамилия фермера, у которого мой дядя Самуил Лоран всю свою жизнь покупает молоко.
  9. Название настольной игры, которую я изобрел вместе со своим другом Крисом, когда мы еще были детьми.
  10. Город в котором я сделал предложение своей будущей жене.
  11. Имена моих персонажей в игре zelda3.
  12. Дата, когда моя бывшая девушка бросила мой телефон в ванну в формате ДД/ММ/ГГГГ.
  13. Телефонный номер моего лучшего друга в то время, когда мне было 11 лет.
  14. Имя знакомого, с которым я посещал Лас-Вегас.
  15. Дата, когда в детстве вас побили в формате ДД/ММ/ГГГГ.
  16. Имя любимого учителя.
  17. Спорт, который вам нравился больше всего, когда вам было 12 лет.
  18. Профессия вашей мечты в 15 лет.
  19. Прозвище Ванессы.
  20. Фамилия парня, которого вы ненавидели всем сердцем в 18 лет.

В качестве дополнительной меры предосторожности против брутфорс атак следует добавить несколько общих вопросов:

  1. Имя бабушки по линии отца.
  2. Девичья фамилия бабушки по отцовской линии.
  3. День рождения бабушки по отцовской линии в формате ДД/ММ/ГГГГ.
  4. Имя деда по материнской линии.
  5. Фамилия деда по материнской линии.
  6. Дата рождения деда по материнской линии в формате ДД/ММ/ГГГГ.
  7. Моё имя.
  8. Моя фамилия.
  9. Моя дата рождения в формате ДД/ММ/ГГГГ.

Ответы на цепочку вопросов будут представлять собой ряд слов разделенных пробелами. Конвертация с помощью стандартного алгоритма SHA256 (или более защищенного, но и более медленного метода хеширования) даст на выходе закрытый ключ.

Способы передачи по наследству

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

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

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

Детерминированные кошельки-вопросники

Можно также создавать иерархически-детерминированные (HD) кошельки-вопросники. Увеличивая число после секретной фразы, возможно генерировать бесконечное число секретных ключей для одного кошелька-вопросника.

Например, третий ключ для кошелька, сгенерированный из фразы “это моя секретная фраза” будет выглядеть как “это моя секретная фраза 3”.

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

Секретная фраза также может использоваться в качестве источника для генерации секретных ключей для аппаратных биткойн-кошельков, таких как ledger или trezor.

Обобщенное решение для обеспечения безопасности

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

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

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

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

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

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

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

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

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

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

Дополнительные рекомендации по обеспечению безопасности

Кошельки-вопросники, разумеется, принадлежат к классу методов холодного хранения.

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

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

Никогда не вбивайте в поисковые машины или где-либо в Интернете свою секретную фразу. Секретная фраза фактически является секретным ключем.

Немного философии

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

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

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

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

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

Заключение

Автор уверен, что вышеописанный метод является более совершенным методом холодного хранения криптовалюты, нежели бумажные кошельки и кошельки в голове. По его мнению, он (метод) вобрал лучшее из обоих ‘классических’ методов, и лишен большой части их недостатков.

Вам больше не придется бояться пожара и хранить резервные копии кошельков в Форт-Ноксе.

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

Источник: medium



Categories: Безопасность, Важное, Криптография, Новичкам, Теория, Технологии, Top

Tags: , , ,

70 replies

  1. А если сравнительно простую фразу зашифровать шифром Вернама,
    и ключ тоже подобрать простую фразу.

  2. А если простую фразу зашифровать шифром Вернама и ключ тоже простая фраза.

  3. А вот еще более простой вариант с книгой, который вообще не требует запоминания или записи каких бы то ни было цифр.

    Берем любую электронную книгу в вордовском формате doc. Открываем на странице R. Выбираем G-тое слово, которое будет первым словом нашей фразы. Отсчитываем от него остальные 19 слов с интервалом B. Фраза готова.

    На последней странице книги создаем графический объект “круг”. Настраиваем заливку объекта, выставляя точные значения RGB, где R – номер страницы, G – номер первого слова, B – интервал отсчета. Далее уменьшаем объект до размеров точки ( 0,01-0,02 см ), стираем последнюю точку книги, и помещаем вместо нее нашу “точку”.

    Если надо восстановить фразу, открываем книгу на последней странице, увеличиваем масштаб отображения так, чтобы наша “точка” превратилась в кликабельный “круг”, заходим в ее свойства, и по числам R,G,B восстанавливаем фразу.

    • Ну все, теперь они будут все точки увеличивать 🙂

      • Сперва они должны узнать, что нужно это сделать) Если вы им не скажете – не узнают.

    • Сдохла электронная книга и все, конец

      • наме, ну вот уж что-что, а это точно не является проблемой) Достаточно сделать резервные копии в любом требуемом количестве, и разместить их в разных местах.

      • На всякий случай уточню: под электронной книгой в данном контексте понимается не девайс для чтения, а документ в формате doc.

        • То есть сотруднику ФБР нужно всего-то.
          Получить список всех документов со всех устройств и почтовых аккаунтов.
          Выбрать среди них только те топ 100, которые открывались в последнее время.

          Просканировать все 100 книг, в каждой 1000 сраниц и перебрать, 7 – 30 слов с интервалом 1-30.

          1001001003030
          30 бит

          Кажется это не займёт больше часа.

          • elite, вы упускаете самое главное. Чтобы начать делать то, что вы описали, сотруднику ФБР надо ЗНАТЬ, или хотя бы ПРЕДПОЛАГАТЬ, что имярек использовал такой заковыристый способ составления фразы. Само по себе наличие у человека книг в электронном формате – в этом смысле ни разу не палево, ибо такие книги есть у каждого третьего. Главная суть такой защиты состоит именно в невозможности узнать, что кто-то вообще что-то кодировал. Нет ничего, что указывало бы на это: ни бумажек с контрольными вопросами, ни необъяснимых цифровых рядов… ни-че-го.

            • то есть ваши средства защиты основаны на незнании о человеке некоторых личных фактов.

              сравните это с ситуацией, когда известно, что человек просто наизусть выучил 12-20 случайных слов и удалил их.

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

              Есть такой эффект, что сначала кажется, что запомнить тяжело, а потом, после 5-10 использований – память работает.

  4. “Специально отведенная для взлома компьютерная система способна вычислять сотни миллиардов хешей в секунду.”

    Я конечно никогда не использовал мозговой кошелек, armory и бумажка в сейфе – наше все,
    но вообще не понимаю в чем тут проблема с этими мозговыми кошельками?

    Кто мешает сделать мозговой кошелек в котором хэш будет создаваться не просто из парольной фразы, а из миллиона хэш-итераций парольной фразы?

    Взломщику чтобы проверить ТОЛЬКО ОДИН вариант фразы надо вычислить миллион хэшей!

    Цитата из статьи:
    “Исходя из этого, общее количество предложений составляет 140 миллиардов. Всего-то пара секунд вычислительной работы одного компьютера!”

    Итого, легким движением руки эта пара секунд превращается в пару миллионов секунд, то есть в 23 дня.

    Проблема выеденного яйца не стоит, блин…

    • Как вы это будете использовать?
      Допустим, вы хотите потратить средства из кошелька в памяти.

      Вы вводите свою фразу и ждёте 23 дня, так?

      Это мягко говоря неудобно.

      Еще не факт, что операции хеширования не поддаются сокращению раундов. То есть типа, 80 раундов можно потенциально сократить до 40, а 100 тыс раундов, до логарифма от 100 тыс раундов. Если уж и замедлять процесс хеширования, то надо брать более крутую хеш функцию, которая работает не со 128 битами, а с 4096 битами, например.

      • 23 дня нужно ждать для перебора 140 миллиардов вариантов на специальной супер системе для взлома.

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

        sha512 сокращению раундов не поддается в принципе.

        • Тогда 23 дня требуется для взлома всех кошельков по вашему методу.
          Это как бы мягко говоря неприемлемо.

          • Секундочку…

            Во-первых разница во времени взлома аж на 6 порядков, это как-бы всё-таки решение проблемы,

            Ну а во-вторых, 23 дня это только при совпадении обоих условий:

            При составлении пароля использовались только книги на французском языке.
            Для пароля использовались только абсолютно точные предложения из книг: от заглавной буквы до точки.

            Согласитесь, это все-таки достаточно идеальные условия для взломщика, вряд-ли встречающиеся в реальном мире.

            • Взломщик может использовать кластер из сотен машин.

              Это позволит ему искать фразу не только на французком, но и на других языках, а также проверять разные модификации фраз – без пробелом, заглавными буквами и так далее.

              По факту есть истории, когда получали доступ к кошелькам, на фразе из стихов на африканском диалекте и из фраз, состоящих из 12 слов, кошелёк содержал 250 биткойнов.

            • Вот именно, кластер из сотен машин, при существующем алгоритме, а если бы использовался миллион раундов хеширования, то понадобился бы кластер из сотен миллионов машин, что теоретически, наверное, возможно, но экономически нерентабельно для добычи всего-то 250 биткоинов…

              Я не пойму, о чем мы спорим?
              Я предлагаю элементарный способ усложнить задачу взломщику в миллион раз, а Вы говорите что миллион раз это мало, так что-ли?
              Мне, например, достаточно, если я буду спать в миллион раз спокойнее…

  5. Не очень умный способ, но близок к нему. нельзя использовать имена, названия чего угодно, общеизвестные номера телефонов и даты.
    Вопросы должны быть составлены загадкой, ответ на который знаешь лишь ты.
    Например:
    Кто подарил тебе кенгуру? Не имя. Что он хотел?
    Сторонний человек никогда не найдет ответ на этот вопрос, потому что речь о медсестре, что подарила игрушку из киндер сюрприза малышу. Хотела утешить, чтобы не было больно от укола. Человек это помнит, помнит на своем языке, и использует слово “медсестра” в качестве части пароля.
    Чью жизнь ты забрал первой?
    Большинство подумают не о том, а ты вспомнишь как отрубил голову курице в деревне, чтобы подать её к ужину. Тебе запомнился этот случай, ответ “курица”.

    На такие загадки действительно море ответов, но есть одно но – если забудешь список из 20-ти вопросов, то доступ к кошельку тоже можно забыть 🙂
    Грустно это, нужно другое решение.

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

    Открываем книгу на произвольной странице, и отсчитываем каждое n-е слово. К примеру, если n – 12, то нужными словами будут 12-е, 24-е, 36-е… Первые двадцать слов будут составлять кодовую фразу. Запомнить нужно будет три вещи: а) книгу, б) страницу, в) число n.

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

    • А вот это уже намного лучше!
      Даже и страницу ненужно запоминать, если она, например равна n минус число дня твоего рождения. Или n=день рождения папы, а страница = день рождения мамы. Ну или как-то так с несложными для запоминания вариантами.
      Блин, Холмсом себя чувствуешь с этим биткойном.Или скорее Мориарти.

    • Я всегда знал, что книга с техн. прогрессом – не умрет лол

    • еще update
      Издание нужно запомнить. Разные издания = разные страницы с тем же содержимым.
      Либо использовать для этих целей какой-нибудь неизменяемый и всегда доступный интернет-ресурс.
      (блокчейн?) , гы

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

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

          • валлет.дат это отстой из-за троянов, которых 10 троянов в среднем на каждом комьютере, просто не все знают.

    • Этот вариант намного хуже, так как книги доступны в электронном виде и сделать выборку каждое 2,3 .. 10,11,12 .. 50 слово не очень увеличивать потребления памяти у атакуещего.

      Ту типа все напечатанные книги – 1 терабайт, а тут надо 50 терабайт, то есть потратить пару винчестеров по 200 долларов и получаешь доступ сразу ко всем кошелькам в мире, которые используют такой способ.

      • Этот вариант теоретически МОЖЕТ СТАТЬ хуже, но лишь в том случае, если подобный метод распространится в массах настолько широко, что станет экономически оправданным писать специальные программы для брутфорса “метода книги с n-ным отсчетом”. Такое массовое вдумчивое поведение граждан лично я считаю очень маловероятным.

        • метод плох, если зависит от своей популярности.
          обычный brainwallet тоже был хороший, когда его придумали, и что в результате?

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

          А еще экран монитора можно считывать на расстоянии.

          • Брэйнваллет плох тем, что его алгоритм банален ( “запомнить осмысленную фразу ” ), и потому риск его широкого распространения изначально был весьма высок, что вкупе с низкой энтропией делало данный метод заведомо порочным. Метод с книгой ни банальным, ни очевидным не назовешь. Более того, он легко поддается множеству индивидуальных модификаций ( “отсчет не с начала, а с конца”, “отсчет на двух страницах”, “отсчет по два слова подряд с n-ной периодичностью”, и т.д. ), что делает практически невозможным создание программы, в которую забиты все мыслимые алгоритмы отсчета слов со всеми мыслимыми интервалами по всем существующим в сети книгам.

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

            • Бывают трояны которые могут “стащить” копию валлет.дат?

            • Троянец в принципе может утащить ЛЮБОЙ файл. А валлет.дат – это файл. Делайте выводы.

    • Marsupial Cat, пароль по книге – это плохо. Словарный запас примерно в лучшем случае в 15000 слов. Далее тупой брут.
      Вы что, думаете Яндекс и иже с ними каждую страницу хранят отдельно? Хрена-с-два. Индексируются те слова, которые есть в словаре. Результат – в базу. Случай с книгой – тоже самое.

      • 15000 ^ 20 = 3*10^83. Отменяю свою критику 🙂 Такое брутом пока взять нельзя.

        • Не пока, а ВООБЩЕ НИКОГДА. Термодинамика не позволит) Если направить всю энергию, которую выделит наше Солнце за 10 миллиардов лет, на вычисление пароля методом перебора, то в конце концов удастстя вскрыть пароль с 250-битной энтропией. Фраза из книги имеет энтропию – 20 х 14 бит – 280 бит. Брутфорс такого пароля потребовал бы постоянного подвода энергии к вычислителю от миллиарда звезд калибра нашего Солнца. Ожидаемое время взлома при этом составило бы в среднем 5 миллиардов лет.

        • Такое можно взять брутом с памятью.
          Выбираешь первое слово в произвольной книге и странице.
          Дальше случайно отшагиваешь 5-16 слов и выбираешь новое слово. И так 12 слов.
          Энтропия без первого слова будет всего 4*12 = 48 бит, что взламывается в обозримое время.

          А энтропия первого слова – это число книг умножить на число слов в книгах. 100 тыс книг по 1000 страниц по 1000 слов. Это всего 36 бит. Мало.

          Более правильный вариант – взять две разные книги, выбрать две случайные страницы и составить фразу из слов по очереди из двух книг.

          Вот это будет хорошая модификация вашего варианта.

          Еще можно усилить дополнительными личными вопросам – имя, фамилия, дата рождения.
          И всё, получается 48+36+48+36+26 = 194 бита, что очень очень хорошо.

          • Вы ошиблись в расчетах) Во фразе спользуется не 12-13 слов, а 20. Но не суть. Не вскрывается это брутом. Ни сейчас, ни когда-либо в будущем.

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

            Но главное даже не это. Кто сказал, что отсчет кодовой фразы обязательно будет идти С ПЕРВОГО СЛОВА? Ведь никто не запрещает начать отсчет с любого слова – хоть с 10-го. А можно и с последнего. Или с 20-го с конца. Более того, никто не запрещает использовать скачущий интервал – 5,7,5,7,…, или возрастающий – 2,3,4,5,…, или убывающий… Вариантов – тьма.

            Поэтому если и будет брутфорс, то не по всемирной библиотеке, а по словарю. При размере словаря в 20000 слов энтропия фразы из 20 случайных слов – 280 бит. Невскрываемо.

            • С 20 словами наверное все будет хорошо, но поймите, что и обычный брайнваллет с паролем из 20 разных слов тоже в принципе не так уж и плох.

              Да, все электронные книги есть в электронных библиотеках. Это всё обрабатывается.
              При обыске ФБР найдёт у Вас все книги, а агенты ФБР никому не скажут, что они нашли и как они это у вас украли.

              Вы вообще знали, что фраза “how much wood could a woodchuck chuck if a woodchuck could chuck wood” была подобрана и на ней лежало 250 биткойнов.

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

  7. Берем книгу. Открываем наугад на любой странице. Далее закрываем глаза и тычем пальцем в произвольное место. Открываем глаза и ставим черной ручкой маленькую точку перед словом, на которое попал палец. Опять закрываем глаза, и опять тычем пальцем в ту же страницу… и так 20 раз.

    Полученная фраза состоит из 20 СЛУЧАЙНЫХ слов, и имеет чудовищную энтропию – 10^86. Данное число на шесть порядков превышает число атомов во Вселенной, поэтому фразу не вскрыть никаким брутфорсом.

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

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

    Данный метод на голову превосходит как классический брэйн-валлет, так и описанную в статье его модификацию по всем пунктам: фраза абсолютно невскрываема, запоминание элементарное, хранение абсолютно беспалевное.

    • Неплохо. Теперь главное через пару лет не дать почитать и зачитать эту книгу кому-либо из друзей…
      Вовремя вынести ее из горящей квартиры…
      Не оставлять дома сестру брата с маленьким ребенком – художником-вырывателем-страниц…
      и т.п.

      • Ребенок-вырыватель, друг-зачитатель, вор-букинист и даже пожар – не проблема. Конечно, придется немного заморочиться, но фразу мы в итоге восстановим.

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

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

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

            В любом случае, все эти варианты не для масс ( 90% юзеров будут тупо записывать фразу на бумажку или флэшку, и класть это в ящик стола ), а для более продвинутых и/или обладающих значительными средствами.

        • Идея в целом годная. Но вот с восстановлением брутфорсом может выйти проблема. Трудно сказать сходу насколько сложно будет сбрутить, скажем, оставшиеся 10 невспомненных слов из 200-250 слов, что на странице, но по примерным прикидкам энтропия такого перебора может быть порядка 10^50 и более. Предлагаю такое улучшение. После выбора страницы выбираем слова, тыкая не на саму страницу, а на точь-в-точь совмещенный со страницей чистый полупрозрачный лист. На листе таким образом остаются всего лишь точки, а страница вообще нетронута (если сильно не давить). Сам лист с точками можно сфотографировать и залить в интернет – без знания места приложения он бесполезен. Вам останется только запомнить книгу и номер страницы.

          • Есть более простой вариант – вообще без точек, и без необходимости брута в случае утраты книги. Описан выше в посте от 16:21.

    • В целом неплохо, но потеря книги эквивалентна потере средств.
      Надо две одинаковые книги, и одну книгу отдать бабушке.

      Внимательный обыск и внимание к более помятым страницам также является потенциальной угрозой.

      В принципе книгу можно использовать как дополнение к вопроснику. А вопросник использовать вместе с классическим brainwallet.

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

    • Хороший метод. Только для надёжности номера страниц можно было бы держать на компьютере в виде какой ни будь таблички (типа счет из ресторана, где вместо цены блюда написан номер страницы). Даже если её украдут – никто не догадается что там записаны именно номера страниц. Такой метод называется фрагментацией хранения шифра.

  8. грозит ли чем нибудь попадание к злоумышленникам валлет.дат запароленного 50 значным паролем?

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

    • Мне просто обычный валлет.дат запароленный кажется чем то вроде двухфакторки, тоесть злоумышленник кроме перехвата пароля должен завладеть еще и валлет.дат. Или это не так и сам валлет.дат тоже опасно терять?

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

      • так вот троян если есть на компютере то когда будешь вводить слова он их тоже может перехватить. А так еще ему нужно будет валлет.дат както стащить. Вот я и думаю чем такие методы лучше стандартного запаролевания валлет.дат?

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

          • Спасибо, а как я отправлю средства оффлайн? Я ввожу пароль только когда нужно заплатить за чтото. Для этого же я должен быть только онлайн?

            • В общем не плохо было бы большую детальную статью про все эти методы сделать, чтобы было все хорошо расписано и чтобы всем новичкам было понятно. А то многих отпугивают эти непонятнки с вирусами и троянами.

            • В оффлайне создается приватный ключ и биткойн адрес для длительного и безопасного хранения крупных сумм. Кошелек в онлайне (с другим адресом) используется для текущих дел с небольшими суммами.

            • покупаете очень дешевый ноут
              копируете bitaddress.org себе на ноут.
              навсегда отключаете ноут от интернета и bluetooth
              навсегда ломаете usb и другие каналы обмена с внешним миром

              открываете умный кошелёк и вводите умную фразу
              сканируете qr код адрес и пересылаете на адрес средства
              или сканируете qr код приватный адрес и тратите средства

          • Тут есть слабое место – bitaddress.org Такие вещи делаются с запасом на много лет. Через такое время есть риск пропажи ноута, а на новом ноуте старый bitaddress.org не заработает, а новая версия bitaddress.org будет выдавать несовместимые к старой версии ключи. Деньги можно потерять. Вариант с книгами кажется более надёжным.

            • Нет вариант с книгами не кажется более надежным.

              Когда вы из книги берёте фразу из 20 слов, то вы её засовываете в какой-то софт, который и называется умный кошелек из brainwallet.org, а точнее sha256(фразаиз_20слов).
              То есть вся история про книги – это просто дополнение к brainwallet.org (или совместимому софту)

              brainwallet.org – это javascript html файл, который можно запускать локально и который должен работать и на новых ноутах, и на всех браузерах, и на сотовых телефонах и на планшетах, и на macbook, и везде java-script работает одинаково.

  9. Автор утверждает, что любую фразу из мировой литературы или даже вымышленную можно подобрать брутфорсом, но вот его вопросы вроде “имя девушки”, “дата рождения” или “название города” безусловно решают проблему. Такие ответы точно нельзя подобрать перебором!

    • Timofey правильно указал на слабое место вопросника. Энтропия такого пароля на много порядков ниже энтропии случайно выбранной фразы.

      Вообще, ставить доступ ко всем своим сбережениям в зависимость от состояния собственной памяти – заведомо дурная идея. Люди регулярно забывают даже самые банальные вещи. А уж забыть спустя годы “дату, когда вас в детстве побили” или “дату рождения деда по материнской линии” – вообще элементарно.

    • А что толку если ты подберешь дату рождения и имя девушки? Тебе нужно подобрать сразу 20 ответов на все вопросы. Иначе это похоже на подбор двух букв из пароля в 20 знаков.

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

        Ответы на многие вопросы могут быть незаметно вытянуты этими самыми знакомыми из терпилы посредством нехитрой социальной инженерии. Это два.

        Оставшиеся от пароля “ошметки” ( если они вообще останутся ) брутуются без проблем.

    • …вопросы вроде “имя девушки”, “дата рождения” или “название города” безусловно решают проблему. Такие ответы точно нельзя подобрать перебором…

      Имя девушки – сколько всего женских имен существует (а если по стране, в которой живет жертва то вообще 20-40 вариантов)?
      Дата рождения – всего около 14000 вариантов (зная примерный возраст жертвы вообще около 2000 вариантов)
      Название города – сколько всего городов существует (а зная примерное …. ну вы поняли))))

Trackbacks

  1. Кошелек-вопросник: pазвитие идеи 'кошелька в голове' -

Поделитесь своими мыслями

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s