|
|
  |
Защита данных FPGA, Кто подскажет где почитать? |
|
|
|
Oct 6 2010, 19:40
|
Участник

Группа: Validating
Сообщений: 36
Регистрация: 4-10-10
Пользователь №: 59 931

|
Цитата(Vitus @ Feb 2 2005, 12:12)  Ко всему вышесказанному стоит добавить одну немалоавжную вещь (которую между прочим рекомендует Зайлинкс) - делать на печатной плате или непомредственно на ИМС содержащей битстрим надпись типа "все права на копирование битстрима принадлежат...". Не такой уж и глупый совет между прочим поскольку реинжениринг по битстриму вещь весьма затруднительная если вообще возможная а использовать чужой битстрим в чистом виде в коммерческих целях даже у нас не станут (тем более если он заCOPYRIGHTен) Копирайты -- эт да, штука полезная. но только для особо крупных контор, где продажи конвейером идут и вложен уже не один милли[подставьте_сами] каких-нибудь денег. А по поводу деинженеринга -- абсолютно согласен. в 95%-тах случаев гораздо дешевле будет самому сделать, нежели ковыряться в битстримах  одно дело разобраться: что к чему?.. так ведь еще и дорабатывать нужно, а-ля "почувствуй себя Neo"  Такшта, подозреваю, особого смысла в ЭТОМ нет, а автор данного топика начал слишком уж преждевременно бояться за сохранность IP  Надеюсь, хотя бы обоснованно?
|
|
|
|
|
Oct 8 2010, 11:35
|
Участник

Группа: Участник
Сообщений: 72
Регистрация: 16-05-07
Пользователь №: 27 757

|
то есть скопировать в "свое" конф. ПЗУ чей-то битстрим не легко?
|
|
|
|
|
Oct 12 2010, 16:40
|
Группа: Новичок
Сообщений: 2
Регистрация: 22-05-09
Пользователь №: 49 423

|
А возможно ли вообще декомпилировать прошивку?
Суть вот в чем:
1. Ставим ROM с серийным номером на плату с плис 2. Пишем Tcl-скрипт для квартуса, который: - читает этот серийный номер через jtag ПЛИС; - генерит файлик *.v с этим серийным номером; - пересобирает проект и шьет ПЛИС; 3. Логика прошитая в ПЛИС при включении сравнивает считанный номер с прошитым, и если не они совпадают, блокирует работу основной программы.
По идее, если нельзя в битовом потоке подменить этот номер, то копировать устройство не получится.
|
|
|
|
|
Oct 12 2010, 20:53
|
Знающий
   
Группа: Свой
Сообщений: 614
Регистрация: 12-06-09
Из: рядом с Москвой
Пользователь №: 50 219

|
Цитата(stalker123 @ Oct 12 2010, 20:40)  2. Пишем Tcl-скрипт для квартуса, который: - читает этот серийный номер через jtag ПЛИС; - генерит файлик *.v с этим серийным номером; - пересобирает проект и шьет ПЛИС; Ну да - пересобирать в кактусе проект для каждого экземпляра устройства. Такое пойдёт только если устройств 10 штук в месяц выпускается  . А самое главное, что считать код из РОМ и записать его в РОМ клона не проблема - тут даже китайцев нанимать не нужно.
|
|
|
|
|
Oct 19 2010, 07:18
|
Группа: Новичок
Сообщений: 3
Регистрация: 18-10-10
Пользователь №: 60 245

|
Кто подскажет формат sof файла.
|
|
|
|
|
Nov 2 2010, 10:34
|
Участник

Группа: Участник
Сообщений: 71
Регистрация: 14-11-07
Пользователь №: 32 325

|
Цитата(essev @ Sep 22 2010, 13:26)  А если рассматривать простое и недорогое (примерно 3000-4000 рублей) устройство логика, которого не сильно сложна, но тем не менее нужно его защитить от тупого копирования. ... Если нужно недорогое устройство с защитой от копирования, но не хочется заморачиваться со сложными алгоритмами и процедурами защиты, то возьмите FLASH ПЛИС Актел. В них встроена аппаратная защита от копирования.
|
|
|
|
|
Nov 4 2010, 14:19
|
Знающий
   
Группа: Свой
Сообщений: 614
Регистрация: 12-06-09
Из: рядом с Москвой
Пользователь №: 50 219

|
Цитата(_Макс @ Oct 29 2010, 15:28)  Меня также заинтересовала эта тема. Читал про DNA от Xilinx в Startan-3A и Spartan-6 (последний по большому счету интересуют). Как я понял там конфигурация жестко привязываться к некоему серийному номеру чипа, который можно прочитать (как снаружи так и изнутри), но нельзя изменить. Мое понимание верно? Нужно ли для каждого чипа пересобирать проект для соответствия конфигурации с уникальным номером чипа? Можно, например, использовать Microblaze и обновлять только содержимое его памяти в bit файле утилитой data2mem. Для пущей секретности DNA в коде лучше в явном виде не хранить, а хранить его зашифрованную версию, а алгоритм дешифрации и сравнения с DNA реализовать аппаратно или вообще весь код программы шифровать.
|
|
|
|
|
Nov 9 2010, 21:48
|
Участник

Группа: Свой
Сообщений: 73
Регистрация: 9-08-10
Из: Украина
Пользователь №: 58 828

|
Цитата(Shtirlits @ Nov 4 2010, 16:25)  Для меня удивительно, почему так пугает перспектива менять прошивку ради каждого экземпляра. Даже переразводка делается без участия человека. Накупил (арендовал) компьютеров, зарядил скрипт, изготовил сколько нужно экземпляров прошивки и применяй для контроля производства. а если проект критичен к расстановке и трассировке??? то добавляются проблемы с тестированием, гарантии того что после очередного пересобирания проекта все заработает все меньше и меньше. Такая вариативность конечно рано или поздно найдет все баги в проекте, но кому это нужно. Про актель можете и не говорить, пытался с альтеры перелезть на актель, с ихним глючным и тупым сапром поразвлекался, плюс правило что все триггеры нужно сбрасывать внешним ресетом, а если забыл какой сбросить, то может быть как в 1 так и в 0, в общем не определен после подачи питания. В актеле хотите память чем-то проинициализировать, а не получится, так что актель безнадежно отстал. И главное их купило микросеми и будет сворачивать производство ПЛИСов которые болжны были конкурировать с альтерой и ксаилинксом.
|
|
|
|
|
Nov 10 2010, 00:33
|
Знающий
   
Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905

|
QUOTE (DW0 @ Nov 10 2010, 00:48)  а если проект критичен к расстановке и трассировке??? То как он у вас работает? Чудом? Такое видел на fpga Atmel, у них САПР глючный и о коммерческой разработке речь идти не может. Вся прелесть технологии в том, чтобы функционально отлаженная схема разводилась в всегда работающую, либо выдавались нарушения констрейнов. Ну да, их придется сделать. Переразводить и тыкать осциллографом каждый раз - не годится. Ладно, допустим, что разводка не является проблемой: констрейны 100%, компьютеры арендуются, можно сгенерить прошивок столько, сколько экземпляров и это будет дешевле утечки прошивки. Как защищаться? Что может отличаться от экземпляра к экземпляру на плате и в fpga, что трудно скопировать? Только номерные микросхемы (DNA, http://www.maxim-ic.com/products/1-wire/authentication.cfm) ? Вот бы найти что-то очень дешевое, но неповторимое!
|
|
|
|
|
Nov 15 2010, 08:11
|
Знающий
   
Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737

|
Цитата(Shtirlits @ Nov 10 2010, 03:33)  Как защищаться? Что может отличаться от экземпляра к экземпляру на плате и в fpga, что трудно скопировать? Только номерные микросхемы (DNA, http://www.maxim-ic.com/products/1-wire/authentication.cfm ? Вот бы найти что-то очень дешевое, но неповторимое! Незачем экземпляры делать разными. В приведенных микросхемах вся суть не в уникальном идентификаторе, а ключе, который работает только на запись и движке SHA. Если не хочется покупать у них микросхемы, сделайте такую же на любом грошовом контроллере. В этой теме пробегала ссылка на документ от Xilinx по организации защиты и ИМХО это наиболее дешевый и действенный метод.
|
|
|
|
|
Feb 23 2011, 12:11
|
Участник

Группа: Участник
Сообщений: 38
Регистрация: 1-02-07
Пользователь №: 24 959

|
Переведу на русский предыдущего оратора. Внутрь ПЛИС загоняется модуль генерирующий ключи. Снаружи ставится однократно программируемый микроконтроллер с аналогичным алгоритмом генерации. ПЛИС пишет числа в алгоритм генерации ключей как во внутренний модуль так и в микроконтроллер, периодически считывает ХЭШ из последнего и сравнивает с внутренним. Если ХЭШи не совпадают - баста. Для нормальной работы достаточно одного пина ПЛИС. Алгоритм генерации ключей должен иметь длину сходимости в несколько лет.
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|