Author

Topic: Как хранить seed в блокчейне биткоина (гайд) (Read 1261 times)

legendary
Activity: 1932
Merit: 4602
Buy on Amazon with Crypto
перевел ваш труд а английский раздел
Честно говоря, я не собирался так широко распространять это Grin. Но раз уж перевели, то пусть будет, может даже так и лучше - пусть англоязычные корифеи раскритикуют. Спасибо. Почитал, перевод, кажется, хороший, без искажений сути. В конце только есть описка - написано "sid" вместо "seed".
благодарю. исправил.
Не всетречал у них яростной критики.

Вот топик, информация очень старая и столько заслуг. У нас бы за такое завалили критикой
https://bitcointalksearch.org/topic/wondering-why-account-are-hack-or-stolen-http-vs-https-5223819
legendary
Activity: 1848
Merit: 2033
Crypto Swap Exchange
перевел ваш труд а английский раздел
Честно говоря, я не собирался так широко распространять это Grin. Но раз уж перевели, то пусть будет, может даже так и лучше - пусть англоязычные корифеи раскритикуют. Спасибо. Почитал, перевод, кажется, хороший, без искажений сути. В конце только есть описка - написано "sid" вместо "seed".
legendary
Activity: 1932
Merit: 4602
Buy on Amazon with Crypto
igor72 меня обвиняют что в засирании переводами в русском разделе, перевел ваш труд а английский раздел Smiley

https://bitcointalksearch.org/topic/how-to-save-seed-phrase-in-the-bitcoin-blockchain-5226033
full member
Activity: 644
Merit: 135
от майна блоков похоже плавно переходят к майну кошельков? Wink
https://bitcointalksearch.org/topic/m.53835858
hero member
Activity: 1232
Merit: 858
Сегодня по seed фразе восстанавливал свой кошелек, набирал фразу в Электруме и он выдавал подсказки, так вот при наборе четырех букв "stud" выдало два слова student и study, при наборе четырех букв "know" выдало три слова know, known и knowledge. И это 2 слова из 12, которые попались в одной фразе. Уверен, что таких слов хватает. Может есть смысл сокращать до 5 букв?
Дело в том, что Electrum подсказывает слова не только из BIP39-словаря, но и из словаря для своих очень старых версий (до 2.0). Если сид вводить в другой кошелек, то таких неоднозначностей не будет. А при использовании Электрума (и кошельков, где подсказки не предлагаются) придется сверяться с BIP39-словарем.

Тогда все отлично, а то я стал волноваться что в таком случае будет сложно восстановить фразу. И я походу спалил два своих слова))
legendary
Activity: 1848
Merit: 2033
Crypto Swap Exchange
Сегодня по seed фразе восстанавливал свой кошелек, набирал фразу в Электруме и он выдавал подсказки, так вот при наборе четырех букв "stud" выдало два слова student и study, при наборе четырех букв "know" выдало три слова know, known и knowledge. И это 2 слова из 12, которые попались в одной фразе. Уверен, что таких слов хватает. Может есть смысл сокращать до 5 букв?
Дело в том, что Electrum подсказывает слова не только из BIP39-словаря, но и из словаря для своих очень старых версий (до 2.0). Если сид вводить в другой кошелек, то таких неоднозначностей не будет. А при использовании Электрума (и кошельков, где подсказки не предлагаются) придется сверяться с BIP39-словарем.
full member
Activity: 644
Merit: 135
а он точно сам подсказки по словарю(из BIP) делал, или это просто обычный словарь?

в принципе еще один уровень защиты от дураков получается...
hero member
Activity: 1232
Merit: 858
Создаем текстовый файл seed.txt с сид-фразой (возьмем такую - runway exist coconut cinnamon attack laptop oil wild yellow drink lawn cattle), чтобы сократить строку, оставляю по 4 первые буквы каждого слова (этого достаточно для однозначной идентификации) и убираю пробелы (получилось runwexiscococinnattalaptoil_wildyelldrinlawncatt), сохраняем файл.

Сегодня по seed фразе восстанавливал свой кошелек, набирал фразу в Электруме и он выдавал подсказки, так вот при наборе четырех букв "stud" выдало два слова student и study, при наборе четырех букв "know" выдало три слова know, known и knowledge. И это 2 слова из 12, которые попались в одной фразе. Уверен, что таких слов хватает. Может есть смысл сокращать до 5 букв?
full member
Activity: 644
Merit: 135

на те вам 2 битка - вы же любите такие штуки? Wink

https://bitcointalksearch.org/topic/m.53669713


1)То не тролинг. Когда кто-то из родственников  спросил, что это за QR там на фото я ответил что это индификатор фотоателье в котором это фото было сделано , кроме того у них много моих фоток с фейковыми QR и один единственный даже правильный QR ничего не дает, нужно добраться еще до хотя бы двух остальных2) Домушники врядли позарятся на семейные фото. Их пачки в разных кульках и фотоальбомах. И среди этого  мотлоха  им нужно выбрать три нужных но при этом знать какие, потому что на многих моих фотках я поставил фейковые QR, которые никакого отношения к Шамиру не имеют, я ведь не пальцем деланный 3) У меня без всяких паролей, трех частей достаточно, но это я так разбил, можно разбиваnь как угодно и при этом предварительно зашифровать. Но походу это уже будет перебор.
full member
Activity: 644
Merit: 135
данные для идеально-случайной функции - реально все гораздо хуже может быть - вот это и надо уже исследовать!

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


PS  "все дороги ведут в Рим" - это плотность вероятности 1/2^128, а реально там может случайно попасть что угодно!
Плюс не забывайте часть кодов уже давно насчитана и просто лежат в таблице - а память нынче не маленькая...

на мой хакерский взгляд(глядя в исходник и структуру функции) - я бы там ожидал скорее 8-32 бита - она ведь вся из себя такая ускоренная/оптимизированная!..

Я этого не знаю. Но даже если так, то 2000 - это очень мало, всего 11 бит. Я не верю, что вам удастся найти коллизию даже с 60 бит энтропии.

2000 может быть даже степенью - смотря в чем косяк!!

Так-то даже 20-30 бит врядли кого-то обеспокили бы - пока ее применяли правильно...

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


PS  8 бит там точно энтропия теряется - переноса между 32-битными словами нет - это создает некоторые проблемы при синтезе обратной функции, но энтропия-то(и вообще информация!) тю-тю!..
legendary
Activity: 1848
Merit: 2033
Crypto Swap Exchange

Конечно для брутфорса будет рост времени перебора, но
  - зачем он нужен вообще, если число паролей не так велико?
Велико-не велико, чем мерять? 12 цифробукв дают порядка 1021 вариантов или 70 бит энтропии. Это вроде бы относительно немного, но это практически невозможно перебрать. А если хешировать пароль тысячи раз?
Quote
 - так-же теряется энтропия и начинают работать уже ускоренные алгоритмы - это вы учли?
Нет. Какие алгоритмы? Дайте ссылку. Сколько теряется энтропии?
Quote
Вплоть до того, что скорее всего будут использовать _хэшированные_ пароли напрямую - утекших баз просто дофига...
Баз дофига со всякими "qwerty12345", нормальных паролей в базах мало, иначе базы были бы неподъемные.
Quote
 теперь подумайте стоят ли ваши битки 0.1% страховки?   И сколько я могу просто забрать в случае удачи(в случае не удачи 80-90% расходов засчитывается в другой проект)
