×
29.03.2019
219.016.f818

СПОСОБ ЗАЩИТЫ ИСПОЛНЕНИЯ ПРОГРАММЫ

Вид РИД

Изобретение

Юридическая информация Свернуть Развернуть
№ охранного документа
0002468428
Дата охранного документа
27.11.2012
Краткое описание РИД Свернуть Развернуть
Аннотация: Изобретение относится к вычислительной технике. Технический результат заключается в повышении степени защиты исполнения главной программы, содержащей вложенные функции. Способ защиты исполнения главной программы, применяющей вложенные друг в друга функции, содержит этапы, на которых: исполняют программу управления защитой, выполненную с возможностью обновления списка идентификаторов текущих функций; сообщают программе управления защитой о начале исполнения каждой функции и обновляют список идентификаторов текущих функций; сообщают программе управления защитой о завершении исполнения каждой функции; после каждого сообщения о завершении исполнения функции проверяют, что функция является последней, начавшей исполнение функцией; в случае неудачной проверки осуществляют защитное действие, выбираемое в зависимости от уровня защиты, назначенного для каждой функции. 7 з.п. ф-лы, 3 ил.
Реферат Свернуть Развернуть

Настоящее изобретение касается способа защиты исполнения программы микропроцессором, в частности микропроцессором карты-носителя данных, такой как банковская карта или электронная идентификационная карта.

Уровень техники

Такая карта содержит интегральную схему, как правило, содержащую микропроцессор, энергозависимую память и энергонезависимую память. Энергонезависимая память содержит персональные данные, такие как данные лица, которому выдана карта, секретный идентификационный код, банковская информация и т.д. и, по меньшей мере, одну главную программу, обеспечивающую обмен данными между картой и считывающим устройством терминала, с которым ее можно соединять, такого как автомат продажи билетов или платежный терминал. Эта главная программа выполняет несколько вложенных функций, позволяющих, в частности, вводить в терминал некоторые персональные данные, считывать код, вводимый пользователем в терминал, осуществлять вычисления над кодом, например, криптографические вычисления или вычисления для аутентификации, передавать в терминал данные аутентификации. Эти функции вложены друг в друга в том смысле, что первая функция в ходе исполнения обращается ко второй функции, которая в ходе исполнения обращается к третьей функции и т.д.; возврат к исполнению второй функции, затем первой функции происходит последовательно после завершения исполнения третьей функции и второй функции соответственно. Для обеспечения возврата к обращающейся функции микропроцессор управляет стеком запроса функций, который позволяет сохранять обратный адрес при каждом обращении" к функции таким образом; чтобы в конце исполнения вызываемой функции микропроцессор считывал адрес, сохраненный в стеке запроса функций, и размещал в нем свой маркер исполнения для продолжения исполнения обращающейся функции.

В этих картах одной из критических функций с точки зрения безопасности является уменьшение значения счетчика после каждой неудачной операции аутентификации, задачей которой является сверка идентичности кода, считываемого терминалом, с секретным идентификационным кодом, хранящимся в интегральной схеме карточки. Это число в случае банковской карты обычно равно трем, тогда как сам код содержит четыре цифры. Счетчик с уменьшенным таким образом значением устанавливают на первоначальное значение после удачной проверки кода. С другой стороны, после трех неудачных попыток проверки кода интегральная схема блокируется. Существует способ взлома, который состоит в нарушении работы карточки в конце операции аутентификации с целью блокировки функции, обеспечивающей уменьшение значения счетчика. Понятно, что, если эта функция не завершена, хакер может опробовать все возможные комбинации из четырех цифр, чтобы найти верную комбинацию.

Другой способ взлома состоит в нарушении работы микропроцессора, чтобы вызвать сбои в его работе, позволяющие получить данные, которые обычно должны оставаться секретными. Например, после обращения к функции со стороны обращающейся функции можно вернуться к исполнению обращающейся функции до завершения исполнения вызываемой функции.

