Настоящее изобретение относится к носителю данных с чипом, в котором хранятся конфиденциальные или секретные данные. Изобретение относится, в частности, к карточке со встроенной микросхемой или так называемой чип-карте.
Носители данных с чипом находят самое различное применение, например для осуществления финансовых операций, для оплаты товаров и услуг, а также в качестве средств идентификации в системах контроля доступа, включая доступ в помещения. При применении во всех этих областях внутри чипа носителя данных происходит обработка обычно конфиденциальной информации, которая должна быть защищена от несанкционированного доступа со стороны третьих лиц. Такая защита обеспечивается в том числе и за счет того, что внутренние структуры чипа имеют исключительно малые размеры, что осложняет доступ к ним с целью несанкционированного считывания обрабатываемых данных. С целью дополнительно осложнить несанкционированный доступ чип может быть заделан в обладающую высокой адгезионной способностью массу, при попытке удаления которой с применением силы происходит разрушение кристалла интегральной схемы (ИС) или по меньшей мере уничтожается вся хранящаяся в нем конфиденциальная информация. Равным образом кристалл ИС уже на стадии его изготовления можно покрывать защитным слоем, который невозможно удалить без разрушения самого этого кристалла ИС.
Однако с помощью соответствующих технических средств, которые несмотря на их исключительно высокую стоимость в принципе являются доступными, злоумышленнику возможно удастся вскрыть чип и исследовать его внутреннюю структуру. Получить доступ к внутренней структуре чипа можно, например, удалив защитное покрытие по специальной технологии травления или же сошлифовав его с помощью соответствующего инструмента. К оголенным таким путем структурным элементам чипа, таким как токопроводящие дорожки, можно подсоединить контактные микрощупы или же исследовать эти структуры каким-либо иным способом с целью выявить форму проходящих по ним сигналов. Затем на основании этих детектированных сигналов можно попытаться извлечь содержащуюся на этом носителе данных конфиденциальную информацию, например секретные ключи, с целью ее противоправного использования. Помимо этого возможны попытки целенаправленно влиять с помощью микрощупов на форму сигналов, проходящих по оголенным структурным элементам.
Исходя из вышеизложенного, в основу настоящего изобретения была положена задача обеспечить защиту конфиденциальных данных, хранящихся в чипе носителя данных, от несанкционированного доступа.
Указанная задача решается с помощью отличительных признаков независимых пп.1 и 9 формулы изобретения.
Основное отличие предлагаемого в изобретении решения от известных состоит в том, что в нем не предусмотрено никаких мер по защите внутренних структур чипа от оголения и подсоединения к ним микрощупов. Вместо этого предлагаемые в изобретении меры направлены на то, чтобы в максимальной степени затруднить потенциальному злоумышленнику в случае перехвата им сигналов расшифровку конфиденциальной информации на основании формы этих сигналов. Указанные меры заключаются согласно изобретению в таком изменении важных для защиты данных операций, при котором конфиденциальную информацию, используемую при проведении этих важных для защиты данных операций, невозможно будет извлечь, не обладая дополнительной секретной информацией. Для этого важные для защиты данных операции перед их выполнением маскируют или искажают с помощью соответствующих функций. С целью прежде всего затруднить или сделать вообще невозможным статистический анализ важных для защиты данных операций при их многократном выполнении в функцию искажения вводят в качестве ее элемента случайное число. В результате злоумышленник даже в случае перехвата им потока данных не может извлечь из него конфиденциальную информацию.
Ниже важная для защиты данных операция представлена функцией h, с помощью которой входные данные х преобразуются в выходные данные у, т.е. y=h(x). С целью предотвратить перехват конфиденциальных входных данных х в соответствии с изобретением задают искаженную функцию hR1R2, в результате чего соответствующее уравнение принимает следующий вид:
у⊗R2=hR1R2(x⊗R1).
После этого важная для защиты данных операция выполняется с помощью искаженной функции hR1R2, входными данными которой являются не истинные конфиденциальные данные х, а искаженные конфиденциальные данные x⊗R1, получаемые за счет логического комбинирования истинных конфиденциальных данных х со случайным числом R1. Не зная случайного числа R1, истинные конфиденциальные данные х невозможно извлечь из искаженных конфиденциальных данных x⊗R1. В результате применения искаженной функции hR1R2 к искаженным конфиденциальным данным x⊗R1 получают искаженные выходные данные y⊗R2. Из этих искаженных выходных данных y⊗R2 путем выполнения соответствующей логической операции можно получить выходные данные у. Перед каждым новым выполнением важной для защиты данных функции можно задавать новые случайные числа R1 и R2, на основании которых соответственно задается новая искаженная функция hR1R2. В другом варианте в памяти можно постоянно хранить несколько искаженных функций hR1R2 со случайной выборкой одной из них каждый раз перед выполнением важной для защиты данных операции. При этом наиболее предпочтительно использовать две функции hR1R2 и hR1'R2', в которых случайные числа R'1 и R'2 являются по отношению к выбранному для искажения типу логической операции обратными значениями случайных чисел R1 и R2. В другом варианте эти случайные числа R1 и R2 могут быть и одинаковыми.
Случайные числа R1 и R2 целесообразно выбирать статистически независимо друг от друга, благодаря чему между входными и выходными данными будет отсутствовать корреляция, которую можно было бы использовать для противоправного получения доступа к информации.
Если до или после рассматриваемой важной для защиты данных операции h выполняются еще и другие операции, то указанные случайные числа R1 и R2 можно использовать также для искажения данных, обрабатываемых с помощью этих дополнительных операций.
Предлагаемое в изобретении решение наиболее предпочтительно использовать в важных для защиты данных операциях, содержащих нелинейные функции. В нелинейных функциях не могут применяться уже известные меры защиты, основанные на искажении конфиденциальных данных перед выполнением этих функций. Обусловлено это тем, что известные меры защиты предполагают линейность функций по отношению к операциям искажения, чтобы после применения этих функций искажение носило обратимый характер. Однако согласно предлагаемому в изобретении решению искажаются или маскируются не только сами конфиденциальные данные, но и те важные для защиты данных операции, с помощью которых эти конфиденциальные данные обрабатываются. При этом искажения конфиденциальных данных и важных для защиты данных операций взаимно согласуют таким образом, чтобы из искаженных конфиденциальных данных после выполнения важных для защиты данных операций можно было восстановить исходные конфиденциальные данные. Для согласования искажений конфиденциальных данных и важных для защиты данных операций последние проще всего представлять в табличном виде, в виде так называемых просмотровых таблиц. В этих таблицах каждому входному значению х соответствует определенное выходное значение у.
Выполнение представленных в табличном виде функций осуществляется путем поиска выходных значений у, относящихся к соответствующим входным значениям х.
Ниже изобретение более подробно поясняется на примере некоторых вариантов его выполнения со ссылкой на прилагаемые чертежи, на которых показано:
на фиг.1 - чип-карта в виде сверху,
на фиг.2 - увеличенное изображение фрагмента чипа чип-карты по фиг.1 и
на фиг.3а, 3б, 3в и 3г - просмотровые таблицы.
На фиг.1 в качестве примера носителя данных показана карточка 1 со встроенной интегральной микросхемой, называемая также чип-картой. Эта чип-карта 1 состоит из корпуса 2 и модуля 3 с интегральной микросхемой (ИС-модуля), который расположен в предусмотренной для него выемке в корпусе 2. Основными компонентами ИС-модуля 3 являются контактные площадки 4, с помощью которых может быть установлено электрическое соединение чип-карты с внешним устройством, и чип 5, который электрически соединен с контактными площадками 4. Для соединения чипа 5 с внешним устройством с целью обмена между ними данными вместо контактных площадок 4 или дополнительно к ним может быть также предусмотрена не показанная на фиг.1 катушка или иное средство передачи данных.
На фиг.2 в увеличенном масштабе показан вид сверху фрагмента чипа 5 по фиг.1. При этом на фиг.2 изображена активная поверхность чипа 5, а все остальные слои, обычно защищающие этот активный слой чипа 5, на фиг.2 не показаны. Для получения информации о форме проходящих внутри чипа сигналов к выведенным непосредственно на его поверхность, т.е. оголенным, структурным элементам 6, можно подключить, например, контактные микрощупы. Под такими микрощупами понимаются тончайшие иглы, которые с использованием устройства прецизионного позиционирования вводятся в электрический контакт с оголенными структурными элементами 6, например токопроводящими дорожками. Сигналы, снимаемые этими микрощупами, можно обрабатывать в последующем специальными измерительными анализаторами с целью получения информации о содержащихся в чипе конфиденциальных или секретных данных.
Настоящее изобретение позволяет существенно осложнить злоумышленнику или вообще сделать для него невозможным доступ к особо конфиденциальным данным, хранящимся в чипе, даже в том случае, если ему удалось удалить с чипа 5 защитный слой без разрушения самой схемы и подсоединить к оголенным структурным элементам 6 этого чипа 5 контактные микрощупы или же каким-либо иным путем перехватить сигналы с указанных структурных элементов. Очевидно, что настоящее изобретение применимо и в тех случаях, когда злоумышленник получает доступ к проходящим в чипе 5 сигналам и каким-либо иным образом.
На фиг.3а, 3б, 3в и 3г показаны простые примеры просмотровых таблиц, в которых разрядность как входных, так и выходных данных равняется 2, т.е. их длина составляет 2 бита. Все табличные значения представлены в виде двоичных данных. В первой строке соответственно представлены входные данные х, а во второй строке соответствующие им по колонкам выходные данные у.
На фиг.3а представлена просмотровая таблица для неискаженной функции h. Как показано на фиг.3а, входному значению х=00 соответствует выходное значение h(x)=01, входному значению 01 соответствует выходное значение 11, входному значению 10 соответствует выходное значение 10, а входному значению 11 соответствует выходное значение 00. Зависимость, устанавливаемая просмотровой таблицей по фиг.3а, представляет собой нелинейную функцию h, которая должна выполняться при осуществлении важной для защиты данных операции или действия. Однако при выполнении важной для защиты данных операции согласно изобретению используют не саму показанную на фиг.3а просмотровую таблицу, а полученную на ее основе искаженную просмотровую таблицу, показанную на фиг.3б, 3в и 3г.
На фиг.3б показана промежуточная стадия создания искаженной просмотровой таблицы. Просмотровая таблица по фиг.3б была сформирована на основе просмотровой таблицы по фиг.3а логическим комбинированием каждого значения первой строки из таблицы по фиг.3а со случайным числом R1=11 путем выполнения логической операции исключающее ИЛИ. В результате выполнения этой логической операции исключающее ИЛИ над значением 00, расположенным на пересечении первой строки и первой колонки в таблице по фиг.3а, и числом 11 получают значение 11, которое становится затем элементом, расположенным в таблице по фиг.3б на пересечении первой строки и первой колонки. Аналогичным путем на основании значений первой строки показанной на фиг.3а таблицы и случайного числа R1=11 получают и остальные значения первой строки таблицы, представленной на фиг.3б. Показанную на фиг.3б таблицу в принципе уже можно было бы использовать в качестве искаженной просмотровой таблицы для обработки конфиденциальных данных, которые также искажены их логическим комбинированием со случайным числом R1=11. В этом случае в результате были бы получены незашифрованные значения, считываемые соответственно во второй строке таблицы по фиг.3б.
Обычно отдельные колонки просмотровой таблицы упорядочивают по возрастанию значений входных данных х. На фиг.3в показана таблица, полученная путем соответствующей перестановки элементов в таблице по фиг.3б.
При необходимости внесения в таблицу по фиг.3в дополнительных искажений, соответственно получения в качестве выходных значений не незашифрованных, а также искаженных значений применяют еще одну логическую операцию исключающее ИЛИ с использованием еще одного случайного числа R2.
На фиг.3г показана таблица, полученная в результате выполнения такой дополнительной логической операции исключающее ИЛИ. При осуществлении этой операции над каждым из элементов второй строки таблицы по фиг.3в и случайным числом R2=10 выполняют логическую операцию исключающее ИЛИ. Таким образом, элемент, находящийся на пересечении второй строки и первой колонки в таблице по фиг.3г, образуется в результате выполнения логической операции исключающее ИЛИ над элементом, расположенным во второй строке и первой колонке в таблице по фиг.3в, и случайным числом R2=10. Соответствующим образом формируются и другие элементы второй строки таблицы по фиг.3г. Первая строка таблицы по фиг.3г без изменений переносится из таблицы по фиг.3в.
Таблица, показанная на фиг.3г, позволяет получать из искаженных входных данных также искаженные выходные данные. Полученные таким путем искаженные выходные данные могут либо использоваться в дальнейших операциях, предусмотренных для обработки искаженных данных, либо из них путем выполнения над ними и случайным числом R2=10 логической операции исключающее ИЛИ можно получить незашифрованные данные.
Показанная на фиг.3г таблица позволяет выполнять с искаженными конфиденциальными данными также нелинейные операции и защищать эти конфиденциальные данные от несанкционированного доступа. Кроме того, и сами важные для защиты данных операции оказываются защищены от несанкционированного доступа, поскольку при каждом выполнении операций можно использовать по-иному искаженные функции, т.е. функции, вносящие в данные иные искажения, благодаря чему даже в случае выявления этих искаженных функций невозможно будет сделать вывод о самих выполнявшихся для защиты данных операциях. Вместе с тем после преобразования в незашифрованный вид и первоначальные важные для защиты данных операции и операции, выполнявшиеся с помощью искаженных функций, позволяют получить идентичные результаты. Так, например, входному значению 00 в таблице по фиг.3а соответствует выходное значение 01. С целью проверить, будет ли выходное значение показанной на фиг.3г искаженной таблицы соответствовать этому же выходному значению таблицы по фиг.3а, над входным значением 00 и случайным числом R1=11 необходимо сначала выполнить логическую операцию исключающее ИЛИ. В результате этой логической операции получают значение 11. Согласно таблице по фиг.3г входному значению 11 соответствует выходное значение, также равное 11. Для получения из указанного выходного значения незашифрованной, т.е. открытой информации, над этим выходным значением и случайным числом R2=10 необходимо выполнить логическую операцию исключающее ИЛИ. Результатом этой логической операции является значение 01, которое точно соответствует значению, полученному с помощью показанной на фиг.3а таблицы.
Для искажения важных для защиты данных операций, соответственно входных значений, можно использовать не только логическую операцию исключающее ИЛИ, но и иные типы логического комбинирования, например модулярное сложение. Кроме того, изобретение не ограничено применением нелинейных функций, представляемых с помощью просмотровых таблиц. Более того, возможно использование любых нелинейных, а также линейных функций, для которых можно задать соответствующую искаженную функцию.
Изобретение относится к носителю данных с чипом, в котором хранятся конфиденциальные или секретные данные, в частности к карточке со встроенной микросхемой. Техническим результатом является обеспечение защиты конфиденциальных данных, хранящихся в чипе носителя данных, от несанкционированного доступа. Носитель имеет память с программой, способной выполнять операцию (h). Эти данные и саму операцию (h) подвергают искажению с целью предотвратить несанкционированный доступ к данным (х), обрабатываемым с использованием указанной операции (h). При этом искажения данных (х) и указанной операции (h) взаимно согласуют таким образом, чтобы при выполнении искаженной операции (hR1R2) получать либо неискаженные выходные данные (у), полученные в результате выполнения над ними неискаженной операции (h), либо искаженные выходные данные (у ⊗R2), из которых можно получить неискаженные выходные данные (у). 2 н. и 12 з.п. ф-лы, 6 ил.
ИНФОРМАЦИОННО-ВЫЧИСЛИТЕЛЬНАЯ СИСТЕМА | 1994 |
|
RU2106014C1 |
Устройство для установки стержней в литейную форму | 1978 |
|
SU743775A1 |
US 4974193 A, 27.11.1990 | |||
ПОЛИВОЧНО-МОЕЧНОЕ ОБОРУДОВАНИЕ | 2004 |
|
RU2272861C1 |
DE 19601358 A, 25.07.1996 | |||
СПОСОБ ЗАЩИТЫ ОТ НЕСАНКЦИОНИРОВАННОГО ИСПОЛЬЗОВАНИЯ ЛИЦОМ, НЕ ИМЕЮЩИМ СООТВЕТСТВУЮЩИХ ПОЛНОМОЧИЙ, МИКРОПРОЦЕССОРНЫХ КАРТ И ТЕРМИНАЛ ДЛЯ ЕГО ОСУЩЕСТВЛЕНИЯ | 1990 |
|
RU2062507C1 |
СПОСОБ ШИФРОВАНИЯ БЛОКОВ ДАННЫХ | 1997 |
|
RU2111620C1 |
US 5493283 А, 20.02.1996 | |||
СПОСОБ ШИФРОВАНИЯ БЛОКОВ ДАННЫХ | 1997 |
|
RU2106752C1 |
US 4804826 A, 14.02.1989. |
Авторы
Даты
2005-04-27—Публикация
1999-09-07—Подача