Если допустим 0.1% кодов попало в какой-то диапазон, где у сха проблемы - то туда попадает 30000 адресов!!  Это 15000 BTC, так?
Чтобы после 2000 циклов накопилось 0.1% коллизий - достаточно всего 0.00005% "дефектных" кодов!!!
Все правильно?..
Откуда эти цифры? Почему вдруг 0.1%, а не 10-30%?
Quote
(и не забывайте, что НА КАЖДОЙ сха накапливается 2^128 коллизий, то есть 2000 * 2^128 _АБСОЛЮТНО_ разных SEED дает один и тот-же код на выходе!!!)
Я этого не знаю. Но даже если так, то 2000 - это очень мало, всего 11 бит. Я не верю, что вам удастся найти коллизию даже с 60 бит энтропии.
full member
Activity: 644
Merit: 135

кстати, а есть статистика:  число адресов(было 30млн вроде, но это старые данные?) и средняя сумма на адресе?..
Вот свежая статья: https://forklog.com/glassnode-naschitala-v-mire-23-mln-vladeltsev-bitkoina/

то есть среднее по больнице грубо 1 бтц на рыло, и 0.5 BTC на адрес при числе адресов всего 30 млн.  Ok.
(насчет распределения по владельцам вопрос спорный чего они насчитали(может 1 владелец разбить на 5-10 кошельков + старые мелкие остатки) - но по адресам там все просто же)


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

это очевидно так-же, как и 2*2=4, _посчитанное на калькуляторе_.   Но вы-то почему-то думаете что будут считать вручную?

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

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


А 2*2=4 - да, не спорю.


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

какого именно?

Что, из 100+ проектов прямо _не один_ не выстрелит?
Или вы не понимаете что такое венчурный фонд и как он работает?..
(там и статистика, и _большая гибкость_ - что и позволяет не терять даже затраты в случае не удачи!
Тупо вместо одного - делается другой проект, используя 90% того что _уже сделано_ по неудачному проекту)



PS  теперь подумайте стоят ли ваши битки 0.1% страховки?   И сколько я могу просто забрать в случае удачи(в случае не удачи 80-90% расходов засчитывается в другой проект)
Если допустим 0.1% кодов попало в какой-то диапазон, где у сха проблемы - то туда попадает 30000 адресов!!  Это 15000 BTC, так?
Чтобы после 2000 циклов накопилось 0.1% коллизий - достаточно всего 0.00005% "дефектных" кодов!!!
Все правильно?..
(и не забывайте, что НА КАЖДОЙ сха накапливается 2^128 коллизий, то есть 2000 * 2^128 _АБСОЛЮТНО_ разных SEED дает один и тот-же код на выходе!!!)
legendary
Activity: 1848
Merit: 2033
Crypto Swap Exchange

кстати, а есть статистика:  число адресов(было 30млн вроде, но это старые данные?) и средняя сумма на адресе?..
Вот свежая статья: https://forklog.com/glassnode-naschitala-v-mire-23-mln-vladeltsev-bitkoina/
Я знаю, вы считаете, что одинарное или двойное хеширование надежнее 2048-кратного (а уж тем более 21 000 000-го). Но это всего лишь ваше необоснованное мнение.

ну я так понимаю вместо того чтобы исследовать и проверять, вы предпочитаете просто спорить?..
(и при этом у вас я так понимаю довольно приличная сумма на этих кошельках лежит?.. )
С чего вы взяли? Нет, у меня все очень скромно.
Quote
Скидываться на исследования я так понимаю тоже не собираетесь?
Для этого нужно, как минимум, загореться идеей, поверить. А я не верю в успех вашего предприятия. Даже без вложения не участвовал бы.
full member
Activity: 644
Merit: 135

кстати, а есть статистика:  число адресов(было 30млн вроде, но это старые данные?) и средняя сумма на адресе?..


Поэтому и была идея - комбинировать пусть даже известные данные с каким-то уникальными - вот тогда уже придеться ломать КАЖДОГО по-новой!
А что я предлагал, по-вашему? Известные данные комбинировать с известными?
Quote
PS  есть идеи по поводу замедления перебора паролей?
Чем PBKDF2 плох?

что это такое, что именно вы имели ввиду?..     
(Мы вроде про сам биток ничего не говорили вообще - обсуждали только дурацские кошельки с дырками - что бабло из них куда-то уходит это просто уже факт, как видите! )


Просто примите как факт:  паролей может быть какое-то ограниченное число, может быть несколько тыс всего,
и то это пока лично вами не занялись - если посканировать содержимое вашего ящика(как вариант - записи разговоров по закону Яровой), то число вариантов будет еще меньше!!
(объяснять надо? )

Я знаю, вы считаете, что одинарное или двойное хеширование надежнее 2048-кратного (а уж тем более 21 000 000-го). Но это всего лишь ваше необоснованное мнение.

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

Скидываться на исследования я так понимаю тоже не собираетесь?
(тем более условия вам предложили весьма шикарные - с перспективой получения доли в венчуре - такое и за большие деньги не всем инвесторам достается!!!)


Можно ведь подойти к делу и совсем с другой стороны...
legendary
Activity: 1848
Merit: 2033
Crypto Swap Exchange
Поэтому и была идея - комбинировать пусть даже известные данные с каким-то уникальными - вот тогда уже придеться ломать КАЖДОГО по-новой!
А что я предлагал, по-вашему? Известные данные комбинировать с известными?
Quote
PS  есть идеи по поводу замедления перебора паролей?
Чем PBKDF2 плох? Я знаю, вы считаете, что одинарное или двойное хеширование надежнее 2048-кратного (а уж тем более 21 000 000-го). Но это всего лишь ваше необоснованное мнение.
full member
Activity: 644
Merit: 135
это просто уникальная глупость - думать что вы чем-то уникальны Wink
(геном обехъяны и человека вроде на 95% одинаков, а уж у совсем разных людей там 99.9...)

Таких-же как Вы(вот прям в точ-точ) найдуться МИЛЛИОНЫ - это не только генетика(вон криминальщики находят для клонирования паспортов похожих людей без проблем!), но например язык, в одной только России таким-же языком пользуются 100 млн чел, причем все друг друга понимают - значит и всё остальное точно такое-же!   Даже не печатные слова...

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

Поэтому и была идея - комбинировать пусть даже известные данные с каким-то уникальными - вот тогда уже придеться ломать КАЖДОГО по-новой!

А так - строка-пароль в том-же NXT будет у тысяч людей одинакова - слов-то не так уж и много в языке, каких-то _хорошо_ запоминающихся конструкций ещё меньше!  (ну а что вы ещё можете "придумать"?   по запросу "назови чё-нить случайное?" Вы выдадите то что на уме, а оно просто одинаково всё у миллионов носителей языка!  Да и на разных языках часто думают про то-же Wink)) )


PS  есть идеи по поводу замедления перебора паролей?..

legendary
Activity: 1848
Merit: 2033
Crypto Swap Exchange
а вот по безопасности как раз бранваллета там и были вопросы, вроде...
А что с брейнваллетом не так? Конечно, если как приватник использовать sha256("Hello, World!"), тогда недолго битки там пролежат. Но если нормальный уникальный пароль придумать, то никаких минусов не вижу.
full member
Activity: 644
Merit: 135
чем это надёжнее NXT?


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

