Способ восстановления состояния систем смарт-карты
Изобретение относится к области информационных технологий, а именно к способу восстановления состояния систем смарт-карты. Техническим результатом является обеспечение повышенного быстродействия, безопасности и универсальности процесса восстановления состояния систем смарт-карты. Способ восстановления состояния систем смарт-карты содержит на этапе изменения состояния системы, в дополнение к операциям перевода системы в новое состояние, формирование и сохранение в памяти смарт-карты уникального идентификатора состояния системы вместе с характеристиками состояния системы, выдачу сформированного уникального идентификатора состояния системы вовне и запрет в дальнейшем его выдачи; на этапе сброса состояния системы операции по сбросу состояния системы; на этапе восстановления ранее зафиксированного состояния системы после его сброса прием извне уникального идентификатора состояния системы и перевод системы, связанной с полученным уникальным идентификатором состояния, в состояние, связанное с полученным уникальным идентификатором состояния, если такой уникальный идентификатор состояния хранится в памяти смарт-карты.
Изобретение относится к области обработки данных, а именно к способам восстановления состояния систем смарт-карты, и может быть использовано для защиты смарт-карт от несанкционированного использования.
В течение сеанса работы со смарт-картой часто требуется менять, в том числе сбрасывать в исходное состояние, а затем восстанавливать состояние различных систем смарт-карты. Например, для предотвращения несанкционированного использования смарт-карты желательно, чтобы доступ к ней открывался только на время подачи команды и приема результатов ее выполнения, а все остальное время смарт-карта находилась в состоянии со сброшенными правами доступа. На практике это достигают за счет того, что перед подачей смарт-карте основной команды ей дополнительно подают команду подтверждения своих прав доступа (команду логина), а по завершении выполнения основной команды дополнительно подают команду сброса в исходное состояние прав доступа к смарт-карте (команду логаута).
Очевидно, что смена состояния систем смарт-карты может вызывать как минимум две проблемы. Во-первых, для восстановления состояния некоторых систем смарт-карты требуется конфиденциальная информация. Например, при восстановлении прав доступа к смарт-карте используют конфиденциальный PIN-код ее владельца, который приходится либо хранить в оперативной памяти персонального компьютера, либо каждый раз запрашивать у пользователя смарт-карты. Это повышает риск компрометации такой информации и усложняет работу со смарт-картой.
Во-вторых, для восстановления состояния различных систем смарт-карты могут требоваться разные методы, алгоритмы и/или типы данных. Например, в то время как для восстановления одних прав доступа к смарт-карте используют PIN-код владельца (т.е. пользователя, администратора или т.п.), для восстановления других прав доступа могут использовать, например, метод аутентификации на основе электронной подписи (ЭП). Наличие разрозненных, несовместимых друг с другом методов восстановления состояния разных систем смарт-карты существенно усложняет логику работы с ней, понижает быстродействие смарт-карты, ухудшает удобство работы.
Наиболее близким к заявленному изобретению является способ восстановления состояния систем смарт-карты, описанный в заявке WO 2018/147673 A1. Данный способ выбран в качестве прототипа заявленного изобретения.
Недостатки способа прототипа заключаются в следующем. Для восстановления прав доступа к смарт-карте, в частности, восстановления состояния систем смарт-карты, используют PIN-код владельца смарт-карты или секретный ключ (например, ключ ЭП) владельца смарт-карты. Наличие двух разных методов восстановления состояния систем смарт-карты, один из которых требует от пользователя введения вручную PIN-кода, усложняет работу со смарт-картой, понижает быстродействие смарт-карты, ухудшает удобство работы со смарт-картой.
Техническим результатом изобретения является создание способа восстановления состояния систем смарт-карты, обладающего повышенным быстродействием и удобством пользования, за счет формирования и использования сеансовых уникальных идентификаторов состояния.
Поставленный технический результат достигнут путем создания способа восстановления состояния систем смарт-карты, содержащей память и взаимодействующей с внешним вычислительным устройством, содержащим память, в котором выполняют следующие операции для систем смарт-карты:
на этапе изменения состояния системы, в дополнение к операциям перевода системы в новое состояние, выполняют в смарт-карте следующие операции:
- формируют и сохраняют в памяти смарт-карты уникальный идентификатор состояния системы вместе с характеристиками состояния системы, при этом фиксируют состояние системы,
- выдают сформированный уникальный идентификатор состояния системы вовне и
- запрещают в дальнейшем выдачу сформированного уникального идентификатора состояния системы;
на этапе сброса состояния системы выполняют операции по сбросу состояния системы;
на этапе восстановления ранее зафиксированного состояния системы после его сброса, вместо операций перевода системы в новое состояние, выполняют в смарт-карте следующие операции:
- принимают извне уникальный идентификатор состояния системы и
- переводят систему, связанную с полученным уникальным идентификатором состояния, в состояние, связанное с полученным уникальным идентификатором состояния, если такой уникальный идентификатор состояния хранится в памяти смарт-карты.
Рассмотрим более подробно функционирование заявленного способа восстановления состояния систем смарт-карты, взаимодействующей с внешним программным и/или аппаратным окружением.
При получении смарт-картой запроса на изменение состояния одной из ее систем выполняют следующие операции.
Принимают извне и выполняют обычную, известную из уровня техники, проверку данных, необходимых для изменения состояния данной системы смарт-карты (например, PIN-код или т.п.), и переводят данную систему в новое состояние в случае успешной проверки этих данных.
При достижении данной системой смарт-карты нового состояния дополнительно выполняют следующие операции.
a. Фиксируют и сохраняют в оперативной памяти смарт-карты основные характеристики достигнутого данной системой смарт-карты состояния.
b. Формируют и сохраняют в оперативной памяти смарт-карты уникальный идентификатор достигнутого состояния данной системы смарт-карты.
c. Сохраняют в оперативной памяти смарт-карты соответствие между характеристиками достигнутого состояния системы смарт-карты и уникальным идентификатором этого состояния.
Если в оперативной памяти смарт-карты уже хранится уникальный идентификатор данного состояния данной системы смарт-карты, операции a,, b. и c. не выполняются.
Помечают уникальный идентификатор состояния системы в качестве доступного для выдачи вовне.
Сформированный уникальный идентификатор состояния системы хранится в оперативной памяти смарт-карты до момента снятия с нее питания. Однако, в зависимости от реализации, в смарт-карте может быть предусмотрена возможность принудительного удаления одного или более из хранящихся в ней уникальных идентификаторов состояния.
При получении смарт-картой запроса на выдачу уникального идентификатора состояния системы выполняют следующие операции.
Если в оперативной памяти смарт-карты содержится уникальный идентификатор состояния системы, который помечен в качестве доступного для выдачи вовне, тогда его выдают вовне.
Если в оперативной памяти смарт-карты содержится уникальный идентификатор состояния системы, который помечен в качестве доступного для выдачи вовне, тогда данную пометку сбрасывают.
При получении смарт-картой запроса на сброс достигнутого состояния одной из систем смарт-карты в исходное состояние, выполняют обычную, известную из уровня техники, последовательность операций, необходимую для сброса данной системы смарт-карты в ее исходное состояние.
При получении смарт-картой запроса на восстановление состояния одной из систем смарт-карты из ее исходного состояния в ранее достигнутое состояние, выполняют следующие операции:
Принимают извне уникальный идентификатор состояния.
Если такой идентификатор состояния содержится в оперативной памяти смарт-карты, тогда соответствующую ему систему смарт-карты переводят в соответствующее ему состояние.
Заявленное изобретение обладает следующими преимуществами.
Во-первых, заявленное изобретение обеспечивает универсальный механизм восстановления ранее достигнутого состояния систем смарт-карты, использующий однотипную информацию, уникальный идентификатор состояния, для восстановления ранее достигнутого состояния любой системы смарт-карты, вне зависимости от того, какие механизмы, команды и данные использовались для первоначального достижения системой данного состояния.
Во-вторых, уникальный идентификатор состояния, который используют для восстановления ранее достигнутого состояния, существует только в течение текущего сеанса работы со смарт-картой, что позволяет минимизировать использование постоянной конфиденциальной информации (например, PIN-кодов или т.п.) при работе со смарт-картой, а значит, и минимизировать риск ее компрометации.
В-третьих, свойство однократности выдачи уникального идентификатора состояния вовне способствует защите от его несанкционированного использования третьей стороной в случае перехвата, т.к. обеспечивает сигнал о том, что уникальный идентификатор состояния уже выдан (т.е. в данном случае – перехвачен).
Заявленный способ позволяет оперативно восстанавливать зафиксированное в ходе сеанса работы смарт-карты состояния системы смарт-карты из других состояний систем без необходимости выполнения полной, известной из уровня техники, последовательности взаимодействий со смарт-картой для перевода ее системы в зафиксированное в ходе сеанса работы состояние, за счет генерации и выдачи смарт-картой внешнему программному обеспечению уникального идентификатора состояния, а также предоставления защищенного механизма восстановления состояния на основе использования данного идентификатора.
Хотя описанный выше вариант выполнения заявленного изобретения был изложен с целью иллюстрации заявленного изобретения, специалистам ясно, что возможны разные модификации, добавления и замены, не выходящие из объема и смысла заявленного изобретения, раскрытого в прилагаемой формуле изобретения.
Способ восстановления состояния систем смарт-карты, содержащей память и взаимодействующей с внешним вычислительным устройством, содержащим память, в котором выполняют следующие операции для систем смарт-карты:
на этапе изменения состояния системы, в дополнение к операциям перевода системы в новое состояние, выполняют в смарт-карте следующие операции:
- формируют и сохраняют в памяти смарт-карты уникальный идентификатор состояния системы вместе с характеристиками состояния системы, при этом фиксируют состояние системы,
- выдают сформированный уникальный идентификатор состояния системы вовне и
- запрещают в дальнейшем выдачу сформированного уникального идентификатора состояния системы;
на этапе сброса состояния системы выполняют операции по сбросу состояния системы;
на этапе восстановления ранее зафиксированного состояния системы после его сброса, вместо операций перевода системы в новое состояние, выполняют в смарт-карте следующие операции:
- принимают извне уникальный идентификатор состояния системы и
- переводят систему, связанную с полученным уникальным идентификатором состояния, в состояние, связанное с полученным уникальным идентификатором состояния, если такой уникальный идентификатор состояния хранится в памяти смарт-карты.