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

 
 
> Design Security Features in Altera FPGA
doom13
сообщение Apr 9 2014, 07:33
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Здравствуйте!
Возник вопрос защиты проекта для FPGA (Cyclone 5, режим конфигурации - AS). Почитал an556 “Using the Design Security Features in Altera FPGAs” и “Configuration, Design Security, and Remote System Upgrades in Cyclone V Devices” от Altera, как-то не совсем понятен весь процесс защиты проекта. Согласно даташиту, необходимо сформировать зашифрованный, с использованием ключа, файл прошивки для flash-a, залить ключ в FPGA, далее при включении питания будет грузиться зашифрованная прошивка.
Вопрос:
1. Каким образом формируется файл зашифрованной прошивки? Например, предполагается первый раз залить прошивку при помощи SFL, т.е. необходимо сформировать зашифрованный jic-файл. Используем “Convert Programming File”, в опциях для sof-файла выбираем : Generate encrypted bitstream; Generate key gramming file x.ekp; вводим key жмём ОК. Полученный jic-файл и есть зашифрованный при помощи ключа? Полученный ekp-файл – encryption key programming file (необходим для прошивки ключа в FPGA)?
2. Каким образом прошивается сам ключ? Необходимо залить ekp-файл? Или сконвертить его в jam, svf, jbc и потом залить?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
doom13
сообщение Apr 15 2014, 14:41
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Похоже опция "Configure volatile design security key when available" и отвечает за генерацию volatile ключа. Попробовал его прошивать, похоже, работает. Первый раз ключ прошивается, при попытке повторной прошивки ругается на наличие ключа. Полностью работоспособность проверить не могу, батарея не была предусмотрена. Для non-volatile key необходим либо ethernet-blaster, либо какой-то программер от JTAG Technologies.

Остался вопрос по поводу установки tamper-protection bit, что бы могла грузиться только зашифрованная прошивка, или это только у Альтеры можно узнать?

Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Apr 15 2014, 15:26
Сообщение #3


Лентяй
******

Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843



Цитата(doom13 @ Apr 15 2014, 17:41) *
Остался вопрос по поводу установки tamper-protection bit, что бы могла грузиться только зашифрованная прошивка, или это только у Альтеры можно узнать?

Для взведения Tamper protection bit нужно иметь специальный ini-файл, который должен быть помещен в папку ..\bin или ..\bin64 квартуса.
При наличии такого файла будет формироваться ekp со взведенным тампер протекшеном.
Бросьте мне сообщения в личку, их есть у меня sm.gif

Кстати, взвести Tamper protection bit можно только таким способом. C помощью jam-скриптов, например, его взвести не получится. А вот проверить, взведен он или нет - можно sm.gif


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
doom13
сообщение Feb 18 2015, 11:34
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(Stewart Little @ Apr 15 2014, 18:26) *
Для взведения Tamper protection bit нужно иметь специальный ini-файл, который должен быть помещен в папку ..\bin или ..\bin64 квартуса.
При наличии такого файла будет формироваться ekp со взведенным тампер протекшеном.

Тут ещё вопрос. Сгенерированный с ini файлом ключ - это тот же volatile с возведённым Tamper Protection (мой программер не умеет этот бит возводить,а в свойствах не отображается опция ON)
или это non_volatile (что мой программер так же не умеет прошивать), но как они тогда между собой отличаются. Т.е., как тогда понять по файлу ключа - это volatile или non-volatile?

Больше склоняюсь к тому, что с ini генерится non-volatile с Tamper Protection = OFF, но как оно на самом деле? И как тогда поднять Tamper Protection (повторюсь с вопросом)?

Цитата(Stewart Little @ Feb 18 2015, 14:26) *
Увы, быстро не обещаю - завал на работе до вторника.

Пока это и не горит, просто может понадобиться в обозримом будущем и хотелось бы поставить точку в данном вопросе.
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Feb 18 2015, 12:56
Сообщение #5


Лентяй
******

Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843



Цитата(doom13 @ Feb 18 2015, 14:34) *
Тут ещё вопрос. Сгенерированный с ini файлом ключ - это тот же volatile с возведённым Tamper Protection (мой программер не умеет этот бит возводить,а в свойствах не отображается опция ON) или это non_volatile (что мой программер так же не умеет прошивать), но как они тогда между собой отличаются. Т.е., как тогда понять по файлу ключа - это volatile или non-volatile?

Не претендую на абсолютную истину, но склероз мне подсказывает следующее:
в ekp-файле прописаны обе опции - и volatile, и non-volatile. Какой из этих вариантов загружать - определяется в программере, галкой "Configure volatile design security key when available".

Цитата
Больше склоняюсь к тому, что с ini генерится non-volatile с Tamper Protection = OFF, но как оно на самом деле? И как тогда поднять Tamper Protection (повторюсь с вопросом)?

Нет, на так!!!
С ini-файлом всегда генерится ekp-файл c взведенным Tamper Protection.
Но про галку в опциях программере при этом не забывайте.
Здесь по поводу Non-volatile key with Tamper Protection вопросов нет.
А вот по поводу Volatile key with Tamper Protection - все зависит от используемого семейства ПЛИС : "The volatile key tamper-protection is only available for Arria II, Arria V, Cyclone V, and Stratix V devices".



Цитата(doom13 @ Feb 18 2015, 15:43) *
Остаются вопросы:
1) Каким образом тогда выбирается volatile key или non-volatile key? Или если будет "нормальный" программатор, то должна появиться опция выбора типа ключа?

Выше рассказал.

Цитата
2) Что такое Security Bit в окне Quartus II Programmer?

Это из другой оперы. Это опции файла. Если девайс имеет Security Bit (например MAX3000A или MAX II), то программирующий файл может быть создан со взведенным битом защиты (необходимость этого указывается в "Device and Pin options", емнип.


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
doom13
сообщение Feb 18 2015, 13:32
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(Stewart Little @ Feb 18 2015, 15:56) *
Не претендую на абсолютную истину, но склероз мне подсказывает следующее:
в ekp-файле прописаны обе опции - и volatile, и non-volatile. Какой из этих вариантов загружать - определяется в программере, галкой "Configure volatile design security key when available".

Похоже это так. Когда сгенерил ключ без Tamper Protection он заливается USB-Blaster-ом.
При прошивке пишет:
Цитата
Info (209060): Started Programmer operation at Wed Feb 18 16:21:20 2015
Info (209017): Device 1 contains JTAG ID code 0x02B140DD
Info (209024): Programming device 1
Info (209011): Successfully performed operation(s)
Info (209061): Ended Programmer operation at Wed Feb 18 16:21:20 2015


Если второй раз попробуем залить ключ:
Цитата
Info (209060): Started Programmer operation at Wed Feb 18 16:21:41 2015
Info (209005): Programming status: Device 1 has already had a volatile design security key successfully programmed for optional-secure bitstream configuration. It can accept both secured and unsecured configuration bitstreams
Info (209017): Device 1 contains JTAG ID code 0x02B140DD
Info (209024): Programming device 1
Info (209011): Successfully performed operation(s)
Info (209061): Ended Programmer operation at Wed Feb 18 16:21:42 2015


Если снять галку "Configure volatile design security key when available", то начинает ругаться:
Цитата
Info (209060): Started Programmer operation at Wed Feb 18 16:26:36 2015
Info (209005): Programming status: Current hardware doesn't support security key programming
Error (209012): Operation failed
Info (209061): Ended Programmer operation at Wed Feb 18 16:26:36 2015

Долго не мог вспомнить, где находится эта галка (Tools->Options->Programmer).

Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- doom13   Design Security Features in Altera FPGA   Apr 9 2014, 07:33
- - doom13   Ещё вопрос, если заливается файл jam или ekp, а в ...   Apr 9 2014, 08:57
|- - doom13   Цитата(Stewart Little @ Apr 15 2014, 18:2...   Apr 16 2014, 07:18
||- - Stewart Little   Цитата(doom13 @ Apr 16 2014, 10:18) Если ...   Apr 16 2014, 12:19
||- - doom13   Цитата(Stewart Little @ Apr 16 2014, 15:1...   Apr 16 2014, 12:26
||- - Stewart Little   Цитата(doom13 @ Apr 16 2014, 15:26) Спаси...   Apr 21 2014, 11:05
||- - doom13   Цитата(Stewart Little @ Apr 21 2014, 14:0...   Apr 21 2014, 11:59
||- - Stewart Little   Цитата(doom13 @ Apr 21 2014, 14:59) ... q...   Apr 21 2014, 12:26
||- - doom13   Цитата(Stewart Little @ Apr 21 2014, 15:2...   Apr 21 2014, 12:39
||- - Stewart Little   Цитата(doom13 @ Apr 21 2014, 15:39) Я так...   Apr 21 2014, 12:51
||- - doom13   Цитата(Stewart Little @ Apr 21 2014, 15:5...   Apr 21 2014, 12:55
- - yes   2Stewart Little поясните, пожалуйста, не высылая i...   Apr 17 2014, 16:16
|- - Stewart Little   Цитата(yes @ Apr 17 2014, 19:16) планирую...   Apr 17 2014, 17:12
|- - doom13   Цитата(Stewart Little @ Apr 17 2014, 20:1...   Apr 18 2014, 07:13
||- - Stewart Little   Цитата(doom13 @ Apr 18 2014, 10:13) В дат...   Apr 18 2014, 14:38
||- - Stewart Little   Цитата(Stewart Little @ Apr 18 2014, 17:3...   May 15 2014, 13:15
||- - EugeneS   QUOTE (Stewart Little @ May 15 2014, 16:1...   May 18 2014, 07:42
|- - yes   Цитата(Stewart Little @ Apr 17 2014, 21:1...   Apr 18 2014, 12:53
- - doom13   Приветствую. Пришлось вспомнить старую тему - надо...   Feb 18 2015, 09:28
|- - Stewart Little   Цитата(doom13 @ Feb 18 2015, 12:28) Т.е. ...   Feb 18 2015, 10:30
|- - doom13   Цитата(Stewart Little @ Feb 18 2015, 13:3...   Feb 18 2015, 10:40
|- - Stewart Little   Цитата(doom13 @ Feb 18 2015, 13:40) Это -...   Feb 18 2015, 11:26
- - doom13   Нашёл часть ответов на свои вопросы. Сначала нашёл...   Feb 18 2015, 12:43
- - doom13   Затестил работу для volatile ключа. Батарейки на п...   Feb 18 2015, 14:50
- - doom13   Использование volatile key кажется менее надёжным,...   Feb 18 2015, 18:20
- - Golikov A.   Представьте на схеме батарейка, может аккумулятор ...   Feb 19 2015, 07:23
|- - Stewart Little   Цитата(Golikov A. @ Feb 19 2015, 10:23) П...   Feb 19 2015, 08:55
|- - doom13   Цитата(Golikov A. @ Feb 19 2015, 10:23) П...   Feb 19 2015, 09:44
|- - Stewart Little   Цитата(doom13 @ Feb 19 2015, 12:44) Для ч...   Feb 19 2015, 09:52
- - jks   А в чем причина невозможности использования старог...   Feb 19 2015, 09:17
|- - Stewart Little   Цитата(jks @ Feb 19 2015, 12:17) ... или ...   Feb 19 2015, 09:47
||- - jks   Цитата(Stewart Little @ Feb 19 2015, 12:4...   Feb 19 2015, 10:31
||- - Stewart Little   Цитата(jks @ Feb 19 2015, 13:31) Если из ...   Feb 19 2015, 11:42
||- - jks   [quote name='Stewart Little' date='Feb...   Feb 19 2015, 12:20
||- - doom13   Цитата(jks @ Feb 19 2015, 15:20) Батарей...   Feb 19 2015, 12:28
||- - jks   Цитата(doom13 @ Feb 19 2015, 15:28) Батар...   Feb 19 2015, 12:42
||- - doom13   Цитата(jks @ Feb 19 2015, 15:42) Вот эту ...   Feb 19 2015, 12:58
||- - jks   Цитата(doom13 @ Feb 19 2015, 15:48) Эта ц...   Feb 19 2015, 13:05
||- - doom13   Цитата(jks @ Feb 19 2015, 16:05) Т.е. для...   Feb 19 2015, 13:10
||- - jks   Цитата(doom13 @ Feb 19 2015, 16:10) Нет, ...   Feb 19 2015, 13:38
||- - doom13   Цитата(jks @ Feb 19 2015, 16:38) Ну я так...   Feb 19 2015, 13:52
|||- - jks   Цитата(doom13 @ Feb 19 2015, 16:52) Да, с...   Feb 19 2015, 14:28
||- - Stewart Little   Цитата(jks @ Feb 19 2015, 16:38) То есть ...   Feb 19 2015, 14:39
||- - jks   Цитата(Stewart Little @ Feb 19 2015, 17:3...   Feb 19 2015, 15:17
|- - doom13   Цитата(jks @ Feb 19 2015, 12:17) А в чем ...   Feb 19 2015, 09:47
- - Golikov A.   ЦитатаЭто всего лишь хороший способ прострелить се...   Feb 19 2015, 10:57
- - Golikov A.   Ок. не буду мешать. Просто отметил что такой спос...   Feb 19 2015, 11:56
- - Golikov A.   В каких то старых апнотах ксалинкс предлагал защит...   Feb 19 2015, 14:49
- - doom13   Цитата(Golikov A. @ Feb 19 2015, 17:49) В...   Feb 19 2015, 14:58


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

 


RSS Текстовая версия Сейчас: 30th July 2025 - 12:07
Рейтинг@Mail.ru


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