Разработка ARM TrustZone

Мне интересно, есть ли у кого-нибудь информация о платах для разработки, где вы можете использовать ARM TrustZone? У меня есть BeagleBoard XM, в котором используется TI OMAP3530 с процессором Cortex-A8, который поддерживает зону доверия, однако TI подтвердила, что они отключили эту функцию на плате, поскольку это устройство общего назначения.

Дальнейшие исследования привели меня к плате Panda, в которой используется OMAP4430, но ответа от TI нет, а информации в Интернете очень мало. Как научиться пользоваться зоной доверия?

С уважением, мистер Гигу.


person MrGigu    schedule 31.10.2011    source источник
comment
Вероятно, для вас есть лучший форум по обмену стеками, чем StackOverflow. Предложили перейти на SuperUser, но может быть что-то более нишевое.   -  person Jon Egerton    schedule 31.10.2011
comment
@JonEgerton Чепуха, это вопрос о разработке, он идеально подходит для SO. Вопросы о платах ARM в любом случае не будут обсуждаться на SU.   -  person Gilles 'SO- stop being evil'    schedule 06.11.2011


Ответы (7)


Насколько мне известно, все процессоры OMAP, которые вы можете получить в готовом виде, являются устройствами GP, т.е. с отключенными функциями TrustZone (или же они являются процессорами в производственных устройствах, таких как стандартные мобильные телефоны, для которых ты не получишь ключи) Аналогичная ситуация и с другими производителями SoC. Помимо ограниченных публикаций ARM (которые в любом случае охватывают только общие функции ARM, а не функции, специфичные для чипа, такие как детали управления памятью, загрузка и загрузка надежного кода), вся документация о функциях TrustZone подпадает под соглашение о неразглашении. Это жаль, потому что это исключает независимый анализ этих функций безопасности или использование программного обеспечения с открытым исходным кодом.

Боюсь, если вы хотите запрограммировать устройство TrustZone, вам придется связаться с представителем TI или одним из их конкурентов, убедить их, что ваше приложение — это то, чего они хотят, и получить устройства HS, ключи. подписывать код для ваших макетных плат и документацию, без которой вам придется очень тяжело.

person Gilles 'SO- stop being evil'    schedule 06.11.2011

На сегодняшний день OP-TEE работает на нескольких устройствах (см. платформы OP-TEE). поддерживается), и некоторые из них доступны в виде отладочных плат. Чтобы назвать несколько вариантов HiKey, Raspberry Pi3, ARM Juno Board, Freescale i.MX6 и т. д. Либо вы можете выбрать один из них, либо просто попробовать все это, используя QEMU, который очень хорошо поддерживается в OP-TEE.

person Joakim Bech    schedule 15.12.2016
comment
Да, за 5 лет все значительно изменилось в положительную сторону :) - person MrGigu; 29.06.2017

Вы можете получить 45-дневную пробную версию для ARM fastmodels. Предполагается, что RaspberyPI также поддерживает TrustZone. www.openvirtualization.org имеет полную реализацию ARM TrustZone с открытым исходным кодом. ARM отказывается от своих проприетарных API-интерфейсов TrustZone в пользу API глобальной платформы. GlobalPlatform также определяет API-интерфейсы для взаимодействия между процессами и т. д.

person user1392459    schedule 13.05.2012
comment
Скорее всего, это просто семантика, но нет такой вещи, как реализация ARM TrustZone с открытым исходным кодом. TrustZone — это набор аппаратных расширений и модификаций, которые поддерживают две изолированные среды выполнения. Программная реализация этих аппаратных функций отсутствует. Открытая виртуализация обеспечивает доверенную среду выполнения (TEE), которая использует TrustZone для изоляции TEE от обычной операционной системы, то есть Android или Ubuntu. Поэтому, если вы получаете платформу, на которой уже есть код, работающий в мире безопасности, TEE с открытой виртуализацией не будет работать. - person Eeyore; 19.01.2014

В настоящее время есть несколько избранных досок, которые позволяют разрабатывать с помощью TrustZone. Что касается платы общего назначения, доска FriendlyARM является хорошим началом (http://www.friendlyarm.net) . Кроме того, на любой плате с процессором Cortex A15 должна быть доступна TrustZone, поскольку расширения виртуализации можно использовать только в обычном мире. Еще может возникнуть вопрос, есть ли у производителя собственный код, работающий в мире Secure, но попробовать всегда можно. Arndale — хорошая плата для разработки, но, к сожалению, у Samsung уже есть код, работающий в безопасном мире, поэтому к тому времени, когда вы получите доступ, вы уже работаете в обычном мире. Поэтому, если вам нужен безопасный доступ к миру, ищите процессоры Cortex A15 сторонних производителей. Это будет ваш лучший выбор.

Также стоит отметить, что технически TI не отключала TrustZone. Вместо этого код bootrom переводит процессор в нормальный мир перед переключением исполнения на U-boot. Таким образом, на самом деле он использует TrustZone для перехода в обычный мир, но не предоставляет механизма для возврата в безопасный мир. Чтобы доказать это, просто попробуйте прочитать SCR, и вы получите неопределенное исключение, что обычно происходит в Нормальном мире. Однако если вы выполните вызов SMC, он будет выполнен так, как ожидалось (т. е. он переключится в безопасный мир, а затем просто переключится обратно в нормальный мир), поэтому похоже, что ничего не произошло.

person Eeyore    schedule 18.01.2014

что касается открытой виртуализации, его можно портировать на плату разработки, например Samsung Exynos 4XXX.

у вас будет доступ ко всему исходному коду, включая безопасную ОС, если вы используете openvirtualization. но если вы просто хотите разрабатывать программы, использующие зону доверия, интересно, нужно ли это. может быть, есть стандартный драйвер или API, которые позволяют вам сделать это, не беспокоясь о компиляции собственной безопасной ОС?

person jiawen    schedule 16.03.2013

лучшее, что вы можете сделать, — это связаться с такими компаниями, как Gemalto и людьми, которые принесли Mobicore. Обратите внимание, что они действительно попросят вас подписать соглашение о неразглашении.

Во-вторых, вы можете купить пакет разработки ARM DS5. Он поставляется с большим количеством документации, в том числе в зоне доверия.

person Jeroen    schedule 16.11.2011

Вы действительно должны взглянуть на арсенал USB от Inverse Path: http://www.inversepath.com/usbarmory.html

Он построен на открытом оборудовании и с открытым исходным кодом с полным доступом к Trustzone (вы можете сжечь предохранитель, чтобы включить безопасную загрузку): https://github.com/inversepath/usbarmory

Они успешно запустили Genode в TZ и Linux в обычном мире.

person northox    schedule 14.04.2015