|
Защита данных FPGA, Кто подскажет где почитать? |
|
|
|
Feb 1 2005, 14:52
|
Участник
Группа: Свой
Сообщений: 49
Регистрация: 12-01-05
Пользователь №: 1 912
|
Интересуют книги/статьи и т.п. по обеспечению защиты прошивки ПЛИС. Буду очень признателен также за дополнительные комментарии. Насколько слышал краем уха для защиты используется дополнительный CPLD. Я в этих вопросах новичок, так что просьба ногами не пинать Заранее спасибо
|
|
|
|
|
Feb 2 2005, 07:16
|
Участник
Группа: Свой
Сообщений: 49
Регистрация: 12-01-05
Пользователь №: 1 912
|
Странно, что все настолько не продумано. Ведь при разработке некоторых устройств затрачиваются безумные деньги. При этом, насколько я понял, любой маломальски опытный ПЛИСовец с легкостью может сдуть и декомпилировать прошивку?!
Неужели ни одна из компаний не заморачивалась по сабжу? Первое, что приходит в голову - внутри ПЛИС прописывается серийный номер, к которому привязывается все остальное. Ну вариантов может быть много...
Вопрос к корифеям, работающим в компаниях - как вы защищаете IP в ваших разработках? Неужели никак?
|
|
|
|
|
Feb 2 2005, 07:24
|
Гуру
Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904
|
Цитата(prom @ Feb 2 2005, 10:16) Неужели ни одна из компаний не заморачивалась по сабжу? Первое, что приходит в голову - внутри ПЛИС прописывается серийный номер, к которому привязывается все остальное. Ну вариантов может быть много... Ну почему же ничего не сделано. Есть Actel ProASIC, у которых можно поставить бит защиты от чтения прошивки и все. После этого конфигурацию ПЛИС "сдуть" не получится. У них эта технология называется FlashLock. А для ксайлинкса и альтеры можно придумать следующее решение: конфигурация прогружается в ПЛИС, причем чтение конфигурации аппаратно запрещено (соответсвующими управляющими данными в прошивке), а при выключении питания конфигурация ПЛИС поддерживается с помощью небольшой батарейки, которая осуществляет питание в отсутствии основного питания устройства. ПЛИС в режиме ожидания потребляет совсем немного, так что батарейки должно хватить на несколько лет, а ведь можно поставить аккумулятор, который будет заряжаться во время работы устройства.
--------------------
BR, Makc В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
|
|
|
|
|
Feb 2 2005, 07:42
|
Местный
Группа: Свой
Сообщений: 267
Регистрация: 11-11-04
Из: Одесса
Пользователь №: 1 103
|
Цитата(makc @ Feb 2 2005, 10:24) А для ксайлинкса и альтеры можно придумать следующее решение: конфигурация прогружается в ПЛИС, причем чтение конфигурации аппаратно запрещено (соответсвующими управляющими данными в прошивке), а при выключении питания конфигурация ПЛИС поддерживается с помощью небольшой батарейки, которая осуществляет питание в отсутствии основного питания устройства. ПЛИС в режиме ожидания потребляет совсем немного, так что батарейки должно хватить на несколько лет, а ведь можно поставить аккумулятор, который будет заряжаться во время работы устройства. А аккумулятор в BIOS тоже должен садится через несколько лет а я встречал потерю настроек даже на новых материнских платах. Что произойдет если всетаки батарейка сядет и прошивка сотрется? Как востанавливать устройство? Вести к производителю? Это не решение проблемы. Об этом должны заботится компании производители FPGA. Скажите а что за технология у ALTERA - LogicLock? Спасибо
|
|
|
|
|
Feb 2 2005, 07:46
|
Участник
Группа: Новичок
Сообщений: 23
Регистрация: 18-11-04
Из: Чернигов, Украина
Пользователь №: 1 167
|
У Xilinx в новых сериях (начиная с Virtex II Pro помоему) защита основавается на шифровании прошивки (Triple DES) , ключ для расшифровки хранится в самой ПЛИС. при прошивке сама плис декодирует поток. Ключ считать нельзя. Таким образом даже если снять образ флеши или промки с прошивкой - в другую ПЛИС без ключа ее не зашьеш и не декомпилируеш . Минус технологии в необходимости внешней батарейки для потдержания памяти ключа.
--------------------
WBR KNK
|
|
|
|
|
Feb 2 2005, 08:21
|
Местный
Группа: Свой
Сообщений: 234
Регистрация: 3-10-04
Из: Кукуево-Дальнее
Пользователь №: 767
|
Цитата(Hilter @ Feb 2 2005, 10:46) У Xilinx в новых сериях (начиная с Virtex II Pro помоему) С Virtex II есть такая фича
|
|
|
|
|
Feb 2 2005, 08:36
|
Участник
Группа: Свой
Сообщений: 56
Регистрация: 21-10-04
Пользователь №: 943
|
FPGA + (CPLD с битом защиты и полиномом), вполне достаточно, чтобы отбить охоту у желающих скопировать. Окончательно вопрос решается: 1. StratixII – во внешней памяти хранится криптованная прошивка. При загрузке в FPGA она декриптуется ключом (128 бит, если не ошибаюсь), который в свою очередь непосредственно прошивается во внутреннюю флэш FPGA. Ключ, разумеется, считать нельзя. Конечно, StratixII - для серьезных проектов 2. Попроще – MAXII (от 240 до 2210 LCELL, внутренняя флэш с битом секретности) Как-то я задавал такой вопрос на семинаре. Суть ответа примерно такова: не актуально!
|
|
|
|
|
Feb 2 2005, 08:38
|
Местный
Группа: Свой
Сообщений: 258
Регистрация: 3-08-04
Пользователь №: 434
|
Цитата(Serega Doc @ Feb 2 2005, 10:42) Скажите а что за технология у ALTERA - LogicLock? Спасибо Eto ne w temu - LogicLock pozwoljaet "zamorozitj" otrabotannyj fragment proekta w FPGA, i ne menjatj ego trassirowku pri wseh posledujushih kompiljacijah proekta
|
|
|
|
|
Feb 2 2005, 09:02
|
Местный
Группа: Свой
Сообщений: 267
Регистрация: 11-11-04
Из: Одесса
Пользователь №: 1 103
|
Цитата(Andy-P @ Feb 2 2005, 11:36) Попроще – MAXII (от 240 до 2210 LCELL, внутренняя флэш с битом секретности) А кто подскажет пределы стоимости MAX II
|
|
|
|
|
Feb 2 2005, 09:12
|
Участник
Группа: Свой
Сообщений: 42
Регистрация: 24-12-04
Пользователь №: 1 658
|
Ко всему вышесказанному стоит добавить одну немалоавжную вещь (которую между прочим рекомендует Зайлинкс) - делать на печатной плате или непомредственно на ИМС содержащей битстрим надпись типа "все права на копирование битстрима принадлежат...". Не такой уж и глупый совет между прочим поскольку реинжениринг по битстриму вещь весьма затруднительная если вообще возможная а использовать чужой битстрим в чистом виде в коммерческих целях даже у нас не станут (тем более если он заCOPYRIGHTен)
|
|
|
|
|
Feb 10 2005, 15:06
|
Частый гость
Группа: Свой
Сообщений: 164
Регистрация: 27-06-04
Пользователь №: 194
|
Цитата(yes @ Feb 9 2005, 18:09) кстати с полиномом совет весьма вредный - есть так называемая рекурентная процедура Берликемпа-Месси (вроде так), да и вообще можно самому догадаться (пусть менее элегантным способом), которая восстанавливает полином длинны N по потоку 2N. с линейными вычислительными затратами (то есть удлиннение полинома не приводит к усложнению декодирования) по-хорошему - надо ставить какие-то готовые элементы (которые криптографически проверены) минималистический - что-то типа Keloq посерьезнее DES с каким-то генератором (хотя может это тоже плохо - нужно дать криптографам на анализ, если секретность - серьезная проблема) А кто вам даст эти 2N? - если N~300 и сранение идёт по нескольким битам(которыми обмениваются микроконтроллер и FPGA), то как вы собираетесь востановить основание полинома? главное чтобы микрокнтроллер имел на каждое влючение питание новое значение на входе полинома, например,счётчик.
--------------------
qwerty
|
|
|
|
|
Feb 21 2005, 09:47
|
Группа: Новичок
Сообщений: 1
Регистрация: 21-02-05
Пользователь №: 2 791
|
Есть один способ, правда он не относится к проблеме защиты данных, а скорее, к борьбе с неплательщиками и пиратами Известно, что у ПЛИС фирмы Xilinx имеют так называемую шину с тремя состояниями(глобальную). Далее: Цитата Неправильное функционирование общей шины, когда несколько источников с разными уровнями подключаются к шине, может вывести ПЛИС из строя. САПР ПЛИС тщательно проверяет, чтобы спроектированная общая шина функционировала правильно. Поэтому не рекомендуется ручное редактирование файла прошивки, так как случайная ошибка в коде может привести к неправильной работе общей шины и порче ПЛИС. Так вот -если уж монтировать внешнюю микросхему для защиты кода(IMHO лучшее решение это не CPLD. а дешевый МК с битом защиты, на него мнооого функций можно еще привесить ) то ничто не мешает поставить и счетчик запусков(времени работы и проч.) который, после запроса пароля-ключа и неправильного ответа, просто сожжет ПЛИС, загрузив , предварительно отредактированный вручную "неправильный" кусочек кода Особенно полезно при продаже не готовых изделий, а чистых программ и ядер... Ник
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|