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

 
 
4 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> 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
doom13
сообщение Apr 9 2014, 08:57
Сообщение #2


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

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



Ещё вопрос, если заливается файл jam или ekp, а в опциях программатора стоит галка "Configure volatile design security key when available", то это и равносильно прошивке "volatile key"?
Go to the top of the page
 
+Quote Post
doom13
сообщение Apr 15 2014, 14:41
Сообщение #3


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

Группа: Свой
Сообщений: 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
Сообщение #4


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

Группа: Свой
Сообщений: 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
сообщение Apr 16 2014, 07:18
Сообщение #5


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

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



Цитата(Stewart Little @ Apr 15 2014, 18:26) *
Бросьте мне сообщения в личку, их есть у меня sm.gif


Похоже, личные сообщения мне не доступны. Если можно, отправьте на ящик doom13@tut.by
Спасибо.
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Apr 16 2014, 12:19
Сообщение #6


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

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



Цитата(doom13 @ Apr 16 2014, 10:18) *
Если можно, отправьте на ящик doom13@tut.by
Хорошо, но смогу только в понедельник. А то я сейчас в командировке sad.gif


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
doom13
сообщение Apr 16 2014, 12:26
Сообщение #7


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

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



Цитата(Stewart Little @ Apr 16 2014, 15:19) *
Хорошо, но смогу только в понедельник. А то я сейчас в командировке sad.gif


Спасибо, подождём.
Go to the top of the page
 
+Quote Post
yes
сообщение Apr 17 2014, 16:16
Сообщение #8


Гуру
******

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



2Stewart Little поясните, пожалуйста, не высылая ini sm.gif

планирую использовать SoC Cyclone 5 (с АРМом которые), хотелось бы использовать криптование прошивки ПЛИС с ключем в eFuse

каких неожиданностей следует ожидать в плане софта/лицензий, может ераты какой-то...

спасибо

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


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

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



Цитата(yes @ Apr 17 2014, 19:16) *
планирую использовать SoC Cyclone 5 (с АРМом которые), хотелось бы использовать криптование прошивки ПЛИС с ключем в eFuse
каких неожиданностей следует ожидать в плане софта/лицензий, может ераты какой-то...

Сергей, а что такое eFuse? Это, поди, что-то из актеля/зайлинкса? sm.gif
В крайних альтеровских семействах (в т.ч. Cyclone V) ключ можно хранить как в однократном ПЗУ, так и в ОЗУ (в этом случае понадобится резервная батарея).
Процедура создания шифрованного файла и прошивки ключа описана уважаемым doom13, в первом посте он также упоминает альтеровский документ, где все это описано.
Для использования non-volatile ключа понадобится специальная фича в квартусовский лицензионный файл.
Если нужен Tamper protection, то необходим еще и обсуждаемый ini-файл.
Насчет необходимости именно EthernetBlaster для прошивки non-volatile ключа в Cуclone V я не уверен - по-хорошему, нужно этот вопрос исследовать отдельно sm.gif
Вроде на этом и все.


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


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

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



Цитата(Stewart Little @ Apr 17 2014, 20:12) *
Насчет необходимости именно EthernetBlaster для прошивки non-volatile ключа в Cуclone V я не уверен - по-хорошему, нужно этот вопрос исследовать отдельно sm.gif


В даташите (an556) написано так:
ByteBlaster II and USB-Blaster support only volatile key programming. Ethernet Blaster and JTAG Technologies support both volatile and non-volatile key programming. For non-volatile key programming, you must regulate the JTAG TCK pulse width (period) for proper polyfuse programming.

Цитата(Stewart Little @ Apr 17 2014, 20:12) *
Для использования non-volatile ключа понадобится специальная фича в квартусовский лицензионный файл.


Если можно, тут по-подробней. Что именно необходимо добавить в файл лиценнзии? Строки, на подобие тех, что необходимы для добавления лицензии на IP-ядра.
Go to the top of the page
 
+Quote Post
yes
сообщение Apr 18 2014, 12:53
Сообщение #11


Гуру
******

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



Цитата(Stewart Little @ Apr 17 2014, 21:12) *
Сергей, а что такое eFuse? Это, поди, что-то из актеля/зайлинкса? sm.gif

Роман, спасибо, но не понял
an556 тоже посмотрел

eFuse - однократное ПЗУ, меня конкретно это интересует, батарейку применять не можем

то есть интересно два режима
Non-Volatile key
Non-Volatile key+Tamper protect

непонятно для меня описана возможность генерации jam файлов для прошивки ключа и файла

непонятно - позволяет ли internal jtag прошивать ключи (Non-Volatile особенно)

------------------------

only volatile key programming - волнует. у ксайлинса тоже не всякий "бластер" умеет прошивать (и там и там, видимо, нужна четкая времянка)
To enable the design security feature, you can obtain a license file from Altera Technical Support.
ну и если это можно в конфе - официальная стоимость или условия ini и лицензии тоже важно - ксайлинс с этим не заморачивается, а вот у латтиса чтоб получить криптофичи пришлось некий геморой испытать - все-таки этож к экспорту так просто не разрешено...

------------------------

я сейчас с цинком вожусь - вникать в доку на циклон не хочеться, чтоб не запутаться, но "представление о возможностях" мне бы не помешало sm.gif
старшие Cyclone V SE мне кажутся привлекательными на будущее - ненужных мне трансиверов нет и цена подешевле чем у цинков
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Apr 18 2014, 14:38
Сообщение #12


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

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



Цитата(doom13 @ Apr 18 2014, 10:13) *
В даташите (an556) написано так:
ByteBlaster II and USB-Blaster support only volatile key programming. Ethernet Blaster and JTAG Technologies support both volatile and non-volatile key programming. For non-volatile key programming, you must regulate the JTAG TCK pulse width (period) for proper polyfuse programming.
Да, все это так. Но у альтеры есть новое железо для прошивки - USB-Blaster II, который доже допускает управление параметрами JTAG'овских сигналов. Пока этот новый бластер только встраивают в отладочные платы для новый семейств, но обещают свделавть и как отдельный девайс. Вот я и имел в виду, а нельзя ли будет использовать USB-Blaster II для прошивки OPT-ключа??? Хотя, возможно вопрос несколько преждевременный sm.gif

Цитата(doom13 @ Apr 18 2014, 10:13) *
Если можно, тут по-подробней. Что именно необходимо добавить в файл лиценнзии? Строки, на подобие тех, что необходимы для добавления лицензии на IP-ядра.
Да, именно так. В понедельник отмылю уточнения.


Цитата(yes @ Apr 18 2014, 15:53) *
непонятно для меня описана возможность генерации jam файлов для прошивки ключа и файла
А что _именно_ непонятно? Там, имхо, все расписано подробно...

Цитата(yes @ Apr 18 2014, 15:53) *
непонятно - позволяет ли internal jtag прошивать ключи (Non-Volatile особенно)
Что здесь понимается под "internal jtag"??? blink.gif

Цитата(yes @ Apr 18 2014, 15:53) *
ну и если это можно в конфе - официальная стоимость или условия ini и лицензии тоже важно
Ответил в личку.


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Apr 21 2014, 11:05
Сообщение #13


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

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



Цитата(doom13 @ Apr 16 2014, 15:26) *
Спасибо, подождём.
Отмылил, проверяйте почту.


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
doom13
сообщение Apr 21 2014, 11:59
Сообщение #14


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

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



Цитата(Stewart Little @ Apr 21 2014, 14:05) *
Отмылил, проверяйте почту.


Получил, спасибо.


Фичи quartus_nonvolatile_encryption и quartus_volatile_encryption в лицензионном файле присутствуют.
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Apr 21 2014, 12:26
Сообщение #15


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

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



Цитата(doom13 @ Apr 21 2014, 14:59) *
... quartus_volatile_encryption в лицензионном файле присутствуют.

Эта фича, по большому счету, не нужна. Достаточно nonvolatile.


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post

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

 


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


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