Author

Topic: Новая идея по защите биткоин кошельков (Read 149 times)

legendary
Activity: 1974
Merit: 4715
Недостатки
Хотя  хранилища Бишопа может стать большим шагом вперед в плане безопасности, он по-прежнему не на 100% надежен против краж или потерь. Некоторые из оставшихся недостатков могут быть устранены, частично или полностью, но это может привести к компромиссу.

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

«Проблема с использованием уникальных ключей [для каждого резервного хранилища] заключается в том, где вы собираетесь хранить эти данные? Если вы храните все это вместе, то можете использовать одинаковые ключи », - пояснил Бишоп. «Но если вы будете хранить его в нескольких местах (по одному на уникальный ключ), то у вас не останется секретных мест для хранения ваших данных».

В качестве неоптимального решения этой проблемы создатель Vault может встроить функцию «самоуничтожения» в свое Vault. После некоторого количества новых резервных хранилищ - возможно, 3, возможно  100 - последняя транзакция не отправит средства в новое хранилище. Вместо этого он отправил бы монеты на «адрес уничтожения» без приватного ключа. Это запирает монеты навсегда, поэтому ни создатель Убежища, ни атакующий, ни кто-либо еще никогда не смогут получить к нему доступ. Per Möser, Eyal и Sirer: Создание возможности самоуничтожения будет сильным препятствием для потенциального злоумышленника даже попытаться взломать Убежище.

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

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

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

“В этом и заключается ценность рецензирования предложений, - сказал Бишоп. - Это только делает их сильнее, указывает на проблемы и так далее.”

Это смысловой перевод статьи
https://bitcoinmagazine.com/articles/revamped-idea-bitcoin-vaults-may-end-exchange-hacks-good
legendary
Activity: 1974
Merit: 4715
Это смысловой перевод статьи
https://bitcoinmagazine.com/articles/revamped-idea-bitcoin-vaults-may-end-exchange-hacks-good
Автор: Aaron van Wirdum
7 августа 2019 г

Новая идея по защите биткоин кошельков от взлома

картинка заимствована с https://jur24pro.ru

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

Но техническая мера противодействия взломам может быть уже на подходе. Сегодня основной вкладчик Bitcoin Брайан Бишоп опубликовал обновленное предложение для «Биткойн-кошельков», идея, впервые предложенная в 2016 году. Благодаря умной настройке смарт-контракта пользователи Vault могут вернуть средства, надеясь, что в первую очередь это не приведет к краже. Более того: ничего из этого не требует каких-либо изменений в протоколе Биткойн.
https://www.mail-archive.com/[email protected]/msg08267.html

“Что меня волнует в этом — и нам все еще нужно оценить это и проверить -  что это может быть надежным способом ограничить потери от кражи”, - сказал Бишоп журналу Bitcoin. “Я думаю, что это может иметь большое значение для  Биткойна для защиты от  обменных обманов и личного хранения биткойнов.”

История биткойн-хранилищ
Концепция Bitcoin Vaults восходит по крайней мере к 2016 году, когда исследователи из Университета Мюнстера (Malte Möser) и Университета Корнелла (Ittay Eyal и Emin Gün Sirer) предложили решение для блокировки монет таким образом, чтобы кража могла временно отменена.

Проще говоря, хранилища биткойнов Möser, Eyal и Sirer были спроектированы со специальными адресами биткойнов, которым будут присвоены два закрытых ключа: один «Ключ хранилища» и один «Ключ восстановления». Ключ хранилища будет использоваться для расходования монет, а Ключ восстановления можно использовать для отмены транзакции в течение определенного периода времени.

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

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

Тем не менее, неспособность злоумышленника уйти с украденным будет для них сильным препятствием пытаться украсть монеты, утверждали Мезер, Эяль и Сирер.

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

Однако у решений Möser, Eyal и Sirer был большой недостаток: требовались изменения в протоколе Биткойн. Их хранилища были спроектированы вокруг «соглашений», предлагаемого обновления кода Биткойна, которое позволило бы вернуть средства. Трудно получить такие апгрейды на уровне консенсуса - и пока этого не было.

Bishop’s  хранилище: пошаговое объяснение
Идея решения Bishop’s  от Vault имеет функциональное сходство с более ранним предложением Vault, но важно, что оно не требует каких-либо изменений в протоколе Биткойн.

Чтобы понять, как это работает, лучше всего посмотреть, как решение Bishop Vault настроено в три этапа.

В качестве первого шага создаются как минимум три транзакции, но еще не транслируются в сеть Биткойн.

Первая транзакция называется «Транзакция Vault». Транзакция Vault «заблокирует» монеты таким образом, что ее можно будет «разблокировать» только с помощью специального закрытого ключа.

Этот конкретный закрытый ключ затем немедленно используется для создания и подписания второй транзакции, которая называется «Транзакция с задержкой». Существует несколько стратегий построения этой Транзакции с задержкой. Но в качестве общего примера, это позволило бы тратить монеты двумя способами. Во-первых, монеты можно было потратить с «обычным» закрытым ключом, но только после, скажем, 1 дня . Этот обычный закрытый ключ контролируется создателем Vault в их «горячем» (не особо безопасном, но практичном) кошельке. Или монеты можно было потратить немедленно, но только с другим закрытым ключом.

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

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

Какую бы установку вы ни выбрали, она также может быть построена как новое (потенциально более сложное) хранилище. А это новое хранилище, в свою очередь, также может иметь «запасной выход» через новое хранилище. И так далее.

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

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

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

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

Атаки
Создатель Vault все еще имеет конфиденциальные данные, которые потенциально могут быть украдены. Это включает в себя его обычный закрытый ключ, а также транзакцию с отложенным расходом и транзакцию возврата. Тем не менее, даже если хакер получит все это в свои руки, он не сможет потратить средства.

Посмотрим почему.

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

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

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

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

Если злоумышленник должен был украсть Транзакцию Re-Vaulting - либо в сочетании с обычным закрытым ключом и Транзакцией с задержкой, либо нет - он также не сможет украсть средства. Транзакция Re-Vaulting может быть использована только для блокировки снятия средств. Однако, в зависимости от настроек, злоумышленник может в этом случае иногда не дать создателю Vault также потратить средства.

В некоторых наихудших сценариях, когда все конфиденциальные данные создателя Vault были украдены, создатель Vault и злоумышленник могут оказаться в цикле, когда они продолжают пытаться блокировать попытки вывода друг друга. (Это можно решить с помощью функции «самоуничтожения», подробнее об этом ниже.)
Jump to: