Аппаратный кошелек для криптовалюты

Область техники
Заявленная полезная модель относится к области электронных платежных систем. Более конкретно, полезная модель относится к аппаратно-программным средствам хранения данных и совершения цифровых транзакций в пиринговых средах.
Уровень техники
На современном этапе развития сервисов электронных платежей отдельное место занимают сервисы, основанные на использовании так называемых криптовалют. Основанные на элементах криптографии платежные системы позволяют любым участникам осуществить перевод средств напрямую, без участия посредника.
Наиболее известной (и ранней) криптовалютой можно считать единицу Bitcoin, используемую в одноименной пиринговой платежной системе. Преимущество использования криптовалют заключается в полной децентрализации системы – в системе отсутствует администрирующий орган (или средство), обладающий функцией регулирования перевода средств от пользователя к пользователю. Пользователя сети посредством программы-клиента объединены в одноранговую сеть, т.е. каждый узел (пользователь) этой сети имеет равные возможности. Ценность криптовалюты обеспечена ограниченностью общего количества «монет», которое может быть «выпущено» в рамках каждой платежной системы, а также вычислительными ресурсами, необходимыми для так называемого майнинга, т.е. эмиссии новых монет в сети, поскольку такая эмиссия, по существу представляет собой решение сложной (даже для современного электронного оборудования) математической задачи. Для компенсации возрастающей вычислительной мощности и колебания числа работающих узлов в сети, сложность хэширования автоматически изменяется, чтобы обеспечивать равномерную скорость генерации блоков. Если они появляются слишком часто — сложность возрастает и наоборот.
К первому общедоступному описанию криптовалютной системы Bitcoin принято относить опубликованный в 2008 году в сети Интернет файл «Bitcoin: A Peer-to-Peer Electronic Cash System» (см. https://bitcoin.org/bitcoin.pdf), в котором описывается как общая идея одноранговой платежной сети, так и описаны протоколы взаимодействия, позволяющие осуществлять как майнинг, так и передачу средств от пользователя к пользователю (такие действия принято называть транзакциями).
В указанном документе электронная монета определятся как последовательность цифровых подписей. Очередной владелец отправляет монету следующему, подписывая хэш предыдущей транзакции и публичный ключ будущего владельца, и присоединяя эту информацию к монете. Получатель может проверить каждую подпись, чтобы подтвердить корректность всей цепочки владельцев. Сгенерированные сетью блоки, которые включают в себя всю информацию как о сгенерированных монетах и их владельцах, а также обо всех совершенных в сети транзакциях, включаются в последовательную цепочку блоков – так называемый Blockchain, при условии подтверждения таких сведений участниками (узлами) сети, что обеспечивает саморегуляцию таких систем.
Верификация транзакций возможна без запуска полнофункционального узла. Пользователю необходимо лишь хранить заголовки блоков самой длинной цепочки, которую он получил от других узлов, и запрашивать хэш-поддерево для необходимой транзакции. Он не может проверить корректность транзакции самостоятельно, но получив ссылку на блок, в котором она находится, он может убедиться в том, что этот блок и все последующие приняты и подтверждены сетью.
В упрощенном виде работу системы можно представить следующим алгоритмом
новые транзакции рассылаются всем узлам;
каждый узел объединяет пришедшие транзакции в блок;
каждый узел пытается подобрать хэш блока, удовлетворяющий текущей сложности;
как только такой хэш найден, этот блок отправляется в сеть;
узлы принимают блок, только если все транзакции в нем корректны и не используют уже потраченные средства;
свое согласие с новыми данными узлы выражают, начиная работу над следующим блоком и используя хэш предыдущего в качестве новых исходных данных.
Другие известные криптовалютные системы основаны на применении схожей по сущности структуры сети, при этом основное отличие заключается в использованных криптографических алгоритмах обработки (например, SHA-256, Scrypt, Ethash, X11, CryptoNight и др.).
В общем случае известные системы используют пары – открытый и закрытый (приватный) ключи в целях создания адресов кошельков и для подтверждения правомочности формирования транзакций. Программа-клиент хранит созданные ключи в файле, размещаемом на жестком диске (обычно – wallet.dat). Утеря этого файла означает потерю средств на кошельке (в качестве аналогии можно указать на потерю кошелька с фиатными средствами). При этом создать для существующего адреса новый ключ не получится, так как уникальной паре ключей всегда соответствует свой адрес, а система основана на применении односторонних функций, то есть таких функций f (x), что по известному x можно легко найти значение f (x), тогда как определение x из f (x) невозможно за разумный срок. Средства, связанные с адресом, для которого нет приватного ключа, становятся недоступными, т.е. утрачиваются.
Доступ третьих лиц к данным указанного файла (например, посредством вирусной атаки) означает потерю контроля над содержащимися в кошельке средствами, поскольку любое лицо, обладающее сведениями о приватном ключе, может совершить транзакцию и перевести средства на любой адрес, причем такой перевод является анонимным. Предусмотренные средства шифрования файла wallet.dat нельзя признать объективно повышающими безопасность, поскольку решение о шифровании файла, как и назначение самого пароля, принимается пользователем самостоятельно, при этом расшифровка пароля занимает несравнимо меньшее время, чем определение х из односторонней функции f (x).
Хранение данных о приватных ключах возможно в так называемых «горячих» кошельках (например, различные онлайн-сервисы), так и в «холодных» хранилищах (примером может выступать не подключенный к компьютеру флеш-накопитель, на котором записан файл wallet.dat).
Хранение в «горячем» кошельке не представляется безопасным, поскольку возможна как кража средств сотрудниками онлайн-сервиса, либо арест средств сторонними организациями (яркими примерами этому является закрытие криптовалютных бирж MtGox, CoinCheck, BTC-E, WEX с утратой контроля пользователей над размещенными средствами). В 2018 году было украдено криптовалюты на 1.8 млрд. долларов.
Размещение данных в «холодном» кошельке представляется, в большинстве случае, безопасным. Однако такое размещение не является удобным для совершения транзакций в том смысле, как это привычно пользователям пластиковых карт или фиатных средств. В то же время, для совершения транзакций достаточно лишь данных открытого и закрытого ключей, что привело в уровне техники к созданию так называемых аппаратных кошельков, позволяющих производить оплату товаров и услуг, не привязываясь к стационарным компьютерам (например, кошелек Trezor).
Известный аппаратный кошелек представляет собой аппаратно-программное средство, размещенное в корпусе с элементами управления, и функционирует под управлением программного обеспечения. Причем известный кошелек выполнен таким образом, что не представляется возможным использования иного, не одобренного программного обеспечения. В частности, при включении устройства программа-загрузчик, размещенная в защищенной от записи области памяти, проверяет сигнатуры операционной системы и выдает предупреждение в случае найденного несовпадения. При обновлении программного обеспечения программа-загрузчик производит очистку памяти и устанавливает обновление только в том случае, если сигнатура программного обеспечения отвечает проверяемым требованиям.
Однако известное решение обладает существенным недостатком, заключающимся в следующем.
Использование известного аппаратного кошелька предполагает, что пользователь будет взаимодействовать с ним таким же образом, как и с другими известными платежными средствами. А именно, оплата товаров и услуг предполагает физическое наличие аппаратного кошелька у пользователя в момент оплаты. Таким образом, утеря или насильственное завладение таким аппаратным кошельком могут произойти так же, как и в случае использования фиатных денег либо пластиковых карт.
Самим производителем кошелька указывается на наличие уязвимостей в программном обеспечении, заключающихся, в частности, в утечке данных из оперативной памяти (см., например, https://blog.trezor.io/details-about-the-security-updates-in-trezor-one-firmware-1-7-2-3c97adbf121e). Таким образом, для надежного использования известного кошелька необходим постоянный мониторинг наличия обновлений программного обеспечения. При этом лицо, каким-либо образом завладевшее кошельком, имеет достаточную по времени возможность физического воздействия на аппаратный кошелек с целью считывания данных, прямо либо косвенно относящихся к данным приватных ключей, например путем подключения непосредственно к выводам памяти, микропроцессора и т.д. Кроме того, такое лицо может дождаться публикации сведений о новых программных уязвимостях и, не производя обновление устройства, произвести атаку для считывания указанных данных. Известное решение не имеет средств противодействия атакам указанного типа, в частности, не имеет средств по защите информации вследствие вскрытия корпуса устройства. Производитель лишь отмечает, что корпус устройства выполнен при помощи ультразвуковой сварки, затрудняющей восстановление корпуса после вскрытия. Однако о каких-либо средствах защиты данных при вскрытии корпуса, изготовителем не заявляется.
Таким образом, предпосылками к созданию заявленной полезной модели является необходимость создания средства, пригодного для совершения транзакций в условиях расширяющейся инфраструктуры криптовалютных платежей, и обладающего существенным уровнем безопасности, проявляющимся, в том числе, при утере аппаратного кошелька, что является техническим результатом заявленной полезной модели.
Раскрытие полезной модели
Для достижения указанного технического результата предлагается аппаратный кошелек для криптовалюты, содержащий корпус, в котором размещены: дисплей, аккумулятор, соединенный с комбинированной антенной, предназначенной для беспроводного заряда аккумулятора и обмена данными NFC, контроллер заряда, соединенный с аккумулятором, а также аппаратный модуль безопасности, соединенный с дисплеем, аккумулятором и комбинированной антенной, представляющий собой безопасный криптопроцессор на базе системы на кристалле (SoC) с интегрированными в него CPU, интерфейсом ввода-вывода, модулем шифрования, EEPROM (Erasable Programmable Read-only Memory), RAM, Bluetooth и NFC-контроллером, при этом аппаратный модуль безопасности выполнен с возможностью хранения относящейся к криптовалюте информации в защищенной области памяти EEPROM, а корпус выполнен с возможностью размещения физических элементов управления для управления аппаратным кошельком.
В дополнительных вариантах осуществления аппаратный модуль безопасности выполнен с возможностью обнуления в памяти приватных ключей при извлечении его из корпуса. Физический элемент управления может быть выполнен в виде кнопки для подтверждения транзакций, совмещенной со сканером отпечатка пальца и соединенной с аппаратным модулем безопасности.
Осуществление полезной модели
Далее в описании приводятся сведения, раскрывающие то, каким образом возможно осуществление заявленной полезной модели посредством средств и методов, известных из уровня техники.
Следует отметить, что приведенные в описании сведения о предпочтительных вариантах осуществления полезной модели носят иллюстративный характер и не предназначены для ограничения объема правовой охраны заявленной полезной модели. Для специалиста будет понятным, что не отмеченные в описании сведения в отношении средств и методов могут быть включены в объем охраны полезной модели в соответствии со своим функциональным назначением.
Подробное описание архитектуры и алгоритмов функционирования криптовалютных платежных систем выходит за рамки настоящей заявки, поскольку сами по себе они являются широко известными, а заявленное техническое решение представляет собой лишь средство взаимодействия конечного пользователя.
Анализ уровня техники выявил сведения об известности так называемых безопасных криптопроцессоров. В отличие от криптографических процессоров, «доверяющих» шине и выводящих незашифрованные данные на нее, как будто она находится в защищенной среде, безопасный криптопроцессор не выводит незашифрованные данные или незашифрованные программные инструкции в среду, которая не может быть гарантированно защищенной все время. Термин «безопасный криптопроцессор» не является впервые введенным заявителем и его использование в уровне техники известно до даты приоритета заявленной полезной модели.
В частности, известны спецификации таких безопасных криптопроцессоров (см., например, Trusted Computing Group, Incorporated; TPM Main Part 2. TPM Structures. Specification version 1.2. Level 2 Revision 116, 01.03.2011), раскрывающие внутреннюю структуру и алгоритмы их функционирования.
Например, будучи выполненным в виде системы на кристалле (SoC), безопасный криптопроцессор получает на вход программные инструкции в зашифрованном виде, расшифровывает их и исполняет их внутри этой же микросхемы, где хранятся расшифрованные инструкции. Сведения о возможности взаимодействия микропроцессора и других элементов схемы с шифрованием данных раскрыты, например, в источнике R. Elbaz и др., Hardware Engines for Bus Encryption: a Survey of Existing Techniques, 2005.
Следовательно, существуют предпосылки о наличии причинно-следственной связи между использованием безопасного криптопроцессора в решениях, уязвимых к внешнему воздействию, и повышением безопасности их использования. Как показано выше, аппаратный кошелек для криптовалюты является критически уязвимым к внешнему воздействию в случае завладения им посторонними лицами, поэтому в заявленной полезной модели предложено в качестве аппаратного модуля безопасности использовать именно безопасный криптопроцессор.
Реализация внутренней структуры безопасного криптопроцессора в виде SoC не представляет для специалиста особых трудностей. Например, сведения о криптопроцессоре, реализующем обработку информации по шинам в зашифрованном виде, известна из патентного документа US 4278837 A, 14.07.1981 (п. 1 формулы, фиг. 1).
Таким образом, включение криптопроцессора в состав заявленного решения позволяет существенно повысить безопасность использования аппаратного кошелька для криптовалюты в том смысле, как это понимается в рамках настоящей заявки, т.е. включение в формулу полезной модели признака, характеризующего использование именно криптопроцессора, является существенным для возможности достижения указанного технического результата.
При этом известность указанных архитектурных решений позволяет специалисту осуществить интегрирование CPU, интерфейсов ввода-вывода, модуля шифрования, EEPROM (Erasable Programmable Read-only Memory), RAM, Bluetooth и NFC-контроллер в составе SoC, для придания ему функций аппаратного модуля безопасности, используемого в заявленном техническом решении.
В уровне техники не выявлено информации о средствах того же назначения, что и заявленное устройство, в которых в качестве аппаратного модуля безопасности предлагалось бы использовать безопасный криптопроцессор.
Кроме того, поскольку заявленное средство предполагается использовать в специфических условиях работы с криптовалютными платежными системами (что отражено в родовом понятии формулы), к существенным признаками полезной модели следует отнести признаки, характеризующие возможность хранения относящейся к криптовалюте информации в защищенной области памяти, а также возможность подписи транзакций, поскольку без указанных действий не представляется возможным реализовать назначение заявленного устройства.
Применение безопасного криптопроцессора существенно затрудняет получение злоумышленником данных, которые бы позволили в дальнейшем осуществить неправомерную транзакцию, поскольку обработка данных осуществляется внутри кристалла (SoC), при этом обеспечивается передачи информации в зашифрованном виде.
В качестве памяти, предназначенной для хранения относящейся к криптовалюте информации, целесообразно использовать EEPROM (Erasable Programmable Read-only Memory - Электронно стираемое программируемое постоянное запоминающее устройство). В качестве указанной информации обычно рассматриваются криптовалютные ключи, в рамках заявленной полезной модели, размещаемые в защищенной области памяти.
В предпочтительном варианте осуществления заявленное устройство предложено выполнять в виде прочного легкого корпуса (например, из поликарбоната), в котором размещены все основные узлы устройства. В корпусе могут быть размещены также дисплей и физические элементы управления работой кошелька. Корпус может быть выполнен с защитой от попадания влаги по соответствующему стандарту (например, IP57). Дисплей может быть выполнен в виде монохромного или цветного дисплея, которые могут быть сенсорными.
Физические элементы управления могут представлять собой кнопку включения/выключения, кнопку подтверждения транзакций, сканер отпечатка пальца, элементы для перемещения по разделам интерфейса пользователя, отображаемого на экране. В некоторых вариантах осуществления кнопка для подтверждения транзакций может быть совмещенной со сканером отпечатка пальца для повышения безопасности заявленного устройства.
Поскольку заявленная полезная модель предполагает свое использование в современной инфраструктуре, предпочтительным является обеспечение возможности беспроводной передачи данных, реализованное, например, при помощи модуля NFC, что позволяет использовать полезную модель подобно известным платежным решениям типа Apple Pay, Samsung Pay и др. Для сохранения компактности устройства предложено использование комбинированной антенны, предназначенной для беспроводного заряда, размещенного в корпусе аккумулятора, и обмена данными NFC при совершении транзакций. В дополнительном варианте осуществления заявленное устройство может включать в себя камеру и соответствующий модуль обработки, позволяющие осуществлять транзакции путем считывания информации, размещенной на QR-кодах в оптических терминалах оплаты (сама по себе такая обработка широко известна и применяется при оплате, например, мобильными телефонами, вследствие чего не требует для специалиста подробного описания средств и алгоритма их взаимодействия). Устройство может быть выполнено с поддержкой двухфакторной авторизации по протоколу FIDO U2F. Устройство может поддерживать передачу данных по беспроводному интерфейсу Bluetooth.
Настройка устройства может быть осуществлена известным из уровня техники способом и ее подробное описание не входит в рамки заявленной полезной модели. Например, устройство через соответствующий разъем (предпочтительно USB) подсоединяется к компьютеру. После включения питания в устройстве запускается доверенный загрузчик, который может быть размещен в защищенной области памяти. Доверенный загрузчик проверяет сигнатуры программного обеспечения, осуществляющего управление заявленным устройством и запрещает работу устройства при несовпадении сигнатур. Программное обеспечение может быть выполнено с поддержкой программных криптовалютных кошельков, размещенных на ПК известным из уровня техники способом. Выбором PIN-кода либо настройкой датчика отпечатка пальца осуществляется установка доступа к устройству. Поддержка конкретной криптовалюты может быть обеспечена загрузкой соответствующего доверенного программного обеспечения при подключении к ПК. Элементами управления на корпусе, в программном кошельке ПК либо считываем QR-кода возможно выбрать получателя транзакции и необходимую сумму. Подтверждение транзакции осуществляется нажатием соответствующей кнопки на корпусе устройства. При совмещении кнопки подтверждения транзакции со сканером отпечатка пальца существенно повышается безопасность проведения транзакций. Дополнительно устройство может быть оснащено интерфейсом Bluetooth, который может быть использован, например, для реализации двухфакторной авторизации в приложении на мобильном телефоне при совершении транзакций.
Дополнительно для повышения безопасности использования полезной модели аппаратный модуль безопасности выполняется с возможностью обнуления в памяти информации, относящейся к криптовалюте (либо всей содержащейся в памяти информации) при обнаружении попыток несанкционированного доступа.
Практическая осуществимость такого решения известна из уровня техники до даты приоритета полезной модели (см., например, заявку US 2012185636 A1, 19.07.2012). В известном решении модуль защиты по сравнению электрических характеристик цепи (сопротивление, емкость, индуктивность) с заранее заданными значениями принимает решение о стирании содержащейся в памяти информации. В заявленном решении применение такого средства (интегрированного в состав аппаратного модуля безопасности или расположенного отдельно с собственным питанием) может обеспечить выявление попыток подключения внешних устройств к выводам кристалла безопасного криптопроцессора с последующей очисткой содержащейся в памяти приватной информации. Модуль защиты от проникновения в устройство может быть снабжен дополнительным источником питания для резервного питания схемы аварийного стирания памяти.
Кроме того, из уровня техники также известно решение, позволяющее произвести термическое самоуничтожение электронного средства при попытке несанкционированного доступа (см. патент US 9812407 B2, 07.11.2017). Известны также самоуничтожающиеся чипы памяти Cypress (https://www.cypress.com/file/99056/download).
В заявленном решении срабатывание триггера (средства) уничтожения может быть осуществлено различными способами. В качестве датчика проникновения в устройство может использоваться механический выключатель, геркон, датчик давления, датчик света (в разных диапазонах), датчик радиоволн. Схема защиты от проникновения может быть выполнена отдельным блоком, разрушающимся от атмосферного давления (при предварительном создании в корпусе устройства вакуума) или воздействия кислорода воздуха. Механические средства контроля (защиты) проникновения в корпус могут быть размещены в заранее неизвестных пользователям местах (например, в корпусе может быть предусмотрено несколько таких мест, при этом при производстве средство размещается только в одном из них, выбранном случайно, либо корпус может быть выполненным таким образом, чтобы при производстве средство изначально размещалось в случайном порядке, срабатывая при этом при открытии корпуса). Такое размещение не позволит злоумышленнику заранее знать, в каком именно месте расположено средство защиты и принять меры для ее обхода. Вследствие этого заявленное решение может быть снабжено двумя уровнями защиты: от проникновения внутрь устройства и от проникновения в комбинированный чип, что существенно повышает безопасность использования полезной модели в том смысле, как это раскрывается в данном описании.
Ввиду множества перечисленных выше примеров осуществления признаков заявленной полезной модели, имеется основание полагать, что существенные признаки формулы могут быть обобщены до той степени, в которой они в ней представлены, без потери их влияния на возможность реализации назначения полезной модели и достижения указанного технического результата.