Блокчейн/Уровень IV · Глубины протокола/4.3 Хранение и приватность/Урок 2
Аппаратные кошельки
Воздушный зазор, защищённый элемент и ключи, которые никогда не покидают устройство
МатериалыАппаратный кошелёкПрограммный кошелёк-компаньон (например, Electrum или Sparrow)USB-кабель или сканер QR-кодов
Любопытство
- Как устройство может подписать транзакцию, ни разу не раскрыв приватный ключ подключённому к нему компьютеру?
- От чего защищает чип с защищённым элементом и что открытая прошивка позволяет проверить посторонним?
- Что происходит, когда аппаратный кошелёк физически попадает в руки злоумышленника со специализированным оборудованием?
Исследование
- Аппаратные кошельки — это специализированные устройства, которые хранят приватные ключи на изолированном оборудовании и подписывают транзакции, не раскрывая ключи компьютерам, подключённым к интернету. Перед подтверждением устройство показывает адрес получателя на собственном экране для проверки. Такая изоляция не позволяет вредоносному ПО на подключённом компьютере извлечь секреты или изменить детали транзакции. К ранним продуктам относятся Trezor (SatoshiLabs, 2014), Ledger Nano S (2016) и Coldcard (Coinkite, 2018).
- Конструкции делятся на устройства с чипами защищённого элемента и устройства на микроконтроллерах общего назначения. Чипы защищённого элемента устойчивы к физическому извлечению данных, но их внутреннее устройство закрыто; микроконтроллеры общего назначения полностью доступны для проверки, но их проще атаковать физически. Некоторые устройства (например, Coldcard, BitBox02 и Trezor Safe) сочетают защищённый элемент с открытой прошивкой или прошивкой с доступным исходным кодом. В 2020 году Kraken Security Labs продемонстрировала извлечение сида Trezor через физический доступ к электронике устройства. Этот компромисс определяет современные подходы к безопасности: прозрачность против защиты от вскрытия.
- Во многих сценариях подписания используются частично подписанные биткоин-транзакции (PSBT). Программный кошелёк-компаньон формирует неподписанную транзакцию и передаёт её на аппаратное устройство через USB, NFC или QR-коды. Пользователь проверяет детали на экране устройства и подтверждает операцию. Подпись создаётся внутри устройства с помощью алгоритмов ECDSA или Schnorr на кривой secp256k1 и возвращается обратно. Приватный ключ никогда не покидает защищённый контур.
- Устройства с воздушным зазором (air-gapped) обходятся без прямого кабельного подключения к компьютеру. Такие устройства, как Coldcard, подписывают через SD-карту, а другие передают данные транзакции с помощью QR-кодов. SD-карта или QR-код — это всё равно канал передачи данных, поэтому скомпрометированный компьютер может изменить запрос; выявить подмену позволяет проверка деталей на экране самого устройства. Физическое разделение между выходом в сеть и хранением ключей остаётся основой модели безопасности для долгосрочного хранения.
- Риски цепочки поставок и баз данных сохраняются, несмотря на аппаратную изоляцию. Подделанные устройства от неофициальных продавцов могут содержать бэкдоры. В 2020 году произошла утечка базы данных клиентов Ledger, что подпитало фишинговые атаки, в которых против пользователей применялась социальная инженерия, а не взлом криптографии. Споры 2023 года вокруг Ledger Recover обнажили противоречие между удобством и принципами некастодиального хранения, поскольку этот опциональный сервис предполагал резервное копирование зашифрованных частей сида у сторонних компаний.
- Аппаратные кошельки служат для долгосрочного хранения с редким доступом, в отличие от мобильных или биржевых кошельков, которыми пользуются для повседневных трат. Многие пользователи распределяют средства именно так: основная часть — на аппаратном устройстве, небольшие суммы — в кошельке на телефоне. Самостоятельное хранение также означает, что никакая служба поддержки не сможет отменить ошибку или восстановить украденный сид.
Ключевые факты
- Trezor (2014) и Ledger Nano S (2016) входили в число первых широко используемых аппаратных кошельков; за ними в 2018 году последовал Coldcard.
- В 2020 году Kraken Security Labs извлекла сид Trezor, получив физический доступ к устройству, и тем самым продемонстрировала риски микроконтроллеров общего назначения.
- В 2020 году произошла утечка базы данных клиентов Ledger, что сделало возможными целевые фишинговые атаки на пользователей.
- Устройства с воздушным зазором используют SD-карты или QR-коды вместе с PSBT, чтобы подписывать транзакции без прямого подключения для передачи данных.
- Чипы защищённого элемента устойчивы к физическому извлечению данных, но их внутреннее устройство закрыто; в некоторых устройствах их сочетают с открытой прошивкой.
- Аппаратным кошелькам нужен программный кошелёк-компаньон для взаимодействия с сетью и формирования транзакций.
Упражнение девять, шесть, три, один
9СобратьПеречислите 9 моделей или производителей аппаратных кошельков. Для каждого укажите тип чипа (защищённый элемент или микроконтроллер) и основной способ подключения.
6СгруппироватьРаспределите эти 9 по 6 группам по архитектуре безопасности: закрытый защищённый элемент, открытая прошивка, только air-gapped, гибридная схема или другие конструктивные отличия.
3Выделить главноеСведите 6 групп к 3 ключевым компромиссам между прозрачностью, физической стойкостью и удобством.
1КристаллизоватьНапишите одно предложение о том, от чего защищает воздушный зазор (air gap), а от чего — нет.
Проверка фактов
Даты, цифры и утверждения были проверены по приведенным ниже опубликованным источникам.
- Kraken Security Labs, Trezor seed-extraction research (January 2020)
- Ledger, 'Data Breach Disclosure' (2020)
- A. M. Antonopoulos & D. A. Harding, Mastering Bitcoin, 3rd ed. (2023), ch. 5
- SatoshiLabs, Trezor documentation
- Coinkite, Coldcard user manual