Обзор Trezor Safe 7: аппаратный кошелёк с открытым кодом для самостоятельного хранения

Bitcoin Magazine
Обзор Trezor Safe 7: аппаратный кошелек для самостоятельного хранения с открытым исходным кодом
Некоторые производители аппаратных кошельков стремятся создавать устройства с воздушным зазором, которые конечные пользователи могут собрать самостоятельно, или разрабатывать решения для профессионалов отрасли, придерживаясь принципов свободного программного обеспечения с открытым исходным кодом. Другие закрывают исходный код и стремятся стать Apple или Macintosh в мире аппаратных кошельков, задавая направление благодаря встроенным ограничениям для защиты пользователей. Похоже, Trezor нашла золотую середину с Safe 7.
Устройство ощущается именно таким, каким вы могли бы представить современный iPhone: металлический корпус, широкий экран от края до края и тактильная отдача, явно призванная приносить пользователю удовольствие. Safe 7 создает впечатление, ощущение, что биткоин — это нечто реальное, физическое, чего не удается добиться большинству других кошельков.
Trezor также довольно умело находит общий язык и с биткоинерами, и с пользователями криптовалют в целом. Для этого компания предлагает две разные версии прошивки и дизайна: стандартную мультивалютную — в черном и зеленом цветах — и версию только для биткоина оранжевого цвета. Пользователи могут в любой момент переключаться между ними независимо от того, какую версию заказали. Но биткоинеры, которые уже определились с выбором, могут взять оранжевую версию и им не придется устанавливать прошивку обходным путем. При желании пользователи обоих типов могут перейти на другую версию прошивки независимо от цвета устройства.
Однако этот выбор имеет некоторые последствия: многие обновления прошивки касаются монет, отличных от биткоина. Поэтому прошивка только для биткоина более компактна. В справочных статьях Trezor это сформулировано прямо: «К преимуществам прошивки только для биткоина относятся более редкие обновления (по сравнению с универсальной прошивкой), а также меньший риск ошибок и проблем с безопасностью».
Волшебные слова
Если вы уже знакомы с биткоином, но никогда не пользовались Trezor, первое, что вы заметите, — размер списка слов. Для резервной копии кошелька Safe 7 предлагает 20 слов, а не 12 или 24, как большинство других устройств. Это решение в области безопасности, которое Trezor развивает уже много лет.
Стандарт из 20 слов под названием SLIP-39 Trezor впервые представила в 2019 году, анонсировав функцию резервного копирования по схеме Шамира. Она позволяет разделить слова исходной фразы для восстановления кошелька на фрагменты. Чтобы восстановить биткоин-кошелёк, достаточно определённого количества таких фрагментов, но каждый из них по отдельности недостаточен.
Например, схема Шамира «два из трёх»: пользователи записывают три списка по 20 слов и хранят их в разных местах — в банке, дома и на работе. Если вор обнаружит одну из этих долей или она будет уничтожена пожаром или наводнением, это не приведёт к катастрофической потере. Одной доли недостаточно, чтобы получить доступ к кошельку, а две другие позволяют владельцу восстановить контроль и перевести монеты в новый кошелёк. Это свойство часто называют «избыточностью»; оно также присуще кошелькам с мультиподписью, хотя у них есть другие компромиссы, например комиссии за транзакции в блокчейне. Резервные копии Шамира основаны на старой, хорошо известной криптографической схеме под названием Shamir Secret Sharing, для которой Trezor разработала собственную реализацию.
Дополнительные слова по сравнению с более популярным стандартом из 12 слов не дают пользователям больше энтропии: Trezor подчёркивает, что пользователи могут рассчитывать на те же 128 бит энтропии, что и при использовании сид-фраз из 12 слов. Однако, по словам Trezor, список слов, используемый в SLIP-39, тщательно составлен так, чтобы в нём не было похожих или легко путаемых слов.
SLIP-39 также позволяет делать то, чего не умеет BIP-39: расширять резервную копию с помощью схемы Шамира. Пользователи, которые сначала создают на устройстве Trezor резервную копию из одной сид-фразы из 20 слов, позднее могут создать избыточный набор долей Шамира, например схему «3 из 5». Эти доли восстанавливают тот же кошелёк, поэтому пользователям не нужно переводить средства с помощью ончейн-транзакций. Однако им следует подумать об уничтожении исходной сид-фразы из 20 слов, поскольку она сама по себе также позволяет восстановить кошельки.
На сайте Trezor есть подробный раздел FAQ, с которым могут ознакомиться заинтересованные пользователи. SLIP-39 поддерживают и другие кошельки, например Sparrow и Electrum, хотя он распространён гораздо меньше, чем его предшественник.
Первоклассный пользовательский опыт
Safe 7 демонстрирует серьёзное внимание к дизайну и пользовательскому опыту благодаря целому ряду ненавязчивых, но запоминающихся особенностей. Самой яркой из них, по моему опыту тестирования устройства, оказался отклик на важное решение о подтверждении — например, при подписании транзакции или смене защитного PIN-кода. Пользователю предлагают нажать и удерживать цифровую кнопку в нижней части экрана. Устройство начинает медленно вибрировать благодаря встроенному гироскопу, а от кнопки по краям экрана начинают двигаться два зелёных огонька. Когда они достигают верхней части экрана и встречаются, гироскоп ускоряется, создавая нарастающий механический звук и ощутимую вибрацию в руке. В финале рамка экрана загорается целиком, а вверху вспыхивает небольшой зелёный светодиод, подтверждая выполнение действия. Вся последовательность занимает всего секунду-две, но благодаря ей процесс перемещения биткоинов, обычно довольно цифровой и абстрактный, ощущается вполне реальным.
По сравнению с другими устройствами Trezor, которые я тестировал, например Model T и классическим Trezor One, сразу заметно, насколько тщательно продумано удобство работы с криптовалютой. Например, экранные кнопки здесь намного крупнее, чем у Model T, что помогает избежать частых ошибок при вводе, которые могут иметь серьёзные последствия, например при вводе PIN-кода безопасности. Если в большинстве аппаратных кошельков пользователь вводит такой PIN-код неправильно, это может привести к ещё более неприятным последствиям, вплоть до стирания памяти устройства. Крупные экранные кнопки размером с палец избавляют от лишнего стресса. Металлический корпус, без сомнения, придаёт Safe 7 солидный вид, оставляя в прошлом пластиковые корпуса старых моделей.
Одна из необычных функций интерфейса — «Wipe PIN»: специальный PIN-код, при вводе которого во время входа в устройство удаляются данные пользователя. В общедоступной документации Trezor эта функция описана недостаточно ясно: о том, как она работает, сказано, но не о том, для чего она нужна. На какой риск или угрозу она рассчитана? В каких случаях её следует использовать? Самые мнительные биткоинеры давно просили добавить подобные функции на случай маловероятных, но крайне опасных ситуаций, например печально известной «атаки с гаечным ключом», когда вор заставляет пользователя открыть кошелёк, чтобы украсть средства.
Проблема с PIN-кодом стирания Trezor в том, что он довольно явно показывает: вы только что удалили содержимое кошелька, а нападающий с гаечным ключом вряд ли обрадуется этому в такой ситуации. Как минимум в одном другом аппаратном кошельке реализована более продвинутая версия этой функции: она удаляет кошелёк основного пользователя, но открывает второй, «запасной» кошелёк, не выдавая эту хитрость через интерфейс. Тем из нас, кто настолько параноидален, чтобы задумываться о таком, пригодился бы более продвинутый PIN-код стирания.
У Safe 7 также есть Bluetooth и встроенный аккумулятор, который можно заряжать с помощью беспроводных зарядных устройств Qi2. Устройство можно использовать через USB-C, отключив Bluetooth в настройках. Такой альтернативный режим работы избавляет пользователя от кабелей — ещё одно тонкое, но важное дизайнерское решение, снижающее дополнительный стресс при подписании транзакции. Неизменяемость и необратимость переводов биткоина и без того делают каждое решение о подписании очень ответственным. Для более осторожных пользователей было бы неплохо предусмотреть аппаратный выключатель антенны Bluetooth.
Принцип изоляции от сети
До появления Safe 7 ни одна модель Trezor не оснащалась встроенным аккумулятором или Bluetooth. Добавление таких технологий в устройство — серьёзное решение: оно даёт значительные преимущества с точки зрения ожиданий широкой аудитории от современных устройств, но также несёт некоторые потенциальные риски.
Известно, что встроенные аккумуляторы со временем выходят из строя во многих подобных устройствах — от аппаратных кошельков до мобильных телефонов: они вздуваются и разрывают корпус. Это может быть опасно и привести к повреждению памяти устройства или невозможности получить к нему доступ. Trezor учитывает эту проблему и поясняет, что выбрал аккумулятор типа LiFePO₄, химический состав которого «более стабилен и безопасен, чем у обычных литий-ионных аккумуляторов». В документации компания утверждает, что «вздутие крайне маловероятно».
В то же время интеграция Bluetooth означает добавление в основном закрытого программно-аппаратного стека, который позволяет взаимодействовать с устройством на расстоянии и подрывает принципы изоляции от сети, лежащие в основе холодного хранения биткоинов. Чтобы решить эту проблему, производители аппаратных кошельков, например Trezor, стараются изолировать антенну Bluetooth и использовать её только для передачи сообщений, зашифрованных сквозным шифрованием. Для этого Trezor разработала протокол Trezor Host Protocol — технологию шифрования данных при передаче на компьютер пользователя, которая также используется при подключении через кабель USB-C. Trezor не доверяет USB-кабелям и стеку Bluetooth передачу незашифрованных данных.
Тем не менее можно утверждать, что такое беспроводное подключение выводит Safe 7 из категории биткоин-кошельков с полной изоляцией от сети или холодным хранением и приближает его к категории кошельков с высоким уровнем защиты, работающих в тёплом режиме. Горячим кошельком в таком случае можно считать обычный компьютер или сервер, подключённый к интернету и хранящий данные приватного ключа.
Обзор аппаратной части и энтропия
Однако, если взлом Coldcard чему-то нас и научил, так это тому, что холодное хранение бессмысленно без качественной энтропии. Энтропия — это случайные и непредсказуемые данные, которые используются для создания секрета в криптографии, например результаты 100 бросков кубика, записанные на бумаге. Эти результаты проходят через криптографические алгоритмы и используются для генерации пар приватных и публичных ключей, то есть слов начальной фразы.
У Trezor есть подробная статья о том, как они генерируют и используют энтропию для создания пар ключей кошелька. В Safe 7 используются четыре источника энтропии:
- Энтропия компьютера или телефона, к которому подключено устройство.
- Аппаратный генератор истинных случайных чисел (TRNG) в микроконтроллере STM32 — одном из компьютерных чипов Trezor.
- Защищённый элемент Optiga — второй компьютерный чип в устройстве Trezor.
- TROPIC01 — их новейший чип защищённого элемента, который можно «независимо проверить».
Предполагается, что четыре независимых источника объединяются при создании кошелька. Прошивка, реализующая эту логику, — открытое ПО по лицензии GPL 3.
Сейчас Trezor не позволяет пользователям вводить собственную энтропию при создании кошелька. Бросать кубики не нужно, но пользователь может добавить «парольную фразу» или «25-е слово» к уже созданным аккаунтам с парами ключей — это выполняет похожую функцию.
Технический директор Trezor Томаш Сусанка объяснил в беседе с Эфрат Фенигсон, что энтропия, генерируемая пользователем, имеет значение лишь в том случае, если код действительно её использует. Он отметил, что ошибка в Coldcard заключалась не в сбое аппаратной генерации энтропии, а в том, что из-за ошибки прошивка не использовала эту высококачественную энтропию в программной реализации.
Коммерческий директор Trezor Дэнни Сандерс согласился с этим мнением, хотя в разговоре с Bitcoin Magazine сказал, что тему энтропии, добавляемой пользователем, «обсуждали много раз», добавив: «Это не категорическое нет». Скорее, более широкую пользовательскую аудиторию Trezor, которая, по словам Сандерса, «в несколько раз» больше аудитории Coldcard, «нельзя просить бросать кости». Он добавил, что «им и так приходится держать в голове слишком много всего, просто записывая слова», имея в виду резервную копию сид-фразы из 20 слов. При этом преимущества энтропии, добавленной пользователем, с точки зрения безопасности невелики, если другие источники машинной энтропии действительно используются должным образом.
Источник: BitcoinMagazine