да помирать-то ему вроде не зачем(чего сложного поддерживать несколько нод всего?), а вот по безопасности как раз бранваллета там и были вопросы, вроде...

Что и как можно добавлять для безопасности?..

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

А если еще и инфа будет не совсем открытая - то и перебирать не чего...
hero member
Activity: 1358
Merit: 635
чем это надёжнее NXT?


Походу предполагается что блокчейн некста проживет меньше чем блокчейн битка.
member
Activity: 138
Merit: 69
Прочитав данный гайд, почувствовал себя полным дауном.  Cry
Судя по ответам и комментариям, много людей разбираются в криптографии и только я ничего не понял  Sad  Игорь молодец, что пытался подробно все разжевать, но для таких как я способ нереально сложный.
full member
Activity: 644
Merit: 135
кстати, что вы думаете про ReactOS?

Может на базе ее сделать форк по безопасности, раз линуксы все равно не могут вытеснить винду полностью?..

]Нет никаких гарантий что они действительно безопасны.
]Какие потенциальные опасности вы видите при использовании Tails исключительно офлайн?


Разработчики и спецслужбы знают возможности этого дистрибутива, знают кто его будет использовать, почему бы туда не зашить чего-нибудь. Это паранойя если что)
[/quote]

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

Если в винде патчить надо на уровне кода, что хотябы заставляет задуматься, то в линуксе там дебилы изначально просто кучу дыр наоставляли, прямо на уровне исходников!!!    (Я уже про математику совсем помолчу)

А сколько просто дырок было, вроде той прямо в исходниках SSH?    (я даже молчу что там еще одна дырка на уровне математики протокола безопасности, который даже менять _и не пытались_ после того как уже пишут на каждом углу! )

hero member
Activity: 1232
Merit: 858
Я не доверяю коробочным решениям сделанным для безопасности.
А леджеру доверяете? И что значит "коробочное решение"? В Tails исходники в основном открыты (для поддержки разного оборудования используются закрытые драйверы, так что придраться можно при желании), сама построена на Debian. А какую систему предпочитаете вы?

Леджеру я тоже не доверяю, буду использовать его как горячий кошелек вместо ранее использовавшейся обычной флешки. Холодный кошелек я недавно себе реализовал на малине у которой выпаял модуль с Wi-fi и установил обычную Ubuntu. Ранее использовал старый PC тоже с убунтой.

Quote

Нет никаких гарантий что они действительно безопасны.
Какие потенциальные опасности вы видите при использовании Tails исключительно офлайн?

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

Quote
А также использование их - это маркер того, что вы делаете что-то секретное.
Ну и что? И кто об этом узнает?

Тот кто теоретически мог встроить в диструбутив что-то свое.
legendary
Activity: 1848
Merit: 2033
Crypto Swap Exchange
Хорошо, а о чем  что все таки говорит  мне это число? Что я могу из него дополнительно для себя узнать?  Походу неизвестно?
Дополнительно к чему? Это число - это просто запись сид-фразы в другом формате. Если вы переведете его в двоичный формат и разобьете на группы по 11, а затем каждую группу переведете в понятное нам десятичное число, то эти числа будут указывать на номер слова в словаре (только нужно прибавить единицу, так как в словаре слова пронумерованы от 1 до 2048, а мы получим от 0 до 2047). Это можно даже на бумажке все перевести минут за 10. В том конвертере ниже поля энтропии все эти числа есть, кстати.
hero member
Activity: 1358
Merit: 635
В https://iancoleman.io/bip39/ на безопасном компе вводите сид и нажимаете галку "Show entropy details" - в поле Entropy будет шестнадцатеричная строка.
Поигрался немного и походу показывает число из которого этот сид получен хотя непонятно какую информацию оно мне дает и походу  можно представлять его в разных форматах  Binary [0-1], Base 6 [0-5], Dice [1-6]  и тд, какой формат лучше выбирать? И вообще нафига это если есть сам сид?
Разные форматы - это для генерации сида (например, при использовании монетки выбирается Binary [0-1], кубика - Dice [1-6] итд), а если готовый сид ввести, то там всегда в шестнадцатеричном виде показывает.


Хорошо, а о чем  что все таки говорит  мне это число? Что я могу из него дополнительно для себя узнать?  Походу неизвестно?
legendary
Activity: 2436
Merit: 1849
Crypto for the Crypto Throne!
Много чего можно придумать как временное. Например, выучить 12 слов наизусть ). Я все-таки предлагал постоянное резервное хранилище.

Здесь на самом деле конечно очень интересно. Если факториал 12ти перебирается при скорости 50 миллионов попыток в секунду за 9 секунд, то факториал 24х принципиально не взламываем даже при скорости в 100 раз больше (понадобится больше 100 000 таких устройств). Так что 24 слова можно хоть практически в сыром виде хранить, конечно с теми перестановками о которых я говорил (и которые должны быть записаны где то, чтобы самому не забыть)


Quote
По числу манипуляций ваш вариант лучше моего - нужно просто закинуть 16(32) байт энтропии сида в блокчейн (да и вообще, зачем закидывать, просто взять сид, скажем, "oil oil oil oil oil oil oil oil oil oil oil oil" )) ). Но запоминать нужно больше - соль такая же простая, как у меня, а основной пароль у вас должен быть гораздо сложнее.

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

legendary
Activity: 1848
Merit: 2033
Crypto Swap Exchange
В https://iancoleman.io/bip39/ на безопасном компе вводите сид и нажимаете галку "Show entropy details" - в поле Entropy будет шестнадцатеричная строка.
Поигрался немного и походу показывает число из которого этот сид получен хотя непонятно какую информацию оно мне дает и походу  можно представлять его в разных форматах  Binary [0-1], Base 6 [0-5], Dice [1-6]  и тд, какой формат лучше выбирать? И вообще нафига это если есть сам сид?
Разные форматы - это для генерации сида (например, при использовании монетки выбирается Binary [0-1], кубика - Dice [1-6] итд), а если готовый сид ввести, то там всегда в шестнадцатеричном виде показывает.


Я не доверяю коробочным решениям сделанным для безопасности.
А леджеру доверяете? И что значит "коробочное решение"? В Tails исходники в основном открыты (для поддержки разного оборудования используются закрытые драйверы, так что придраться можно при желании), сама построена на Debian. А какую систему предпочитаете вы?
Quote
Нет никаких гарантий что они действительно безопасны.
Какие потенциальные опасности вы видите при использовании Tails исключительно офлайн?
Quote
А также использование их - это маркер того, что вы делаете что-то секретное.
Ну и что? И кто об этом узнает?
legendary
Activity: 1274
Merit: 1617
а нет ли желания обсудить защиту от гопников всяких? Wink

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

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

hero member
Activity: 1232
Merit: 858
hero member
Activity: 1358
Merit: 635
Если надо компактнее, лучше брать энтропию сида.


А как ее взять?
В https://iancoleman.io/bip39/ на безопасном компе вводите сид и нажимаете галку "Show entropy details" - в поле Entropy будет шестнадцатеричная строка.

Поигрался немного и походу показывает число из которого этот сид получен хотя непонятно какую информацию оно мне дает и походу  можно представлять его в разных форматах  Binary [0-1], Base 6 [0-5], Dice [1-6]  и тд, какой формат лучше выбирать? И вообще нафига это если есть сам сид?
legendary
Activity: 1848
Merit: 2033
Crypto Swap Exchange
Если надо компактнее, лучше брать энтропию сида.


