Jump to content

    

Recommended Posts

Таким образом защита тиражирования переводится на МК, задача чтения прошивки которых решается в пределах нескольких тысяч зеленых..

Share this post


Link to post
Share on other sites
Если кто слышал про Actel то их ФПГА не возможно скопировать Это подтверждает армия какой европейской страны не помню но анализ ИС это фирмы я видел сам.

 

Да. На сегодня это самые защищенные ПЛИС. Их невозможно взломать.. ну разве, что за пару сотню лет.

 

Где нам, дуракам, чай пить! (с)

Вы бы сравнили быстродействие к примеру второго циклона от альтеры и актеловского проасика. И цену.

 

По быстродействию они может и медленне, при условии, что ПЛИС заполнена на половину. А ты забей Альтеру на 90%, если сможешь, и посмотрим какое быстродействие будет у Циклона!

Да и нужно ли всегда большое быстродействие. Как показывает мой опыт, есть много задач, для которых 100 Мгц больше чем достаточно.

 

А по цене Актел не дороже, чем Альтера или Xilinx

 

Все что создано человеком так или иначе будет взломано!!!! вопрос во времени!!!!

 

Скорее уж вопрос " Где и как найти нужного человека"!

А жить вечно люди пока не могут!

Share this post


Link to post
Share on other sites
А ты забей Альтеру на 90%, если сможешь, и посмотрим какое быстродействие будет у Циклона!

99,8 % сыклона 3 ки, маслает на 192МГц и ведь даже констрейны сходятся %)

Share this post


Link to post
Share on other sites

Как предпочтительно делать конфигурацию FPGA с точки зрения обсуждаемой здесь темы: через битстрим загружаемый через ПО, через конфигурационную Flash или прошивать саму FPGA ?

Share this post


Link to post
Share on other sites
Что может отличаться от экземпляра к экземпляру на плате и в fpga, что трудно скопировать?

Только номерные микросхемы (DNA, http://www.maxim-ic.com/products/1-wire/authentication.cfm) ?

Вот бы найти что-то очень дешевое, но неповторимое!

В атмелевских DataFlash есть Unique 64-byte Device Identifier ( http://www.atmel.com/dyn/products/devices....bfamily_id=1805 ), одну такую можно поставить на плату, самую дешевую. И работать с ней на максимальной частоте, чтоб нельзя было её каким-нибудь дешёвым МК заменить... Но всё равно плохо, можно плиской заменить.

 

Похоже, единственно надёжный вариант - уникальный номер у самой FPGA. Придётся наверное переползать на Spartan 3A с третьего циклона. :05: И чего альтера такую фичу не сделает. :crying:

 

А по цене Актел не дороже, чем Альтера или Xilinx

Ну это, мягко говоря, неправда... :rolleyes:

Share this post


Link to post
Share on other sites
Похоже, единственно надёжный вариант - уникальный номер у самой FPGA. Придётся наверное переползать на Spartan 3A с третьего циклона. :05: И чего альтера такую фичу не сделает. :crying:

Эта фича есть в CycloneIII LS и Cyclone IV...

Share this post


Link to post
Share on other sites

Не, в CycloneIII LS есть "Configuration security using advanced encryption standard (AES) with 256-bit volatile key", это совсем не то, что "Device DNA" у ксайлинкса. А у Cyclone IV и того нет (или я в упор не вижу :blink: ).

Share this post


Link to post
Share on other sites
Не, в CycloneIII LS есть "Configuration security using advanced encryption standard (AES) with 256-bit volatile key", это совсем не то, что "Device DNA" у ксайлинкса. А у Cyclone IV и того нет (или я в упор не вижу :blink: ).

в Cyclone IV я тоже ничего не нашел. либо эта функция сильно скрывается альтеровцами.

Присматриваюсь ко вторым арриям поэтому с возможностями Volatile и Non-Volatile Key.

 

Share this post


Link to post
Share on other sites

Подскажите как собсно пользоваться этой Configuration security ? (Stratix IV)

сейчас пытаюсь сделать Volatile Key. батарейка присобачена.

 

что-то я совсем запутался с документацией.. в инструкции к стратиксу строчка:

Program the user-defined 256-bit AES keys to the Stratix IV device through the JTAG interface. и всё. а как и что и куда?

 

в документации к программеру тоже как-то не нашел толком нужной информации.

 

как я понимаю нужно сделать файл flash зашифрованный (незашифрованный уже делал через NiosII command Shell) и потом прошить этот же ключ в Стратикс.

 

но как понять не могу =(

 

___

update

нашел документ an556.pdf "Using the Design Security Feature in Stratix IV"

вроде оно.

Share this post


Link to post
Share on other sites

Дополнение к предыдущему посту.

 

По инструкции альтеры можно зашифровать .sof файл в какой-то другой формат, пример .pof

А по инструкции к моей плате в неё надо заливать файл .flash

 

как скрестить эту ситуацию?

 

Как сконвертировать .sof файл в .flash с шифрщвкой данных?

Квартусовский Convert Programming Files этого не умеет.

 

плата программируется через командную строку Nios II EDS command shell.

там сначала используется команда sof2flash для конвертации, но в ней я не нашел вариантов для шифровки.

потом командой nios2-flash-programmer заливается .flash файл в железяку.

 

как всё это соглассовать?

 

и ещё в документации альтеры есть такая штука KEY_VERIFY JTAG instruction для проверки есть ли в FPGA зашитый ключ и в каком варианте он туда зашит.

как собсно вычитать эту информацию? не работал никогда с JTAG instruction.

Share this post


Link to post
Share on other sites
А если рассматривать простое и недорогое (примерно 3000-4000 рублей) устройство логика, которого не сильно сложна, но тем не менее нужно его защитить от тупого копирования.

 

Тогда уж точно не надо ставить лишних авров и делать геморройные аутентификации. А просто применить ПЛИС Lattice LatticeXP / LAtticeXP2, которые пока что даже от китайцев надежно защищены тем, что флеш и матрица на одном кристалле и недоступна для прямого считывания при помощи их чип-тестеров.

 

в Cyclone IV я тоже ничего не нашел.

 

В пятом найдется, и non-volatile в том числе. Но конечно с точки зрения защищенности предпочтительнее Lattice и Actel.

Share this post


Link to post
Share on other sites
По инструкции альтеры можно зашифровать .sof файл в какой-то другой формат, пример .pof

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

Share this post


Link to post
Share on other sites
Для создания шифрованного файла нужно иметь специальную фичу в лицензионном файле.

Это я понимаю. Она похоже есть тк генерировать поф с шифровкой я могу.

 

Проблема в том что в плату по инструкции могу зашить файл .flash а не pof.

А как получить .flash из .pof я не знаю.

Знаю только как получить .flash из .sof но в таком варианте не знаю как его зашифровать своими ключами.

Share this post


Link to post
Share on other sites

Прошу совета .

Поставлена задача : защитить конфигурацию маленького Cyclone_2, 3, 4 от подмены ( anti-tampering).

При этом защита конфигурации от копирования для Cyclone-2,3,4 полагается невозможной и не рассматривается.

С3-LS-также не рассматривается.

 

Подскажите пожалуйста - насколько эффективно будет следующее решение :

 

1. В ПЛИС, помимо основной логики , встраивается генератор хеш-функции ( к примеру - SHA),

не имеющий с основной логикой никаких логических связей.

 

2.Оставшееся от основных функций свободное простанство ПЛИС по возможности максимально

заполняется ложной логикой , не имеющей отношения к основной функции.

 

3. Внешний по отношению к ПЛИС микроконтроллер периодически , со случайным интервалом ,

отправляет во встроеный в ПЛИС генератор хэш массив случайных чисел и получает результат.

 

4. На основании правильного результата микроконтроллер делает вывод не только о работоспособности генератора хэш,

но и о достоверности всей конфигурации ПЛИС, включая не относящуюся к генератору хэш основную логику.

 

Основа метода - перехваченую прошивку трудно отреверсить.

Edited by nh4t

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.