Pages:
Author

Topic: Как зашифровать приватный ключ? (Read 4916 times)

newbie
Activity: 9
Merit: 0
Используйте флеш-карту закриптованную программой TrueCrypt.
legendary
Activity: 1286
Merit: 1004
Рассказывая ужасный секрет
7z архив запароленный 20буквенным рендомным паролем нельзя взломать за ограниченное время

Любое использование слова или фразы в пароле уменьшает его стойкость на количество букв в слове
hero member
Activity: 616
Merit: 502
Главное, это не спалиться при создании, какими-нибудь троянами, скриншотерами и т.д. Не из под винды точно.
И не из под мака  Grin ибо закрытый код может поставлять закладки для ЦРУ в самой ОСи

1) Не обязательно хранить wallet.dat, достаточно хранить приватный ключ (выделено) от адреса с монетами. При сильном желании можно запомнить. Или зашифровать собственным простым шифром + используя стеганографию записать в разных тайных местах. (об этом ниже) И с ним уже проводить манипуляции по криптованию, я рекомендую ассиметричное (GPG).
Address: 1EJgCoE4psYXZgUs1bx7DzcnxPMkCcetL1
Privkey:   5KdBsNoW9xNJX8BsgwZ1W7cqKN275bsegsQwZeJNKP9eNgowNQr
Хотя и это не обязательно и вот почему:

Если речь идет о тюрьме и о надзирателе то недостаточно простого шифрования. Сразу представьте что вас настолько сильно будут пытать что вы сами расскажете о любых местах и способах сокрытия информации. Нужно исходить "от худшего". То есть, вы должны:
1. Разделить деньги на части и не на равные части а на разные и спрятать в разных местах, но так, что бы вы не смогли к ним ко всем получить доступ из одного места, например из подвала ЦРУ. То есть что для того что бы вы отдали деньги тем кто вас пытает, нужно будет на то место вам физически прибыть (это даст дополнительные возможности позвать на помощь\выхватить спрятанное оружие\нажать тайную кнопку). Так же это даст возможность подкупа например, вашего надзирателя не за всю имеющуюся сумму а за ту ее часть, которую как вам кажется достаточна для этого человека.
2. Использовать стеганографию что бы возможные обыски тех мест, где вы спрятали части данных (кода) не принесли результата.
 (вас же пытали и вам пришлось сказать про некоторые из тех мест с небольшими суммами для "выиграть время". Сразу забудьте про "обмануть", нужно от худшего). Протянув время и узнав, что думает похититель, сколько монет у вас денег, вы уже будете знать "до скольки колоться"  Так же это позволит вам быть не опустошенным до копейки,  вы сможете "прикинуться что у вас было всего 1000 монет" а не 1000000.


П\с Если это не очевидно, то про ваш пример с надзирателем - ему (другу вашему забыл) достаточно сообщить где именно в тайнике указан адрес для монет и где он найдет ваш простецкий шифр от этого ключа (ваш короткий разговор 30сек "Москва, Ковалева 35 1п, 6э, в углу у потолка на побелке выцарапано, это ключ от Биткоинов, гугли найдешь что с ним делать никому не показывай, 1, 12, букву меняй местами" это пример, там ничего нет а то щас бедные жильцы)))... ).
Т.о. надзиратель тупо исключен из этой дурацкой ситуации.

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

Много примеров. На тот случай что вас вынудят сказать где и что, "а наш человек сам все сделает" - можно просто мычать что "забыл где точно".. Undecided
hero member
Activity: 658
Merit: 536
Z-pay.io
Возвращаясь к теме.
AlexNeto, вы уже выбрали, как будете хранить свои монеты?

В архивах запароленных, по 100 или 50 монет, пароли все уникальные, с добавлением символов из публичного ключа по маске. И сам приватный ключ изменить по алгоритму. Взломать нереально, я думаю.
Главное, это не спалиться при создании, какими-нибудь троянами, скриншотерами и т.д. Не из под винды точно.
hero member
Activity: 518
Merit: 500
Возвращаясь к теме.
AlexNeto, вы уже выбрали, как будете хранить свои монеты?
hero member
Activity: 518
Merit: 500
Начал было отвечать по существу, потом увидел это
Итог: многовато детских ошибок в суждениях. Вас бы в школу. Потом в ВУЗ.

Дискуссию заканчиваю.
hero member
Activity: 518
Merit: 500
Вбивание символов на клавиатуре в терминале - совсем не user-friendly, для этого существуют оконные приложения типа Truecrypt. Это я не говорю про то, что нужно линукс устанавливать для вашего примера.
Да, объясните пожалуйста.
1. Есть свободный аналог tc-play
2. Монитрование также поддерживает cryptsetup
3. Программы, собранные сегодня, можно будет собрать и через 50, и, скорее всего, через 100500 лет. Вся история Linux это подтверждает. Однако больше всего подтверждений находит факт того, что этого не потребуется - разработчики подобных opensource решений часто озадачиваются проблемами обратной совместимости, тем более что никаких препятствий и сложностей (в виде экзотических зависимостей, например) в реализации шифрования по типу Truecrypt возникнуть не должно.

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

Сравнение же по типу "Truecrypt вытеснится, а openssl будет всегда" вообще некорректно, я не Ванга, и вы надеюсь, тоже.
hero member
Activity: 518
Merit: 500
Truecrypt, значит, долго и ужас, а то, что вы написали с openssl - легко и непринужденно? Нда...Undecided
// TrueCrypt (несвободная лицензия, но сорцы доступны) через много лет может быть вытеснен и потом вдруг вы обнаружете что нет ничего что бы смогло разобрать этот формат контейнера.
Вам объяснить, что вы полную чушь написали, или это и так понятно?
legendary
Activity: 1498
Merit: 1021
Was mich nicht umbringt macht mich stärker [F.N.]
4 строчки по 36 символов и есть двойной sha256 от рандомной парольной последовательности (которую можно заменить на осмысленую парольную фразу длинной хоть 256 символов).
hero member
Activity: 518
Merit: 500
AlexNeto, в вашем примере все очень сложно, на мой взгляд.

1. Для хранения он-лайн кошельков нужно шифрование. Что такое шифрование в контексте программного обеспечения для обычного пользователя? Это TrueCrypt, GnuPG, возможно KeePass, больше обычному пользователю знать ничего не нужно. Необычный идет изучать линуксы и прочую теорию. Применительно к конкретно вашему примеру, я бы сделал TrueCrypt-контейнер с тройным каскадом шифрования (вы без труда поймете что это, документация там отличная и есть на русском), переписал бы туда всю важную информацию типа кошельков и паролей и уже этот криптоконтейнер копировал в разные он-лайн хранилища. К этой схеме для надежности можно добавить разбросанные по знакомым/сейфам/тайникам зашифрованные тем же TrueCrypt флешки.
 
2. Немаловажный фактор - пароль или парольная фраза. Самый главный критерий длина, для сверхважных данных я бы использовал не менее 15-18 символов.

3. Для надежного оффлайн хранения (т.н. offline cold storage) присмотритесь к Armory. Не вдаваясь в подробности, кошельки там генерируются так, что все публичные bitcoin-адреса и ключи к ним там известны заранее и их можно вычислить, зная определенную последовательность, которая выглядит как 4 строчки по 36 символов английского алфавита. Именно их можно дать вашей семье или положить в банковскую ячейку, предварительно на словах объяснив что это и как этим пользоваться. Правда нужно понимать, что это именно что ключ ко всем вашим адресам в кошельке и попадя он не в те руки, можно будет с монетами попрощаться, потому хранить это дело нужно очень ответственно.
legendary
Activity: 1498
Merit: 1021
Was mich nicht umbringt macht mich stärker [F.N.]
Спасибо за ответы.

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

Применительно к хранению биткоинов это не нужно. Достаточно изучить как работают (и создаются) приватные ключи кошелька и адреса биткоина, а после этого ознакомиться с методом "мыслехранилища" ключей.
hero member
Activity: 658
Merit: 536
Z-pay.io
Спасибо за ответы.

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

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

2. Учет риска проблем с централизованными сервисами.
Онлайн кошельки, биржи, bitcoin-банки - они могут пропасть, аккаунт могут заблокировать, хакнуть, удалить и т.д. Емайл-провайдер, хостинг, облачные хранилища - тоже самое.

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



Схема следующая (Паранойя эдишн):

Девирсифицирую риск, и для удобства, разбиваю сумму заначки на 30 частей.
Дня этого генерю 30 приват/паблик пар btc ключей ( нулевый макбук, только что активировал, в нет зашел только чтобы скачать клиент).
Каждую пару сохраняю отдельным текстовым файлом. Название файла даю - публичный btc address пары.
Все приватные ключи изменяю по определенному алгоритму. Например, 2-ой и 13-ый символ меняю местами, 7-ой заменяю на следующий по алфавиту.
Каждый файл упаковаваю в архив и задаю уникальный пароль по маске, используя определенные символы публичного ключа в определенном порядке + обший пароль/pass phrase.
Отсылаю по 100 монет на каждый паблик адрес.
Делаю бекап на диск с инструкцией для близких людей, на всякий случай, как наследство. Пароль передается устно, или базируется на информации, известной только им, например какая-то семейная дата и т.п.
Заливаю файлы на мыло, в облако, дропбокс и т.д.

Запомнить надо только общий пароль и алгоритм маски.

Есть у злоумышленника шанс? Smiley
full member
Activity: 168
Merit: 100
про ассиметричное шифрование почитать можно здесь https://www.pgpru.com/biblioteka/osnovy/vvedenievkripto
если хочешь спрятать под паролем, то применяем симметричное шифрование, для этого использую truecrypt - опенсорсный продукт
hero member
Activity: 658
Merit: 536
Z-pay.io
Тогда остается один вопрос - нет ли какой-либо возможности взломать 7z архив, запароленный, скажем 35-ю символами?