А как ее взять?
В https://iancoleman.io/bip39/ на безопасном компе вводите сид и нажимаете галку "Show entropy details" - в поле Entropy будет шестнадцатеричная строка.
hero member
Activity: 1358
Merit: 635
Если надо компактнее, лучше брать энтропию сида.


А как ее взять?
legendary
Activity: 1848
Merit: 2033
Crypto Swap Exchange
full member
Activity: 644
Merit: 135
стесняюсь спросить...  а какая разница между сидом и самим закрытым ключом?..   

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


PS  догадались почему в соседней теме битки ушли?..
 
legendary
Activity: 2436
Merit: 1849
Crypto for the Crypto Throne!
Quote
Слишком длинная цепочка получается. Нужно на всякий случай именно ту версию Тейлса иметь сохраненной где то помимо флешки
Думаете, новые версии openssl не будут обратносовместимы? Сомневаюсь. Но если так, то нужно будет просто скачать старую версию, актуальную на дату проведения транзакции.

Такое уже было, openssl очень много раз менялся. Завтра поищу ссылки, сейчас иду спать.

Quote
Тоесть, на самом деле проще организовать хранение просто сида.
Тут больше про хранение сида онлайн. Типа "поехал за границу, а там срочно продается хорошая и дешевая машина/квартира, нужны деньги сегодня"  Grin. Можно, конечно, и аппаратник с собой таскать...

Ну в таком случае, если это временно, то можно упростить схему вплоть до того, что поделить сид на 3 части, поставить их в разных последовательностях и закинуть в OP_RETURN. Нападающему, если он даже проанализирует этот выход, и получит набор слов, то ему придется совершать атаку полной перестановки. А это или 12! или 24! (во втором случае практически нереально перебрать за разумное время). Ну это так, вариант на вскидку, жду критики  Smiley

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

Там суть в том, что пароль должен быть понятен, а те же 001 выступают в качестве соли которую тоже сложно забыть. Притом результат такого "брейнваллета" идет только как 25е слово к сиду, тоесть сам сид можно хранить более беспечно, на самом деле. Хоть кидать в OP_RETURN без шифровки.
full member
Activity: 644
Merit: 135
да хоть тройное - все равно будет уязвимо!
(да и устойчивость SHA-3 вызывает большие вопросы - разве что блок чуть больше удлинять придеться Wink )
То есть вы не согласны, например, с этим мнением?

да совершенно без разницы чего ломать - оно всё ломается примерно одинаково!
(а если йобнуть русским ломом - то ломается не только хребёт АНБ Wink)) )

Просто SHA-3 на самом деле имеет 1600 бит внутри - что слегка озадачивает тк снаружи из неё торчит чуть меньше...


В остальном разницы никакой - _функция это просто функция_, и совершенно без разницы что думает про неё АНБ(и уж тем более - что пишет!)...


На чем тогда основано ваше?

если просто функции на вход подать данные, причём _те-же самые что и раньше_ - то о чудо - на выходе она даст тот-же самый результат!!!

Волшебство? Wink


А от атаки можно было и SHA-2 защитить точно так-же - просто публиковать меньше битов, чем у неё внутри, вот и всё "изобретение", в общем в АНБ как всегда похоже дефицит мозгов и кадров...
(но если в SHA-3 где-то покажуться наружу все биты - то ей пиздец точно такой же придёт, и точно так-же!!!)


Для защиты от этой атаки используется HMAC, ну и в дереве Меркла по сути та-же идея используется...
HMAC представляете что такое и что делает?
(в принципе в том посте нечто подобное и изобрели - даже если ключи там отличаются на 1, то после SHA там примерно половина битов будет разная по-любому...)
Еще раз перечитал тот пост - не вижу такого. Вы, видимо, как-то по-своему интерпретировали прочитанное.

HMAC чуть более гадкая штука - она из мизерного ограниченного набора делает на выходе(той-же SHA) дофига битов, причем _очень многие биты сильно меняются даже если изменить всего 1 бит на входе_!

===============
Придумываете какой-нибудь мастер-пароль и свой алгоритм иерархии.
Например:
"sha256(Мой-мастер-пароль-который-я-всегда-помню@кошелёк001)"
"sha256(Мой-мастер-пароль-который-я-всегда-помню@кошелек002)"
...
"sha256(Мой-мастер-пароль-который-я-всегда-помню@кошелек046)"

Генерируете sha256 любой оффлайн утилитой, полученный хеш и используете в качестве пароля (25-ое слово к сиду).
...
 И если вы на скомпрометированном девайсе-сайте введёте сид и пароль, то риска для других кошельков нет.
Пароль первого кошелька из моего примера будет
0c5c7d5181ec0d8a50eafc8afbd2fb2d31533419bb979cfe8eb43381a5266c03
А второго
e9752dffc3beb1a6845c6a616a16e4d1494a10b435d26b37d08afee1ab22f853

Хотя вы изменили всего один символ
===============
(то есть тут получается что весь сид будет экв. SALT для HMAC в случае компроментации? )


То есть по сути он там придумал HMAC - берет _хэш в качестве пароля_ от легко запоминающейся системы!


Именно та-же идея использована и в HMAC, и _по сути дерево Меркла тоже можно рассматривать как HMAC от низщих поддеревьев_!   Так?..



А почему вы используете только этот дистрибутив? При условии отключения компьютера от интернета подойдет любой дистрибутив линукса запускаемый с флешки или LiveCD.

подойдет, если Вы уверены, что он куда-нить не запишет Ваши действия(кроме дисков даже в CMOS часов можно сохранить Ваш ключик от битков, например!), а потом дождеться когда подключите инет и сихронизируется с сервером АНБ...

Причем даже 2-3 байтов будет вполне достаточно - по сути их весь пароль мало интересует - а просто по фильтрам определить категорию "клиента" и засветить его IP (кстати и 1 байта будет достаточно - типа "террорист", "нарк", "наркоторговец" и тд Wink )


Ну и самый популярный вариант - через чип выключенной(как бы) вафли сливать данные через взломанный соседский роутер на сервак АНБ...
Сюрприз, детишки? Wink


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

не обязательно копировать - можно и на месте классифицировать Wink


PS  для девайсов без вафли и вообще без портов связи в каталоге АНБ тоже есть варианты апгрейда - правда там уже вручную агент засовывает что-то вроде флэшки, и связь на вашей офлайновой тачке уже есть!..
(но не думаю что сильно рассчитывают на онлайн - скорее пишут данные куда-то где не видно - ведь в зоне какого-нить завода с центрифугами может тупо совсем не быть совсем никакого интернета, какой бы дурак его тащил в горы или пустыни...
Так что остается только "почта" на флэшках и прочих девайсах - и ждать когда привезут-увезут сами Wink )

