ПОРТАТИВНЫЙ НОСИТЕЛЬ ДАННЫХ С ИХ ЗАЩИТОЙ ОТ НЕСАНКЦИОНИРОВАННОГО ДОСТУПА, ОБЕСПЕЧИВАЕМОЙ ЗА СЧЕТ ИСКАЖЕНИЯ СООБЩЕНИЙ, И СПОСОБ ЗАЩИТЫ КОНФИДЕНЦИАЛЬНЫХ ДАННЫХ Российский патент 2006 года по МПК G07F7/10 

Описание патента на изобретение RU2280285C2

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

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

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

Помимо этого в последнее время получили известность методы, позволяющие за счет измерения потребляемого тока или временных характеристик при шифровании выявлять конфиденциальные данные и прежде всего используемый для их шифрования секретный ключ (см. Paul С. Kocher, "Timing Attacks on implementation of Diffle-Hellman, RSA, DSS, and other Systems", изд-во Springer Verlag 1998; WO 99/35782).

Наиболее простой из числа подобных метод получения несанкционированного доступа к конфиденциальной информации состоит в простом анализе электрических характеристик (SPA от анг. "Simple Power Analysis"). Этот метод анализа можно пояснить на следующем примере, когда известное сообщение М подвергается шифрованию с помощью секретного ключа d, т.е. формируется некоторый зашифрованный текст вида Y=Мd mod n. При модульном возведении в степень промежуточный результат при наличии "1" в показателе d возводится в квадрат и умножается на М, тогда как при наличии "0" в показателе d промежуточный результат только возводится в квадрат. При известном М анализ токовых и/или временных характеристик, сопровождающих выполнение указанных операций, позволяет выявить те моменты времени, в которые используется сообщение М. Поскольку это сообщение всегда используется при наличии "1" в показателе d, появляется возможность без каких-либо проблем выявить сам секретный ключ.

