Как и другие аппаратные кошельки, Ledger Nano S хранит в себе закрытые ключи пользователя и не передает их куда-либо наружу. Из 24 слов seed-фразы согласно BIP39 генерируется закрытый мастер-ключ, остальные же ключи иерархически генерируются из него. Зная seed, можно восстановить все цепочки ключей и связанные с ними монеты в случае утери кошелька. Для генерации ключей всех криптовалют, которые будут храниться в кошельке, используется одна seed-фраза.
Сами ключи не передаются на компьютер пользователя: программа (кошелек) на компьютере пересылает в аппаратный кошелек сформированную транзакцию, а ее подписывание происходит в самом аппаратном кошельке, после чего подписанная транзакция возвращается на компьютер и отправляется в сеть. Таким образом приватные ключи не покидают Ledger Nano S, и потенциальным злоумышленникам труднее их получить.
Комплект поставки
Ledger Nano S поставляется в небольшой белой коробке из плотного картона. В коробке, кроме самого кошелька, находятся:
-
кабель micro-USB для подключения к компьютеру;
-
шнурок для ношения на шее;
-
шнурок для ношения в качестве брелка с дополнительным кольцом;
-
набор карточек для записи seed-фразы, которая нужна для восстановления ключей;
-
уведомление о том, что кошелек каждый раз при подключении проверяет прошивку, а специальная микросхема (secure element) предотвратит любую попытку извлечь ключи;
-
краткая инструкция, рекомендующая для начала работы с кошельком идти на сайт и следовать указаниям.
Кошелек Ledger Nano S внешне очень напоминает обычную флэшку, но без внешнего разъема USB, зато обладает собственным небольшим экранчиком и двумя кнопками управления. Размеры устройства (98х18х9 мм) и вес 16 граммов позволяют носить его с собой как брелок без каких-либо проблем. Соединение с компьютером и питание происходят через один разъем micro-USB.
Внутреннее устройство Ledger Nano S
Разбирается кошелек несложно: достаточно чуть отогнуть и отсоединить металлическую защитную крышку, а задняя панель крепится на маленькие пластиковые защелки. Их достаточно подцепить ногтем или тонкой пластиковой карточкой, чтобы крышка отщелкнулась.
Внутри находится одна печатная плата, на которой ближе к USB-разъему виден микроконтроллер STM32F042K, а ближе к разъему подключения экранчика - Secure Element ST31H320, в котором и хранятся физически приватные ключи. Ledger Nano S не имеет собственного аккумулятора и работает только при подключении по USB к компьютеру, планшету или смартфону.
Судя по маркировке на задней крышке, этот экземпляр кошелька был выпущен в марте 2018 года. Программный код прошивки, включая криптовалютные клиенты, можно найти на GitHub.
Подключение и настройка Ledger Nano S
Разработчиками заявлена поддержка операционных систем Windows 8+, macOS 10.8+, Android 7+ и Linux, хотя на Windows 7 кошелек тоже заработал. Для начала работы на компьютер нужно поставить программу Ledger Life - это командный центр, совмещающий в себе все интерфейсы для работы с кошельками криптовалют, утилиты для обновления Ledger Nano, инсталляции кошельков внутрь его и других операций с кошельком. Изначально Ledger Nano S поставляется пустым, и сначала нужно будет установить на него приложения кошельков тех криптовалют, с которыми вы планируете в дальнейшем работать.
При первоначальном подключении кошелек попросит задать пин-код. Использовать все цифры в пин-коде не обязательно, можно сделать его короче, подтвердив ввод. Делается это, как и все последующие операции, с помощью двух кнопок. Левая обозначает налево или вниз, правая - направо или вверх, одновременное короткое нажатие - ввод, одновременное нажатие на 3 секунды - блокировка кошелька. Поначалу такое управление может быть непривычным, но к окончанию первоначальной настройки, скорее всего, нужные кнопки вы будете нажимать уже автоматически и не задумываясь.
После задания пин-кода кошелек попросит вас сохранить 24 слова сид-фразы. Предлагается записать их на карточку из комплекта, но также можно хранить их и в электронном виде, если надежно зашифровать и ограничить доступ. Помните, получив сид-фразу, злоумышленник получит все криптовалюты, которые хранятся на Ledger Nano.
Слова кошелек будет показывать по одному, и нужно вручную каждое листать, после чего подтвердить, что фраза сохранена. Кошелек вам не поверит на слово и попросит ввести все слова в нужном порядке для продолжения работы. Занятие довольно муторное, но надежно сохранить seed-фразу на самом деле важно, да и действие это однократное, поэтому терпеливо выполняем.
После этих операций кошелек станет доступен в программе Ledger Life. В первую очередь рекомендуется проверить, не требуется ли обновить прошивку на более новую. В прошивках могут быть патчи безопасности, поэтому пренебрегать ими не стоит.
После всех этих операций первоначальную настройку кошелька можно считать законченной.Работа с кошельком Ledger Nano S
Для примера работы аппаратного кошелька установим на него приложение Ethereum.
На вкладке Manager в Ledger Life нажимаем Install у пункта Ethereum и следуем указаниям программы. Если все пройдет успешно, то в интерфейсе Ledger Nano S помимо приложения Settings появится приложение Ethereum.
Для получения нового адреса нажимаем Receive в Ledger Life, разблокируем аппаратный кошелек и входим на нем в приложение Ethereum. Программа покажет адрес для копирования и попросит сверить его с адресом в самом кошельке. Сверяем, подтверждаем, у нас появляется адрес для пополнения.
Для примера я пополнил указанный адрес на 1 ETH. Программа Ledger Life успешно показала пополнение, даже без подключенного аппаратного кошелька.
Теперь проверим что произойдет при негативных сценариях, и сможем ли мы отправить этот 1 ETH обратно.
Для примера сымитируем несколько раз неверно введенный PIN-код. Достаточно трех раз, чтобы кошелек стер внутреннюю память и потребовал восстановиться из сид-фразы.
Устанавливаем по требованию кошелька новый PIN и вводим сохраненные ранее слова seed-фразы. Вводить придется по буквам все 24 слова с помощью двух кнопок на кошельке. Хорошо то, что после ввода трех букв кошелек предлагает подсказки по возможным словам, и их не приходится вводить полностью.
Для начала вводим неправильную фразу - интересно же посмотреть, что произойдет. Но ничего интересного не произошло, кошелек ругнулся "Recovery phrase invalid" и отказался восстанавливаться. Ладно, уговорил, вводим правильную и получаем подтверждение восстановления, после чего заново устанавливаем приложение Ethereum и пробуем вывести наш эфир:
Открываем на аппаратном кошельке приложение Ethereum, проверяем и подтверждаем транзакцию:
Транзакция была успешно подписана и отправлена в сеть.
Проблемы с Ledger Nano S
В процессе работы с кошельком Ledger Nano S многократно возникали проблемы с подключением. То операционная система не видела драйвер, то Ledger Life сообщал "Oops, could't connect to device", то "Sorry, try agin (websocket error)".
Иногда от этого помогало сменить кабель или переподключить кошелек, запустить Ledger Life от администратора, а один раз помогло удаление драйвера устройства в диспетчере устройств Windows, прошлые все способы не отработали.
Также весьма интересно выглядел интерфейс Ledger Life, когда у него отваливались все изображения:
Но в целом никаких неразрешимых проблем с кошельком Ledger Nano S в процессе тестов и работы не возникло, свои функции он выполняет.
Заключение
Ledger Nano S - недорогое решение для хранения закрытых ключей на отдельном защищенном устройстве и снижения критичного для любых криптовалют и токенов риска их утечки. Аппаратный кошелек в этом плане более безопасен, чем персональный компьютер, смартфон или планшет, однако надо хранить в секрете SEED-фразу.
Подписание транзакций происходит внутри кошелька, сами ключи его не покидают, в программу кошелька на ПК возвращается только подписанная транзакция после подтверждения пользователем операции. Работать кошелек позволяет почти со всеми популярными криптовалютами и операционными системами. В случае поломки или утери кошелька, восстановить средства можно с помощью SEED-фразы. Злоумышленник не сможет воспользоваться вашим кошельком, если не знает пин-кода.
Полностью стабильной работу Ledger Nano S назвать не получается, надежный контакт будет не со всеми USB-шнурками, которые вам могут встретиться, но критичных для работы сбоев или неразрешимых ситуаций за все время тестирования кошелька не возникло. Однако не забывайте, что и в аппаратных кошельках иногда находят уязвимости. Если у вас остались вопросы по кошельку, можете задать их на нашем форуме. Стоимость Ledger Nano S на момент написания обзора составляла чуть менее $100.