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

 
 
15 страниц V  « < 4 5 6 7 8 > »   
Reply to this topicStart new topic
> Защита данных FPGA, Кто подскажет где почитать?
des00
сообщение May 25 2005, 06:06
Сообщение #76


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(kas @ May 25 2005, 00:14)
Вопрос стоял о защите интелектуальной собственности. В какой-то степени мне удалось защитить свою систему от простого копирования.
Если попытаться развивать дальше данное направление, но уже в сторону защиты исключительно аппаратной части (прошивки ПЛИС), то неисключено, что можно найти способ, который в значительной степени усложнит жизнь так называемым "копирам". В конечном итоге все будет определяться ценой и временем затраченными на подготовку к копированию продукта.

В принципе можно вообще залить всю плату "эпоксидкой" или чем-нибудь покрепче, тогда копировать даже прошивку ПЛИС станет несколько сложнее.
*

хмм вопрос стоял " Защита данных FPGA. ...". Я конечно понимаю что это входит во множество "защита интелектуальной собственности", но тем не менее согласитесь что это разные вещи.
Вам удалось защитить свою систему как говориться "от дурака", т.е. от грубого, не интелектуального копирования,причем ценой не нужного усложнения и использования ресурсов ПЛИС и МК. (почему я уже говорил).
Начет заливки платы чем нибудь - это пройденый этап, не работает.

А насчет цен так давно известно что основное правило взлома :
"Стоимость взлома информации должна быть много меньше стоимости самой информации " , иначе это не имеет комерческого смысла
smile.gif)


--------------------
Go to the top of the page
 
+Quote Post
kas
сообщение May 25 2005, 10:17
Сообщение #77


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

Группа: Свой
Сообщений: 77
Регистрация: 17-05-05
Из: Красноярск
Пользователь №: 5 108



Цитата(des00 @ May 25 2005, 14:06)
Вам удалось защитить свою систему как говориться "от дурака", т.е. от грубого, не интелектуального копирования,причем ценой не нужного усложнения и использования ресурсов ПЛИС и МК. (почему я уже говорил).
Начет заливки платы чем нибудь - это пройденый этап, не работает.
*


Вы считаете что можно защитить систему без усложнения программной и/или аппаратной части?
Go to the top of the page
 
+Quote Post
des00
сообщение May 25 2005, 10:54
Сообщение #78


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(kas @ May 25 2005, 05:17)
Вы считаете что можно защитить систему без усложнения программной и/или аппаратной части?
*


Нет я так не считаю, но мое ИМХО "стоимсть защиты информации должна быть ниже стоимостьи самой информации" иначе сие не имеет практического смысла.
ИМХО в вашем случае вы навернули сложную систему защиты(как по алгоритму, так и по ресурсам), в качестве системы защиты от дурака. ИМХО это не есть нерациональный подход. smile.gif


--------------------
Go to the top of the page
 
+Quote Post
kas
сообщение May 26 2005, 05:45
Сообщение #79


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

Группа: Свой
Сообщений: 77
Регистрация: 17-05-05
Из: Красноярск
Пользователь №: 5 108



Цитата(des00 @ May 25 2005, 18:54)
Нет я так не считаю, но мое ИМХО "стоимсть защиты информации должна быть ниже стоимостьи самой информации" иначе сие не имеет практического смысла.
ИМХО в вашем случае вы навернули сложную систему защиты(как по алгоритму, так и по ресурсам), в качестве системы защиты от дурака. ИМХО это не есть нерациональный подход. smile.gif
*


ИМХО. Ничего сложного в этой защите нет, и аппаратные ресурсы потрачены не зря. В добавок ко всему я получил достаточно гибкую систему (что являлось одним из требований ТЗ).
Go to the top of the page
 
+Quote Post
Андрей Харитонов
сообщение May 26 2005, 09:15
Сообщение #80


Участник
*

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



если я правильно понял, то kas просто рассказал нам как он реализовал метод 3.2
Цитата
3) Не закрывать прошивку FPGA, использовать внешнее "закрытое" устройство либо как часть проекта. либо как генератор ПСП, на основании работы которого принимать решение.
3.1) В качестве внешнего устройства использовать CPLD.
3.2) В качестве внешнего устройства использовать микроконтроллер.

по преложенной ранее 3.14 классификации
и естественно ни о какой "доконфигурации" здесь речи быть не может.
Go to the top of the page
 
+Quote Post
Guest_Pruga_*
сообщение Jun 3 2006, 11:16
Сообщение #81





Guests






Насущная потребность заставила меня поднять из под спуда эту тему. А тема актуальна и по сей день. Постановка задачи остается той же: необходимо обеспечить защиту прошивки ПЛИС, желательно более простыми методами. Немного поискав на сайте Xilinx'а обнаружил следующий документ: http://direct.xilinx.com/bvdocs/appnotes/xapp780.pdf

В документе описан способ защиты от копирования с использованием внешней EEPROM памяти, в которой хранится секретный ключ. Если говорить кратко то суть способа в следующем: на стадии разработки проекта в EEPROM записывается 64-бит секретный ключ, который считать обратно невозможно. В проект на FPGA добавляется некоторое устройство (IFF), которое хранит такой же ключ. После загрузки по открытому каналу, открытой прошивки в FPGA, IFF посылает некторую случ. послед. в EEPROM и шифрует ее же на секретном ключе (который зашивается вместе с прошивкой). EEPROM также шифрует принятую послед. на том же секретном ключе (используется алгоритм SHA-1) и возвращает обратно. IFF сравнивает полученную от EEPROM последовательность с вычисленной ранее, если они сходятся - выдает сигнал глобального разрешения работы проекта.
Примеры кода на VHDL для такого способа организации защиты также приводятся. http://www.xilinx.com/bvdocs/appnotes/xapp780.zip

Итак в качетсве дополнительного ресурса для защиты используется одна микросхема с возможностью шифровки данных (в очень миниатюрном корпусе - 2 вывода) и некоторый ресурс FPGA (100 Slices+1кб блочной памяти+1пин). Остается только оценить степень защищенности такого способа. Сможет ли гипотетический РЭинженер перехватив зашифрованную послед. расшифровать ключ?? Или подключив логический анализатор и перехватив конфигурационную прошивку извлечь ключ оттуда??
Go to the top of the page
 
+Quote Post
Maksim
сообщение Jun 3 2006, 12:38
Сообщение #82


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

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



Цитата(Pruga @ Jun 3 2006, 15:16) *
Насущная потребность заставила меня поднять из под спуда эту тему. А тема актуальна и по сей день. Постановка задачи остается той же: необходимо обеспечить защиту прошивки ПЛИС, желательно более простыми методами. Немного поискав на сайте Xilinx'а обнаружил следующий документ: http://direct.xilinx.com/bvdocs/appnotes/xapp780.pdf

В документе описан способ защиты от копирования с использованием внешней EEPROM памяти, в которой хранится секретный ключ. Если говорить кратко то суть способа в следующем: на стадии разработки проекта в EEPROM записывается 64-бит секретный ключ, который считать обратно невозможно. В проект на FPGA добавляется некоторое устройство (IFF), которое хранит такой же ключ. После загрузки по открытому каналу, открытой прошивки в FPGA, IFF посылает некторую случ. послед. в EEPROM и шифрует ее же на секретном ключе (который зашивается вместе с прошивкой). EEPROM также шифрует принятую послед. на том же секретном ключе (используется алгоритм SHA-1) и возвращает обратно. IFF сравнивает полученную от EEPROM последовательность с вычисленной ранее, если они сходятся - выдает сигнал глобального разрешения работы проекта.
Примеры кода на VHDL для такого способа организации защиты также приводятся. http://www.xilinx.com/bvdocs/appnotes/xapp780.zip

Итак в качетсве дополнительного ресурса для защиты используется одна микросхема с возможностью шифровки данных (в очень миниатюрном корпусе - 2 вывода) и некоторый ресурс FPGA (100 Slices+1кб блочной памяти+1пин). Остается только оценить степень защищенности такого способа. Сможет ли гипотетический РЭинженер перехватив зашифрованную послед. расшифровать ключ?? Или подключив логический анализатор и перехватив конфигурационную прошивку извлечь ключ оттуда??


А, где, вы, в FPGA собрались брать "некторую случ. послед"???


--------------------
qwerty
Go to the top of the page
 
+Quote Post
3.14
сообщение Jun 3 2006, 12:50
Сообщение #83


Их либе дих ...
******

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



2 Maksim
Дык ее должна генерировать корка-закрывашка, да даже если и самому прийдется, в чем особо сложность родить M-последовательность.


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
des00
сообщение Jun 3 2006, 12:54
Сообщение #84


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Все зависит от длинны ключа и длинны последовательности


--------------------
Go to the top of the page
 
+Quote Post
Maksim
сообщение Jun 3 2006, 13:03
Сообщение #85


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

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



Цитата(3.14 @ Jun 3 2006, 16:50) *
2 Maksim
Дык ее должна генерировать корка-закрывашка, да даже если и самому прийдется, в чем особо сложность родить M-последовательность.


Это уже не случайность smile.gif
Случайность, будет если при каждом загрузки FPGA последовательность будет разной, а для этого надо иметь память в FPGA , чтобы хотя-бы помнить что было раньше (или счётчик, на худой конец)
Или я чего-то не догоняю.... cranky.gif

вся защита тут держится на даласовской таблетке, а не на ПЛИСине.


--------------------
qwerty
Go to the top of the page
 
+Quote Post
3.14
сообщение Jun 3 2006, 13:27
Сообщение #86


Их либе дих ...
******

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



2 Maksim
Как это нет случайности smile.gif ...
После включения питания FPGA рожает, насколько я успел понять, псевдослучайную последовательность адресов, на основе ключа который "забит" в корке. На основе этого же ключа рождена прошивка EEPROM. После чтения данные сверяются и ...
Хотя может я чего сам не понял, потому как получается, записываем поток между FPGA<->EEPROM, отыскиваем данные которые вываливаются из EEPROM, потом контроллером имитируем саму EEPROM подставляя записанные двнные.
С другой стороны, "закрывашка" основана на PicoBlaze так что можно еще "сюрпризы" добавить.

А защиту, кроме как у виртекса, в самой FPGA не реализуешь.


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
Guest_Pruga_*
сообщение Jun 3 2006, 17:21
Сообщение #87





Guests






Цитата(Maksim @ Jun 3 2006, 15:38) *
А, где, вы, в FPGA собрались брать "некторую случ. послед"???
Случайную последовательность генерирует FPGA, для этого в устройстве, добавляемого к проекту есть ГСЧ. В файле с VHDL кодами сказано "This module generates a serial stream of random (not pseudorandom) bits" т.е что он генерирует не псевдослучайную а "true random" - "истинно" случайную (такое бывает?). Я пока не разобрался как работает этот генератор, прилагаю его код ниже.

Цитата(3.14 @ Jun 3 2006, 16:27) *
Хотя может я чего сам не понял, потому как получается, записываем поток между FPGA<->EEPROM, отыскиваем данные которые вываливаются из EEPROM, потом контроллером имитируем саму EEPROM подставляя записанные двнные.
При включении питания ПЛИС выдает каждый раз разную последовательность (генерируется ГСЧ). Следоваетельно и EEPROM возвращает каждый раз разный хэш. Поэтому идея с контролером сработает только если ГСЧ повторится, что по идеи должно быть исключено (или вероятность близка к 0).

Сообщение отредактировал Pruga - Jun 3 2006, 17:23
Прикрепленные файлы
Прикрепленный файл  RND.rar ( 2.27 килобайт ) Кол-во скачиваний: 373
 
Go to the top of the page
 
+Quote Post
Maksim
сообщение Jun 3 2006, 20:54
Сообщение #88


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

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



to 3.14

Ключ есть, полином есть, а сколько тактов это крутится?? Я так думаю каждый раз одинаковое количество раз. smile.gif

to Pruga

код я посмотрел - там полином и... указание и маршрут разводки 2-х цепей cranky.gif
и, что там есть неопределённость?
и ещё ... cRING1<=transport TO01(RING1) after tNET1+tILOX-100 ps;
это как понимать? blink.gif


--------------------
qwerty
Go to the top of the page
 
+Quote Post
des00
сообщение Jun 4 2006, 06:55
Сообщение #89


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Maksim @ Jun 3 2006, 15:54) *
to 3.14

Ключ есть, полином есть, а сколько тактов это крутится?? Я так думаю каждый раз одинаковое количество раз. smile.gif

to Pruga

код я посмотрел - там полином и... указание и маршрут разводки 2-х цепей cranky.gif
и, что там есть неопределённость?
и ещё ... cRING1<=transport TO01(RING1) after tNET1+tILOX-100 ps;
это как понимать? blink.gif


ХММ по идее это для моделирования, похоже они, ручной разводкой, играют на нарушении tsu, th тригеров и получают рандом smile.gif


--------------------
Go to the top of the page
 
+Quote Post
makc
сообщение Jun 4 2006, 07:41
Сообщение #90


Гуру
******

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



Цитата(des00 @ Jun 4 2006, 10:55) *
ХММ по идее это для моделирования, похоже они, ручной разводкой, играют на нарушении tsu, th тригеров и получают рандом smile.gif


Да, где-то уже мелькала идея реализации ФДСЧ в ПЛИС с помощью игры на задержках элементов. Там, если мне не изменяет память, предлагалось сделать генератор на ЛЯ ПЛИС и использовать его колебания периода (он будет нестабилен), для получения битов случайной последовательности. Но на сколько это будет качественная случайная последовательность сказать сложно.


--------------------
BR, Makc
В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 24th June 2025 - 01:22
Рейтинг@Mail.ru


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