Воспрепятствовать подобной попытке получения несанкционированного доступа к данным можно, внеся в сообщение М, соответственно в ключ d, определенные изменения. Однако из публикации Paul С. Kocher, "Timing Attacks on implementation of Diffie-Hellman, RSA, DSS, and other Systems", изд-во Springer Verlag, 1998, и из заявки WO 99/35782 известны также методы анализа, которые позволяют выявить ключ даже при наличии измененного, т.е. закодированного ("замаскированного"), сообщения или ключа путем экспериментального снятия множества характеристик, форма которых позволяет судить о происходящем в интегральной микросхеме временном изменении тока (так называемый дифференциальный анализ электрических характеристик (DPA от англ. "Differential Power Analysis"), соответственно дифференциальный анализ электрических характеристик высшего порядка ("Higher Order DPA").

С целью воспрепятствовать простому выявлению используемого для шифрования ключа путем выявления операций, в которых при вычислениях используется шифруемое сообщение, уже было предложено вводить для шифрования сообщения коэффициент r*n. Тем самым зашифрованный текст вида Y=Мd mod n преобразуется в текст вида (M+r*n)d mod n. В результате при анализе исключается возможность обнаружить само известное сообщение М. Однако и при подобном изменении сообщения М анализ формы кривой тока позволяет выявить повторение определенных комбинаций, соответственно выявить определенные закономерности. Подобные комбинации с высокой степенью вероятности содержат текст вида (М+r*n), что позволяет и в этом случае сделать вывод о применении операции умножения, а тем самым и о наличии "1" в секретном ключе.

Еще одна проблема возникает в том случае, когда при анализе токовых характеристик появляется возможность определить, используются ли при умножении одинаковые (соответствует возведению промежуточного результата в квадрат) или различные (соответствует умножению промежуточного результата на сообщение) множители, поскольку тем самым можно выявить и операции умножения на (М+r*n).

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

Указанная задача решается согласно изобретению в носителе данных с чипом, используемым для обработки и хранения конфиденциальных данных и имеющим по меньшей мере одну память, в которой хранится рабочая программа с множеством команд, выполнение каждой из которых сопровождается появлением сигналов, поддающихся обнаружению вне чипа. Согласно изобретению такой носитель данных выполнен таким образом, что для искажения данных, которые многократно используются при вычислениях, применяются различные функции, а именно, таким образом, что при обработке данных, многократно используемых при шифровании сообщения М с помощью операций по модулю, рабочей программой предусмотрено искажение сообщения М путем прибавления к нему при каждом его i-том использовании (i=1,...,k) коэффициента ri*n, где r - случайное число, a n - модуль.

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

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

Согласно одному из наиболее предпочтительных вариантов шифрование сообщения М выполняется путем модульного возведения в степень согласно выражению Y=Мd mod n, при котором при наличии "1" в показателе d используется сообщение М, которое при каждом его использовании изменяется с помощью иной функции.

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

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

Объектом изобретения является также способ защиты конфиденциальных данных на носителях данных с чипом, используемым для хранения и обработки конфиденциальных данных и имеющим по меньшей мере одну память, в которой хранится рабочая программа с множеством команд, выполнение каждой из которых сопровождается появлением сигналов, поддающихся обнаружению вне чипа. В предлагаемом в изобретении способе решение задачи, положенной в основу изобретения, достигается за счет того, что при обработке данных, многократно используемых при шифровании сообщения М с помощью операций по модулю, сообщение М искажают путем прибавления к нему при каждом его использовании i (i=1,...,k) коэффициента ri*n, где r - случайное число, а n - модуль.

Дополнительно к рассмотренным признакам изобретения, характеризующим его в частных вариантах осуществления, важные для защиты данных вычислительные операции f(z), у которых имеется корреляция между z и f(z), могут разделяться на вычислительные операции gl(z) и g2f(gl(z)), где такие функции gl(z) и g2f(gl(z)) не коррелированы между собой.

Ниже предлагаемое в изобретении решение поясняется на примере модульного возведения в степень. При этом без ограничения объема изобретения предполагается, что для формирования зашифрованного сообщения вида Y=Мd mod n выполняемые вычисления состоят в модульном возведении в степень, при этом промежуточный результат при наличии "1" в показателе d возводится в квадрат и умножается на сообщение М, а при наличии "0" в показателе d промежуточный результат только возводится в квадрат.

Согласно изобретению для шифрования сообщения сначала выбирается некоторое случайное число г, а затем вычисляется произведение r*n. После этого выполнение операции по возведению в степень начинается с выполнения операции по возведению в квадрат, при которой к промежуточному результату Z прибавляют произведение r*n, чтобы вместо вычисления Z*Z mod n вычислить выражение (Z*(Z+r*n) mod k*n), где k представляет собой целое число. В том случае, если соответствующий разряд показателя, т.е. секретного ключа d, представляет собой "1", то в последующем дополнительно выполняется операция умножения, для чего сначала к сообщению М прибавляется (ri*n), т.е. формируется сообщение вида М+ri*n, и вместо вычисления Z*M mod n вычисляется выражение (Z*(M+ri*n) mod k*n)). Описанная последовательность операций повторяется до тех пор, пока не будут обработаны все разряды секретного ключа, при этом при каждой последующей операции умножения i увеличивается на 1. По завершении операции по возведению в степень полученный результат дополнительно приводят к виду mod n.

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

Кроме того, при попытке проанализировать выполняемые при вычислениях операции практически невозможно отличить операцию умножения от операции возведения в квадрат, поскольку при выполнении каждой операции изменяются и промежуточные результаты Z, и обработанное сообщение М+ri*n, поэтому при выполнении операции умножения, равно как и при выполнении операции возведения в квадрат, вычисляется произведение, получаемое умножением промежуточного результата на не коррелированный с ним множитель.

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

Похожие патенты RU2280285C2

название год авторы номер документа
ПОРТАТИВНЫЙ НОСИТЕЛЬ ДАННЫХ С ИХ ЗАЩИТОЙ ОТ НЕСАНКЦИОНИРОВАННОГО ДОСТУПА, ОБЕСПЕЧИВАЕМОЙ ЗА СЧЕТ РАЗДЕЛЕНИЯ КЛЮЧА НА НЕСКОЛЬКО ЧАСТЕЙ 2000
  • Германн Дрекслер
  • Харальд Фатер
RU2251218C2
ЗАЩИЩЕННЫЙ ОТ НЕСАНКЦИОНИРОВАННОГО ДОСТУПА НОСИТЕЛЬ ДАННЫХ, СПОСОБ ВЫПОЛНЕНИЯ В НЕМ ОПЕРАЦИЙ, В ТОМ ЧИСЛЕ ОТНОСЯЩИХСЯ К ЗАЩИТЕ ДАННЫХ, И СПОСОБ ЗАЩИТЫ КОНФИДЕНЦИАЛЬНЫХ ДАННЫХ 1999
  • Фатер Харальд
  • Дрекслер Херманн
  • Джонсон Эрик