То есть ваша ошибка похоже в том, что слегка путаете "двойную" SHA в случае HMAC - она же тоже как бы двойная, да? - ну и двойную и вообще хоть миллион циклов крутите там лучше не станет, просто HMAC как бы прячет "простые" данные от перебора, после SHA в виде HMAC их уже не так легко перебирать, даже если там пароль класса "12345"...
legendary
Activity: 1848
Merit: 2033
Crypto Swap Exchange
Отличная статья, вы проделали полезную работу.
В этом я сомневаюсь, но спасибо на добром слове ).
Так как работаем с сидом, нужно обезопаситься и использовать "холодный" компьютер. Допустим, что у меня такого нет, поэтому я физически отключил интернет и загрузился с флешки Tails (это такая анонимная и безопасная операционная система (linux) на флешке, если кто не знает).
А почему вы используете только этот дистрибутив? При условии отключения компьютера от интернета подойдет любой дистрибутив линукса запускаемый с флешки или LiveCD. Я не доверяю специальным дистрибутивам создаваемым с целью "повышения безопасности", их разработчики знают, что они будут использоваться для секретных дел и могут встроить в дистрибутив программу, копирующую ваши действия.
Копирующую куда?
Но пожалуйста, используйте любой дистрибутив, которому доверяете, большой разницы не вижу. Я этому вполне доверяю, он давно развивается, у него хорошая репутация (ему даже Сноуден доверял, если ничего не путаю) ), а главное - он мне удобен, там встроен TOR, Electrum, LUKS-раздел для своих данных/программ... Короче говоря, лучшего я не нашел.
hero member
Activity: 1232
Merit: 858
Отличная статья, вы проделали полезную работу.

У меня возник вопрос:


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


А почему вы используете только этот дистрибутив? При условии отключения компьютера от интернета подойдет любой дистрибутив линукса запускаемый с флешки или LiveCD. Я не доверяю специальным дистрибутивам создаваемым с целью "повышения безопасности", их разработчики знают, что они будут использоваться для секретных дел и могут встроить в дистрибутив программу, копирующую ваши действия.
legendary
Activity: 1848
Merit: 2033
Crypto Swap Exchange
да хоть тройное - все равно будет уязвимо!
(да и устойчивость SHA-3 вызывает большие вопросы - разве что блок чуть больше удлинять придеться Wink )
То есть вы не согласны, например, с этим мнением? На чем тогда основано ваше?
Quote
Для защиты от этой атаки используется HMAC, ну и в дереве Меркла по сути та-же идея используется...
HMAC представляете что такое и что делает?
(в принципе в том посте нечто подобное и изобрели - даже если ключи там отличаются на 1, то после SHA там примерно половина битов будет разная по-любому...)
Еще раз перечитал тот пост - не вижу такого. Вы, видимо, как-то по-своему интерпретировали прочитанное.
full member
Activity: 644
Merit: 135
да хоть тройное - все равно будет уязвимо!
(да и устойчивость SHA-3 вызывает большие вопросы - разве что блок чуть больше удлинять придеться Wink )

Для защиты от этой атаки используется HMAC, ну и в дереве Меркла по сути та-же идея используется...


HMAC представляете что такое и что делает?
(в принципе в том посте нечто подобное и изобрели - даже если ключи там отличаются на 1, то после SHA там примерно половина битов будет разная по-любому...)
legendary
Activity: 1848
Merit: 2033
Crypto Swap Exchange
В Меркле аналогично - включаются не сами данные, а SHA от них - пока что биток не взломали, хотя давно и официально известно что SHA просто изначально не была устойчивой к некоторым простейшим атакам вроде

Атака удлинением сообщения — Википедия
https://ru.wikipedia.org › wiki › Атака_удлинением_сообщения

В битке везде в ключевых местах двойное хеширование, а оно, вроде, неуязвимо к таким атакам.
full member
Activity: 644
Merit: 135
В Меркле аналогично - включаются не сами данные, а SHA от них - пока что биток не взломали, хотя давно и официально известно что SHA просто изначально не была устойчивой к некоторым простейшим атакам вроде

Атака удлинением сообщения — Википедия
https://ru.wikipedia.org › wiki › Атака_удлинением_сообщения
legendary
Activity: 1848
Merit: 2033
Crypto Swap Exchange
не-не, там идея другая - что через SHA эта самая соль очень уж большой получается, и вообще почти все биты меняются нафиг!..

Причем "солить" можно на "калькуляторе" который и интернета никогда не имел...


PS  но по-сути - эта же идея использована в дереве Меркла?
Перечитал еще раз то сообщение, никакого дерева не увидел. Там написано, что 24 слова можно хоть в инстаграм выкладывать. Значит, считаем, что их нет. Остается sha256(пароль + соль) - брейнваллет. Какая "другая идея"?
full member
Activity: 644
Merit: 135
а нет ли желания обсудить защиту от гопников всяких? Wink

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


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


Код-то могут и "спросить" ведь(не все же "коммунисты" из советских фильмов про фашистов Wink)) ) - потом введут сами - и Вы им больше не нужны...

А сканер отпечатков пальцев весьма полезная штука(если его использовать правильно!) - тогда без Вас даже код '12345' не введешь - если он постоянно проверяется!..   Понятна идея?..
(то есть это гарантия что Ваш телефон Вам в руки таки дадут, дальше можно сделать чтобы там многое без онлайна не работало вообще - тогда и связь будет...
Куда и как дальше это можно использовать?..    Ведь пока кучи кодов на перевод вводить будете, там инфы на самом деле на порядки больше идет с сенсоров - что можно использовать для скрытого управления и/или передачи информации!    Что тут можно полезного придумать? )

>>Но мне больше нравится вот этот - https://bitcointalksearch.org/topic/m.18758587
Мне тоже нравится из-за простоты, такой "брейнваллет с солью". Но пароль там должен быть гораздо лучше, чем здесь. То есть помнить нужно больше. И смысла для безопасности делать много кошельков не вижу, взломают один - полетят все.

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

Причем "солить" можно на "калькуляторе" который и интернета никогда не имел...


PS  но по-сути - эта же идея использована в дереве Меркла?..
Может его и задействовать, чего велосипед изобретать-то, все равно ведь если основы битка ломанут то и пароли уже не нужны будут Wink



PS  а с ключами...  Может просто комбинацию(последовательность) использовать, из _длинных_(пусть даже не очень защищенных или вообще публичных!) кодов?..
(ну типа только Вы знаете в каком порядке делали что-то в школе в какой-то день, и не забудите...
В этом порядке скармливаем слова или коды SHA - и получаем ключ!  
Хотя..  нынче уже и в школах камер понаставили, вот суки!!! Wink)) )
legendary
Activity: 1848
Merit: 2033
Crypto Swap Exchange
Накосячить сложнее опять же.
Накосячить не получится, если сразу проверять на косяки - проводить полное дешифрование.
Спасибо за мнение. Хочу также добавить, что я не сторонник хранения важных данных в голове, это ненадежное хранилище. Всегда пароль нужно где-то дополнительно записывать на всякий случай.
Это да. Но тогда сразу встаёт вопрос - а не записать ли нам просто сид? И мы вернулись туда, откуда начали.
А начали мы с сохранения сида на железяках за сотни баксов, которые не горят, не ржавеют и прочее. Имея резервную копию сида в сети (в надежном и всегда доступном месте), железяка уже не нужна, достаточно бумажки. В общем-то, главный акцент был на этом надежном и отовсюду доступном месте хранения. А остальное уже спонтанно наросло и не оптимизировано.

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

