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

 
 
 
Reply to this topicStart new topic
> Как работать с TrustZone для производителя HW.
misyachniy
сообщение Sep 10 2017, 10:27
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 677
Регистрация: 27-05-05
Из: Kiev
Пользователь №: 5 454



Попросили изготовить макет платформы для Cortex A5.
Без ОС, весь проект должен быть в TrustZone

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

Тут : https://www.arm.com/products/security-on-arm/trustzone предлагают исходники и говориться о трех документах TBSA, TBBR, TZMP которые можно получить по запросу.
Подозреваю начнется канитель c получением документов в виде "фейсконтроль" , NDA и т.д.
Это не решаемо, но нужно побыстрее нарисовать схему, изготовить плату, распаять ее.

Есть ли где эти документы в свободном доступе?.
Или может есть документ/статья о том, как и в какой момент в готовой плате прошивать ПЗУ (NOR, с интерфейсом QSPI, I2C) чтобы обеспечивать безопасность при производстве?
Go to the top of the page
 
+Quote Post
Kabdim
сообщение Sep 10 2017, 13:01
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 352
Регистрация: 26-11-14
Из: Зеленоград
Пользователь №: 83 842



Афаик без НДА никак. Для программирования должно быть достаточно jtag. На производстве всё равно где-то нужно залить секретный ключ/подпись, поэтому производство как минимум частично должно быть доверенным: белая комната, сертификаты, etc.
Go to the top of the page
 
+Quote Post
mantech
сообщение Sep 10 2017, 19:50
Сообщение #3


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

Группа: Участник
Сообщений: 1 509
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(misyachniy @ Sep 10 2017, 13:27) *
Нужно обеспечить недоступность вскрытия прошивки как при изготовлении так и при обновлении.
При обновлении решения очевидно есть и пока я их не рассматриваю.


Что-то я не догоняю, причем тут TZ?? В случае фрисковских камней (IMX6,7 Vybrid) Для этого используется специальный загрузчик HAB. Прога подписывается и опционально шифруется, вот и все...
Go to the top of the page
 
+Quote Post
misyachniy
сообщение Sep 11 2017, 08:11
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 677
Регистрация: 27-05-05
Из: Kiev
Пользователь №: 5 454



Цитата(mantech @ Sep 10 2017, 22:50) *
Что-то я не догоняю, причем тут TZ?? В случае фрисковских камней (IMX6,7 Vybrid) Для этого используется специальный загрузчик HAB. Прога подписывается и опционально шифруется, вот и все...


При том, что код/ключ могут "утащить" на этапе изготовления устройства.
Задача состоит не в том, чтобы ПО проверялось на аутентичность при записи в устройство, а в том чтобы нельзя было скопировать устройство.

Хорошо если в плату не нужно ничего добавлять для защиты тогда можно спокойно проектировать/изготавливать плату, и параллельно вести переписку.
Go to the top of the page
 
+Quote Post
mantech
сообщение Sep 11 2017, 09:39
Сообщение #5


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

Группа: Участник
Сообщений: 1 509
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(misyachniy @ Sep 11 2017, 11:11) *
При том, что код/ключ могут "утащить" на этапе изготовления устройства.


Если устройство нужно прошивать при изготовлении, то ключи все-равно у кого-то будут, и если он может их "украсть", то ничего ему не помешает. По крайне мере, я не знаю способов чтоб от этого защититься.

Цитата(misyachniy @ Sep 11 2017, 11:11) *
Хорошо если в плату не нужно ничего добавлять для защиты


В плату ничего добавлять не нужно - ключи хранятся в однократно программируемой памяти внутри МК.

Насколько я понимаю сущность TZ, так это чтоб уже после запуска программы, и инициализации защиты определенной области памяти, никто другой не смог туда обратиться и считать данные.

Сообщение отредактировал mantech - Sep 11 2017, 09:41
Go to the top of the page
 