RU2263967C2
СПОСОБ ШИФРОВАНИЯ СООБЩЕНИЯ, ПРЕДСТАВЛЕННОГО В ВИДЕ МНОГОРАЗРЯДНОГО ДВОИЧНОГО ЧИСЛА 2014
  • Молдовян Александр Андреевич
  • Молдовян Дмитрий Николаевич
  • Вайчикаускас Мария Александровна
RU2542926C1
СПОСОБ ЗАЩИТЫ ДОСТУПНОСТИ И КОНФИДЕНЦИАЛЬНОСТИ ХРАНИМЫХ ДАННЫХ И СИСТЕМА НАСТРАИВАЕМОЙ ЗАЩИТЫ ХРАНИМЫХ ДАННЫХ 2014
  • Косолапов Юрий Владимирович
RU2584755C2
СПОСОБ ШИФРОВАНИЯ 2011
  • Леухин Анатолий Николаевич
  • Петухов Алексей Сергеевич
RU2450457C1
СПОСОБ ЗАЩИТЫ ДАННЫХ 2000
  • Фогель Коля
  • Байнлих Штефан
  • Мартини Улльрих
RU2263407C2
СПОСОБ ШИФРОВАНИЯ СООБЩЕНИЯ, ПРЕДСТАВЛЕННОГО В ВИДЕ БИТОВОЙ СТРОКИ 2013
  • Березин Андрей Николаевич
  • Молдовян Дмитрий Николаевич
  • Молдовян Александр Андреевич
  • Рыжков Алексей Викторович
RU2558621C2
ЗАЩИЩЕННЫЙ ОТ НЕСАНКЦИОНИРОВАННОГО ДОСТУПА НОСИТЕЛЬ ДАННЫХ 1999
  • Фатер Харальд
  • Дрекслер Германн
RU2251153C2
СПОСОБ ШИФРОВАНИЯ 2009
  • Молдовян Николай Андреевич
RU2411666C1
СПОСОБ ШИФРОВАНИЯ СООБЩЕНИЯ М, ПРЕДСТАВЛЕННОГО В ВИДЕ МНОГОРАЗРЯДНОГО ДВОИЧНОГО ЧИСЛА 2011
  • Молдовян Николай Андреевич
  • Молдовян Александр Андреевич
RU2485600C2

Реферат патента 2006 года ПОРТАТИВНЫЙ НОСИТЕЛЬ ДАННЫХ С ИХ ЗАЩИТОЙ ОТ НЕСАНКЦИОНИРОВАННОГО ДОСТУПА, ОБЕСПЕЧИВАЕМОЙ ЗА СЧЕТ ИСКАЖЕНИЯ СООБЩЕНИЙ, И СПОСОБ ЗАЩИТЫ КОНФИДЕНЦИАЛЬНЫХ ДАННЫХ

Изобретение относится к носителю данных с чипом, предназначенным для хранения и обработки конфиденциальной или секретной информации, а также к способу защиты конфиденциальных данных. Техническим результатом является повышение защиты конфиденциальных данных от несанкционированного доступа к ним. Носитель содержит, по меньшей мере, одну память, в которой хранится рабочая программа, содержащая множество команд, при этом выполнение каждой из таких команд сопровождается появлением сигналов, поддающихся обнаружению вне чипа. Способ защиты конфиденциальных данных на указанном носителе заключается в том, что при обработке данных, многократно используемых при шифровании сообщения М с помощью операций по модулю, рабочей программой предусмотрено искажение сообщения М путем прибавления к нему при каждом его использовании i (i=1,...,k) коэффициента ri*n, где r - случайное число, a n - модуль. 2 н. и 10 з.п. ф-лы.

Формула изобретения RU 2 280 285 C2

