Научная статья на тему 'Метод обфускации цифровых схем, спроектированных на основе ПЛИС и СБМК'

Метод обфускации цифровых схем, спроектированных на основе ПЛИС и СБМК Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
216
67
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ОБФУСКАЦИЯ / ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ / ЗАЩИТА ПРОЕКТНЫХ РЕШЕНИЙ / ИМПЛИКАЦИЯ / ПЛИС / СБМК / OBFUSCATION / INFORMATION SECURITY / IP SAFETY / IMPLICATIONS / FPGA / ASIC

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Глебов А. Л., Кононов А. Н., Кононов Н. А., Немчин Д. Ю.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Глебов А. Л., Кононов А. Н., Кононов Н. А., Немчин Д. Ю.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

The method of obfuscation of digital circuits designed on the basis of PLIC and SBMС

Along with the growing interest to the problem of obfuscation (hiding of the meaning) of computer programs, the problem of IC solutions used in digital VLSI obfuscation is also relevant. In this paper we propose a new method of obfuscation, which is based on the usage of logical implications and adapted for the schemes based on FPGA and ASIC. The method is based on the introduction of a number of dummy cycles into a combination circuit, which makes the automatic Boolean function restoration extremely complex. Advantage of the proposed method is the fact that the Boolean function recovery programs do not have a database of logical implication and the algorithms for calculating them. The results of numerical experiments confirming the effectiveness of the proposed method are also given in this paper.

Текст научной работы на тему «Метод обфускации цифровых схем, спроектированных на основе ПЛИС и СБМК»

УДК 658.512.011.56

МЕТОД ОБФУСКАЦИИ ЦИФРОВЫХ СХЕМ, СПРОЕКТИРОВАННЫХ НА ОСНОВЕ ПЛИС И СБМК

А. Л. Глебов, д. т. н. профессор кафедры ПКИМС МИЭТ Тел. (985) 138 3327, e-mail: [email protected] А. Н. Кононов, к.ф-м.н. зав. отделом ЗИТЦ Специалист в области проектирования и конструирования СБИС Тел.: (916) 381 4526, e-mail: [email protected] Н. А. Кононов, аспирант кафедры ПКИМС МИЭТ Тел. (926) 857 9696, e-mail: [email protected] Д. Ю. Немчин, аспирант кафедры ПКИМС МИЭТ Тел. 79264249974, e-mail: [email protected] Московский институт электронной техники http://miet.ru/

Along with the growing interest to the problem of obfuscation (hiding of the meaning) of computer programs, the problem of IC solutions used in digital VLSI obfuscation is also relevant. In this paper we propose a new method of obfuscation, which is based on the usage of logical implications and adapted for the schemes based on FPGA and ASIC. The method is based on the introduction of a number of dummy cycles into a combination circuit, which makes the automatic Boolean function restoration extremely complex. Advantage of the proposed method is the fact that the Boolean function recovery programs do not have a database of logical implication and the algorithms for calculating them.

The results of numerical experiments confirming the effectiveness of the proposed method are also given in this paper.

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

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

Ключевые слова: Обфускация, информационная безопасность, защита проектных решений, импликация, ПЛИС, СБМК.

Keywords: Obfuscation, information security, IP safety, implications, FPGA, ASIC.

1. Введение

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

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

Простая логическая импликация (ПЛИ) между двумя узлами цифровой схемы a, b - это отношение типа (a=0) -> (b=1) или, используя более короткое обозначение, a -> b. В работах [4],[3] показано, что цифровая комбинационная схема обычно содержит большое количество ПЛИ, а также описан быстрый алгоритм их вычисления. Ниже мы покажем, что, используя найденные ПЛИ, можно вводить в схему некоторое количество фиктивных (в действительности неработающих) циклов. При этом схема остается комбинационной, и реализуемая ею Булева функция не изменяется. Однако, для обфускированной (запутанной) таким образом схемы

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

2. Основная идея

Основная идея предлагаемого метода обфускации цифровой схемы поясняется с помощью Рис.1.

В исходной схеме, показанной на РисЛ^), имеется ПЛИ (х=0) -> (у=1). Это значит (см. например, [9]), что из четырех возможных сочетаний сигналов (х, у) одно сочетание (х=0, у=0) никогда не реализуется.

Если мы добавим в схему еще

(а) один N0112 (вентиль Е) и подадим на

Рис. 1. Пример исходной и ег0 входы сигналы х, V, то, в силу наР* 1 о I о у у у */

обфускированнои цифровои схемы личия указанной ПЛИ, на выходе этого

вентиля (сигнал е на Рис.1(Ь) ) в стационарном состояни и схемы (т.е. в начале и в конце каждого такта работы синхронной цифровой схемы) всегда будет логический 0 (предполагается, что на входе и на выходе комбинационной схемы имеются регистры, управляемые тактовым сигналом). Замена типа вентиля D на NOR3 и подача на его третий вход сигнала е завершает обфускацион-ное преобразование схемы посредством создания фиктивного цикла.

3. Временной анализ и демпфирующие циклы

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

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

4. Реализация и использование ПЛИ

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

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

Для эффективного выполнения обфускации цифровой комбинационной схемы предлагаемым методом необходимо выполнение следующих условий:

• для формирования фиктивных циклов нужно выбирать пары узлов с ПЛИ между ними, отстоящие “далеко” друг от друга;

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

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

Поясним реальность выполнения условий а) и с). В работах [3],[4] был разработан быстрый алгоритм вычисления большого количества ПЛИ и было показано, что ПЛИ являются очень распространенным явлением в комбинационных схемах.