Но так бы хранить не советовал.
А я тоже не советовал )).
Quote
Слишком длинная цепочка получается. Нужно на всякий случай именно ту версию Тейлса иметь сохраненной где то помимо флешки
Думаете, новые версии openssl не будут обратносовместимы? Сомневаюсь. Но если так, то нужно будет просто скачать старую версию, актуальную на дату проведения транзакции.
Quote
Помнить кодовое слово, помнить пароль шифрования в openssl. Ну тоесть получается, чтобы сохранить одну информационную единицу (сид) нам нужно сохранять три компонента для получения доступа к этому сиду.
Можно сократить до двух компонентов, один из которых простой (в обсуждении писал об этом).
Quote
Тоесть, на самом деле проще организовать хранение просто сида.
Тут больше про хранение сида онлайн. Типа "поехал за границу, а там срочно продается хорошая и дешевая машина/квартира, нужны деньги сегодня"  Grin. Можно, конечно, и аппаратник с собой таскать...
Quote
Хотя на самом деле вариант интересен.
Честно говоря, некоторые критические замечания вполне справедливы, поэтому мне уже самому не кажется этот вариант особо интересным. Даже подумал, а не снести ли тему?) Но пусть остается, для разнообразия, так сказать...
Quote

Но мне больше нравится вот этот - https://bitcointalksearch.org/topic/m.18758587
Мне тоже нравится из-за простоты, такой "брейнваллет с солью". Но пароль там должен быть гораздо лучше, чем здесь. То есть помнить нужно больше. И смысла для безопасности делать много кошельков не вижу, взломают один - полетят все.

 

 
legendary
Activity: 2436
Merit: 1849
Crypto for the Crypto Throne!
Поставил мериты за труды и интересный способ. Но так бы хранить не советовал.

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

Хотя на самом деле вариант интересен.
Но мне больше нравится вот этот - https://bitcointalksearch.org/topic/m.18758587
legendary
Activity: 2380
Merit: 1132
импортируем его в Electrum я предпочитаю bech32-адрес, поэтому импортирую с соответствующим префиксом p2wpkh:L1AHAuRLxZ14PspT4UjooZa3Jx2Y9hcKfuQpC19b4AqHq8V12u9o
Правильно ли будет добавить в стартовый пост информацию, что импортировать ключ нужно выбрав последний пункт в создании кошелька Импортировать биткоин адреса или приватные ключи? Иначе при импорте в уже созданный получаем ошибку "Входы не найдены. (Входы должны быть подтверждены)". Что естественно.
member
Activity: 74
Merit: 100
Со вторым предложением согласен, но не вижу ничего плохого в хорошо зашифрованном wallet.dat в rar архиве, выложенном повсюду. Необоснованные страхи, по-моему.
Я и не говорю, что это очень плохой способ. Он похож на ваш (если в вашем лишние сущности убрать) по характеристикам, но при этом проще и для понимания, и для реализации. Накосячить сложнее опять же.
Пусть второй пароль будет равен третьему и это будет какое-то относительно большое (от 100000 до 1000000000) и круглое число (все цифры, кроме первой - нули) или все цифры одинаковые.
Смотрите, к чему мы пришли: вместо набора (длинный пароль, секретное слово, iter) остался набор (длинный пароль, круглое число). То есть зная эту пару (и видя блокчейн), можно восстановить сид. При этом можно довольно быстро перебрать все круглые-запоминаемые iter и найти в блокчейне все соответствующие адреса. Более того, для этого не нужно знать пароль! То есть iter быстро восстанавливается как нами, так и взломщиком. По сути это такой брейнваллет с регулируемой сложностью подбора, только в обычном есть только пароль, а у вас - пароль и нужно видеть блокчейн в отличие от обычного брейнваллета.

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

Спасибо за мнение. Хочу также добавить, что я не сторонник хранения важных данных в голове, это ненадежное хранилище. Всегда пароль нужно где-то дополнительно записывать на всякий случай.
Это да. Но тогда сразу встаёт вопрос - а не записать ли нам просто сид? И мы вернулись туда, откуда начали.
member
Activity: 826
Merit: 56
(из полицеского протокола)
"За прошедшие сутки было ограблено 100 квартир, 10 банков, и форт-нокс...
свежо
full member
Activity: 644
Merit: 135
legendary
Activity: 1848
Merit: 2033
Crypto Swap Exchange
Quote
нужно выбрать хороший пароль, длинный (символов 12 хотя бы), уникальный, но желательно легко запоминающийся.
Это трудно само по себе
Ок.
подбор одного варианта, а найдя это большое число (я выбрал 21 миллион, но можно взять и гораздо больше), он сразу бросит

ребята, Вы что, сговорились чтоли, или _все_ так тупите одновременно?

Циклы же понятно что только от тупого брутфорса замедлят перебор - но почему вы считаете что это повышает, а не понижает криптостойкость?   Ведь полно других алгоритмов, причем ускоренных!!!
Я не в курсе этого. Не могли бы вы (для таких тупых, как я) популярно развернуть свою мысль про понижение криптостойкости с повышением итераций цикла? Желательно с ссылками на нормальные источники.
full member
Activity: 644
Merit: 135
круто!! Wink

(из полицеского протокола)
"За прошедшие сутки было ограблено 100 квартир, 10 банков, и форт-нокс...
Что интересно - никаких ценностей вынесено не было, золотыми слитками пробивали стены в квартиры,
но были изъяты все семейные фото,
а так-же захвачен суперкомпьютер местного университета террористами, что явно намекает на работу чей-то разведки"...

Wink


PS  после подбора нужной комбинации все фото оставлены в здании университета, перегородив выход...
hero member
Activity: 1358
Merit: 635
Выбор среды хранения это на любителя. Надежнее схемы Шамира и ей подобных ничего лучшего для хранения СИДа еще не придумали.

а это что такое, или что именно Вы имели ввиду?..


Спецом нашел свой старый пост по этому поводу https://bitcointalksearch.org/topic/m.50804914

насчет семейного фото это крутой троллинг, зачот! Wink))

Но Вы же понимаете, что будет, если у домушников окажеться плохо с чувством юмора?..
(вот представляю как в ментовке угорать-то будут по поводу чего украли...)


Да, и вообще, там просто частей достаточно, или еще потом пароль/брутфорс нужен будет?



1)То не тролинг. Когда кто-то из родственников  спросил, что это за QR там на фото я ответил что это индификатор фотоателье в котором это фото было сделано , кроме того у них много моих фоток с фейковыми QR и один единственный даже правильный QR ничего не дает, нужно добраться еще до хотя бы двух остальных2) Домушники врядли позарятся на семейные фото. Их пачки в разных кульках и фотоальбомах. И среди этого  мотлоха  им нужно выбрать три нужных но при этом знать какие, потому что на многих моих фотках я поставил фейковые QR, которые никакого отношения к Шамиру не имеют, я ведь не пальцем деланный 3) У меня без всяких паролей, трех частей достаточно, но это я так разбил, можно разбиваnь как угодно и при этом предварительно зашифровать. Но походу это уже будет перебор.
full member
Activity: 644
Merit: 135
Выбор среды хранения это на любителя. Надежнее схемы Шамира и ей подобных ничего лучшего для хранения СИДа еще не придумали.

а это что такое, или что именно Вы имели ввиду?..


Спецом нашел свой старый пост по этому поводу https://bitcointalksearch.org/topic/m.50804914

насчет семейного фото это крутой троллинг, зачот! Wink))