Объект изобретения

Настоящее изобретение призвано предложить средство, позволяющее защитить исполнение программы, предусматривающее обращение к вложенным друг в друга функциям.

Сущность изобретения

В этой связи объектом настоящего изобретения является способ защиты исполнения главной программы, применяющей вложенные друг в друга функции, содержащий следующие этапы:

- исполняют программу управления защитой, выполненную с возможностью обновления списка текущих функций,

- сообщают программе управления защитой о начале исполнения каждой функции и обновляют список текущих функций,

- сообщают программе управления защитой о завершении исполнения каждой функции,

- после каждого сообщения о завершении исполнения функции проверяют, что эта функция действительно является последней, начавшей исполнение функцией,

- в случае неудачной проверки осуществляют защитное действие, выбираемое в зависимости от уровня защиты, назначенного для каждой функции.

Таким образом, список, который ведет программа управления защитой, позволяет обнаружить нарушение в работе главной программы, в частности, при обращении к функциям.

Предпочтительно защитное действие состоит, например, в передаче тревожного сигнала или в остановке главной программы.

Согласно частному варианту выполнения список функций представляет собой таблицу, содержащую последовательность полей, предназначенных для внесения в них идентификатора функций, при этом способ содержит следующие этапы:

- инициализируют поля,

- при сообщении о начале исполнения функции идентификатор функции записывают в первое свободное поле.

Этот вариант выполнения является исключительно простым и эффективным, и его осуществление требует ограниченного использования вычислительных ресурсов и ресурсов памяти.

Предпочтительно при сообщении о завершении исполнения вызываемой функции способ содержит этап, на котором вызываемую функцию сохраняют в памяти, и обращающаяся функция проверяет в программе управления защитой, что последняя исполненная функция является вызываемой функцией.

Другие отличительные признаки и преимущества изобретения будут более очевидны из нижеследующего описания неограничительного частного варианта выполнения изобретения.

Краткое описание чертежей

Это описание представлено со ссылками на прилагаемые чертежи, на которых:

Фиг.1 - схематичный вид карты данных, используемой для осуществления способа в соответствии с настоящим изобретением.

Фиг.2 - схема исполнения главной программы в рамках способа в соответствии с настоящим изобретением.

Фиг.3 - схема исполнения программы управления защитой в рамках способа в соответствии с настоящим изобретением.

Подробное описание изобретения

