СИСТЕМА И СПОСОБ ПОДПИСАНИЯ ТРАНЗАКЦИЙ С ИСПОЛЬЗОВАНИЕМ ОТКЛЮЧЕННЫХ ОТ СЕТИ ЗАКРЫТЫХ КЛЮЧЕЙ
SYSTEM AND METHOD FOR SIGNING TRANSACTIONS, USING CLOSED KEYS DISCONNECTED FROM NETWORK

Область техники, к которой относится изобретение
Настоящее изобретение относится к системе и способу подписания транзакций. В частности, настоящее изобретение относится к удобному, с точки зрения пользователя, способу сетевой изоляции в электронном устройстве при управлении такими цифровыми активами, как криптовалюта, или содержимым, хранящимся в блокчейне (или аналогичных системах).
Предпосылки создания изобретения
«Сетевая изоляция» представляет собой известную процедуру, связанную с недопущением осуществления вычислительной машиной любого сетевого подключения или по меньшей мере подключения к такой сети общего пользования, как интернет. Другими словами, «сетевой заслон», или «сетевая блокировка», или «сетевая изоляция» представляет собой меру сетевой безопасности, используемую в отношении одного или нескольких компьютеров, с целью обеспечения физической изоляции защищенной компьютерной сети от таких незащищенных компьютерных сетей, как интернет общего пользования или незащищенная локальная сеть.
В результате изолированная от сети вычислительная машина представляет собой замкнутую систему (в том, что касается информации, сигналов и т.д.), то есть систему, которая недоступна для удаленных объектов и может эксплуатироваться пользователем (оператором) только вручную.
Недостатком сетевой изоляции является то, что передача информации между изолированной от сети вычислительной машиной и удаленным объектом является трудоемкой, часто включающей производимый человеком анализ безопасности перспективных прикладных программ или данных, подлежащих вводу в изолированную от сети машину, и, возможно, даже повторный ввод человеком данных вручную после анализа безопасности.
Кроме того, изолированная от сети машина обычно представляет собой полностью отдельную аппаратную систему, что требует эксплуатации и технического обслуживания двух систем и является неудобным, в частности, в случае т.н. электронных кошельков, в которых, в дополнение к электронному устройству или компьютерной программе, выполняющих функцию кошелька, пользователь должен носить отдельное изолированное от сети устройство для подписания транзакций (например, жетон для генерирования кода, лишенный возможности осуществления сетевого подключения, или защищенный аппаратный кошелек на основе холодного хранилища данных, в котором хранятся закрытые ключи, обеспечивающие возможность доступа к содержимому, хранящемуся в блокчейне, или расходования таких цифровых активов, как криптовалюты).
В патенте США № US8984275B2, озаглавленном «Система VAG – виртуальный сетевой заслон» описана система, содержащая виртуальный сетевой заслон, внутренний компонент безопасности и внешний компонент безопасности, механизм передачи сообщений системных компонентов, расположенный между внутренним и внешним компонентами безопасности, и совместно используемое запоминающее устройство. Внутренняя система состоит из внутреннего компонента безопасности и других компонентов, содержащихся в системе, соединяющей их с внутренней сетью. Внешняя система состоит из внешнего компонента безопасности и других компонентов, содержащихся в системе, соединяющей их с внешней сетью.
Ввиду вышесказанного, существует потребность в разработке системы, выполненной с возможностью использования, в частности, для вариантов применения в электронных кошельках, которая не требовала бы двух отдельных устройств и была бы более удобной в эксплуатации. Также существует потребность в предоставлении улучшенных системы и способа подписания транзакций через виртуальный сетевой заслон.
Сущность изобретения
Настоящее изобретение относится к системе подписания транзакций. Система содержит первый модуль, содержащий: интерфейс связи с сетью общего пользования; контроллер, выполненный с возможностью обработки транзакции с помощью блокчейн-сети или сервера транзакций, доступного в сети общего пользования; и интерфейс данных для осуществления связи с контроллером. Система дополнительно содержит второй модуль, содержащий: генератор случайных чисел для генерирования случайных последовательностей; защищенный контроллер, выполненный с возможностью генерирования начальных слов и закрытых ключей на основе случайных последовательностей, сгенерированных генератором случайных чисел, и сохранения начальных слов и закрытых ключей, и подписания запроса транзакции путем генерирования подписанной транзакции; и интерфейс данных для осуществления связи с защищенным контроллером. Система дополнительно содержит модуль переноса, содержащий: контроллер; интерфейс данных для осуществления связи с контроллером; и переключатель, выполненный с возможностью выборочного соединения интерфейса данных модуля переноса либо с интерфейсом данных первого модуля, либо с интерфейсом данных второго модуля так, что интерфейс данных первого модуля никогда не соединяется с интерфейсом данных второго модуля. Контроллер выполнен с возможностью приема запроса транзакции от первого модуля, пропуска запроса транзакции во второй модуль, приема подписанной транзакции от второго модуля и пропуска подписанной транзакции в первый модуль.
Переключатель может представлять собой однополюсный перекидной (SPDT) переключатель.
Защищенный контроллер второго модуля может быть дополнительно выполнен с возможностью хранения биометрических данных.
Второй модуль может содержать биометрический датчик, выполненный с возможностью преобразования биометрического следа личности в электрический сигнал для авторизации транзакции.
Переключатель может быть дополнительно выполнен с возможностью подачи электроэнергии на второй модуль только тогда, когда интерфейс данных модуля переноса соединен с интерфейсом данных второго модуля.
Система может дополнительно содержать модуль стирания, выполненный с возможностью применения функции стирания во втором модуле с целью удаления хранящихся в нем начальных слов и закрытых ключей и стирания всех данных транзакций и финансовых данных из первого модуля.
Второй модуль может быть встроен в общий корпус с модулем переноса.
Первый модуль может быть встроен в общий корпус со вторым модулем и модулем переноса.
Интерфейс данных второго модуля может содержать входной буфер данных и выходной буфер данных.
Генератор случайных чисел второго модуля может представлять собой аппаратный генератор энтропии.
Генератор случайных чисел второго модуля может представлять собой программный генератор энтропии.
Настоящее изобретение также относится к способу подписания транзакций с использованием описанной в данном документе системы подписания транзакций. Способ включает этапы: подключения первого модуля к сети общего пользования; установления деталей транзакции; приема подтверждения того, что указанную транзакцию следует авторизовать; отправки запроса транзакции в модуль переноса; отсоединения первого модуля от модуля переноса; соединения модуля переноса со вторым модулем; отправки запроса транзакции из модуля переноса во второй модуль; авторизации транзакции с помощью второго модуля; подписания транзакции закрытым ключом, хранящимся во втором модуле, с целью генерирования подписанной транзакции; отправки подписанной транзакции из второго модуля в модуль переноса; отсоединения второго модуля от модуля переноса; соединения первого модуля с модулем переноса; отправки подписанной транзакции из модуля переноса в первый модуль; и отправки подписанной транзакции из первого модуля в блокчейн-сеть или сервер транзакций.
Способ может дополнительно включать, в случае если пользователь не авторизует транзакцию в ходе предварительно заданного количества последовательных попыток во втором модуле, применение функции стирания во втором модуле с целью удаления хранящихся в нем начальных слов и закрытых ключей и стирания всех данных транзакций и финансовых данных из первого модуля.
Краткое описание графических материалов
Эти и другие цели, представленные в данном документе, достигаются путем предоставления системы и способа подписания транзакций через виртуальный сетевой заслон с использованием изолированных от сети закрытых ключей. Дальнейшие подробности и признаки настоящего изобретения, его сущность и различные преимущества станут более очевидными из нижеследующего подробного описания предпочтительных вариантов осуществления, показанных на графических материалах, в которых:
на фиг. 1 представлена схема подключенного к интернету первого модуля системы, представленной в данном документе;
на фиг. 2 представлена схема второго модуля системы, представленной в данном документе;
на фиг. 3 представлен модуль переноса, действующий между первым модулем и вторым модулем;
на фиг. 4 представлен общий вид системы, содержащей первый модуль, второй модуль и элемент переноса;
на фиг. 5 представлен способ настройки системы, представленной на фиг. 4; и
на фиг. 6 представлен способ аутентификации транзакции.
Обозначения и терминология
Некоторые части следующего подробного описания представлены в виде процедур и этапов обработки данных или других символических представлений операций в отношении бит данных, которые могут выполняться в запоминающем устройстве компьютера. Поэтому исполнение компьютером указанных логических этапов требует физических действий над физическими величинами.
Обычно эти величины принимают форму электрических или магнитных сигналов, которые можно хранить, передавать, комбинировать, сравнивать и выполнять с ними иные действия в компьютерной системе. По причинам повсеместного использования эти сигналы называются «битами», «пакетами», «сообщениями», «значениями», «элементами», «символами», «буквами», «членами», «числами» и т.п.
Кроме того, все эти и аналогичные термины следует связывать с соответствующими физическими величинами, и они представляют собой лишь удобные метки, примененные к этим величинам. Такие термины, как «обработка», или «создание», или «передача», или «исполнение», или «определение», или «обнаружение», или «получение», или «выбор», или «вычисление», или «генерирование» и т.п., относятся к действию и процессам компьютерной системы, обрабатывающей и преобразующей данные, представленные как физические (электронные) величины в регистрах и запоминающих устройствах компьютера, в другие данные, аналогично представленные как физические величины в запоминающих устройствах, регистрах или других таких хранилищах информации.
Машиночитаемый носитель (данных), упоминаемый в данном документе, обычно может являться постоянным и/или может содержать постоянное устройство. В данном контексте постоянный носитель данных может включать устройство, которое может являться материальным, что означает, что данное устройство имеет конкретную физическую форму, хотя данное устройство может изменять свое физическое состояние. Таким образом, термин «постоянный», например, относится к устройству, остающемуся материальным, несмотря на изменение в состоянии.
В рамках данного документа термин «пример» означает «служащий в качестве неограничивающего примера, случая или иллюстрации». В рамках данного документа термины «например» и «к примеру» вводят перечень из одного или нескольких неограничивающих примеров, случаев или иллюстраций.
Подробное описание
Система, представленная в настоящем изобретении, имеющая общую конструкцию, представленную на фиг. 4, в частности, может быть выполнена с возможностью обеспечения эффективных, удобных и быстрых платежей в реальном времени с использованием криптовалют (электронного кошелька для криптовалют) или может быть выполнена с возможностью подписания, отправки содержимого или организации доступа к содержимому, хранящемуся в блокчейне (или аналогичных системах) на основе распределенных лидеров, без необходимости во внешнем устройстве (устройствах) для подписания транзакций и, в то же время, обеспечиваются меры безопасности, обычные для машины, изолированной от сети.
Данная система является полезной, в частности, для использования с криптовалютами, но также может использоваться для электронных кошельков обычных валют (например, евро, доллара США), в частности, при токенизации в реестры на основе блокчейна или аналогичных систем.
Система может быть реализована с использованием компонентов специального назначения или выполненных на заказ схем FPGA (программируемой пользователем вентильной матрицы) или ASIC (специализированной интегральной микросхемы).
На фиг. 1 представлена схема первого модуля 100 системы, который подключен к интернету (или вообще к какой-либо сети общего пользования). Первый модуль 100 отвечает за связь с любыми внешними службами, связанными с обработкой платежей или транзакций с криптовалютами или другими службами на основе блокчейна (или аналогичных систем). Другими словами, он представляет собой модуль связи.
Первый модуль 100 содержит шину 101 данных, соединенную с возможностью связи с флеш-памятью 104. Кроме того, другие компоненты системы соединены с возможностью связи с шиной 101 данных, для того чтобы ими можно было эффективно управлять с помощью контроллера 105.
Во флеш-памяти 104 может храниться компьютерная программа или программы, исполняемые контроллером 105, с целью исполнения описанных ниже этапов способа. Кроме того, во флеш-памяти 104 могут храниться параметры конфигурации первого модуля 100.
Модуль 102 интерфейса (интерфейсов) связи (например, Wi-Fi, GSM, 3G, LTE, NFC и т.п.) выполнен с возможностью управления связью с внешней сетью общего пользования. Модуль 102 связи может содержать двухпозиционный переключатель специального назначения, для того чтобы пользователь мог лично управлять его работой.
Контроллер 105 может представлять собой систему на интегральной микросхеме, содержащую: графический процессор (ГП) 105A, который представляет собой специализированную электронную схему, выполненную с возможностью оказания быстрого воздействия на запоминающее устройство и его изменение с целью ускорения создания в буфере кадров изображений, предназначенных для вывода на дисплейное устройство; оперативное запоминающее устройство (ОЗУ) 105B, центральный процессор (ЦП) 105C, то есть электронную схему в компьютере, осуществляющую команды компьютерной программы путем выполнения основных арифметических и логических операций, операций управления и ввода-вывода (I/O), определенных командами; интерфейс 105D данных, отвечающий за прием и/или передачу данных от других компонентов первого модуля 100 и к ним.
Обычно первый модуль 100 выполнен с возможностью установления, через интерфейс 102 связи, связи с удаленным сервером, например сервером поставщика электронных услуг, системой электронных банковских операций или распределенных лидеров или сетей на основе блокчейна (или аналогичных систем) с целью обеспечения пользователю возможности установления транзакции, подлежащей защищенному подтверждению при ее готовности.
Первый модуль может необязательно содержать камеру 103, выполненную с возможностью получения и обработки таких изображений, как изображения QR-кодов, которые могут использоваться как хранилища, определяющие данные транзакций, с целью освобождения пользователя от ручной вставки или иного задания конкретных переменных транзакции. Камера 103 может содержать двухпозиционный переключатель специального назначения, для того чтобы пользователь мог лично управлять его работой.
Данные могут передаваться в зашифрованном виде между модулями 100 и 300 через I2C (шину связи между интегральными схемами), SPI (последовательный периферийный интерфейс) или другой, проприетарный интерфейс по интерфейсу 106 данных, обеспечивающему возможность доступа к шине 101 данных.
Первый модуль 100 может быть реализован путем создания устройства специального назначения. Альтернативно, компоненты первого модуля 100 могут быть реализованы путем адаптации обычного смартфона или аналогичного устройства с целью настройки его модулей для вышеописанной эксплуатации.
На фиг. 2 представлена схема второго модуля 200 системы, представленной в данном документе. Второй модуль 200 отвечает за авторизацию транзакции и никогда не подключается к сети общего пользования (такой как интернет, или даже вообще не подключается к какой-либо сети).
Система содержит шину 201 данных, соединенную с возможностью связи с постоянным запоминающим устройством ПЗУ 202, в котором хранится операционная система второго модуля 200 (которая, по причине ее хранения в ПЗУ, не подвержена модификациям), и, необязательно, ключи авторизации для проверки аутентичности программного обеспечения в модуле 300 переноса с целью препятствования попыткам взлома на основе модификации программного обеспечения модуля 300 переноса. Кроме того, другие компоненты системы соединены с возможностью связи с шиной 201 данных, для того чтобы ими можно было управлять с помощью защищенного контроллера 205.
Второй модуль 200 также может содержать (в качестве необязательной возможности) биометрический датчик 203, выполненный с возможностью преобразования биометрического следа личности в электрический сигнал. Биометрические следы главным образом включают биометрические данные отпечатков пальцев, данные радужной оболочки, данные лица, образцы голоса и т.д. Эти данные могут служить в качестве дополнительного механизма авторизации транзакции.
Генератор 204 случайных чисел представляет собой генератор истинных случайных чисел, выполненный с возможностью генерирования последовательностей случайных чисел, которые являются статистически случайными, т.е. не содержащими ни какие-либо характерные и отличительные признаки, ни схемы генерирования. Эти случайные последовательности используются для шифрования данных и генерирования начальных слов (словарных слов), используемых для генерирования закрытых ключей. Генератор 204 случайных чисел предпочтительно представляет собой аппаратный генератор энтропии. Случайные числа также можно генерировать с помощью компьютерной программы, не являющейся отдельной интегральной микросхемой (т.е. программного генератора энтропии).
Защищенный контроллер 205 выполнен с возможностью управления компонентами второго модуля 200 и, в частности, авторизации защищенной транзакции. Защищенный контроллер 205 содержит процессор 205А, флеш-память 205В и оперативное запоминающее устройство ОЗУ 205С. В нем хранятся закрытые ключи и биометрические данные, т.е. все элементы, необходимые для авторизации защищенной транзакции. Закрытый ключ может являться зашифрованным, при этом его расшифровка требует биометрической аутентификации с использованием справочных биометрических данных, хранящихся во флеш-памяти 205В, и биометрических данных, считанных с биометрического датчика, такого как биометрический датчик 203. Интерфейс 205D данных отвечает за прием и/или передачу данных внутрь/из других компонентов второго модуля 200.
Данные могут передаваться между модулями 200 и 300 по интерфейсу данных, предпочтительно в форме буферов 206, 207 данных, выполненных с возможностью осуществления связи с интерфейсом 309 модуля 300 переноса через переключатель 310 SPDT. Входной буфер 206 выполнен с возможностью доступа к нему второго модуля для считывания данных из него и модуля переноса – для сохранения данных в нем. Выходной буфер 207 выполнен с возможностью доступа к нему второго модуля для сохранения данных в нем и доступа модуля переноса – для считывания данных из него. Каждый из буферов 206, 207 данных может содержать собственный внутренний блок обработки, флеш-память и интерфейсы данных для осуществления связи с шиной 201 данных и защищенным контроллером 205, а также с интерфейсом 309 данных модуля 300 переноса через переключатель 310 SPDT.
Второй модуль 200 может быть реализован с использованием компонентов специального назначения или выполненных на заказ схем FPGA или ASIC. Второй модуль 200 наряду с модулем 300 переноса предпочтительно встроены в общий корпус с образованием устройства специального назначения, выполненного с возможностью соединения с первым модулем (исключительно через модуль переноса) через такой внешний интерфейс, как интерфейс USB (в этом случае первая функциональная возможность модуля может быть обеспечена с помощью приложения, установленного на таком устройстве общего назначения, как смартфон или портативный компьютер). Альтернативно, все модули 100, 200, 300 могут быть встроены в общий корпус с образованием полностью функционального устройства.
На фиг. 3 представлен модуль 300 переноса, действующий между первым модулем 100 и вторым модулем 200. Назначением модуля 300 переноса является формулировка и пропуск запроса транзакции из первого модуля 100 во второй модуль 200 и приема подписанной транзакции или отказа от транзакции.
Модуль 300 переноса, объединенный со вторым модулем 200, может быть реализован с использованием компонентов специального назначения или выполненных на заказ схем FPGA или ASIC. Модули 200, 300 могут составлять дополнительный модуль, выполненный с возможностью соединения с первым модулем 100, или они могут быть объединены с первым модулем 100.
Модуль 300 переноса содержит шину 301 данных, соединенную с возможностью связи с запоминающим устройством 303. Кроме того, другие компоненты системы соединены с возможностью связи с шиной 301 данных, для того чтобы ими можно было управлять с помощью контроллера 305.
В каждый момент времени данные могут передаваться либо между первым модулем 100 и модулем 300 переноса, либо между вторым модулем 200 и модулем 300 переноса. Для обеспечения предельной безопасности система выполнена так, что в любой момент времени нахождение всех трех модулей 100, 200, 300 в активном состоянии невозможно вследствие использования переключателя 310 SPDT, управляющего передачей данных и необязательно также подачей электроэнергии.
Контроллер 305 может представлять собой систему на интегральной микросхеме, содержащую такие же или аналогичные компоненты, как в контроллере 105.
Двухпозиционный переключатель 304 выполнен с возможностью включения или выключения устройства при эксплуатации пользователем. Другие обычные компоненты включают дисплей 306, предпочтительно представляющий собой сенсорный дисплей, и динамик 302, которые образуют компоненты для осуществления связи с пользователем.
Модуль 300 переноса предпочтительно питается от аккумулятора 307, поскольку он предназначен для эксплуатации в качестве мобильного устройства. В источнике 307 питания модуля 300 переноса также могут присутствовать обычные средства зарядки аккумулятора (такие как беспроводная зарядка, например, в соответствии со стандартом Qi), а также обычное штепсельное соединение с зарядным устройством. Модуль 308 СУА (системы управления аккумулятором) выполнен с возможностью управления зарядкой, разрядкой и работой аккумулятора в целом с целью поддержания длительного срока службы аккумулятора.
Модуль 300 переноса содержит интерфейс 309 данных, выполненный с возможностью осуществления связи с интерфейсом 106 первого модуля 100 или с буферами 206, 207 данных второго модуля 200, в обоих случаях через переключатель 310 SPDT.
Модуль 310 переключателя SPDT (однополюсного перекидного) выполнен с возможностью подачи электроэнергии и передачи данных одновременно только в один из модулей: либо в первый модуль 100, либо во второй модуль 200. Модуль 310 может содержать два переключателя SPDT, один - для электроэнергии, и второй - для передачи данных, которые всегда переключаются вместе с помощью одного привода. Благодаря тому, что с помощью аппаратного переключателя первый модуль полностью отключается от питания, или от питания полностью отключается его интерфейс (интерфейсы) 102 связи, обеспечивается дополнительный уровень защиты от вторжения или от вредоносного программного обеспечения, так как он не имеет доступа ко второму модулю, и отсутствует возможность постороннего вмешательства в подписание запроса транзакции с помощью второго модуля.
Вместо переключателя SPDT могут использоваться другие типы переключающих модулей, если они обеспечивают функциональную возможность того, что интерфейс 106 данных первого модуля 100 никогда не соединяется с интерфейсом 206, 207 данных второго модуля 200.
На фиг. 4 представлен общий вид системы, содержащей первый модуль 100, второй модуль 200 и модуль 300 переноса, в которой модуль 300 переноса в любой момент времени выборочно соединен через переключатель 310 SPDT либо с первым модулем 100, либо со вторым модулем 200. Переключатель 310 SPDT управляет передачей данных и подачей электроэнергии (по меньшей мере во второй модуль).
В системе также может необязательно присутствовать модуль 401 стирания, выполненный с возможностью мгновенного применения функции «стереть содержимое устройства» по причинам безопасности. При активации модуля 401 стирания активируется второй модуль, и во второй модуль отправляется команда на удаление из него закрытых ключей, начальных слов и биометрических данных с целью восстановления его до заводских настроек без персонализированных данных. Затем активируется первый модуль, и удаляются история транзакций, адреса контактов и любые другие адреса или финансовые данные. Модуль 401 стирания может иметь форму «аварийной кнопки» специального назначения. Альтернативно он может активироваться при нажатии пользователем конкретной последовательности других кнопок.
Поэтому система 400 выполнена с возможностью решения проблемы безопасности транзакций путем разбиения на по меньшей мере три модуля: первый модуль 100, второй модуль 200 и модуль 300 переноса, обеспечивающий возможность прохождения информации между модулями 100 и 200 и возможность их эксплуатации независимо друг от друга. Второй модуль 200 выполнен с возможностью авторизации и подписания транзакции с использованием закрытых ключей (в частности путем предоставления пароля, PIN-кода, биометрических данных и т.п.), и при этом он никогда не подключается к сети общего пользования (такой как интернет).
В частности, второй модуль 200 никогда не подключается к сети общего пользования, так как модуль 300 переноса в любой момент времени может быть соединен либо с первым модулем 100, либо со вторым модулем 200. Поэтому перехват данных авторизации из устройства, представленного в данном документе, удаленным объектом (взломщиком или машиной, эксплуатирующей шпионское программное обеспечение) невозможен. Первый модуль 100 также не имеет доступа в любом виде к данным и содержимому второго модуля 200.
На фиг. 5 показан способ настройки системы 400. На этапе 501 система 400 остается отключенной от сети общего пользования, так как первый модуль выключен. Затем, на этапе 502 выбирается способ аутентификации пользователя, например PIN, пароль, биометрическая проверка и т.п. Параметры аутентификации и значимые отклики хранятся в защищенном контроллере 205 второго модуля 200. Затем, на этапе 503 в соответствии с известными способами генерируется последовательность ключевых слов (начальных слов), в частности относящихся к обработке детерминированных кошельков для криптовалют. Начальное слово можно использовать для восстановления доступа к устройству, если закрытые ключи были сброшены. Например, второй модуль 200 может содержать в постоянном запоминающем устройстве 202 ПЗУ словарь, например, в соответствии со стандартом BIP-39, что обеспечивает возможность генерирования последовательности ключевых слов случайным образом. Последовательность ключевых слов может содержать до 24 или 36 ключевых слов, что снижает риск наличия двух устройств с одинаковой случайной последовательностью ключевых слов. Затем, на этапе 504 на основе начального слова генерируется закрытый ключ или набор закрытых ключей. Закрытый ключ (ключи) и последовательность ключевых слов хранятся 505 во флеш-памяти защищенного контроллера 205 второго модуля 200, который может быть дополнительно зашифрован с использованием пароля, PIN или биометрического следа с целью обеспечения повышения уровня безопасности устройства. После исполнения способа, представленного на фиг. 5, система 400 может настраивать и инициировать первый модуль 100 наряду с подключением модуля 102 связи к внешней сети общего пользования, такой как интернет.
На фиг. 6 представлен способ аутентификации транзакции с использованием устройства, представленного в данном документе. В первую очередь, на этапе 601 второй модуль 200 включается, и на этапе 602 пользователь авторизует доступ к устройству путем ввода пароля, PIN или биометрических данных с целью обеспечения возможности дальнейшего доступа к устройству. Если введенный пароль одобрен, второй модуль 200 выключается, и включается первый модуль 100.
Затем, на этапе 604 первый модуль 100 подключается к сети общего пользования (например, к сетевой оперативной службе, банку, службе обмена валют, блокчейн-сети, сети интернет), и на этапе 605 устанавливаются детали транзакции (такие как данные получателя, назначение и т.д.), и на этапе 606 задается сумма транзакции. Для этого удаленный сервер внешней сети общего пользования или приложение, установленное в первом модуле 100, обычно будет предоставлять подходящий пользовательский интерфейс, обеспечивающий возможность ввода любой значимой информации, необходимой для установления транзакции.
Затем, на этапе 607 может быть определена т.н. плата за майнинг, что является обычным для криптовалют (в случае обычных валют на данном этапе могут быть определены другие платы за транзакцию). Затем, на этапе 608 пользователь может подтвердить (первый модуль 100 принимает подтверждение от пользователя), что указанная транзакция была задана правильно, и что указанную транзакцию следует авторизовать.
Если пользователь хочет авторизовать указанную транзакцию, первый модуль 100, уже владеющий деталями транзакции, на этапе 609 отправляет запрос транзакции в модуль переноса и на этапе 610 отключается от указанной сети общего пользования. Первый модуль 100 затем также отсоединяется от связи с элементом переноса с помощью переключателя 310 SPDT.
Затем, на этапе 611 (с использованием указанного переключателя 310 SPDT) включается второй модуль 200, и на этапе 612 он принимает запрос транзакции от модуля переноса. На этапе 613 пользователь авторизует транзакцию с помощью второго модуля 200 с использованием таких входных данных, как пароль, PIN и/или биометрические данные. Перед предоставлением своих идентификационных данных у пользователя есть возможность перепроверить детали транзакции в режиме второго модуля, что будет отображено на экране. Таким образом, имеется еще один уровень защиты, который можно кратко описать как «что видишь (подписываешь), то и получаешь (транзакцию)». Как уже было описано, авторизация происходит тогда, когда устройство отключено от внешней сети общего пользования, и первый модуль не имеет доступа к каким-либо данным.
Кроме того, на этапе 614 транзакция подписывается закрытым ключом, хранящимся в защищенном контроллере 205 второго модуля. Затем, на этапе 615 второй модуль 200 отправляет подписанную транзакцию в модуль 300 переноса.
Затем, на этапе 616 второй модуль 200 выключается, и первый модуль 100 включается и подключается к сети общего пользования через интерфейс 102 связи. На этапе 617 модуль 300 переноса отправляет подписанную транзакцию в первый модуль 100, и на этапе 618 первый модуль 100 отправляет подписанную транзакцию в блокчейн-сеть или удаленный сервер.
Необязательно, если пользователь не может авторизовать транзакцию в ходе предварительно заданного количества последовательных попыток (например, 3 или 5 попыток), второй модуль может исполнять операцию стирания, описанную в отношении функциональных возможностей модуля 401 стирания, и ожидать новой активации с использованием вышеупомянутой последовательности ключевых слов (см. фиг. 5).
Представленные способ и система обеспечивают возможность усиления защиты электронных кошельков, не оказывая при этом отрицательного влияния на простоту использования. Таким образом, они предоставляют полезный, конкретный и материальный результат.
Согласно настоящему изобретению, представлено устройство, отвечающее за защищенное хранение закрытых ключей для доступа и выполнения транзакций с электронными валютами, такими как криптовалюты, или другим содержимым на основе блокчейна или содержимым, хранящимся в блокчейне. Таким образом, испытание «машина или преобразование» выполнено, и идея не является абстрактной.
По меньшей мере части способов, описанных в настоящем документе, могут быть компьютеризованы. Соответственно, система может принимать форму полностью аппаратного варианта осуществления, полностью программного варианта осуществления (в том числе программно-аппаратного обеспечения, резидентного программного обеспечения, микрокода и т.д.) или варианта осуществления, комбинирующего программные и аппаратные аспекты, которые могут в целом называться в данном документе «схемой», «модулем» или «системой».
Кроме того, настоящая система может принимать форму компьютерного программного продукта, осуществленного в любой материальной среде выражения и содержащего программный код, выполненный с возможностью использования в компьютере, осуществленный в указанной среде.
Специалисты в данной области техники легко установят, что вышеописанный способ подписания транзакций через виртуальный сетевой заслон может выполняться и/или управляться одной или несколькими компьютерными программами. Эти компьютерные программы обычно исполняются с использованием вычислительных ресурсов в вычислительном устройстве. Приложения хранятся на постоянном носителе. Примером постоянного носителя является энергонезависимое запоминающее устройство, например флеш-память, тогда как примером энергозависимой памяти является ОЗУ. Компьютерные команды исполняются процессором. Указанные запоминающие устройства представляют собой примерные носители для хранения компьютерных программ, содержащих исполняемые компьютером команды, выполняющие все этапы реализованного на компьютере способа в соответствии с технической концепцией, представленной в данном документе.
Несмотря на то, что система и способ, представленные в данном документе, были изображены, описаны и определены со ссылкой на конкретные варианты осуществления, эти ссылки и примеры реализации в предшествующем описании не предполагают какое-либо ограничение в отношении способа или системы. Однако очевидно, что в них могут осуществляться различные модификации и изменения без выхода за пределы более широкого объема технической концепции. Представленные предпочтительные варианты осуществления являются лишь примерными и не исчерпывают объем технической концепции, представленной в данном документе.
Соответственно, объем правовой охраны не ограничен предпочтительными вариантами осуществления, описанными в данном описании, а ограничен только нижеследующей формулой изобретения.