|
Как работать с TrustZone для производителя HW. |
|
|
|
Sep 10 2017, 10:27
|
Знающий
   
Группа: Свой
Сообщений: 716
Регистрация: 27-05-05
Из: Kyiv
Пользователь №: 5 454

|
Попросили изготовить макет платформы для Cortex A5. Без ОС, весь проект должен быть в TrustZone Нужно обеспечить недоступность вскрытия прошивки как при изготовлении так и при обновлении. При обновлении решения очевидно есть и пока я их не рассматриваю. Есть вопросы по изготовлению. Тут : https://www.arm.com/products/security-on-arm/trustzone предлагают исходники и говориться о трех документах TBSA, TBBR, TZMP которые можно получить по запросу. Подозреваю начнется канитель c получением документов в виде "фейсконтроль" , NDA и т.д. Это не решаемо, но нужно побыстрее нарисовать схему, изготовить плату, распаять ее. Есть ли где эти документы в свободном доступе?. Или может есть документ/статья о том, как и в какой момент в готовой плате прошивать ПЗУ (NOR, с интерфейсом QSPI, I2C) чтобы обеспечивать безопасность при производстве?
|
|
|
|
|
 |
Ответов
|
Sep 11 2017, 08:11
|
Знающий
   
Группа: Свой
Сообщений: 716
Регистрация: 27-05-05
Из: Kyiv
Пользователь №: 5 454

|
Цитата(mantech @ Sep 10 2017, 22:50)  Что-то я не догоняю, причем тут TZ?? В случае фрисковских камней (IMX6,7 Vybrid) Для этого используется специальный загрузчик HAB. Прога подписывается и опционально шифруется, вот и все... При том, что код/ключ могут "утащить" на этапе изготовления устройства. Задача состоит не в том, чтобы ПО проверялось на аутентичность при записи в устройство, а в том чтобы нельзя было скопировать устройство. Хорошо если в плату не нужно ничего добавлять для защиты тогда можно спокойно проектировать/изготавливать плату, и параллельно вести переписку.
|
|
|
|
|
Sep 11 2017, 09:39
|
Гуру
     
Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143

|
Цитата(misyachniy @ Sep 11 2017, 11:11)  При том, что код/ключ могут "утащить" на этапе изготовления устройства. Если устройство нужно прошивать при изготовлении, то ключи все-равно у кого-то будут, и если он может их "украсть", то ничего ему не помешает. По крайне мере, я не знаю способов чтоб от этого защититься. Цитата(misyachniy @ Sep 11 2017, 11:11)  Хорошо если в плату не нужно ничего добавлять для защиты В плату ничего добавлять не нужно - ключи хранятся в однократно программируемой памяти внутри МК. Насколько я понимаю сущность TZ, так это чтоб уже после запуска программы, и инициализации защиты определенной области памяти, никто другой не смог туда обратиться и считать данные.
Сообщение отредактировал mantech - Sep 11 2017, 09:41
|
|
|
|
|
Sep 11 2017, 12:21
|
Знающий
   
Группа: Свой
Сообщений: 716
Регистрация: 27-05-05
Из: Kyiv
Пользователь №: 5 454

|
Цитата(mantech @ Sep 11 2017, 12:39)  Если устройство нужно прошивать при изготовлении, то ключи все-равно у кого-то будут, и если он может их "украсть", то ничего ему не помешает. По крайне мере, я не знаю способов чтоб от этого защититься.
В плату ничего добавлять не нужно - ключи хранятся в однократно программируемой памяти внутри МК.
Насколько я понимаю сущность TZ, так это чтоб уже после запуска программы, и инициализации защиты определенной области памяти, никто другой не смог туда обратиться и считать данные. TZ должна обеспечить полную защиту. Что же это за защита, если можно 1)Cпаять ПЗУ со штатным ПО. 2)Подпаять ПЗУ которое считывает ключ и выдает наружу. Читая документацию на процессор я понял что защита полная. При прошивке бит защиты JTAG отключен, при загрузке с внешней ПЗУ происходит декриптование. Данные во внешнем ОЗУ тоже криптованы. Ладно, будем считать что дополнительно в плату вводить ничего не нужно, получим железо и документы, разберемся. P.S. По поводу не возможности помешать украсть ключи спорить не буду. Обычно народ не расказывает на каждом углу как происходит защита. Я был на заводе где банковские и SIM карточки авторизуют. Происходит этот процесс без участия человека.
|
|
|
|
|
Sep 11 2017, 17:53
|
Гуру
     
Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143

|
Цитата(misyachniy @ Sep 11 2017, 15:21)  Что же это за защита, если можно 1)Cпаять ПЗУ со штатным ПО. 2)Подпаять ПЗУ которое считывает ключ и выдает наружу. Интересно, это в каком проце так можно? В смысле запустить какую-то прогу с левого ПЗУ? Неподписанную прогу проц не запустит просто, след. она не считает ключи. Цитата(misyachniy @ Sep 11 2017, 15:21)  Я был на заводе где банковские и SIM карточки авторизуют. Происходит этот процесс без участия человека. Так-то правильно, но эти автоматы тоже обслуживает человек...
|
|
|
|
|
Sep 12 2017, 10:17
|
Знающий
   
Группа: Свой
Сообщений: 716
Регистрация: 27-05-05
Из: Kyiv
Пользователь №: 5 454

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