Описание настоящего изобретения в данном случае представлено и показано на чертежах для карты 1 данных, содержащей интегральную схему, обозначенную в целом позицией 2 и содержащую микропроцессор 3, соединенный с энергозависимой памятью 4 (например, типа RAM ("Оперативное запоминающее устройство") и с энергонезависимой памятью 5, например, типа EEPROM ("Электрически стираемое программируемое постоянное запоминающее устройство") или ROM ("Постоянное запоминающее устройство").

Энергонезависимая память 5 содержит главную программу, обозначенную на фиг.2 позицией 6, применяющую вложенные друг в друга функции F1, F2, F3. Функция F1 выполнена с возможностью обращения во время своего исполнения к функции F2, которая, в свою очередь, выполнена с возможностью обращения во время своего исполнения к функции F3. В конце исполнения функции F3 исполнение функции F2 продолжается, и в конце исполнения функции F2 продолжается исполнение функции F1. Характер функций F1, F2 и F3 не имеет большого значения, и эти функции обеспечивают, например, операции считывания кода, вводимого в терминал, с которым связана электронная карта, операции вычисления, проверки этого кода, шифрования, увеличения или уменьшения значения счетчика, копирования из одной памяти в другую.

Каждая функция F1, F2 и F3 имеет идентификатор ID-F1, ID-F2 и ID-F3, обозначающий однозначным образом указанные функции. Идентификатор функций построен таким образом, чтобы содержать в закодированном виде данные, характерные для функции, и, в частности, ее уровень защиты.

Кроме того, энергонезависимая память 5 содержит программу управления защитой, обозначенную на фиг.3 позицией 7 и выполненную с возможностью обновления списка функций в ходе исполнения или стека запроса функций. Этот список представляет собой таблицу 8, содержащую последовательность полей 9, предназначенных для внесения в них идентификации функций в ходе исполнения. Программа 7 управления защитой (сама по себе известна, поэтому ее подробное описание опускается) использует индекс для указания первого свободного поля стека. Кроме того, программа управления защитой имеет доступ к таблице, связывающей защитные действия, предназначенные для осуществления, в зависимости от уровней защиты, закодированных в идентификаторе функций.

Далее следует описание способа в соответствии с настоящим изобретением.

Во время работы, когда микропроцессор 3 карточки исполняет главную программу 6, он одновременно исполняет программу 7 управления защитой.

При запуске происходит инициализация полей 9 таблицы 8 путем записи в них значения по умолчанию, в данном случае NOFCT, и индекс указывает на первое поле (называемое также свободным полем), содержащее это значение по умолчанию.

Когда главная программа исполняет функцию F1, функция F1 передает сообщение о начале своего исполнения в программу 7 управления защитой через интерфейс FUNCTION-BEGIN (такой интерфейс сам по себе известен). При этом программа 7 управления защитой записывает идентификатор ID-F1 функции F1 в первое свободное поле 9 таблицы 8 и помещает свой индекс на следующее поле 9, которое становится первым свободным полем.

Когда функция F1 обращается к функции F2, функция F2 сообщает о начале своего исполнения в программу управления защитой через интерфейс FUNCTION-BEGIN. Программа 7 управления защитой записывает идентификатор функции F2 (в данном случае ID-F2) в указанное поле 9, затем помещает индекс в следующее поле 9.

Когда функция F2 обращается к функции F3, функция F3 сообщает о начале своего исполнения в программу 7 управления защитой, которая записывает в указанное индексом поле идентификатор ID-F3 функции F3 и помещает индекс в следующее поле 9.

Когда исполнение функции F3 завершается, функция F3 сообщает о завершении своего исполнения в программу 7 управления защитой через интерфейс FUNCTION-END (такой интерфейс сам по себе известен). При этом программа 7 управления защитой проверяет, что функция F3, сообщающая о завершении своего исполнения, является последней, начавшей свое исполнение. Если это так, исполнение функции F2 продолжается до конца, при этом функция F2 сообщает в программу 7 управления защитой о завершении своего исполнения через интерфейс FUNCTION-END. Программа 7 управления защитой проверяет, что функция F2, сообщающая о завершении своего исполнения, является последней, начавшей свое исполнение. Если это так, исполнение функции F1 продолжается до конца.

Если функция, сообщающая в программу 7 управления защитой о завершении своего исполнения, не является последней, начавшей это исполнение, программа 7 управления защитой осуществляет защитное действие. В данном случае это защитное действие представляет собой тревожный сигнал, передаваемый в главную программу 6, которая прекращает свое исполнение. Защитное действие может заключаться также в блокировке карты, при этом разблокировку может произвести, например, только организация, выпустившая карты, после проверки личности ее владельца. Защитным действием может быть также защитная контрмера. Под защитной контрмерой следует понимать средство, позволяющее, в частности, избежать считывания информации хакером, например, следующим образом:

- изменяя частоту тактового генератора,

- вводя случайные команды для изменения продолжительности исполнения кода, электромагнитных импульсов или потребления энергии во время исполнения кода.

В начале исполнения функции на основании идентификатора функции программа управления защитой определяет, какое(ие) защитное(ные) действия или защитную(ые) контрмеру(ы) следует активировать. В варианте, когда исполнение функции завершается, тогда как эта функция не является последней функцией, начавшей исполнение, программа управления защитой может на основании идентификатора этой функции определить предназначенное для исполнения защитное действие.

Программа управления защитой может быть также выполнена с возможностью активации, по меньшей мере, одной защитной контрмеры в начале исполнения функции. В этом случае предпочтительно определяют идентификатор функции для указания программе управления защитой о необходимости активации такой меры, не обязательно уточняя характер этой контрмеры (эта контрмера может быть одинаковой для всех функций, требующих этой активации).

В еще одном варианте способ может содержать этап сохранения в памяти последней исполненной функции, когда эта функция сообщает о завершении своего исполнения. Функция, обратившаяся к последней исполненной функции, может в этом случае запросить программу управления защитой проконтролировать соответствие между номинальным исполнением программы и реальным исполнением. В описанном выше примере, когда функция F3 сообщает о завершении своего исполнения, функция F2 может запросить программу управления защитой проверить, является ли функция F3 действительно завершившей свое исполнение функцией.

Разумеется, настоящее изобретение не ограничивается описанным вариантом выполнения, и в него можно включать варианты выполнения, не выходя за рамки изобретения, определенные формулой изобретения.

В частности, согласно одному из вариантов, можно предусмотреть таблицу возможных запросов функций для каждой функции главной программы. Например, если функция F2 обращается к функции F3, программа управления защитой поверяет, имеет ли право функция F2 обращаться к функции F3. Можно также включать функции в группы и создавать идентификатор функций, связывающий их с группами, к которым они принадлежат, чтобы программа управления защитой могла убедиться, что обращающиеся друг к другу функции принадлежат к одной группе.

Источник поступления информации: Роспатент

Показаны записи 1-10 из 20.
27.05.2013
№216.012.4576

Карта с интегральной схемой, имеющая модифицируемую рабочую программу, и соответствующий способ модификации

Изобретение относится к области карт с интегральной схемой. Техническим результатом является повышение надежности. Раскрывается смарт-карта, включающая в себя модуль (3) обработки, ассоциированный с ROM (4) и с программируемым ROM (5), ROM, содержащее рабочую программу, которая может быть...
Тип: Изобретение
Номер охранного документа: 0002483359
Дата охранного документа: 27.05.2013
27.06.2014
№216.012.d549

Криптография на эллиптической кривой

Изобретение относится к способу и устройству выполнения криптографического преобразования в электронном компоненте. Технический результат заключается в повышении безопасности установки соединений с аутентификацией пароля за счет повышения эффективности выполнения криптографического...
Тип: Изобретение
Номер охранного документа: 0002520379
Дата охранного документа: 27.06.2014
20.11.2014
№216.013.0696

Криптография с параметризацией на эллиптической кривой

Изобретение относится к способу, устройству и системе проверки устройства с помощью контроллера на основе пароля. Технический результат заключается в повышении безопасности за счет шифрования с параметризацией на эллиптической кривой. Способ содержит этапы, на которых на основе случайного числа...
Тип: Изобретение
Номер охранного документа: 0002533087
Дата охранного документа: 20.11.2014
20.11.2014
№216.013.08f4

Кодирование точек эллиптической кривой

Изобретение относится к криптографической обработке сообщений, основанной на использовании точек эллиптической кривой, и, в частности, такой криптографии, которая носит детерминистический характер. Техническим результатом является повышение уровня защиты и сокращение времени вычислений при...
Тип: Изобретение
Номер охранного документа: 0002533693
Дата охранного документа: 20.11.2014
27.04.2015
№216.013.465d

Карта с интегральной микросхемой с защищенным входным/выходным буфером

Изобретение относится к вычислительной технике. Технический результат заключается в обеспечении защиты карты. Карта с интегральной микросхемой содержит блок обработки, связанный с оперативным запоминающим устройством и со средствами обмена данными с внешним устройством, причем оперативное...
Тип: Изобретение
Номер охранного документа: 0002549517
Дата охранного документа: 27.04.2015
27.06.2015
№216.013.5999

Способ поиска объекта с использованием устройства верификации и соответствующие устройства

Изобретение относится к вычислительной технике. Технический результат заключается в обеспечении защиты идентификации объектов для предотвращения отслеживания объектов третьими лицами. Способ поиска объекта, принадлежащего набору объектов, с использованием устройства верификации, причем...
Тип: Изобретение
Номер охранного документа: 0002554478
Дата охранного документа: 27.06.2015
10.02.2016
№216.014.c27c

Криптография на упрощенной эллиптической кривой

Изобретение относится к области шифрования сообщений на основе использования точек на эллиптической кривой. Технический результат - повышение надежности криптографического шифрования за счет выполнения аутентификации и идентификации за одно и то же время. Способ выполнения аутентификации пароля...
Тип: Изобретение
Номер охранного документа: 0002574826
Дата охранного документа: 10.02.2016
10.04.2016
№216.015.2c33

Защита от пассивного сниффинга

Изобретение относится к защите исполнения криптографического алгоритма (ALG) от пассивного сниффинга. Технический результат - эффективная защита от пассивного сниффинга. Способ защиты исполнения криптографического алгоритма (ALG) от пассивного сниффинга реализует маскирование (MSK) данных,...
Тип: Изобретение
Номер охранного документа: 0002579990
Дата охранного документа: 10.04.2016
10.06.2016
№216.015.48e7

Способ для маскирования перехода конца срока службы электронного устройства и устройство, содержащее соответствующий модуль управления

Изобретение относится к вычислительной технике. Технический результат заключается в улучшении характеристики маскирования перехода к концу срока службы электронного устройства при поддержании уровня безопасности. Способ маскирования перехода к концу срока службы электронного устройства, в...
Тип: Изобретение
Номер охранного документа: 0002586871
Дата охранного документа: 10.06.2016
13.01.2017
№217.015.872a

Защита апплетов от анализа скрытых каналов

Изобретение относится к области защиты апплетов от анализа. Техническим результатом является эффективная защита от атак через скрытые каналы. Раскрыто электронное устройство для защиты от атак, оснащенное виртуальной машиной для исполнения апплета, при этом виртуальная машина выполнена с...
Тип: Изобретение
Номер охранного документа: 0002603545
Дата охранного документа: 27.11.2016
Показаны записи 1-3 из 3.
27.05.2013
№216.012.4576

Карта с интегральной схемой, имеющая модифицируемую рабочую программу, и соответствующий способ модификации

Изобретение относится к области карт с интегральной схемой. Техническим результатом является повышение надежности. Раскрывается смарт-карта, включающая в себя модуль (3) обработки, ассоциированный с ROM (4) и с программируемым ROM (5), ROM, содержащее рабочую программу, которая может быть...
Тип: Изобретение
Номер охранного документа: 0002483359
Дата охранного документа: 27.05.2013
27.04.2015
№216.013.465d

Карта с интегральной микросхемой с защищенным входным/выходным буфером

Изобретение относится к вычислительной технике. Технический результат заключается в обеспечении защиты карты. Карта с интегральной микросхемой содержит блок обработки, связанный с оперативным запоминающим устройством и со средствами обмена данными с внешним устройством, причем оперативное...
Тип: Изобретение
Номер охранного документа: 0002549517
Дата охранного документа: 27.04.2015
19.06.2019
№219.017.88e0

Способ управления запоминающим устройством, включающим в себя элементы, в которых предусмотрена информация идентичности, обозначающая происхождение упомянутых элементов

Изобретение относится к способам управления запоминающим устройством. Технический результат заключается в уменьшении времени записи и считывания из/в устройства. В устройстве содержатся сохраненные элементы, которые организованы в иерархии, каждый из которых имеет заголовок, содержащий...
Тип: Изобретение
Номер охранного документа: 0002411573
Дата охранного документа: 10.02.2011
+ добавить свой РИД