Научная статья на тему 'Защита кода проекта для ультразвуковых медицинских приборов, построенных на плис типа FPGA, при помощи генератора ПСП'

Защита кода проекта для ультразвуковых медицинских приборов, построенных на плис типа FPGA, при помощи генератора ПСП Текст научной статьи по специальности «Электротехника, электронная техника, информационные технологии»

CC BY
339
55
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
PLIC (PROGRAMMABLE LOGIC INTEGRATED CHIP) / PRSG (PSEUDORANDOM SEQUENCE GENERATOR) / УЛЬТРАЗВУКОВЫЕ МЕДИЦИНСКИЕ СКАНЕРЫ / ЗАЩИТА / ПРОГРАММИРУЕМАЯ ЛОГИЧЕСКАЯ ИНТЕГРАЛЬНАЯ СХЕМА (ПЛИС) / ГЕНЕРАТОР ПСЕВДОСЛУЧАЙНОЙ ПОСЛЕДОВАТЕЛЬНОСТИ (ГПСП) / ULTRASONIC MEDICAL SCANNERS / PROTECTION

Аннотация научной статьи по электротехнике, электронной технике, информационным технологиям, автор научной работы — Гладкий Павел Васильевич

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

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

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

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

Programmable logic integrated chips (PLIC) are widely used in designing and manufacturing of ultrasonic medical scanners. It is a combination of logic elements and memory located at the same chip. In this paper the author offers a project protection mechanism realized at FPGA PLIC, based on the interaction of the mentioned PLIC with PLIC of CPLD type, and providing the device nonoperability when the interaction does not meet a certain criterion. The application of pseudorandom sequence generator (PRSG) is a good solution of the problem. To realization the protection mechanism it is offered to use two identical PRS generators (PRSG) simultaneously set in start state (by command from FPGA PLIC) and clocked from the same clock generator. The outlets of these PRSGs are combined per scheme excluding OR and locked at trigger clocked by frequency front of which is shifted relative to the frequency front clocking PRSG. Such solution will allow to avoid problems concerning time of propagation in scheme and to get stable level at trigger outlet when sequences of PRSG at FPGA and CPLD PLIC are identical.

Текст научной работы на тему «Защита кода проекта для ультразвуковых медицинских приборов, построенных на плис типа FPGA, при помощи генератора ПСП»

УДК 615.471

П. В. Гладкий

ЗАЩИТА КОДА ПРОЕКТА ДЛЯ УЛЬТРАЗВУКОВЫХ МЕДИЦИНСКИХ ПРИБОРОВ, ПОСТРОЕННЫХ НА ПЛИС ТИПА FPGA,

ПРИ ПОМОЩИ ГЕНЕРАТОРА ПСП

Введение

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

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

ПЛИС можно классифицировать по многим параметрам. С точки зрения защиты информации их можно подразделить на ПЛИС типа FPGA, конфигурация которой хранится во внешнем устройстве (например, ПЗУ), и ПЛИС типа CPLD, сохраняющих конфигурацию во встроенном энергонезависимом ЭППЗУ. ПЛИС типа FPGA обладают лучшим соотношением ресурсоемкость/стоимость, поэтому их использование предпочтительно для реализации проектов на базе ПЛИС.

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

Для защиты проекта, основанного на ПЛИС типа FPGA, существует несколько решений, как конструктивных, так и аппаратных. К первым, например, относятся механизмы затруднения физического доступа к цепям конфигурирования ПЛИС, а именно расположение этих цепей во внутренних слоях печатной платы и применение ПЛИС с корпусами типа BGA (выводы расположены под корпусом). Аппаратные средства защиты предполагают наличие в схеме элемента с так называемым битом секретности, например ПЗУ, микроконтроллер или ПЛИС типа CPLD. Содержимое такого элемента нельзя считывать существующими стандартными средствами программирования таких устройств.

Применение генератора псевдослучайной последовательности

В данной работе предлагается механизм защиты проекта, реализованного на ПЛИС FPGA, основанный на взаимодействии указанной ПЛИС с ПЛИС типа CPLD и обеспечивающий неработоспособность устройства при неудовлетворении такого взаимодействия некоему критерию.

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

Приемлемым решением представляется применение генератора псевдослучайной последовательности (ГПСП) [1]. Такие генераторы строятся на основе регистра сдвига с обратной связью. На вход регистра (MSb) подается результат XOR п-го и выходного (LSb) т-го разрядов регистра сдвига.

Значения т и п позволяют добиться максимальной длины цикла N (число возможных состояний регистра ПСП), как показано в табл. 1.

Таблица 1

Число возможных состояний регистра ПСП

m n N

3 2 7

4 3 і5

5 3 Зі

б 5 бЗ

7 б і27

9 5 5іі

іО 7 і 023

іі 9 2 047

і5 і4 32 7б7

і7 і4 іЗі 07і

і8 іі 2б2 і43

20 і7 і 048 575

2і і9 2 097 і5і

22 2і 4 і94 303

23 і8 8 388 б07

25 22 33 554 43і

28 25 2б8 435 455

29 27 53б 870 9іі

Зі 28 2 і47 483 б47

33 20 8 589 934 59і

Размер регистра сдвига также может быть выбран кратным восьми. В этом случае требуется более двух точек подключения обратной связи [1] (табл. 2).

Таблица 2

