|
|
  |
Защита данных FPGA, Кто подскажет где почитать? |
|
|
|
Apr 4 2005, 18:23
|
Участник

Группа: Свой
Сообщений: 53
Регистрация: 26-03-05
Пользователь №: 3 700

|
в обсуждении мелькал еще один способ: 3) конфигурация прогружается в ПЛИС, причем битстрим защищен от считывания, а при выключении питания конфигурация ПЛИС поддерживается с помощью аккумулятора Достоинства: - сильная защита данных Недостатки: - всякие геморрои с возможной потерей прошивки в процессе эксплуатации изделия
|
|
|
|
|
Apr 4 2005, 18:39
|
Участник

Группа: Свой
Сообщений: 53
Регистрация: 26-03-05
Пользователь №: 3 700

|
пока ответ писал, все сообщения в теме за последние дни слетели. udofin уже об этом глюке отписался. у кого-нибудь в кэше страничка последняя по теме на сохранилась?
|
|
|
|
|
Apr 6 2005, 14:45
|

Их либе дих ...
     
Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609

|
Итак, повтоюсь.
Эта тема возникает не в первый раз, поэтому предлагаю выделить, в качестве рекомендуемых, варианты. Добавить к этому опрос, кто как делал(делает) ну или кому какой вариант более симпатичен.
Способы защиты содержимого FPGA: 1) Использование семейств ПЛИС, в которых предусмотрена защита содержимого. Достоинства: Наивысшая степень защиты содержимого. Недостатки: (возможная) Смена производителя (среды разработки), большая стоимость. 2) Питание ядра всегда поддерживать (батарея, аккамулятор), ограничить доступ до JTAG пинов (использовать BGA или откусывать пины). Достоинства: Степень защиты близка к п.1. Недостатки: А вы сможете обеспечить такое питание? 3) Не закрывать прошивку FPGA, использовать внешнее "закрытое" устройство либо как часть проекта. либо как генератор ПСП, на основании работы которого принимать решение. 3.1) В качестве внешнего устройства использовать CPLD. 3.2) В качестве внешнего устройства использовать микроконтроллер. У третьего метода возможна тьма вариантов, но в любом случае, они сводятся к тому, что в FPGA входит N линий, а выходит M линий. Если предположить что имеем ПСП которую "невозможно" вычислить, все равно, можно записать состояние этих линий. Нужно учитывать объем данных передаваемых через эти линии, следить за тем чтоб он не был слишком маленький. Достоинства: Можно применить к любой FPGA. Недостатки: Меньшая степень защиты, время на разработку "закрывашки".
Кто что добавит, исправит?
--------------------
Усы, борода и кеды - вот мои документы :)
|
|
|
|
|
Apr 6 2005, 14:55
|

Гуру
     
Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904

|
Цитата(3.14 @ Apr 6 2005, 17:45) Итак, повтоюсь. Эта тема возникает не в первый раз, поэтому предлагаю выделить, в качестве рекомендуемых, варианты. Добавить к этому опрос, кто как делал(делает) ну или кому какой вариант более симпатичен. Способы защиты содержимого FPGA: [skipped] 2) Питание ядра всегда поддерживать (батарея, аккамулятор), ограничить доступ до JTAG пинов (использовать BGA или откусывать пины). Достоинства: Степень защиты близка к п.1. Недостатки: А вы сможете обеспечить такое питание? [skipped] Кто что добавит, исправит? Хочу добавить, что для этого способа возможно ограничение доступа к JTAG-принам при задании конфигурации некоторых видов ПЛИС. Так для Spartan 2 в опциях конфигурации пошивки есть возможность запретить Readback and Reconfiguration. (Хотя об этом в даташите ничего не написано).
--------------------
BR, Makc В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
|
|
|
|
|
Apr 7 2005, 12:00
|
Участник

Группа: Свой
Сообщений: 53
Регистрация: 26-03-05
Пользователь №: 3 700

|
тут пришла мысля по поводу еще одного способа - изменение всей/части прошивки в процессе работы кристалла. например если проект в каждый момент времени не использует все ресурсы кристалла, а по частям, то можно поставить проц, который будет в нужные моменты времени подгружать/перегружать части прошивки. Получается, что сдирание прошивки в любой момент времени даст частично работающую прошивку, а чтобы содрав все возможные прошивки все равно было не повторить устройство - в закрытом проце реализовать какой-нибудь хитрый алгоритм принятия решения - когда и какую часть прошивки менять Достоинства: вполне сносная защита + необычная Недостатки: трудно реализовать
Возможно конечно идея не выдержит критики
|
|
|
|
|
Apr 10 2005, 08:59
|
Участник

Группа: Свой
Сообщений: 53
Регистрация: 26-03-05
Пользователь №: 3 700

|
понятно, что предложенный способ не без сложностей, что блоки будут распылены, я поэтому в минусах указал сложность реализации, но: 1. не обязательно подменять блок целиком. его можно отключить, подтереть, подпортить,... Для этого не нужно огромное кол-во битстреймов, сделать блок неработоспособным требует изменения всего нескольких конфигурационных битов. техническая возможность найти как блок реализован в кристалле есть. 2. в предложенном способе фигурировала как вариант подмена всей прошивки, для чего не требуется лазить по кристаллу. 3. Еще раз хочу указать, что предложенный способ состоит из двух частей - в каждый момент времени прошивка кристалла не полнофункциональна - алгоритм и моменты изменения прошивки тоже не лежат на поверхности Исходя из этого хочется обсудить имеет ли данный способ право быть зачисленным в список несмотря на сложность или нет (например принципиальная невозможность его реализации, принципиальная несостоятельность ввиду необеспечния данным способом защиты или еще что нибудь)
|
|
|
|
|
Apr 11 2005, 07:35
|
Участник

Группа: Свой
Сообщений: 42
Регистрация: 24-12-04
Пользователь №: 1 658

|
Под №1 все-таки следует назвать (С)!
|
|
|
|
|
Apr 28 2005, 14:17
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 27-04-05
Из: Spb, Russia
Пользователь №: 4 544

|
Используйте ACTEL !!! Там этой проблемы вообще не возникает, т.к. ПЛИС не требуется загружать каждый раз при включении питания, и , таким образом, нельзя перехватить поток данных. (www.actel.com)
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|