Шифрование закрытых ключей Биткойн вместо распечатки бумаги

Я следую процедуре создания кошелька для холодного хранения: загрузил копию bitaddress.org, используя автономный компьютер, загрузив Ubuntu с компакт-диска.

Вместо того, чтобы распечатывать закрытые ключи и соответствующие адреса для моего биткойна, я просто использую файл JavaScript ( http://prgomez.com/ursa/ ) для шифрования закрытого ключа, в то время как я использую Ubuntu. Затем я надежно сохраняю адрес и зашифрованный закрытый ключ биткойна, чтобы не потерять его, но без особой безопасности. Все, что мне нужно сохранить на бумаге, это мой 80-битный пароль плюс пароль для шифрования ключа.

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

Это безопасно?

Ответы (1)

Трудно ответить на этот вопрос без четкого определения того, что вы подразумеваете под «безопасным». Я предполагаю, что ваши две основные проблемы: (A) потеря в результате кражи; и (B) потери из-за ошибки пользователя.

Для (А) вы «в безопасности». Вы следовали процедуре создания автономного кошелька для холодного хранения, и ваш закрытый ключ не был раскрыт онлайн-хакерским способом. У вас такой же уровень защиты от кражи, как и у созданного в автономном режиме бумажного кошелька, но с дополнительным уровнем защиты, заключающимся в том, что ваш закрытый ключ зашифрован. Если ваш документ будет утерян или украден, другая сторона должна будет знать ваш метод шифрования, а также ваш пароль. (Естественно, если ваш пароль хранится на бумаге, то в случае кражи или потери физической бумаги у вас будет такая же безопасность, как и у незашифрованного кошелька.)

Для (B) существует ряд возможностей, но вот несколько сценариев для рассмотрения.

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

  • Насколько вы уверены, что сможете восстановить незашифрованный закрытый ключ, когда возникнет такая необходимость? Использование вами самодельного шага делает его хорошим кандидатом на то, что что-то пойдет не так. Готовы ли вы хранить рабочую копию программного обеспечения для шифрования/дешифрования — точно так же, как оно использовалось во время создания кошелька — в течение всего срока службы бумажного кошелька? Проверяли ли вы расшифровку во время создания кошелька, чтобы убедиться, что расшифрованный закрытый ключ соответствует исходному незашифрованному ключу? Вы проверили получение средств, чтобы убедиться, что ваш процесс работает от начала до конца? Собираетесь ли вы помнить все шаги через 10 лет или вам нужно вести письменные заметки? И т. д.

  • То же самое с любым объектом, защищенным паролем. Насколько вы уверены, что сможете вспомнить пароль, когда придет время? Люди так часто забывают пароли, что почти каждый веб-сайт с аутентификацией на основе пароля включает механизм восстановления. Вы печатаете пароль вместе с бумажным кошельком? Если да, то какова цель шифрования? Вы печатаете пароль и храните его в другом месте? Если да, то сможете ли вы найти его, когда придет время? (Сколько раз вы клали что-то туда, где «никогда не забудете», а потом обнаруживали, что не можете его найти?)

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

Посмотрите на BIP0038 . bitaddress.org может генерировать закрытые ключи с шифрованием BIP0038. Три преимущества этого:

  1. BIP0038 использует scrypt с параметрами, специально настроенными для того, чтобы сделать атаки подбора паролей очень медленными. В этой ветке в то время люди подбирали 7 паролей в секунду, что не очень много для попытки грубой силы.

  2. bitaddress.org создает кошелек таким образом, что фактический закрытый ключ никогда не существует в памяти компьютера, пока создается кошелек. Парадоксально, но факт — он использует вариант BIP0038 «умножение ЕС». (Конечно, ваш пароль хранится в памяти, поэтому вы, вероятно, захотите сделать это в автономном режиме.)

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

Отличные практические моменты. Причина процедуры «домашнего приготовления» в том, что я знаю, что делаю и зачем. Меня больше всего беспокоит хакерская кража. Файл javascript ( prgomez.com/ursa ) для шифрования хранится в нескольких местах и ​​часто используется, поскольку я использую его для шифрования конфиденциальных электронных писем. Посмотрю на BIP0038, но пока не понимаю.