Но Вы же понимаете, что будет, если у домушников окажеться плохо с чувством юмора?..
(вот представляю как в ментовке угорать-то будут по поводу чего украли...)


Да, и вообще, там просто частей достаточно, или еще потом пароль/брутфорс нужен будет?




1  чем это надёжнее NXT?
Не знаю. Уверен, что есть блокчейны, более приспособленные для такого. Но я хотел использовать блокчейн биткоина.
Quote
2  по сути это экв. краже шифрованного wallet.dat - только тут уже красть даже не надо...
По сути да. Но есть нюансы.

по поводу криптостойкости nxt, и даже монеры, кто-то (из весьма приближенных к биткойну фирмы) выражал большие сомнения...

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


подбор одного варианта, а найдя это большое число (я выбрал 21 миллион, но можно взять и гораздо больше), он сразу бросит

ребята, Вы что, сговорились чтоли, или _все_ так тупите одновременно?

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


Вот блин интересный вопрос - и с точки зрения психологии, и корни ваших ошибок похоже где-то там-же лежат!!!

Есть идеи, или может кто-то более подробно расскажет как и почему так рассуждал?..


считаете, что AES256 хуже ECDSA?  

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


PS  в исследованиях по криптостойкости кто хочет принять участие?
(бонус - если даже не взломаем совсем, то уж несколько % ускорения для заработка через пул найдем наверняка ведь!!!
Хотя конечно проекты венчурные и никаких гарантий давать не можем...)

PPS  ваша ошибка с 21млн циклов как раз просто подарок для кое-каких интересных алгоритмов!..  
Разве не интересно проверить? Wink
member
Activity: 74
Merit: 100
конструктивная критика приветствуется
Хотел покритиковать, а большую часть за меня уже сделали investgroup и naska21. Добавлю ещё кое-что:
Quote
нужно выбрать хороший пароль, длинный (символов 12 хотя бы), уникальный, но желательно легко запоминающийся.
Это трудно само по себе, но идем дальше:
Quote
незабываемое слово-ключ, например имя любимой тещи, собаки итп, здесь секьюрность не важна, если украдут этот ключ, то и на здоровье.
По сути второй пароль, хотя и без требований к сложности.
Quote
значение параметра -iter обязательно должно совпадать с тем, которое использовали при шифровании, поэтому важно его не забыть, лучше записать где-нибудь
Почти что третий пароль.

А теперь  подумаем, что могло пойти не так. Варианты:
  • Мы забыли пароль. С учетом параметра iter,  это почти катастрофа.
  • Мы забыли слово-ключ. Почти катастрофа. Нас ждет утомительный перебор транзакций из блокчейна в лучшем случае. В худшем - перебор будет стоить дороже, чем монеты в кошельке
  • Мы забыли iter. В лучшем случае - долгий перебор. В худшем - вы поняли
Потеря любой из трех частей приводит к очень большим проблемам. При этом защищённость от взлома не особенно отичается от шифрованного wallet.dat в rar архиве выложенного повсюду.

То есть соотношение security/safety у этого метода хуже, чем у упомянутых другими пользователями.
Резюмируя, это можно рассматривать как интересный эксперимент, но не как хороший способ хранения.
legendary
Activity: 1848
Merit: 2033
Crypto Swap Exchange
1  чем это надёжнее NXT?
Не знаю. Уверен, что есть блокчейны, более приспособленные для такого. Но я хотел использовать блокчейн биткоина.
Quote
2  по сути это экв. краже шифрованного wallet.dat - только тут уже красть даже не надо...
По сути да. Но есть нюансы.

1. Никто не знает, что там зашифровано.
2. Даже если бы хакер знал, что там сид, он не знает, сколько денег он выручит в случае успеха (стоит ли овчинка выделки?).
3. Даже если бы знал сумму, и она его устроила бы (взлом -дело недешевое), он должен найти необходимое число итераций на подбор одного варианта, а найдя это большое число (я выбрал 21 миллион, но можно взять и гораздо больше), он сразу бросит эту затею.
4. Я рекомендовал использовать сид с 13-м словом, которое не хранится в шифровке. Взломав шифр, хакер просто найдет сид с нулями, вот он обрадуется...

Интересно, много вам известно случаев взлома краденных wallet.dat?
Почему люди не боятся держать миллиарды на биткоин-адресах, а боятся опубликовать хорошо запароленный wallet.dat? Или вы считаете, что AES256 хуже ECDSA?  
hero member
Activity: 1358
Merit: 635
Выбор среды хранения это на любителя. Надежнее схемы Шамира и ей подобных ничего лучшего для хранения СИДа еще не придумали.

а это что такое, или что именно Вы имели ввиду?..


Спецом нашел свой старый пост по этому поводу https://bitcointalksearch.org/topic/m.50804914
full member
Activity: 644
Merit: 135
Выбор среды хранения это на любителя. Надежнее схемы Шамира и ей подобных ничего лучшего для хранения СИДа еще не придумали.

а это что такое, или что именно Вы имели ввиду?..


PS  как вам идея создания сети _с закрытыми_(а не открытым блокчейном) узлами?..
Конечно биток смотриться симпатичнее с его единым прозрачным блокчейном - но то что ту-же проблему приходиться решать уже даже для хранения ключей(пусть и небольших!) биткойна аппаратными кошельками, как бы намекает на существование потребности...   Кстати хранить мелкие ключи или большие данные нынче нет никакой разницы - все равно объём самой дешевой флэшки измеряется уже гигабайтами, меньше просто нет смысла ставить да и не выпускают уже наверно...
(а если честно - у нас уже давно идеи крутятся насчет сетей на базе энтропии Wink)) )
hero member
Activity: 1358
Merit: 635

То есть всё сводиться по сути к надёжности парольной фразы - с таким-же успехом можно просто хранить свой шифрованный wallet.dat на открытом форуме...  (если пароль надёжен, то вроде как пока покупатели кладов обламываются? )




Походу мерит за эту фразу. Действительно, метод описывает среду хранения СИДа но не привносит нового в  его защиту. Выбор среды хранения это на любителя. Надежнее схемы Шамира и ей подобных ничего лучшего для хранения СИДа еще не придумали.
full member
Activity: 644
Merit: 135
короче
  - пока никто не знает, где вы храните ключи - можете хранить их там хоть не защифрованными - это надежно тк просто никто искать там не будет!
  - как только станет известно, что кто-то так хранит ключи - это будет экв. надежности пароля в УЖЕ УКРАДЕННОМ wallet.dat

теоремы надюсь доказать сможете и сами, легко Wink
legendary
Activity: 2338
Merit: 1775
Catalog Websites
Игорь, благодарю Вас за то что потрудились и составили для нас гайд! + 2WO`s мерита вам!!  Wink

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

Есть о чем подумать и что поизучать!
sr. member
Activity: 728
Merit: 317
Crypto Casino & Sportsbook
Игорь, благодарю Вас за то что потрудились и составили для нас гайд! + 2WO`s мерита вам!!  Wink
full member
Activity: 644
Merit: 135
1  чем это надёжнее NXT?

2  по сути это экв. краже шифрованного wallet.dat - только тут уже красть даже не надо...


То есть всё сводиться по сути к надёжности парольной фразы - с таким-же успехом можно просто хранить свой шифрованный wallet.dat на открытом форуме...  (если пароль надёжен, то вроде как пока покупатели кладов обламываются? )


