Аппаратная обфускация
Аппаратная обфускация — это метод, с помощью которого описание или структура электронного оборудования модифицируется для намеренного сокрытия его функциональности , что значительно затрудняет обратное проектирование. Другими словами, аппаратная обфускация изменяет проект таким образом, что полученная архитектура становится неочевидной для злоумышленника. [1] Аппаратная обфускация может быть двух типов в зависимости от целевой аппаратной платформы: (a) Аппаратная обфускация ядра DSP — этот тип обфускации выполняет определенные преобразования высокого уровня в представлении графа потока данных ядра DSP для преобразования его в неизвестную форму, которая отражает неочевидная архитектура на уровне RTL или шлюза. Этот тип запутывания также называется « структурным запутыванием» . Другой тип метода обфускации ядра DSP называется « Функциональная обфускация» . Он использует комбинацию блоков блокировки ядра AES и IP (ILB) для блокировки функциональности ядра DSP с помощью ключевых битов. Без применения правильной последовательности клавиш ядро DSP либо выдает неправильный вывод, либо вообще не выдает никаких результатов. [2] (б) Комбинационная/последовательная аппаратная обфускация — этот тип обфускации вносит изменения в структуру уровня вентиля самой схемы. [3] [4]
По сути, он отличается от цифровых водяных знаков (когда право собственности скрыто в самом цифровом контенте) или от водяных знаков аппаратной интеллектуальной собственности (IP). [5] где информация о владельце встроена и скрыта в описании схемы . Он также отличается от методов аппаратной IP-защиты на основе криптографии, распространенных в процессе проектирования программируемой вентильной матрицы . [6] [7]
Важность аппаратных водяных знаков возросла в последние годы из-за широкого внедрения методов проектирования аппаратного обеспечения на основе IP для современных интегральных схем (ИС), таких как системы на кристаллах (SoC). Основные проблемы безопасности, связанные с аппаратными IP-адресами, включают: (a) нарушение прав интеллектуальной собственности на аппаратное обеспечение во время проектирования SoC; (b) провести обратный инжиниринг изготовленных ИС или базы данных проектов ИС (на производственных предприятиях) для производства поддельных или клонов ИС; и (c) злонамеренные модификации IP-адреса путем внедрения аппаратного трояна, вызывающего функциональный сбой в полевых условиях . Аппаратная обфускация направлена на минимизацию этих угроз на уровне IP или чипа, затрудняя злоумышленнику понимание фактической функциональности конструкции.
Методы аппаратной обфускации можно разделить на две основные категории: (а) «пассивные» методы, которые не влияют напрямую на функциональность электронной системы , и (б) «активные» методы, которые напрямую изменяют функциональность системы. . Часто методы активной аппаратной обфускации «основаны на ключах», так что нормальная функциональность запутанной конструкции может быть включена только путем успешного применения одного заранее определенного ключа или последовательности секретных ключей на входе; в противном случае схема работает в режиме, который демонстрирует неправильную функциональность. Это можно сделать, встроив в схему хорошо скрытый конечный автомат (FSM) для управления функциональными режимами на основе применения ключа. Техника активной аппаратной обфускации на основе ключей в принципе аналогична криптографическим подходам с закрытым ключом для защиты информации , поскольку «последовательность ключей» для запутанной конструкции играет ту же роль, что и криптографический ключ. Этот метод может применяться на разных уровнях описания аппаратного обеспечения, а именно при проектировании уровня шлюза или уровня передачи регистров (RTL), и, следовательно, может использоваться для защиты программных, твердых и жестких IP-ядер. [8] Обфускация также может помочь эффективно скрыть функции безопасности в ИС и, таким образом, обеспечить защиту ИС от подделки и клонирования на производственных объектах. [9]
Напротив, пассивные методы модифицируют описание схемы в мягкой форме (например, синтаксические изменения), так что читателю становится трудно понять функциональность схемы. Эти подходы обычно используют либо замену строк (включая изменение имени переменной, удаление комментариев и т. д.), [10] или структурное изменение в на языке описания оборудования описании схемы (HDL) (включая развертывание цикла , переименование регистров и т. д.). [11] Основным недостатком пассивных подходов является то, что они не изменяют функциональность «черного ящика» схемы и, следовательно, не могут предотвратить потенциальное использование IP в качестве «черного ящика» в проекте. Более того, фактическая сила такой пассивной обфускации является спорной, поскольку, как правило, обфускации черного ящика не существует, по крайней мере, для программ, вычисляющих определенные математические функции . [12]
Аппаратные водяные знаки можно использовать в сочетании с аппаратной обфускацией. В запутанном дизайне водяные знаки могут быть эффективным средством обеспечения второй линии защиты от попыток нелицензионного копирования. [13]
Исторический контекст
[ редактировать ]Аппаратная обфускация в вычислениях, вероятно, берет свое начало с центральных процессоров мэйнфреймов , в основном произведенных IBM в 1960-х и 1970-х годах. IBM, чтобы сохранить некоторое конкурентное преимущество, внедрила секретные коды операций, которые будут использоваться только операционной системой с закрытым исходным кодом на мэйнфрейме. [ нужна ссылка ]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Анирбан Сенгупта, Дипанджан Рой, Сараджу Моханти, Питер Коркоран «Защита конструкции DSP в CE посредством структурной обфускации на основе алгоритмических преобразований», IEEE Transactions on Consumer Electronics, том 63, выпуск 4, ноябрь 2017 г., стр: 467–476
- ^ Анирбан Сенгупта, Дипак Качаве, Дипанджан Рой «Бюджетная функциональная обфускация многоразовых IP-ядер, используемых в оборудовании CE, посредством надежной блокировки», Транзакции IEEE по компьютерному проектированию интегральных схем и систем (TCAD), 2018
- ^ Анирбан Сенгупта, Дипанджан Рой «Защита ядра интеллектуальной собственности во время архитектурного синтеза с использованием обфускации на основе высокоуровневого преобразования» IET Electronics Letters, том: 53, выпуск: 13, июнь 2017 г., стр. 849–851
- ^ М. Ясин, Дж. Раджендран, О. Синаноглу и Р. Карри. «О повышении безопасности логических блокировок». Транзакции IEEE по автоматизированному проектированию интегральных схем и систем 35, вып. 9 (2016): 1411-1424
- ^ Э. Кастильо, У. Мейер-Безе, А. Гарсия, Л. Парилла и А. Льорис: «IPP @ HDL: эффективная схема защиты интеллектуальной собственности для IP-ядер», IEEE Transactions on VLSI, 16 (5), 2007 г. .
- ^ Xilinx Corporation: «Оценка IP Xilinx», [1] Архивировано 20 сентября 2010 г. в Wayback Machine , 2009 г.
- ^ М. Виртлин и Б. МакМертри: «IP-доставка для FPGA с использованием апплетов и JHDL», Конференция по автоматизации проектирования (DAC), 2002.
- ^ Р.С. Чакраборти и С. Бхуния: «Аппаратная IP-защита RTL с использованием управления на основе ключей и запутывания потока данных», Международная конференция по проектированию очень крупномасштабной интеграции (VLSID), 2010.
- ^ Дж. Рой, Ф. Кушанфар и И. Л. Марков: «EPIC: положить конец пиратству в области интегральных схем», Проектирование, автоматизация и испытания в Европе (ДАТА), 2008.
- ^ Семейство Чащи из Source Come Obfuscators
- ^ М. Бжозовский и В. Н. Ярмолик: «Обфускация как защита интеллектуальных прав на языке VHDL», Международная конференция по компьютерным информационным системам и приложениям промышленного управления (CISIM), 2007.
- ^ Б. Барак, О. Гольдрайх, Р. Импальяццо, С. Рудич, А. Сахай, С. П. Вадхан и К. Янг: «О (не) возможности запутывающих программ», Криптологическая конференция по достижениям в криптологии (CRYPTO), 2001.
- ^ Р. С. Чакраборти и С. Бхуния: «ГАРПУН: методология проектирования SoC на основе обфускации для защиты оборудования», IEEE Trans. по САПР интегральных схем и систем (TCAD), 2009.