Число возможных состояний регистра ПСП (кратное восьми)

m Т очки подключения, ni ... n3 Длина, N

8 4, 5, б 255

іб 4, іЗ, і5 б5 535

24 і7, 22, 23 і б772і5

Рассмотрим пример реализации генератора ПСП и механизма защиты кода, построенного на основе данного генератора.

Генератор формирования псевдослучайных последовательностей (М-последовательностей) может быть реализован в виде параметризованной макрофункции [2], описывающей устройство, упрощенная структура которого показана на рис. і. Параметрами макрофункции являются длина характеристического многочлена и число, описывающее начальные состояния триггеров.

Данная функция имеет следующие входы и выходы: М - шина (группа выводов) с размером M_WIDTH. На этот вход подаются коэффициенты характеристического многочлена; CLK -вход тактового сигнала; GENA - вход разрешения генерации. При GENA = «О» генерация М-последовательности запрещена; LOAD - вход предустановки. При LOAD = «і» триггеры регистра сдвига устанавливаются в состояние, определяемое параметром M_BEGIN; OUT - выход М-последовательности.

Рис. і. Генератор формирования М-последовательностей

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

•regenerate

н>-

<тЕНА>—

LQADX^

CLX.X-

Рис. 2. Графический символ-элемент M_GENERATE

На основе функции M_GENERATE создан параметризованный ГПСП с параметрами, задающими длину многочлена (m в табл. 1), конфигурацию обратной связи (табл. 1, 2) и начальное значение start. Такой ГПСП является законченным элементом, предназначенным для встраивания в ПЛИС (рис. 3).

Рис. 3. Генератор псевдослучайной последовательности

На рис. 4 приведена схема, поясняющая работу предлагаемого комплекса защиты. Для решения проблемы задержек при генерации сигналов различными ГПСП и сравнения их результатов предлагается использовать метод двухфазной синхронизации [3].

Рис. 4. Схема комплекса защиты ПЛИС

Элемент ^с1к, структурная схема которого приведена на рис. 5, предназначен для генерации двух тактовых сигналов, фронты которых сдвинуты на половину периода.

Рис. 5. Элемент ^с1к

На рис. 6 приведена временная диаграмма работы комплекса, реализованного на двух ГПСП.

Name:

Value:

250.0ns 500.0ns 750.0ns 1.0 и s

■ elk

■ load outa outy outx outxl outx2

о 1 0 МШИШИИШИИ!

0 1 1 1 1

0

0

0

1 ШШ:;; TJ L

Н 4

Рис. 6. Временная диаграмма работы комплекса защиты ПЛИС

Один из ГПСП расположен в ПЛИС типа СРЬБ, информация в которой защищена битом секретности, другой - в ПЛИС типа БРОЛ, проект на основе которой мы хотим защитить. В ПЛИС типа БРОЛ находится также модуль &&1к, логический элемент исключающее ИЛИ и триггер для фиксации сигнала логического элемента. При совпадении последовательностей, генерируемых обеими ГПСП, на выходе триггера постоянно будет присутствовать логический ноль (выход оШ:х на временной диаграмме рис. 6). Этот постоянный уровень можно подать на сигнал общего сброса защищаемого проекта. При отсутствии одного из ГПСП (заземленный вход второго элемента исключающее ИЛИ) или несоответствии генерируемой последовательности исходной (ГПСП с другими параметрами и третий элемент исключающее ИЛИ на рис. 4) на выходе (оШ:х1 и оШ:х2) присутствует сигнал, сбрасывающий систему (рис. 4).

Заключение

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

СПИСОК ЛИТЕРАТУРЫ

1. Хоровиц П., Хилл У. Искусство схемотехники. - М.: Мир, 1986.

2. Стешенко В. М. Школа схемотехнического проектирования устройств обработки сигналов // Компоненты и технологии. - 2001. - № 1. - С. 16.

3. Потемкин И. С. Функциональные узлы цифровой автоматики. - М.: Энергоатомиздат, 1986. - 320 с.

Статья поступила в редакцию 8.10.2009

PROJECT CODE PROTECTION FOR ULTRASONIC MEDICAL DEVICES,

DESIGNED AT PLIC OF FPGA TYPE,

WITH THE HELP OF PRS GENERATOR

P. V. Gladkiy

Programmable logic integrated chips (PLIC) are widely used in designing and manufacturing of ultrasonic medical scanners. It is a combination of logic elements and memory located at the same chip. In this paper the author offers a project protection mechanism realized at FPGA PLIC, based on the interaction of the mentioned PLIC with PLIC of CPLD type, and providing the device nonoperability when the interaction does not meet a certain criterion. The application of pseudorandom sequence generator (PRSG) is a good solution of the problem. To realization the protection mechanism it is offered to use two identical PRS generators (PRSG) simultaneously set in start state (by command from FPGA PLIC) and clocked from the same clock generator. The outlets of these PRSGs are combined per scheme excluding OR and locked at trigger clocked by frequency front of which is shifted relative to the frequency front clocking PRSG. Such solution will allow to avoid problems concerning time of propagation in scheme and to get stable level at trigger outlet when sequences of PRSG at FPGA and CPLD PLIC are identical.

Key words: ultrasonic medical scanners, protection, PLIC (programmable logic integrated chip), PRSG (pseudorandom sequence generator).

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