Аппаратные кошельки для Bitcoin

tw_5yjnzckj8nv4wgia5m5shtnw.jpeg


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

Под кошельками в криптовалютах понимают одновременно:

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


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

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

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

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

Сферический аппаратный кошелек


Итак, любой аппаратный кошелек (из рассматриваемых):

  • Генерирует и хранит внутри устройства неизвлекаемый закрытый ключ кошелька.
  • Все операции, необходимые для проведения транзакции, производятся внутри устройства. Из устройства выдается лишь результат — электронная подпись транзакции.
  • Имеет экран для отображения различный информации.
  • Имеет одну или несколько физических кнопок для взаимодействия с устройством.
  • При переводе средств с кошелька отображает на экране информацию о транзакции.
  • Требует ручного подтверждения операций с помощью физической кнопки на устройстве.
  • Позволяет создать резервную копию ключей на случай если устройство сломается или будет утеряно.
  • Требует установки дополнительного ПО от производителя аппаратного кошелька.
  • Поддерживается на всех современных версиях Windows, Linux, MacOS.
  • Поддерживается на Android.
  • Не позволяет устанавливать какое-то дополнительное ПО внутрь самого кошелька.
  • Для работы требуется знание специального PIN-кода (или даже нескольких PIN-кодов).
  • Стоит денег, в отличии от большинства остальных кошельков.
  • Поддерживают не все возможные криптовалюты, а только наиболее популярные.


Основные отличия


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

От Online-кошельков


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

  • Компьютер был взломан, что привело к краже пароля от online-кошелька.
  • Сервер, на котором был развернут online-кошелек, был взломан и средства всех пользователей кошелька были украдены.
  • Компания-создатель web-кошелька обанкротилась.
  • ФБР конфисковала серверы, а в итоге и средства пользователей.
  • Владельцы компании разработчика online-кошелька похитили средства пользователей и скрылись.
  • Программная ошибка в коде online-кошелька привела к потере средств.
  • Злоумышленник украл мобильный телефон, на котором была открыта сессия по работе с онлайн кошельком, что привело к потере средств.


От программных кошельков на компьютере


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

От мобильных кошельков на смартфоне


Такие кошельки для смартфонов можно разделить на 2 группы:

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


От USB-флешки


Очевидно, что флешки никогда не создавались как средство безопасности, но не все это понимают.

  • Прочитать или скопировать закрытые ключи с флешки может любое ПО.
  • Вредоносное ПО может подменить адреса получателя в транзакции.
  • Кража или утеря такой флешки может привести к полной потере средств.


Кстати, от кражи или утери можно защитится, если использовать специальные флешки, которые требуют ввода PIN-кода для получения доступа к данным.

От зашифрованного кошелька


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

От хранения ключей на бумаге


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

Риски и потенциальные уязвимости аппаратных кошельков


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

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

  • Подмена адреса получателя в транзакции. Аппаратный кошелек не защитит вас от посылки вашей криптовалюты по поддельнному адресу. Например, вредоносное ПО на вашем компьютере может мониторить транзакции с большим количеством криптовалюты, а затем подменять адрес получателя на адрес кошелька, который принадлежит злоумышленнику. Если ставки высоки, то вам необходимо использовать многофакторное подтверждение адреса получателя — например, по телефону.
  • Плохой ДСЧ. Аппаратные кошельки полагаются на безопасность ДСЧ, который находится внутри устройства и используется при безопасной генерации вашего закрытого ключа. К сожалению, проверка ключа на случайность не самая простая задача. Уязвимый ДСЧ может создавать такие ключи кошелька, которые могут быть воссозданы атакующим, генерируя псевдослучайное число, которые похоже на случайное.
  • Ошибки реализации. Безопасность всех компьютерных систем, как программных, так и аппаратных базируется на качестве их реализации. Аппаратные кошельки не являются исключением. Ошибки в программном обеспечении, прошивке или на аппаратном уровне могут позволить атакующему получить доступ к внутренним структурам аппаратного кошелька, а затем и к вашим секретам. Даже если устройство изначально было спроектировано верно, доказать безопасность реализации в конкретном устройстве очень сложно.
  • Скомпрометированный процесс производства. Даже идеальная программная и аппаратная реализация уязвима к намеренному или ненамеренному внедрению в процесс производства. Различные закладки могут быть внедрены в устройство как случайно, так и под давлением различных спецслужб.
  • Скомпрометированный процесс доставки. Еще проще внедриться в процесс доставки и удалить или модифицировать часть защиты устройства таким образом, что это будет незаметно для пользователя. Известно, что различные государственные программы включают в себя, в том числе перехват и модификацию различных аппаратных средств с целью внедрения бекдоров.


Суммируем


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

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

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

Trezor


Устройство было представлено в 2014 году.

xsfjw28bcddlgkmlo_7ecp3lqtk.png


