реклама на сайте
подробности

 
 
15 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> Защита данных FPGA, Кто подскажет где почитать?
prom
сообщение Feb 1 2005, 14:52
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 49
Регистрация: 12-01-05
Пользователь №: 1 912



Интересуют книги/статьи и т.п. по обеспечению защиты прошивки ПЛИС. Буду очень признателен также за дополнительные комментарии. Насколько слышал краем уха для защиты используется дополнительный CPLD. Я в этих вопросах новичок, так что просьба ногами не пинать blush.gif

Заранее спасибо
Go to the top of the page
 
+Quote Post
Maksim
сообщение Feb 1 2005, 23:26
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 164
Регистрация: 27-06-04
Пользователь №: 194



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


--------------------
qwerty
Go to the top of the page
 
+Quote Post
prom
сообщение Feb 2 2005, 07:16
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 49
Регистрация: 12-01-05
Пользователь №: 1 912



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

Неужели ни одна из компаний не заморачивалась по сабжу? Первое, что приходит в голову - внутри ПЛИС прописывается серийный номер, к которому привязывается все остальное. Ну вариантов может быть много...

Вопрос к корифеям, работающим в компаниях - как вы защищаете IP в ваших разработках? Неужели никак?
Go to the top of the page
 
+Quote Post
makc
сообщение Feb 2 2005, 07:24
Сообщение #4


Гуру
******

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



Цитата(prom @ Feb 2 2005, 10:16)
Неужели ни одна из компаний не заморачивалась по сабжу? Первое, что приходит в голову - внутри ПЛИС прописывается серийный номер, к которому привязывается все остальное. Ну вариантов может быть много...
*


Ну почему же ничего не сделано. Есть Actel ProASIC, у которых можно поставить бит защиты от чтения прошивки и все. После этого конфигурацию ПЛИС "сдуть" не получится. У них эта технология называется FlashLock.

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


--------------------
BR, Makc
В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
Go to the top of the page
 
+Quote Post
Serega Doc
сообщение Feb 2 2005, 07:42
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 267
Регистрация: 11-11-04
Из: Одесса
Пользователь №: 1 103



Цитата(makc @ Feb 2 2005, 10:24)
А для ксайлинкса и альтеры можно придумать следующее решение: конфигурация прогружается в ПЛИС, причем чтение конфигурации аппаратно запрещено (соответсвующими управляющими данными в прошивке), а при выключении питания конфигурация ПЛИС поддерживается с помощью небольшой батарейки, которая осуществляет питание в отсутствии основного питания устройства. ПЛИС в режиме ожидания потребляет совсем немного, так что батарейки должно хватить на несколько лет, а ведь можно поставить аккумулятор, который будет заряжаться во время работы устройства.
*


А аккумулятор в BIOS тоже должен садится через несколько лет а я встречал потерю настроек даже на новых материнских платах.

Что произойдет если всетаки батарейка сядет и прошивка сотрется?
Как востанавливать устройство? Вести к производителю? Это не решение проблемы. Об этом должны заботится компании производители FPGA.

Скажите а что за технология у ALTERA - LogicLock?

Спасибо smile.gif
Go to the top of the page
 
+Quote Post
vetal
сообщение Feb 2 2005, 07:45
Сообщение #6


Гуру
******

Группа: Модераторы
Сообщений: 2 095
Регистрация: 27-08-04
Из: Россия, СПб
Пользователь №: 553



Все что я могу сказать прзащиту срам фпга, это то, что она отсутствует как таковая. И единственный способ защиты у них (как указывалось выше)- это батарейка. А хоть раз в жизни произойдет такая ситуация, когда эта конфигурация сбросится. И что делать в этом случае?
Конфигурацию этих типов плис сможет снять любой, путем чтения потока.
Так что нужно переходить на не срам, или плисины с интегрированным шифрованием потока.
Go to the top of the page
 
+Quote Post
Hilter
сообщение Feb 2 2005, 07:46
Сообщение #7


Участник
*

Группа: Новичок
Сообщений: 23
Регистрация: 18-11-04
Из: Чернигов, Украина
Пользователь №: 1 167



У Xilinx в новых сериях (начиная с Virtex II Pro помоему) защита основавается на шифровании прошивки (Triple DES) , ключ для расшифровки хранится в самой ПЛИС. при прошивке сама плис декодирует поток. Ключ считать нельзя. Таким образом даже если снять образ флеши или промки с прошивкой - в другую ПЛИС без ключа ее не зашьеш и не декомпилируеш smile.gif. Минус технологии в необходимости внешней батарейки для потдержания памяти ключа.


--------------------
WBR KNK
Go to the top of the page
 
+Quote Post
Uuftc
сообщение Feb 2 2005, 08:21
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 234
Регистрация: 3-10-04
Из: Кукуево-Дальнее
Пользователь №: 767



Цитата(Hilter @ Feb 2 2005, 10:46)
У Xilinx в новых сериях (начиная с Virtex II Pro помоему)
*

С Virtex II есть такая фича
Go to the top of the page
 
+Quote Post
Andy-P
сообщение Feb 2 2005, 08:36
Сообщение #9


Участник
*

Группа: Свой
Сообщений: 56
Регистрация: 21-10-04
Пользователь №: 943



FPGA + (CPLD с битом защиты и полиномом), вполне достаточно, чтобы отбить охоту у желающих скопировать. twak.gif

Окончательно вопрос решается:

1. StratixII – во внешней памяти хранится криптованная прошивка. При загрузке в FPGA она декриптуется ключом (128 бит, если не ошибаюсь), который в свою очередь непосредственно прошивается во внутреннюю флэш FPGA. Ключ, разумеется, считать нельзя. Конечно, StratixII - для серьезных проектов

2. Попроще – MAXII (от 240 до 2210 LCELL, внутренняя флэш с битом секретности)

Как-то я задавал такой вопрос на семинаре. Суть ответа примерно такова: не актуально!
Go to the top of the page
 
+Quote Post
Igor_S
сообщение Feb 2 2005, 08:38
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 258
Регистрация: 3-08-04
Пользователь №: 434



Цитата(Serega Doc @ Feb 2 2005, 10:42)
Скажите а что за технология у ALTERA - LogicLock?

Спасибо  smile.gif
*


Eto ne w temu - LogicLock pozwoljaet "zamorozitj" otrabotannyj fragment proekta w FPGA, i ne menjatj ego trassirowku pri wseh posledujushih kompiljacijah proekta
Go to the top of the page
 
+Quote Post
Serega Doc
сообщение Feb 2 2005, 09:02
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 267
Регистрация: 11-11-04
Из: Одесса
Пользователь №: 1 103



Цитата(Andy-P @ Feb 2 2005, 11:36)
Попроще – MAXII (от 240 до 2210 LCELL, внутренняя флэш с битом секретности)
*


А кто подскажет пределы стоимости MAX II
Go to the top of the page
 
+Quote Post
Vitus
сообщение Feb 2 2005, 09:12
Сообщение #12


Участник
*

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



Ко всему вышесказанному стоит добавить одну немалоавжную вещь (которую между прочим рекомендует Зайлинкс) - делать на печатной плате или непомредственно на ИМС содержащей битстрим надпись типа "все права на копирование битстрима принадлежат...". Не такой уж и глупый совет между прочим поскольку реинжениринг по битстриму вещь весьма затруднительная если вообще возможная а использовать чужой битстрим в чистом виде в коммерческих целях даже у нас не станут (тем более если он заCOPYRIGHTен)
Go to the top of the page
 
+Quote Post
yes
сообщение Feb 9 2005, 15:09
Сообщение #13


Гуру
******

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



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

по-хорошему - надо ставить какие-то готовые элементы (которые криптографически проверены)
минималистический - что-то типа Keloq
посерьезнее DES с каким-то генератором (хотя может это тоже плохо - нужно дать криптографам на анализ, если секретность - серьезная проблема)
Go to the top of the page
 
+Quote Post
Maksim
сообщение Feb 10 2005, 15:06
Сообщение #14


Частый гость
**

Группа: Свой
Сообщений: 164
Регистрация: 27-06-04
Пользователь №: 194



Цитата(yes @ Feb 9 2005, 18:09)
кстати с полиномом совет весьма вредный -
есть так называемая рекурентная процедура Берликемпа-Месси (вроде так), да и вообще можно самому догадаться (пусть менее элегантным способом), которая восстанавливает полином длинны N по потоку 2N. с линейными вычислительными затратами (то есть удлиннение полинома не приводит к усложнению декодирования)

по-хорошему - надо ставить какие-то готовые элементы (которые криптографически проверены)
минималистический - что-то типа Keloq
посерьезнее DES с каким-то генератором (хотя может это тоже плохо - нужно дать криптографам на анализ, если секретность - серьезная проблема)
*


А кто вам даст эти 2N? - если N~300 и сранение идёт по нескольким битам(которыми обмениваются микроконтроллер и FPGA), то как вы собираетесь востановить основание полинома? главное чтобы микрокнтроллер имел на каждое влючение питание новое значение на входе полинома, например,счётчик.


--------------------
qwerty
Go to the top of the page
 
+Quote Post
Wyvern
сообщение Feb 21 2005, 09:47
Сообщение #15





Группа: Новичок
Сообщений: 1
Регистрация: 21-02-05
Пользователь №: 2 791



Есть один способ, правда он не относится к проблеме защиты данных, а скорее, к борьбе с неплательщиками и пиратами smile.gif
Известно, что у ПЛИС фирмы Xilinx имеют так называемую шину с тремя состояниями(глобальную).
Далее:
Цитата
Неправильное функционирование общей шины, когда несколько источников с разными уровнями подключаются к шине, может вывести ПЛИС из строя. САПР ПЛИС тщательно проверяет, чтобы спроектированная общая шина функционировала правильно. Поэтому не рекомендуется ручное редактирование файла прошивки, так как случайная ошибка в коде может привести к неправильной работе общей шины и порче ПЛИС.

Так вот -если уж монтировать внешнюю микросхему для защиты кода(IMHO лучшее решение это не CPLD. а дешевый МК с битом защиты, на него мнооого функций можно еще привесить smile.gif ) то ничто не мешает поставить и счетчик запусков(времени работы и проч.) который, после запроса пароля-ключа и неправильного ответа, просто сожжет ПЛИС, загрузив , предварительно отредактированный вручную "неправильный" кусочек кода smile3046.gif
Особенно полезно при продаже не готовых изделий, а чистых программ и ядер... wink.gif

Ник
Go to the top of the page
 
+Quote Post

15 страниц V   1 2 3 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th April 2024 - 15:49
Рейтинг@Mail.ru


Страница сгенерированна за 0.04001 секунд с 7
ELECTRONIX ©2004-2016