+Quote Post
misyachniy
сообщение Sep 11 2017, 12:21
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 677
Регистрация: 27-05-05
Из: Kiev
Пользователь №: 5 454



Цитата(mantech @ Sep 11 2017, 12:39) *
Если устройство нужно прошивать при изготовлении, то ключи все-равно у кого-то будут, и если он может их "украсть", то ничего ему не помешает. По крайне мере, я не знаю способов чтоб от этого защититься.

В плату ничего добавлять не нужно - ключи хранятся в однократно программируемой памяти внутри МК.

Насколько я понимаю сущность TZ, так это чтоб уже после запуска программы, и инициализации защиты определенной области памяти, никто другой не смог туда обратиться и считать данные.


TZ должна обеспечить полную защиту.
Что же это за защита, если можно
1)Cпаять ПЗУ со штатным ПО.
2)Подпаять ПЗУ которое считывает ключ и выдает наружу.

Читая документацию на процессор я понял что защита полная.
При прошивке бит защиты JTAG отключен, при загрузке с внешней ПЗУ происходит декриптование.
Данные во внешнем ОЗУ тоже криптованы.

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

P.S. По поводу не возможности помешать украсть ключи спорить не буду.
Обычно народ не расказывает на каждом углу как происходит защита.
Я был на заводе где банковские и SIM карточки авторизуют.
Происходит этот процесс без участия человека.

Go to the top of the page
 
+Quote Post
mantech
сообщение Sep 11 2017, 17:53
Сообщение #7


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

Группа: Участник
Сообщений: 1 509
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(misyachniy @ Sep 11 2017, 15:21) *
Что же это за защита, если можно
1)Cпаять ПЗУ со штатным ПО.
2)Подпаять ПЗУ которое считывает ключ и выдает наружу.


Интересно, это в каком проце так можно? В смысле запустить какую-то прогу с левого ПЗУ?
Неподписанную прогу проц не запустит просто, след. она не считает ключи.

Цитата(misyachniy @ Sep 11 2017, 15:21) *
Я был на заводе где банковские и SIM карточки авторизуют.
Происходит этот процесс без участия человека.


Так-то правильно, но эти автоматы тоже обслуживает человек...
Go to the top of the page
 
+Quote Post
misyachniy
сообщение Sep 12 2017, 10:17
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 677
Регистрация: 27-05-05
Из: Kiev
Пользователь №: 5 454



Цитата(mantech @ Sep 11 2017, 20:53) *
Интересно, это в каком проце так можно? В смысле запустить какую-то прогу с левого ПЗУ?
Неподписанную прогу проц не запустит просто, след. она не считает ключи.


В том, котором такой механизм защиты:
Цитата
Насколько я понимаю сущность TZ, так это чтоб уже после запуска программы, и инициализации защиты определенной области памяти,


Подкидываю свою программу, считываю ключи и вперед.
Процессор должен стартовать со всеми включенными защитами.
Go to the top of the page
 
+Quote Post
mantech
сообщение Sep 12 2017, 11:11
Сообщение #9


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

Группа: Участник
Сообщений: 1 509
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(misyachniy @ Sep 12 2017, 13:17) *
Подкидываю свою программу, считываю ключи и вперед.
Процессор должен стартовать со всеми включенными защитами.


По моему мы о разных вещах говорим... Что за процессор, чтоб быть объективным?
Go to the top of the page
 
+Quote Post
misyachniy
сообщение Sep 12 2017, 13:30
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 677
Регистрация: 27-05-05
Из: Kiev
Пользователь №: 5 454



Цитата(mantech @ Sep 12 2017, 14:11) *
По моему мы о разных вещах говорим... Что за процессор, чтоб быть объективным?


Мы говорим о двух аспектах.
Защита от взлома программы и защита от несанкционированного обновления.

http://www.atmel.com/products/microcontrol....aspx?tab=tools
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 26th September 2017 - 03:48
Рейтинг@Mail.ru


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