Итак, что нам может предложить Trezor:

  • На данный момент поддерживает работу с Bitcoin, Ethereum (+ все ERC-20 токены), Ethereum Classic, ZCash, Litecoin, Namecoin, Dogecoin, Dash и Bitcoin Testnet.
  • При производстве устройства, после его упаковки, коробка, в которую он помещается, заклеивается голографической лентой безопасности. Ее наличие подтверждает, что устройство является оригинальным. А также частично защищает вас от вскрытия и подмены или модификации устройства в процессе его доставки.
  • Также предлагает Менеджер паролей для браузера (никаких мастер-паролей — каждый пароль шифруется на своем ключе, для входа достаточно просто нажать кнопку на устройстве, при потере устройства ваши пароли не теряются, работает через механизм расширений для браузера).
  • Поддерживает U2F (Universal Second Factor).
  • SSH/GPG agent.
  • Поддерживается большим списком программных кошельков и онлайн-сервисов (полный список можно посмотреть тут — https://doc.satoshilabs.com/trezor-apps/index.html).
  • Каждый раз, когда вы подключаете устройство к компьютеру или мобильному устройству, вам необходимо ввести PIN-код. После этого устройство переходит в разблокированное состояние и позволит вам проводить операции. После отключения устройство снова переходит в заблокированное состояние.


Сам механизм ввода PIN-кода достаточно оригинальный. Чтобы не описывать, просто приведу видео:


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

3ymk_vtactakmzm9dzdulk2r0g4.png


Цена вопроса — $99

Основной недостаток — поддерживает меньше криптовалют, чем ledger.

Ledger Nano S


69uob1h4-mu6z2_ic-8iqiuefrw.png
  • Поддерживает Ark, Bitcoin, Bitcoin Cash, Dash, Dogecoin, Ethereum, Ethereum Classic, Komodo, Litecoin, PoSW, Ripple, Stratis, Zcash, и все ERC20 токены.
  • Поддерживает U2F, GPG и SSH.
  • Использует внутри себя 2 микроконтроллера: ST31H320 (защищенный) + STM32F042.


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


Цена вопроса — 58.00 €

Основной недостаток — качество изготовление самого устройства. Левая кнопка иногда воспринимает одинарное нажатие как двойное.

KEEPKEY


5___78pebyaz__zru3_f6rtm5n0.png
  • Поддерживает Bitcoin, Litecoin, Dogecoin, Namecoin, Testnet, Ethereum, и Dash.
  • Основная фишка — 3.12″ OLED дисплей с разрешением 256×64.
  • Внутри используется STM32F205RGT6.
  • Это единственный аппаратный кошелек, из рассматриваемых, который позволяет использовать свою прошивку. Из соображений безопасности при использовании сторонней прошивки устройство отображает предупреждение при включении.
  • Соответствует FIPS PUB 140–2 и FIPS PUB 180–2.
  • Также, как и Trezor поставляется в специальной упаковке, которую нельзя открыть незаметно.


Механизм ввода PIN-кода такой же как в Trezor, поэтому отдельного видео не будет.

Цена вопроса — $129.00. Больше чем у конкурентов, но зато экран и правда хорош.

BITLOX


b7c3u5uh0oip1ddxhchwyv4nbi4.png

Если предыдущие кошельки были больше похожи на классические токены или устройства класса TrustScreen, то этот подражает смарт-картам.

  • Поддерживает Bitcoin и с недавнего времени Ethereum.
  • Содержит внутри себя аккумулятор, который заряжается по Micro USB.
  • Взаимодействует по Bluetooth LE.
  • Всего 4 мм в толщину.
  • Дисплей eink — 2».
  • Поддерживает несколько PIN-кодов: для подключения устройства, для работы с кошельками, для проведения транзакции.
  • Датчик случайных чисел был сертифицирован в NIST.
  • Также имеет специальный PIN, ввод которого приведет к полной очистке устройства.
  • Имеет сервисы для работы через TOR (BITLOX2twvzwbzpk.onion) или I2P (BITLOX.i2p).


Отличительной особенностью этого аппаратного кошелька является «вырвиглазный» сайт. А также явное позиционирование не столько на защиту средств, сколько на приватность и использование в Darknet.

Цена вопроса — $98.00.

digitalbitbox


x70hiitjwwyhmekwsjwiizokmc0.png

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

  • Поддерживает Bitcoin (BTC) и Ethereum (ETH, ETC, and ERC20 tokens). Разработчики уверяют, что работают над расширением этого списка.
  • Поддерживает U2F.
  • Вы в любой момент можете извлечь или сделать резервную копию microSD карты.
  • Поддерживает работу с Tor и Tails OS.
  • Закрытые ключи хранятся на безопасном чипе, который защищен он физического извлечения данных.
  • Простой дизайн не вызывает дополнительного внимания.
  • Верификация платежей и двухфакторная аутентификация на мобильном приложении.
  • Не требует отображения или ввод слов на экране для восстановления доступа к кошельку. Вы просто вставляете microSD с резервной копией.
  • Все взаимодействие по протоколу USB зашифровано с помощью AES-256-CBC.
  • Одна кнопка для работы с устройством.


Взлом


Нельзя не упомянуть и историю со взломом аппаратных кошельков. Josh Datko и Chris Quartier на конференции DEF CON выступили с презентацией, на которой они поделились своими инструментами и методами, которые позволяют взломать некоторые аппаратные кошельки для криптовалюты.

Демонстрировалось применение этих техник к микроконтроллеру STM32F205, который использовался в устройствах от Trezor и Keepkey.

iwp3wdabvaa7dz6ciqi5k5ncazw.png


Презентация основывалась на исследовании, выполненном Jochen Hoenicke в 2015 году, в результате которого с помощью осциллографа стоимостью $70 был скомпрометирован закрытый ключ в устройстве от Trezor. Уязвимость была закрыта производителем. Это, однако не исключает возможность появления новых подобных атак как на указанные устройства, так и на устройства других производителей.

Подведем итоги


Аппаратные кошельки не защитят ваши средства от всех возможных угроз, но их правильное использование в большинстве случае защитит ваши средства в криптовалюте, если, конечно, они у вас есть :) По крайней мере они во много раз надежнее, чем программные кошельки. На рынке уже представлено много моделей, так что есть из чего выбрать, в том числе и по цене. Хотя с доставкой в Россию еще придется немного повозиться.

© Habrahabr.ru