Отметим следующее достоинство предлагаемого метода: описанный алгоритм генерации ПЛИ использовался при анализе помехоустойчивости цифровых схем. Информация о ПЛИ неизвестна алгоритмам и программам восстановления Булевой функции и верификации цифровых

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

5. Особенности применения метода обфускации к схемам на ПЛИС и СБМК

В отличие от схем, спроектированных на основе библиотек стандартных ячеек (таких как NAND, NOR, AOI и т.п.), кристаллы ПЛИС и СБМК содержат большие массивы универсальных логических модулей (УЛМ). Каждый УЛМ для формирования комбинационных блоков содержит, как правило, две поисковые таблицы (LUT = Look-up Table). Каждая LUT может настраиваться (в ПЛИС - электрически, в СБМК - с помощью металлической разводки) на вычисление Булевой функции четырех или менее аргументов [9].

Для выполнения обфускации схемы мы также формируем ряд демпфирующих циклов на основе результатов логического и временного анализа. Однако алгоритм вычисления ПЛИ выглядит здесь несколько иначе. Поскольку каждая LUT -то произвольная Булева функция, то для вычисления ПЛИ мы сначала формируем для этой функции BDD (диаграмму двоичных решений) и производим распространение ПЛИ через эти BDD [9]. В конце концов мы оставляем только ПЛИ между входами и выходами LUT, которые и используем для формирования демпфирующих циклов.

6. Результаты численных экспериментов

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

• Два или более демпфирующих цикла могут иметь общую часть.

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

Результаты численных экспериментов для ряда схем из набора ISCAS-85 даны в Таблице 1. Для каждой схемы приведены число первичных входов и первичных выходов, глубина схемы (т.е. длина критического пути в LUT), количество LUT в схеме. В последних трех столбцах приведен рост числа транзисторов в схеме при введении соответственно пяти, десяти и двадцати демпфирующих циклов (ДЦ). Из табл. 1 видно, что цена обфускации схемы реального размера вполне приемлема.

Таблица 1.

Результаты численных экспериментов (пояснения в тексте).

схема #PI #PO глубина # LUT 5 ДЦ (%) 10 ДЦ (%) 20 ДЦ (%)

с432 36 7 11 82 5.9 10.2 27.1

с499 41 32 8 151 2.7 5.7 12.7

с1355 41 32 16 183 2.1 4.0 11.7

с1908 33 25 26 176 2.2 2.6 5.5

с2670 157 64 21 406 1.3 2.5 4.1

с3540 50 22 36 661 1.1 1.7 3.6

с5315 178 123 37 991 0.7 1.0 2.4

с6288 32 32 81 805 0.9 1.2 2.7

с7552 207 108 28 1341 0.6 0.9 1.9

7. Заключение

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

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

Литература

1. Barak B. et al., «On the (Im)possibility of obfuscating programs», Electronic Colloquium on Computational Complexity, 8(57), 2001, p.1-41.

2. Norman K. T., «Algorithms for white-box obfuscation using randomized subcircuit selection and replacement», Thesis, Air Force Institute of Technology, Ohio, 2008, 99 pp.

3. Glebov A., Gavrilov S., Blaauw D., Zolotov V., «False-noise analysis using logic implications», ACM Trans. On Design Automation of Electronic Systems (TODAES), 2002, v.7, №3, pp.474-498.

4. Гаврилов С. В., Глебов А. Л., Стемпковский А. Л., «Анализ помехоустойчивости цифровых схем на основе логических импликаций», Изв. ВУЗОВ, Электроника, 2002, №5, сс.60-67.

5. RiedelM. D., Bruck J., «The synthesis of cyclic combinational circuits», DAC-2003, pp.163-168.

6. RiedelM. D., «Cyclic combinational circuits», PhD Dissertation, California Institute of Technology,

2004.

7. Глебов А. Л., Гурарий М. М. и др. (под ред. Стемпковского А.Л.), «Актуальные проблемы моделирования в системах автоматизации схемотехнического проектирования», - М.: Наука, 2003. - 430 с.

8. Беспалов В. А., Глебов А. Л., Кононов А. Н., «Метод обфускации цифровых схем, основанный на использовании логических импликаций», Изв. ВУЗов, Электроника, 2011, принято к печати.

9. Грушвицкий Р. И., Мурсаев А. Х., Угрюмов Е. П., «Проектирование систем на микросхемах с программируемой структурой», СПб, БХВ-Петербург, 2006, 736с.

ПРОБЛЕМА ИЗМЕРЕНИЯ И ОЦЕНИВАНИЯ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ ОРГАНИЗАЦИИ

С. Л. Зефиров, к. т. н., зав. кафедрой Тел.:(8412) 56-35-11, e-mail: [email protected] Пензенский государственный университет, http://www.pnzgu.ru

Information security evaluation methods of an organization are analysed, an approach providing evaluation effectiveness increasing is considered.

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

Ключевые слова: информационная безопасность, оценка, риск.

Key words: information security, evaluation, risk

Стремление создать систему обеспечения информационной безопасности (СОИБ), адекватную целям информационной безопасности (ИБ) организации по обеспечению доступности, целостности и конфиденциальности информационных активов, приводит к необходимости проверки и оценки СОИБ, представляющей собой оценку защищённости активов в информационной сфере организации - оценку ИБ.

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

Целью данной работы является анализ методов оценки ИБ организации и определение метода оценки ИБ, способного оценить существующий уровень ИБ объекта и прогноз его развития, исходя из целей ИБ объекта и значимости аспектов обеспечения ИБ организации.

i Надоели баннеры? Вы всегда можете отключить рекламу.