Ps  подумайте лучше вот над чем:
 - любой кусок пароля(даже из открытых данных, не говоря о паспортных!) всё равно добавляет какую-то энтропию, и если их достаточно много, то перебирать замучишься там будет более 256 бит экв."чистой" энтропии, легко!   Ну длина пароля при этом может быть хоть 2500 бит - всё равно ведь легко будет запомнить комбинацию из известных данных которые никогда не забываешь(адрес там, имя и тд - особенно если старый адрес уже отсутствует в паспортных базах и тд)
 - в принципе как-то ограничивать скорость перебора - допустим пароль разбит на 10 частей и храниться на 100 серверах(для надёжности каждый из них ещё продублирован раз 10), по вводу какого-то номера и ключа каждый выдает какую-то перекодированную инфу, но с задержкой скажем 1 сек - в этом случае более 1 варианта в сек просто не переберёшь никак, даже если есть мощный комп!..   (то есть опять-таки идея физ.доступа - что _всё равно нынче вынужденно используется в аппаратных кошельках и для биткойна_, может в этом есть какой-то глубокий смысл?.. )
legendary
Activity: 1848
Merit: 2033
Crypto Swap Exchange
В этом посте по пожеланию одного из пользователей форума я напишу инструкцию, как можно хранить резервную копию сид-фразы в блокчейне биткоина. Это не перевод и не пересказ (такая тема мне не встречалась), а только моя версия, как это можно сделать, поэтому конструктивная критика приветствуется. Ничего интересного и нового здесь не будет, просто собраны описания нескольких известных приемов для решения данной задачи. Дисклеймер: так как я не могу гарантировать 100% безопасность и работоспособность этого метода в будущем, я не могу советовать вам его использовать. Короче говоря, если что - я не виноват ). Сам я этот способ буду использовать как резервный и со страховкой. Страховкой служит надежная парольная фраза к сиду (известная как passphrase или 13-е (25-е) слово), которая, естественно, хранится отдельно в офлайне (и в голове). С хорошей парольной фразой даже при компрометации 12 (24) слов, взломать весь сид практически нереально.




Сид-фразу мы поместим в блокчейн транзакцией с опкодом OP_RETURN, который позволяет отправить до 80 байт произвольной информации.

1. Шифруем сид и получаем 16-ричную строку.

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

Создаем текстовый файл seed.txt с сид-фразой (возьмем такую - runway exist coconut cinnamon attack laptop oil wild yellow drink lawn cattle), чтобы сократить строку, оставляю по 4 первые буквы каждого слова (этого достаточно для однозначной идентификации) и убираю пробелы (получилось runwexiscococinnattalaptoil_wildyelldrinlawncatt), сохраняем файл. Из этой папки запускаем терминал и даем команду:
Code:
openssl enc -aes-256-cbc -in seed.txt -out enc.txt -nosalt -k bitcointalk -iter 21000000
Тут я поставил плохой пароль bitcointalk для примера, в реальности нужно выбрать хороший пароль, длинный (символов 12 хотя бы), уникальный, но желательно легко запоминающийся. 21000000 - это число итераций функции pbkdf2, такое огромное поставил, потому что я его легко вспомню, а главное - это сильно замедляет кодирование/декодирование (мой старенький комп почти 2 минуты шифровал/расшифровывал), что делает нереальным брутфорс и позволяет использовать не очень сложный пароль. Так, получили файл с шифрованным сидом, теперь нужно получить последовательность байтов (дамп). Даем команду:
Code:
xxd -ps -c 1000 enc.txt enc_hex.txt
-c 1000 здесь - число колонок, поставил от фонаря побольше (можно было 80 поставить), без этого ключа будет разбивать по 32 байта на строку, а нам нужно одной строкой. Сохраняем файл enc_hex.txt на флешку или жесткий диск компа, выключаем, вынимаем флешку, включаем интернет и загружаем обычную систему.

2. Нам нужно озаботиться тем, чтобы транзакцию с шифровкой потом нетрудно было найти. Можно, наверное, придумать разные варианты, можно ее просто записать, но я стремился ничего не записывать и поэтому выбрал вариант с созданием адреса из хеша любимого слова/фразы и последующим поиском адреса в блок-эксплорере. Для этого я использовал этот brainwallet (можно любой другой), там в поле "Brain Wallet Input" вводим незабываемое слово-ключ, например имя любимой тещи, собаки итп, здесь секьюрность не важна, если украдут этот ключ, то и на здоровье. Для примера я ввел слово bitcointalk, получаем приватник L1AHAuRLxZ14PspT4UjooZa3Jx2Y9hcKfuQpC19b4AqHq8V12u9o, импортируем его в Electrum (созданием нового кошелька из приватника, я предпочитаю bech32-адрес, поэтому импортирую с соответствующим префиксом p2wpkh:L1AHAuRLxZ14PspT4UjooZa3Jx2Y9hcKfuQpC19b4AqHq8V12u9o, в принципе, можно и легаси - особой разницы нет). Получили адрес bc1qc0kwr8clxgj63dp77sr4ql9zhexq2a6aw85ltw, перевели на него 300 сатоши (для сегвит-адреса и записи одного сида этого хватит, даже с запасом) ). С этого адреса сейчас будем отправлять транзакцию с OP_RETURN. Можно было и сразу это сделать, но я разбил на две транзакции для наглядности.

3. Копируем шестнадцатеричную строку из сохраненного в 1-м пунуте файла enc_hex.txt и в Electrum формируем транзакцию, поле "Pay to" заполняем так:
Code:
OP_RETURN наша_строка, 0
(запятую с нулем в конце не забываем).



Отправляем. Вот моя транзакция: https://www.blockchain.com/ru/btc/tx/0e0546d004f3373822178ceddb3084247912e400b75e5971e66522f6b398f123



Теперь - как восстановить исходный сид?

4. Вспоминаем ключевое слово (bitсointalk в моем примере) и получаем адрес (как во 2-м пункте). Адрес вставляем в блок-эксплорер и легко находим нашу транзакцию. Жмем на нее, открываются детали, и внизу страницы видим наш зашифрованный сид 3222e79b5c94efcea7b8e1704e1bdd8fb9257baf7bbecf1a9bb5b5a5b8da094ad570dddc7754220 c2e2359081956d238ba24429639c90b2348f15f052617aab8. Сохраняемем эту строчку в текстовый файл (у меня enc_hex.txt) и переносим его на флешку.

5. Выключаем интернет, перезагружаемся в Tails. Там копируем с флешки файл с шифровкой, запускаем из папки с файлом терминал и даем команду:
Code:
xxd -ps -r enc_hex.txt enc.txt
Затем такую:
Code:
openssl enc -aes-256-cbc -d -in enc.txt -out seed.txt -nosalt -k bitcointalk -iter 21000000

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


И последнее. Если вам необходимо сохранить сид-фразу из 24-слов, то они так просто не влезут в 80 байт. В этом случае шестнадцатеричную строку шифровки следует разбить на две части и создать два выхода OP_RETURN. Либо взять не мнемонику сид-фразы, а энтропию в iancoleman-конвертере, тогда получится ровно 80 байт.



p.s. Если кто-то хочет повторить, потренируйтесь сначала в тестнете, старайтесь не захламлять блокчейн бесполезным мусором.
Jump to: