Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
14 августа 2013, 5:25:04 AM   # 1
 
 
Сообщения: 546
Цитировать по имени
цитировать ответ
по умолчанию Re: плохие подписи, Java RandomSecure, злонамеренный

Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome"
Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE
Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e
подробнее...


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Итак, все обновления своих клиентов андроид использовать метод DEV / urandom так, что сделки, подписанные не в состоянии раскрыть секретные ключи обоих адресов, участвующих.

Это мое понимание вопроса.


Но что помешает кому-то из простого генерирования адреса с помощью RandomSecure и отправки биткойны по другим адресам, чтобы просто поставить под угрозу их?

В моем понимании этого сценария, это является одним из основной MAJOR дыры в безопасности

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


Как заработать Биткоины?
Без вложений. Не майнинг.


14 августа 2013, 9:50:19 AM   # 2
 
 
Сообщения: 137
Цитировать по имени
цитировать ответ
по умолчанию Re: плохие подписи, Java RandomSecure, злонамеренный

Получил 1806 Биткоинов
Реальная история.





Итак, все обновления своих клиентов андроид использовать метод DEV / urandom так, что сделки, подписанные не в состоянии раскрыть секретные ключи обоих адресов, участвующих.

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

котировка
Но что помешает кому-то из простого генерирования адреса с помощью RandomSecure и отправки биткойны по другим адресам, чтобы просто поставить под угрозу их?

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

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

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

Я уверен, что второй вопрос гораздо более вероятно, и чаще, чем первый, но ни один из них может поставить под угрозу ваши личные ключи, если не случится быть с помощью слабого генератора случайных чисел. Даже если я сгенерировал тысячи подписей с моим генератором Sony неслучайное число там еще ничего (если не считать кражи wallet.dat), что я мог сделать, чтобы показать или поставить под угрозу личные ключи. Реально, я даже не могу знать ваши открытые ключи, пока вы не опубликуете их на blockchain как часть сделки, так как ваш адрес фактически ripemd160 хэш SHA256 хэш вашего открытого ключа.

В принципе я могу суммировать его с этими 3 вещами (ТЛ / DR):
1) Не следует использовать генераторы случайных чисел, которые, как известно, слабым. Эта проблема с Android, как известно, в течение достаточно долгого времени, игры, которые полагаются на случайных чисел всегда действовали странно на этой ОС.
2) Не используйте Bitcoin адрес, если вы никогда не подписать более чем одну вещи с любым заданным закрытым ключом, то второй вопрос не может повлиять на вас, даже со слабым генератором случайных чисел.
3) Слабый генератор случайных чисел влияет только ключи, если ты один, используя слабое случайное число gnerator для генерации ключей и / или подписи.
stevenh512 сейчас офлайн Пожаловаться на stevenh512   Ответить с цитированием Мультицитирование сообщения от stevenh512 Быстрый ответ на сообщение stevenh512

14 августа 2013, 9:53:28 AM   # 3
 
 
Сообщения: 1582
Цитировать по имени
цитировать ответ
по умолчанию Re: плохие подписи, Java RandomSecure, злонамеренный

Итак, все обновления своих клиентов андроид использовать метод DEV / urandom так, что сделки, подписанные не в состоянии раскрыть секретные ключи обоих адресов, участвующих.

Это мое понимание вопроса.
Верный.

котировка
Но что помешает кому-то из простого генерирования адреса с помощью RandomSecure и отправки биткойны по другим адресам, чтобы просто поставить под угрозу их?

В моем понимании этого сценария, это является одним из основной MAJOR дыры в безопасности

единственный способ избежать этого будет обновлять действительную генерацию адресов в протоколе Bitcoin таким образом, что SecureRandom не может генерировать действительный адрес на всех.
Как бы посылать Bitcoins по адресу скомпрометировать его? Вы бы подписать для ваших собственных счетов, чтобы вы могли только скомпрометировать счета вы полностью контролировать.
JoelKatz сейчас офлайн Пожаловаться на JoelKatz   Ответить с цитированием Мультицитирование сообщения от JoelKatz Быстрый ответ на сообщение JoelKatz



Как заработать Биткоины?

Bitcoin Wallet * Portefeuille Bitcoin * Monedero Bitcoin * Carteira Bitcoin * Portafoglio Bitcoin * Bitcoin Cüzdan * 比特币钱包

bitcoin-zarabotat.ru
Почта для связи: bitcoin-zarabotat.ru@yandex.ru

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW