ARM TrustZone разработка - PullRequest
       45

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

10 голосов
/ 31 октября 2011

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

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

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

Ответы [ 7 ]

11 голосов
/ 06 ноября 2011

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

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

3 голосов
/ 16 декабря 2016

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

3 голосов
/ 13 мая 2012

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

2 голосов
/ 19 января 2014

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

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

2 голосов
/ 16 марта 2013

в отношении openvirtualization, он может быть перенесен на плату разработки, например samsung exynos 4XXX.

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

1 голос
/ 14 апреля 2015

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

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

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

1 голос
/ 16 ноября 2011

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

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

...