Вы здесь

Как Electrum Wallet защищает ваши ключи?

Опасность использования любых криптовалютных кошельков, обращающихся к внешним серверам для проведения транзакций, давно стала очевидной. Тем не менее кошелек Electrum остается популярным и считается довольно безопасным решением. Закрытые (приватные) ключи пользователей этого кошелька хранятся локально и никогда не передаются на внешние сервера. Но как это работает?

Как Electrum Wallet защищает ваши ключи?

«Толстые» и «тонкие» кошельки

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

Биткоин-кошелек Electrum Wallet

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

Seed-фраза Electrum

Закрытый мастер-ключ, сгенерированный кошельком Electrum, кодируется с помощью seed-фразы из 12 слов. Эту фразу кошелек просит владельца сохранить где-нибудь в надежном месте (например, на бумажном листочке где-нибудь в сейфе). Она позволит в любой момент и на любом устройстве получить доступ к кошельку.

Seed-фраза криптовалютного кошелька Electrum

В дальнейшем Electrum работает как типичный HD-кошелек (иерархически детерминированный): создает дерево закрытых и открытых ключей, причем открытые ключи могут создаваться без доступа к открытым.

Как подписываются транзакции?

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

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

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

Почему приватные ключи не попадают на сервер?

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

Создание неподписанных транзакций в Electrum

Electrum позволяет создать «холодный» кошелек на компьютере, не подключенном к интернету, перенести публичный мастер-ключ на другую машину и с его помощью создать так называемый watching-only кошелек. Он может только следить за историей транзакций - потратить деньги, используя только этот кошелек, не получится. Watching-only кошелек формирует транзакцию, но не может ее подписать. Файл транзакции нужно перенести на компьютер с приватным ключом, подписать, вернуть на подключенную к интернету машину и отправить.

Данный метод не только гарантирует, что приватный ключ не попадет на сервер, но и полностью исключает кражу ключа при атаке на подключенный к интернету компьютер.

Шифрование кошелька и ключей

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

Приватный ключ постоянно зашифрован с использованием функции AES-256-CBC и расшифровывается только на короткий период для подписания транзакции. Это сокращает до минимума время хранения ключа в памяти компьютера в незашифрованном виде.

Риски синхронизации с сервером

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

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

Впрочем, в случае Electrum, ключи серверам не достаются, а опасность атаки снижается использованием вышеупомянутого «холодного» кошелька. Кроме того, все данные от серверов проверяются с использованием процедуры Simple Payment Verification, предложенной еще при создании биткоина. Серверы, в качестве доказательства включения транзакции в блокчейн, предоставляют часть дерева Меркла. Благодаря этому верификация транзакций работает надежно во всех случаях, кроме успешной атаки 51%, которая биткоину уже не слишком угрожает.

В середине февраля была опубликована альфа-версия Electrum Personal Server, который позволяет использовать весь дополнительный функционал Electrum (восстановление из seed-фразы, мультиподписи, подпись транзакций вне сети и т. д.). При этом теряется возможность мгновенного запуска кошелька, но радикально повышается уровень безопасности кошелька.

Категория: 
Безопасность
Технология: 
5
Ваша оценка: Нет Средняя: 4.7 (3 оценок)
2921 / 1
Аватар пользователя Анонимус
Публикацию добавил: Анонимус
Дата публикации: чт, 03/01/2018 - 10:21

Что еще почитать:

Комментарии:

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

пн, 08/13/2018 - 21:47

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

пн, 11/26/2018 - 14:54

Gurum

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

пн, 12/03/2018 - 15:32

Добавить комментарий