1. Носитель данных с чипом, используемым для обработки и хранения конфиденциальных данных и имеющим по меньшей мере одну память, в которой хранится рабочая программа с множеством команд, выполнение каждой из которых сопровождается появлением сигналов, поддающихся обнаружению вне чипа, отличающийся тем, что при обработке данных, многократно используемых при шифровании сообщения М с помощью операций по модулю, рабочей программой предусмотрено искажение сообщения М путем прибавления к нему при каждом его использовании i (i=1,...,k) коэффициента ri*n, где r - случайное число, a n - модуль.2. Носитель данных по п.1, отличающийся тем, что используемые данные представляют собой промежуточный результат вычислений, а последующая операция возведения в квадрат состоит в выполнении операции умножения, при этом такой промежуточный результат подвергается предварительному искажению с помощью различных функций.3. Носитель данных по п.1, отличающийся тем, что используемые данные представляют собой промежуточный результат вычислений, а последующее удвоение этого промежуточного результата состоит в выполнении операции сложения, при этом такой промежуточный результат подвергается предварительному искажению с помощью различных функций.4. Носитель данных по любому из пп.1-3, отличающийся тем, что шифрование сообщения М выполняется путем модульного возведения в степень согласно выражению «Y=Mdmod n», при котором при наличии "1" в показателе d используется сообщение М, которое при каждом его использовании изменяется с помощью иной функции.5. Носитель данных по п.1, отличающийся тем, что при выполнении операции по модулю используются степени сообщения, которые при каждом использовании этого сообщения изменяются с помощью иной функции.6. Носитель данных по п.4, отличающийся тем, что модуль n умножается на постоянный множитель k, после чего с этим модулем n выполняется еще одна операция по модулю.7. Способ защиты конфиденциальных данных на носителях данных с чипом, используемым для обработки и хранения конфиденциальных данных и имеющим по меньшей мере одну память, в которой хранится рабочая программа, содержащая множество команд, выполнение каждой из которых сопровождается появлением сигналов, поддающихся обнаружению вне чипа, отличающийся тем, что при обработке данных, многократно используемых при шифровании сообщения М с помощью операций по модулю, сообщение М искажают путем прибавления к нему при каждом его использовании i (i=1,...,k) коэффициента ri*n, где r - случайное число, а n - модуль.8. Способ по п.7, отличающийся тем, что используемые данные представляют собой промежуточный результат вычислений, а последующая операция возведения в квадрат состоит в выполнении операции умножения, при этом такой промежуточный результат подвергается предварительному искажению с помощью различных функций.9. Способ по п.7, отличающийся тем, что используемые данные представляют собой промежуточный результат вычислений, а последующее удвоение этого промежуточного результата состоит в выполнении операции сложения, при этом такой промежуточный результат подвергают предварительному искажению с помощью различных функций.10. Способ по любому из пп.7-9, отличающийся тем, что шифрование сообщения М выполняется путем модульного возведения в степень согласно выражению «Y=Md mod n», при котором при наличии "1" в показателе d используется сообщение М, которое при каждом его использовании изменяется с помощью иной функции.11. Способ по любому из пп.7-9, отличающийся тем, что вычисления заключаются в выполнении операции по модулю, при которой используют степени сообщения, которые при каждом использовании этого сообщения изменяются с помощью иной функции.12. Способ по п.10, отличающийся тем, что модуль n умножается на постоянный множитель k, после чего с этим модулем n выполняется еще одна операция по модулю.

Документы, цитированные в отчете о поиске Патент 2006 года RU2280285C2

СПОСОБ РЕАЛИЗАЦИИ НЕФТЕПРОДУКТОВ ПОТРЕБИТЕЛЮ 2007
  • Чичков Вячеслав Михайлович
  • Гогин Валерий Алексеевич
  • Горбунов Сергей Дмитриевич
  • Иванов Николай Григорьевич
  • Фишман Иосиф Израилевич
  • Харенко Николай Иванович
  • Шигапов Аскер Абдулкаримович
  • Иванов Василий Петрович
RU2326011C2
СПОСОБ ОБСЛУЖИВАНИЯ КРЕДИТНЫХ ЗАПРОСОВ И СИСТЕМА ЕГО РЕАЛИЗАЦИИ 1994
  • Нам-Но Ли
  • Ик-Дзае Юн
  • Хьюнг-Соо Ким
  • Мун-Куин Воо
  • Воо-Сик Канг
  • Йунг-Джун Ли
RU2120661C1
US 5991415 А, 23.11.1999
ДЕВИС Д
и др
Вычислительные сети и протоколы
- М.: Мир, 1982, с.465, 471-473.

RU 2 280 285 C2

Авторы

Германн Дрекслер

Харальд Фатер

Даты

2006-07-20Публикация

2000-12-20Подача