На сколько это безопасно, учитывая, что в архиве private key к кошельку с 10000 btc, и он может оказаться в паблике?
legendary
Activity: 1120
Merit: 1069
Спасибо, теперь понял идею gpg.
Но, рандомно сгенерированный приватный ключ в 4096 бит запомнить невозможно.
То есть нужен носитель информации, чтобы получить доступ.
По любому нужен носитель информации, кошелек bitcoin тоже ведь надо куда то поместить (хотя там почти те же пары публичный и приватный ключ на каждый адрес по паре).

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

p.s. вполне допускаю, что возможны методы сохранения небольших объемов цифровой информации, в мозгу в виде какого-нибудь хитрого метода обучения 'на рефлексах' (где то была статья, авторизация пользователя путем игры в простую компьютерную игру).
legendary
Activity: 1400
Merit: 1000
Quote
Дело в том, что я кроме виндоус и мак на пользовательском кровне ничего не тспользовал. ) боюсь, ничего мне это не говорит. Как поставить пароль на архив из виндоус интерфейса я знаю. Это то же? )))
Это то же.
hero member
Activity: 658
Merit: 536
Z-pay.io
Wi-Fu,

Дело в том, что я кроме виндоус и мак на пользовательском кровне ничего не тспользовал. ) боюсь, ничего мне это не говорит. Как поставить пароль на архив из виндоус интерфейса я знаю. Это то же? )))
hero member
Activity: 658
Merit: 536
Z-pay.io
Спасибо, теперь понял идею gpg.
Но, рандомно сгенерированный приватный ключ в 4096 бит запомнить невозможно.
То есть нужен носитель информации, чтобы получить доступ.

Можно ли задать приватный ключ вида [12345ЖилиУБабуси3ВеселыхГусяОдинСерыйДругойБелый.......]

Так, чтобы доступ к своей зашифрованной конфиденциальной информации можно было бы получить доступ не имея какого-либо носителя из любой точки мира?
legendary
Activity: 1120
Merit: 1069
1. Alice и Bob у себя на своих защищенных компьютерах (закрыт доступ к файлам, экрану и клавиатуре) генерируют по паре ключей - приватный и публичный (в существующих алгоритмах с точки зрения математики эти ключи ничем друг от друга не отличаются, просто выбирается какой будет скрытым, а какой публичным). Размеры этих файлов очень небольшие, десятки байт (можно выбирать размерность ключей, хоть 4096 бита)
2. Затем они должны встретиться (лично или любым другим способом, гарантирующем что это именно они а не подставные лица) и поделиться своими публичными ключами, эти ключи публичные, поэтому они могут быть видны всем, обычно их выкладывают в какое-либо (и не одно) публичное хранилище и делятся короткими ссылками.
3. После этого возможны две операции: симметричное шифрование и электронная подпись.
Симметричное шифрование основывается на том, что если зашифровать сообщение публичным ключом человека, то расшифровать можно только его же приватным - так сообщения принимаются человеком (любой может зашифровать сообщение с помощью публичного ключа).
И самое главное - верно и наоборот, зашифровав сообщение приватным ключом, расшифровать его можно только публичным ключом этого человека, но никто не сможет сформировать такое зашифрованное сообщение, без приватного ключа - так получается электронная подпись (точнее на этом она основана).

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

Утилиты OpenGPG обеспечивают методы для хранения базы ключей, как своих пар так и чужих публичных. Обычно, если стороннее приложение поддерживает работу с GPG (тот же PSI), они позволяют выбирать с какими именно ключами нужно работать. Так же есть утилиты шифрования и подписывания сообщений, в т.ч. потоковые.
hero member
Activity: 658
Merit: 536
Z-pay.io
Как Алисе сделать так, чтобы быть уверенной, что BTC в безопасности?
Асимметричная криптография, сиречь GPG, которая была создана специально, чтобы передавать важную информацию по незащищенным каналам, уже не в моде? Алиса шифрует файл публичным ключом Боба в 4096 бит и может передавать файл хоть через начальника тюрьмы без встречи с Бобом в тюрьме вообще.

P.S. И все, конечно, друг друга трахают Smiley

Честно говоря, я не вкурил этот GPG. ) Можно на пальцах, как 6-летнему ребенку?
Чтобы Бобу расшифровать эту информацию, ему нужен GPG key? Он же не может держать его в голове, так?

Давайте поставлю вопрос иначе.
Я хочу сохранить доступ к своим монетам где-то онлайн.
Через несколько лет, не имея при себе никакого носителя информации, с любого компьютера из любой точки мира, я должел иметь возможность получить свои BTC. Я не доверяю никакому централизованному сервису. И вся информация для доступа должна поместиться у меня в памяти.


Вот мой вариант:
Я сохраняю приватные ключи в текстовом файле, упаковываю в архив. На архив ставлю длинный пароль и запоминаю его по маске. Например:
 [Дата рождения Пушкина + первые 22 символа 5-ой главы Гамлета без пробелов]

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

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

И какие еще могут быть способы безопасного хранения зашифрованных данных, расшифровать которые можно легко запоминаемым ключем/паролем?
Pages:
Jump to: