ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ
УДК 004.315.2
Способ скрытого сложения и особенности его реализации
В.М.Амербаев
Институт проблем проектирования в микроэлектронике РАН
Д.В. Тельпухов
Московский государственный институт электронной техники (технический университет)
А.В.Шарамок ООО Фирма «АНКАД» (г. Москва)
Рассмотрен способ сложения двух чисел, представленных в позиционной системе счисления, одно из которых маскировано путем поразрядного сложения с гаммой по модулю основания системы счисления. Снятие гаммы осуществляется в процессе сложения без получения разрядов маскированного операнда в «чистом» виде.
Разработка устройств защиты информации, основанных на использовании криптографических технологий, сопряжено с решением ряда специфических задач. В подобной аппаратуре помимо реализации заданных криптографических преобразований необходимо решить задачи защиты от возможного съема открытой информации и опасной информации по каналам побочных электромагнитных излучений и наводок (ПЭМИН) [1]. При этом под опасной информацией понимается любая информация, использование которой может облегчить атаку на устройство криптографической защиты.
Возможность съема опасной информации обусловлена наличием в реальной аппаратуре побочных каналов - каналов передачи информации, не предусмотренных как штатные для передачи информации в конкретном устройстве шифрования (например, утечка обрабатываемых в устройстве шифрования конфиденциальных данных через электромагнитные колебания, возникающие при работе вычислительной техники). Побочные каналы возникают в результате проявления в аппаратуре некоторых физических эффектов. При этом информация от источника через среду передачи передается к приемнику. На всех этапах существования побочного канала информация представляется в виде некоторого физического носителя, физического поля.
Постановка задачи. Традиционным способом борьбы с побочными каналами является воздействие:
- на передатчик побочного канала - понижением мощности излучаемого сигнала за счет применения специальных схемотехнических решений;
- на среду передачи - увеличением затухания в побочном канале за счет изменения свойств среды передачи (экранирование) или увеличения протяженности побочного канала (создание контролируемых зон);
© В.М.Амербаев, Д.В.Тельпухов, А.В.Шарамок, 2009
- на приемник побочного канала - созданием активных помех с использованием зашумляющих приборов.
Способы воздействия на побочный канал широко применяются при создании аппаратуры защиты информации и в большинстве случаев обеспечивают требуемые показатели. В то же время они обладают принципиальными ограничениями, так как осуществляют воздействие не на саму информацию, а на физические носители информации побочного канала. Приведем некоторые из этих ограничений:
- появление новых способов съема информации из побочных каналов (например, появление новых методов обработки принимаемых сигналов) приводит к необходимости пересмотра достаточности характеристик примененных способов защиты;
- невозможность перекрытия всех побочных каналов, обусловленная потенциально большим количеством физических эффектов и взаимосвязей между ними, а также возможностью существования на момент создания аппаратуры неизвестных физических эффектов и соответственно создаваемых ими побочных каналов.
Гораздо более эффективными представляются способы, связанные с воздействием не на побочный канал передачи информации, а на саму опасную информацию, передаваемую в побочном канале. Разрушение или сокрытие опасной информации приводит к устранению указанных ограничений применяемых способов борьбы с побочными каналами.
Разработка подобных способов для наиболее распространенных криптографических примитивов и криптографических алгоритмов позволит существенно повысить специальные свойства разрабатываемых средств криптографической защиты информации. В настоящей статье представлен способ сокрытия ключевой информации в процессе ее сумми-
32
рования по модулю 2 с шифруемым подблоком данных для криптографического преобразования по ГОСТ 28147-89 [2].
Использование ключевой информации в криптографических преобразованиях.
При реализации криптографических преобразований в устройствах шифрования вся промежуточная информация работы криптографического преобразования, как правило, относится к опасной информации. Наиболее опасной с точки зрения облегчения атаки на устройство шифрования является ключевая информация. Особенности технологической реализации современных устройств шифрования в ряде случаев позволяют не относить к опасным эффектам процесс однократного использования ключевой информации. Например, однократная передача ключевой информации по шинам вычислительной техники может не приводить к созданию уровня ПЭМИН, достаточного для достоверного съема ключевой информации нарушителем.
Высокие скорости работы современных устройств и большие объемы обрабатываемой информации приводят к многократному использованию криптографических преобразований и, соответственно, обработке опасной информации. Этот эффект называют возможностью многократного наблюдения опасной информации нарушителем. Опасность многократного наблюдения, например, ключевой информации состоит в том, что нарушитель, накапливая статистику при многократной обработке устройством шифрования ключевой информации, впоследствии может с высокой степенью достоверности восстановить опасную информацию и использовать ее при реализации атаки на устройство шифрования. Так, например, в алгоритме криптографического преобразования ГОСТ 28147-89 [2] в каждом раунде криптографического преобразования осуществляют сложение по модулю 232 преобразовываемого 32-битового подблока данных и используемого 32-битового раундового подключа. В процессе шифрования одного 64-битового блока данных каждый подключ используют 4 раза. Возможность многократного наблюдения криптографического ключа, возникающая из-за использования
криптографического ключа несколько десятков или тысяч раз в процессе одного сеанса шифрования, существенно снижает специальные свойства устройства шифрования.
Для устранения указанного недостатка в устройствах шифрования используют различные способы борьбы с многократным наблюдением криптографического ключа [3], например:
- частую смену криптографического ключа или выработку сеансовых криптографических ключей, что приводит к известным ограничениям [4];
- маскирование ключа путем побитного сложения по модулю 2 со случайным значением - гаммой. При этом периодически осуществляют смену использованного случайного значения (гаммы) на новое значение.
Рассмотрим последний способ. При реализации криптографического преобразования на вычислительном процессоре используют следующий порядок сложения по мо-
32
дулю 2 32-битового раундового подключа с преобразовываемым 32-битовым подблоком данных:
1) маскированный раундовый подключ и использованную гамму хранят в памяти раздельно;
2) при выполнении сложения в регистр-аккумулятор помещают маскированный раундовый подключ;
3) осуществляют сложение по модулю 2 использованной гаммы с содержимым регистра-аккумулятора с сохранением результата в регистре-аккумуляторе;
32
4) осуществляют сложение по модулю 2 преобразовываемого подблока данных с содержимым регистра-аккумулятора с сохранением результата в регистре-аккумуляторе.
После шага 4 в регистре-аккумуляторе находится результат сложения преобразовываемого подблока данных с раундовым подключем, при этом использованный раун-довый подключ передавался по шинам вычислительного средства в маскированном виде.
Предполагается, что нарушителю значительно труднее накопить статистику по случайным образом изменяющемуся значению гаммы и соответственно значению маскированного ключа. В то же время приведенный способ имеет недостаток, состоящий в появлении в «чистом» виде используемого раундового подключа в регистре-аккумуляторе. Этот недостаток можно устранить путем реализации специализированного сумматора (с применением заказных микросхем) или использования программируемых логических схем [5].
Сумматор со сквозным переносом. Рассмотрим двоичный сумматор, называемый полным сумматором [5]. Работа полного сумматора описывается следующими уравнениями:
^ = к ® х ®п-1 = к л X лп_1 V к л х лп_1 V к л х лп-1 V к л х лп-1з П = к л х V к л п_1 V х л п_1з
где ^ - младший разряд результата суммирования; к, х - первый и второй операнд соответственно; П-1 - третий операнд (перенос из предыдущего разряда); п - старший разряд результата суммирования (перенос в следующий разряд); ® - суммирование по модулю 2; л, V - операции конъюнкции и дизъюнкции соответственно; - операция отрицания.
На основе полного сумматора строится п-разрядный сумматор со сквозным переносом [5], состоящий из и последовательно включенных полных сумматоров, каждый из которых оперирует одним битом. Работа двоичного и-разрядного сумматора со сквозным переносом описывается следующими уравнениями:
= к1 ® X, ® лг-1 = кг л Х л П-1 V к1 л Х л V к1 л Х л V к1 л Х л ,
Пг = кг л Хг V кг л Пг-1 V Хг л П-1-
При этом г ^ [0, и - 1], П-1 = 0.
С использованием п-разрядного сумматора возможна реализация рассмотренной схемы суммирования. Для устранения недостатка, состоящего в использовании обоих операндов в «чистом» виде, т.е. без наложенной по модулю 2 гаммы, предлагается способ скрытого сложения двух «-разрядных ч-ичных чисел.
Сумматор для скрытого сложения двух чисел. Традиционный алгоритм суммирования. Пусть имеются п-разрядные целые числа К, X и Г, такие, что 0 < К < ч", 0 < X < ч" и 0 < Г < ч". И пусть К = К ® Г, где ® - операция поразрядного сложения по модулю q, т. е:
К =к 0+ к1ч + к2 q2 + kзq3 +... + кп-1чп-1
0
Г=У 0 +
Ylq+
У 2 Ч + УзЧ +...
+у n-lq
п—1
К=\к 0+у 01 + \к 1+У1 |qq+\к 2+У 2 |qq2 + \к з+у з q3 +...+|к«-1+учп- '
Здесь символом \кг+уг\Ч обозначено сложение по модулю q чисел к и уг. Рассмотрим сумму \К+Г\чп:
+
К =к 0+ X = х0+
k1q + x1q +
к2ч2 + к3ч3 +... + к« -1ч
2
х2 q +
п—1
ХзЧ +... + х«-lq
п—1
Я = 5 0 +
ЗД +
2
^Ч +
5зЧ + ... + -Ч
п-1
50 = |к0 + Х01
П0 =
к0 + Х0
Ч
Ь = |к1 + Х1 +П0 Ч , П
= |к2 + Х2 Ч, П2 =
к1 + Х1 + П0 Ч
к2 + Х2 + П1
= |кг + Хг +ПГ-1Ч,
5п-1 = |кп-1 + Хп-1 + П«-2 [
Пг =
Ч
кг + Хг + пг-1
Ч
Пп-1 =
кп-1 + Хп-1 + П
п-2
Ч
где кг и Хг - г-е разряды операндов; - г-й разряд результата сложения; пг - перенос из г-го разряда; |_ ] - наибольшее целое число, не превосходящее аргумент.
Алгоритм скрытого суммирования. Пусть даны операнд X - преобразуемый подблок данных, маскированный операнд К = К ®Г, гамма Г. Требуется сформировать сумму Я = |К + X п, при этом необходимо демаскировать операнд К в процессе сум-
мирования, а не на входе сумматора.
Ч
5
г
Известно, что к =
традиционного» суммирования:
•о = к0 + х0 , Ло =
ki -у, . Рассмотрим число 8', формируемое по схеме «квази-
ко - У о + Хо
•1 =
Я2 =
=
к1 + Х1 + По
к2 + Х2 + П1
кг + Хг + Лг-1
~1 -У1
П =
П2 =
Пг =
+ Х1 + По
ч
к2 -У 2
+ х2 + П1
ч
к -у
Г I г
+ Хг + Пг-1
•и-1 =
кп—1 + Хп-1 + Ли-2
Пи-1 =
ч
кп-1 - У и-1
+ Хи-1 + Пи-2
ч
где, кг - г-й разряд первого, маскированного операнда; хг - г-й разряд второго, немаскированного операнда; яг' - г-й разряд числа 8'; пг - перенос из /-го разряда, формируемый приведенным способом.
В этом случае пг фактически является переносом при сложении немаскированных операндов. При этом двухзначную (булеву) функцию пг формируют как функцию, по меньшей мере, четырех независимых переменных кг, уг, хг, пг-1.
Рассмотрим значение • -уг| :
Яг -У г\ч =
|| 1
кг + Хг + Пг-1 "У г = кг + Хг +Пг-1 -У г = \кг +У г + Хг + Пг-1
ч ч ч
= |кг +У г + Хг +Пг-1 -У г|ч = |кг + Хг + Пг-1 ч = Яг.
Таким образом, справедливо следующее утверждение.
Если при сложении двух операндов К и X, один из которых К является маскированным гаммой Г, перенос в старшие разряды формировать по правилу
Пг =
кг -У г
+ Хг +Пг-1
ч
то при поразрядном вычитании по модулю основания ч использованной ранее гаммой Г из результата 8' будет получена сумма 5 по модулю ч" двух немаскированных операндов К и X.
ч
ч
ч
ч
ч
ч
ч
ч
ч
ч
ч
ч
Замечание. Для двоичной системы счисления операции поразрядного сложения и вычитания по модулю совпадают, а уравнения принимают следующий вид:
=
кг + хг + Пг—1
Пг =
К +У г + хг +Пг — 1
= Уг +У г |2-
Так как преобразуемый подблок данных X статистически ненаблюдаем, то применение подобного сумматора и периодическая смена значения гаммы Г позволяют добиться отсутствия статистического наблюдения ключа К.
Реализация сумматора для скрытого сложения двух чисел. Рассмотрим 32-разрядный сумматор для скрытого сложения двух чисел (рис.1).
2
2
X-
1 2 3 1 2 4 1 2 3 1 2 4
32
1 2 3 1 2 4 1 2 3 1 2 4
1 Г 1 г
Рис.1. 32-разрядный сумматор для скрытого сложения
Сумматор для скрытого сложения двух чисел по модулю 2 (рис.1) состоит из 32 блоков полных сумматоров со снятием маски в процессе суммирования и 32 блоков сложения по модулю 2. При этом сумматор содержит три 32-разрядных входа (для маскированного операнда (вход 1), гаммы (вход 2) и немаскированного операнда (вход 3)) и один 32-разрядный выход для результата суммирования.
Входящий в состав 32-разрядного сумматора блок полного сумматора со снятием маски в процессе суммирования представлен на рис. 2 и содержит блок формирования переноса (например, реа- рж.2. Блок полного сумматора со снятием лизуемый на элементах памяти [5]), блоки маски в процессе суммирования сложения по модулю 2, четыре входа и два выхода.
2
3
1
0
1
В настоящее время существуют различные способы и технические средства защиты информации от утечки по побочным каналам [1]. Рассмотренный способ не уменьшает соотношение сигнал/шум, ухудшая возможности нарушителя по перехвату опасной информации, а направлен на изменение характеристик информативных сигналов, т.е. на снижение информативности сигналов, переносящих опасную информацию [6]. Применение предложенного метода является достаточно специфичным и не исключает других методов борьбы с побочными каналами, а в некоторой степени дополняет их.
Литература
1. Соболев А.Н., Кириллов В.М. Физические основы технических средств обеспечения информационной безопасности: Учеб. пособие. - М.: Гелиос АРВ, 2004. - 224 с.
2. ГОСТ 28147-89. Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования. - М.: Изд-во стандартов, 1996.
3. Программирование алгоритмов защиты информации / А.В.Домашев и др. - Учеб. пособие. - 2-е изд., испр. и доп. - М.: Издатель Молгачева С.В., Изд-во «Нолидж», 2002. - 552 с.
4. Шнайер Б. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си. -М.: Издательство ТРИУМФ, 2002. - 816 с.
5. Дж. Ф. Уэйкерли. Проектирование цифровых устройств. - Т. 1. - М.: Постмаркет, 2002. - 544 с.
6. Амербаев В.М., Романец Ю.В., Тельпухов Д.В., Шарамок А.В. Способ суммирования маскированного числа со скрытым снятием маски в процессе суммирования / Заявка на выдачу патента № 2007144743 РФ МПК G 06 F 7/50.2007.
Статья поступила 2 февраля 2009 г.
Амербаев Вильжан Мавлютинович - доктор технических наук, профессор, главный научный сотрудник ИППМ РАН. Область научных интересов: математические основы кодирования объектов различной математической природы - скалярные, векторные, комплекснозначные, кватернионные и функциональные величины.
Тельпухов Дмитрий Владимирович - студент МИЭТ. Область научных интересов: защита информации, беспроводная связь.
Шарамок Александр Владимирович - кандидат технических наук, главный специалист ООО Фирма «АНКАД» (г. Москва). Область научных интересов: защита информации, прикладная криптография, беспроводная связь, защита каналов управления систем радиосвязи.
Уважаемые авторы и читатели!
Вышел в свет журнал «Известия вузов. Электроника» (английская версия):
SEMICONDUCTORS (Izvestiya Vysshikh Uchebnykh Zavedenii. Elektronika).
Vol. 42, N13, December 2008. - ISSN 1063-7826
http://www.maik.ru http ://www.springerlink.com