Перейти к содержанию
    

MAX10 / Bitstream Encryption / Security Options

Подскажите, состояние OFF и др. что значит для каждого параметра?

Не уверен что правильно понимаю что оно и зачем.

И текст "OTP" напрягает.

Боюсь экспериментировать и залочить чего к чертям. Вдруг это что-то одноразовое... 

2.thumb.jpg.fe0b1d553578e7d1919fc60eae86b990.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

С MAX10 не работал - но тут, судя по смыслу, если ставить off - это означает отказ от использования запретов (ограничений) - так что, ИМХО, страшного ничего не должно произойти.

Но всё же советовал бы найти доку по особенностям применения шифрованного битстрима для именно этого семейства и тщательно его изучить.

Т.к. может быть применен стираемый или нестираемый ключ, а также опции - когда отключается jtag и загрузить можно будет только шифрованную прошивку на однажды прошитом нестираемом ключе.

 

Раньше, для других семейств, чтобы была возможность залочить таким образом чип, должен был присутствовать в папке  с Квартусом специальный файл, разрешающий эту фичу, и по умолчанию этот файл отсутствовал, Альтера его высылала по запросу, еще раз предупредив в письме, что если что - поправить будет невозможно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 10/19/2020 at 9:50 AM, Yuri124 said:

советовал бы найти доку по особенностям применения шифрованного битстрима для именно этого семейства и тщательно его изучить.

Может кто посоветовать доку по особенностям применения шифрованного битстрима?

Для MAX10 или для другого похожего семейства Intel, а если б еще и на русском...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 minutes ago, zombi said:

доку по особенностям применения шифрованного битстрима?

не думаю, что там есть что-то особенное. 

В Квартусе даете задание создать зашифрованную на заданном ключе прошивку, ключ (стираемый (пропадает после отключения питания) или нестираемый) заливаете в микросхему  - тоже специально созданным файлом. 

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

Для серии микросхем CycloneV/ArriaV/StratixV есть доки по шифрованному битстриму, только нужно очень внимательно читать (я, например, проглядел пункт о понижении частоты заливки со 100МГц до 10МГц) - пока не поправил в настройках, не получалось работать с нестираемым ключом, при этом в интерфейсе никаких подсказок не выскакивало.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

С созданием и заливкой в мс шифрованного битстрима проблем нет.

Шифрую, заливаю всё как производитель рекомендует (.pof+.ekp > плис).

Но как проверить что все правильно, и в плис всё именно в зашифрованном виде находится?

Пока проверяю так :

Пытаюсь залить .sof (именно в CRAM залить) без предварительного полного стирания чипа.

Если программатор выдаёт ошибку, то считаю что все ОК.

Насколько правильный такой контроль?

Или подскажите как протестировать?

 

И меня по прежнему интересует подробное описание каждой опции 'Security Options' и каждого возможного её состояния.

Сейчас опции не меняю, все в состоянии "OFF (unless by the OTP fuse option)".

Достаточно ли этого для надёжной защиты прошивки от чтения?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

12 minutes ago, zombi said:

и в плис всё именно в зашифрованном виде находится?

А как оно может находиться в зашифрованном виде?! 

ПЛИС получает шифрованный поток, на лету его расшифровывает (блочный алгоритм шифрования позволяет это делать маленькими кусками файла) и размещает в конфигурационной своей памяти.

Оттуда как вычитать - нужно доки смотреть, Альтера в свое время писала, что из V серии наружу достать нет возможности никакой.

 

Ну и сам смысл шифрованного потока - если прошивка заливается из внешней памяти, и ее можно считать/перехватить - то смысл ее шифровать, если есть возможность вычитать ее обратно или нет возможности запретить это вычитывание.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я думал, Вы хотите еще внешнюю какую-то память прикрутить. Руки так и не дошли до MAX10 в свое время - мало в ней ресурсов для нашего проекта оказалось.
По идее - если внутри во флеше шифрованный файл, то можно его вычитать и посмотреть - шифрованный ли он в действительности. При заливке из флеша в конфигурационный RAM он должен дешифрироваться и оттуда уже обратно не вычитываться.
Главное - чтобы не было возможности извлечь ключ.

45 minutes ago, zombi said:

Пытаюсь залить .sof (именно в CRAM залить) без предварительного полного стирания чипа.

У V серии есть возможности заливать нешифрованный sof в ПЛИС даже при установленном ключе. Т.е. при этом ПЛИС прошивается без ошибок. Но это можно отключить, насколько помню - необратимо.

Изменено пользователем Yuri124

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

9 minutes ago, Yuri124 said:

Я думал, Вы хотите еще внешнюю какую-то память прикрутить.

Нет. Ничего дополнительного прикручивать мне не надо!

Я всего лишь хочу добиться невозможности считывания прошивки из MAX10.

А если и прочитают, то зашифрованную - на здоровье.

Дабы запретить, ну или максимально усложнить, копирование изделия.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

37 минут назад, zombi сказал:

У MAX10 всё внутри чипа.

Если хотите все закрыть совсем наглухо, то используйте Tamper Protection - при этом еще и возможность загрузки по JTAG будет заблокирована :)

Этот документ, я полагаю, Вы изучали: Intel MAX 10 FPGA Configuration User Guide

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

29 minutes ago, StewartLittle said:

используйте Tamper Protection - при этом еще и возможность загрузки по JTAG будет заблокирована :)

Нее, это уже перебор. Вдруг апгрэйд потребуется.

Документик конечно изучал. Но наверно не внимательно.

Да и ни слова по русски там нет :biggrin: тяжело понять всю эту "кухню".

И не вижу в документе где про Tamper Protection пишут...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

30 минут назад, zombi сказал:

И не вижу в документе где про Tamper Protection пишут...

Смотрите ппраграф 2.2.2.1 :

Цитата

2.2.2.1. AES Encryption Protection
The Intel MAX 10 design security feature provides the following security protection for
your designs:
• Security against copying—the non-volatile key is securely stored in the Intel MAX
10 devices and cannot be read through any interface. Without this key, attacker
will not be able to decrypt the encrypted configuration image.
• Security against reverse engineering—reverse engineering from an encrypted
configuration file is very difficult and time consuming because the file requires
decryption.
Security against tampering—after you enable the JTAG Secure and Encrypted POF
(EPOF) only, the Intel MAX 10 device can only accept configuration files encrypted
with the same key. Additionally, configuration through the JTAG interface is
blocked
.

 

 

Вот нашел в закромах какой-то пример, посмотрите на досуге:

Цитата

MAX10 JTAG Unlock Reference Design for JTAG Secure Mode


This is a reference design which demonstrates the LOCK/UNLOCK JTAG instruction execution
via internal JTAG interface. The detail descriptions for each block can be found in the AN556.

Файлы прилагаю. Ссылка на AN556: https://www.intel.com/content/dam/altera-www/global/en_US/pdfs/literature/an/an556.pdf

MAX10_JTAG_Secure_Unlock_UG.pdf

top.qar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

:wacko:

Проще наверно придумать иную защиту изделия чем пытаться зашифровать прошивку, залить её в чип

и при этом не забыть выставить все эти галочки/пунктики/опцийки и пр. премудрости!

:biggrin:

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

24 минуты назад, zombi сказал:

А где этот EPOF включается/разрешается?

Я так полагаю, что в окошке из Вашего первого поста :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я так полагаю что всё специально максимально запутанно и неоднозначно дабы на корню отбить охоту

у юзеров использовать какую либо защиту прошивки и уж тем более ШЫФрование!

 

Ну его нафиг это отключение JTAGа.

Скажите достаточно ли для приемлемой защиты вот этого:

1. В проекте в квартусе в "Device options" поставил галку "Verify protect"

2. В конвертере создал EKP и шифрованный POF (Security Options - все OFF)

Может ли злоумышленник "вытащить" прошивку в таком случае?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...