Обмен электронных валют по самому выгодному курсу!
 


Kurbetsoft
Доступно в Google PlayКошелек-вопросник: 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




[vkontakte] [facebook] [twitter] [odnoklassniki] [mail.ru] [livejournal]

Каталог сайтов