|
|
  |
Design Security Features in Altera FPGA |
|
|
|
Apr 9 2014, 07:33
|
Профессионал
    
Группа: Свой
Сообщений: 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 и потом залить?
|
|
|
|
|
Apr 15 2014, 15:26
|

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

|
Цитата(doom13 @ Apr 15 2014, 17:41)  Остался вопрос по поводу установки tamper-protection bit, что бы могла грузиться только зашифрованная прошивка, или это только у Альтеры можно узнать? Для взведения Tamper protection bit нужно иметь специальный ini-файл, который должен быть помещен в папку ..\bin или ..\bin64 квартуса. При наличии такого файла будет формироваться ekp со взведенным тампер протекшеном. Бросьте мне сообщения в личку, их есть у меня  Кстати, взвести Tamper protection bit можно только таким способом. C помощью jam-скриптов, например, его взвести не получится. А вот проверить, взведен он или нет - можно
--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
|
|
|
|
|
Apr 17 2014, 17:12
|

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

|
Цитата(yes @ Apr 17 2014, 19:16)  планирую использовать SoC Cyclone 5 (с АРМом которые), хотелось бы использовать криптование прошивки ПЛИС с ключем в eFuse каких неожиданностей следует ожидать в плане софта/лицензий, может ераты какой-то... Сергей, а что такое eFuse? Это, поди, что-то из актеля/зайлинкса?  В крайних альтеровских семействах (в т.ч. Cyclone V) ключ можно хранить как в однократном ПЗУ, так и в ОЗУ (в этом случае понадобится резервная батарея). Процедура создания шифрованного файла и прошивки ключа описана уважаемым doom13, в первом посте он также упоминает альтеровский документ, где все это описано. Для использования non-volatile ключа понадобится специальная фича в квартусовский лицензионный файл. Если нужен Tamper protection, то необходим еще и обсуждаемый ini-файл. Насчет необходимости именно EthernetBlaster для прошивки non-volatile ключа в Cуclone V я не уверен - по-хорошему, нужно этот вопрос исследовать отдельно Вроде на этом и все.
--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
|
|
|
|
|
Apr 18 2014, 07:13
|
Профессионал
    
Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539

|
Цитата(Stewart Little @ Apr 17 2014, 20:12)  Насчет необходимости именно EthernetBlaster для прошивки non-volatile ключа в Cуclone V я не уверен - по-хорошему, нужно этот вопрос исследовать отдельно  В даташите (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-ядра.
|
|
|
|
|
Apr 18 2014, 12:53
|
Гуру
     
Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640

|
Цитата(Stewart Little @ Apr 17 2014, 21:12)  Сергей, а что такое eFuse? Это, поди, что-то из актеля/зайлинкса?  Роман, спасибо, но не понял 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 и лицензии тоже важно - ксайлинс с этим не заморачивается, а вот у латтиса чтоб получить криптофичи пришлось некий геморой испытать - все-таки этож к экспорту так просто не разрешено... ------------------------ я сейчас с цинком вожусь - вникать в доку на циклон не хочеться, чтоб не запутаться, но "представление о возможностях" мне бы не помешало  старшие Cyclone V SE мне кажутся привлекательными на будущее - ненужных мне трансиверов нет и цена подешевле чем у цинков
|
|
|
|
|
Apr 18 2014, 14:38
|

Лентяй
     
Группа: Свой
Сообщений: 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-ключа??? Хотя, возможно вопрос несколько преждевременный  Цитата(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"??? Цитата(yes @ Apr 18 2014, 15:53)  ну и если это можно в конфе - официальная стоимость или условия ini и лицензии тоже важно Ответил в личку.
--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
|
|
|
|
|
  |
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0
|
|
|