Засекречивание проектов ИСПС
· Курс «Информационные технологии
· в проектировании ЭВС»
· Лекция №7
· «Засекречивание проектов ИСПС»
7. Засекречивание проектов
Проблема защиты интеллектуальной собственности для многих вариантов микросхем программируемой логики приобретает особую остроту. Имея дело с программируемыми схемами, во многих случаях легко воспользоваться плодами чужого труда, т. к. при этом не потребуется что-либо разрабатывать и изготовлять, а нужно лишь получить сведения о содержимом памяти конфигурации и затем загрузить их в готовую микросхему, купленную у поставщика. Возможности легкой кражи проектов создают большой соблазн для недобросовестных людей, которых следовало бы называть просто ворами, но мы, во избежание бытового оттенка изложения, назовем их взломщиками.
Взломщики могут преследовать цели простого неосознанного дублирования чужих проектов для получения работающих схем без знания их внутреннего устройства. Такое дублирование называют клонированием проектов (Cloning). Более сложна задача расшифровки чужих проектов с раскрытием их архитектуры и деталей реализации. Такую операцию можно назвать реконструкцией проектов (Reverse-engineering), для нее подходит и встречающийся иногда термин "реинжиниринг". Имея реконструированный проект, можно внести в него какие-либо несущественные изменения и попытаться обойти вопросы лицензирования.
Уязвимость микросхем программируемой логики по отношению к клонированию или реконструкции проектов зависит от характера проекта и схемотехнологии микросхемы.
Рекомендуемые материалы
В начале развития программируемых микросхем, когда они были представлены простыми комбинационными ПЛМ и ПМЛ, проекты можно было реконструировать, подавая на схему все возможные комбинации входных сигналов и фиксируя соответствующие им выходные комбинации сигналов. Из полученных сведений можно вывести булевы функции, воспроизводимые схемой, и, следовательно, реконструировать ее в соответствующем логическом базисе.
Более сложные схемы программируемой логики, практически, не поддаются такому методу реконструкции. Они имеют большое число вводов/выводов, назначение которых заранее не известно (например, у двунаправленных выводов). Уже одно это создает очень большие сложности для логического анализа проектов, т. к. неизвестно, подавать ли на вывод входной сигнал, снимать ли с него выходной сигнал, или же использовать его поочередно в обоих вариантах. Сложность внутренней структуры микросхем, наличие в них фрагментов, являющихся последовательностными схемами, и различных встроенных функций чрезвычайно затрудняют логический анализ проектов.
Для клонирования проектов нужно раздобыть сведения о содержимом памяти конфигурации микросхемы (битовом потоке конфигурирования). По возможностям защиты этой информации от несанкционированного доступа микросхемы разных схемотехнологий существенно различаются.
Однократно программируемые БИС/СБИС с пробиваемыми при конфигурировании перемычками наиболее защищены от взлома. Для их эксплуатации битовый поток конфигурирования не нужен, поскольку программирование перемычек завершается на стадии изготовления микросхемы. В распоряжении взломщика находится лишь сам кристалл. Для раскрытия проекта требуется определить состояние всех перемычек, получив для каждой ответ на вопрос "замкнута-разомкнута". Это чрезвычайно трудно сделать по следующим причинам. Число перемычек очень велико (сотни тысяч). Наблюдением поверхности кристалла нельзя выявить не только состояние перемычек, но и их местоположение, т. к. по виду они не отличаются от простого пересечения шин. Чтобы рассмотреть перемычку и определить ее состояние (наличие проводящей нити), нужно сделать в ней несколько поперечных срезов, а это, вероятнее всего, разрушит остальную часть кристалла. Таким образом, для выявления состояний всех перемычек потребуется испортить столько кристаллов, сколько перемычек имеется на каждом из них. Задаваясь вопросом, есть ли проекты, ценность раскрытия которых оправдает затраты на их взлом, можно ответить, что возможность раскрытия проекта в данных ситуациях есть категория скорее теоретическая, чем практическая.
Описанная ситуация касается микросхем фирмы Actel с перемычками PLICE (ONO), фирмы QuickLogic с перемычками типа ViaLink, фирмы Xilinx с перемычками типа Micro Via.
Репрограммируемые БИС/СБИС с энергонезависимой памятью конфигурации (EPROM, EEPROM, Flash) в рабочих режимах также не используют файлы конфигурирования. Взломщик, как и в предыдущем случае, имеет в своем распоряжении сам кристалл, в котором скрыта информация о проекте. Чтение памяти конфигурации может быть запрещено битом секретности, сбросить который можно только при операции стирания всего содержимого этой памяти (заметим, что в литературе имеются сведения о случаях проникновения в запертую память конфигурации с помощью специальных электрических режимов микросхемы). Исследовать сам кристалл проще, чем кристалл с перемычками, но также очень нелегко. Если предположить, что расположение транзисторов с плавающими затворами, состояния которых программируются, известно или может быть визуально определено, то задача раскрытия проекта сводится к исследованию состояний каждого из многих тысяч или даже миллионов транзисторов. Наличие или отсутствие заряда в плавающем затворе можно выявить без разрушения кристалла несколькими способами. Заряды создают электрические поля, которые можно обнаруживать специальными методами, можно использовать также электронный микроскоп или материалы, накладываемые на кристалл и изменяющие цвет под воздействием электрических полей. Трудоемкость и стоимость исследования состояний плавающих затворов остаются все же очень высокими, и подобные исследования имеют смысл только для высокоценных проектов.
Далее, даже если станут известны местоположение и состояния всех транзисторов, то для простого клонирования проекта нужно транслировать эти сведения в битовый поток конфигурирования БИС/СБИС, а для реконструкции проекта еще и в саму схему. Решение этих задач очень сложно, поэтому схемы с энергонезависимой памятью конфигурации можно считать хорошо, хотя и не абсолютно, защищенными от взлома.
Самыми уязвимыми для взломщиков являются БИС/СБИС программируемой логики с триггерной памятью конфигурации, которую нужно загружать при каждом включении питания от внешнего источника хранимых данных. Для клонирования проекта достаточно прочитать содержимое этой внешней памяти и использовать его для конфигурирования клонов. Установление соответствия недокументированного битового потока конфигурирования и внутренней структуры схемы (реконструкция проекта) является более сложным, но не считается невозможным.
С целью повышения защищенности проектов, в первую очередь для БИС/СБИС с триггерной памятью конфигурации, принимается ряд мер: организационных, юридических, конструктивных и др.
К организационным мерам можно отнести договоренность с поставщиком о поставке немаркированных кристаллов, что эффективно затрудняет попытки взлома проектов.
Информация в лекции "4.3 Организация интерфейсов" поможет Вам.
К юридическим мерам можно отнести встраивание в проект некоторого недокументированного идентификатора (например, инициалов автора проекта).
К конструктивным мерам можно отнести покрытие кристалла и его связей с другими кристаллами непроницаемым слоем (например, эпоксидной смолой). Естественно, это имеет и отрицательные последствия, не позволяя в дальнейшем дорабатывать проект и ухудшая тепловой режим кристалла. Сходен с этим прием размещения трассы передачи битового потока конфигурирования между энергонезависимой памятью и микросхемой в скрытых внутренних слоях печатной платы.
Можно вообще обойтись без энергонезависимой памяти конфигурирования, если вместо нее разместить на плате автономный источник питания (литиевую батарею), который будет сохранять запрограммированную конфигурацию в самой триггерной памяти микросхемы. Однако в этой ситуации потребуются специальные схемы для изоляции источника автономного питания от всех цепей, кроме памяти конфигурации, что увеличивает площадь кристалла и снижает его быстродействие. Кроме того, при истощении батареи схема все же разрушится. Разрушение может произойти и от мгновенной потери питания вследствие удара, действия помехи и т. д.
В качестве приема защиты проекта используется и разделение его между частями с триггерной и энергонезависимой памятью конфигурации при наличии в обеих частях одного и того же уникального идентификатора, который должен согласовываться.
Можно использовать в ПЛИС с энергонезависимой и с триггерной памятью конфигурации сдвигающих регистров с линейными обратными связями, причем первая ПЛИС имеет целью только разрешать работу второй. Сложность расшифровки функционирования сдвигающего регистра связана с его структурой и разрядностью.
Существуют и другие возможности затруднить процесс взлома проектов, реализованных в БИС/СБИС программируемой логики.