2017-01-18 4 views
3

В настоящее время я занимаюсь некоторыми исследованиями в TrustZone от ARM, например. здесь: ARM information center. Насколько я понимаю, с TrustZone может быть создана безопасная среда, основанная на шине AMBA AXI.ARM TrustZone, соединительные периферийные устройства?

В ARM website говорится: «Эта концепция безопасных и незащищенных миров выходит за пределы процессора, чтобы охватить память, программное обеспечение, транзакции шины, прерывания и периферийные устройства в пределах SoC». Я прочитал, что периферийные устройства могут быть подключены к TrustZone через N по адресу S ecure-бит шины AMBA AXI (дополнительный сигнал используется для различения доверенных и ненадежных запросов).

1) Что, кроме дополнительного штыря шины AMBA AXI, является специальным оборудованием TrustZone в SoC с TrustZone?

2) Возможно ли подключить внешнюю энергонезависимую память (например, Flash) или ее раздел к TrustZone с доступом к защищенному миру (через интерфейс внешней памяти и затем внутреннюю шину AXI)? Если нет, то как хранятся тайны (как ключи) для использования в безопасном мире (с помощью предохранителей?)? Если да, то как это предотвращено, что Flash, включая вредоносный код, подключен?

3) Возможно ли реализовать код в безопасном мире в качестве клиента поставщика чипов (например, TI или NXP), до или после того, как чип покинул завод?

Благодарим за ответы.

ответ

2

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

1) Что, кроме дополнительного вывода шины AMBA AXI, является специфическим оборудованием TrustZone в SoC с TrustZone?

Все, что хочет поставщик. Контроллер прерываний GIC (ARMv7-A), контроллеры L1 и L2 и MMU - все периферийные устройства TrustZone, поддерживаемые большинством процессоров Cortex-A. Они разработаны ARM и реализованы в SOC. Кроме того, существуют различные устройства для разбиения на разделы/исключения, которые могут быть размещены между периферией и SOC. Примерами являются NIC301 и различная проприетарная технология межсетевого соединения шины.

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

2) Можно ли подключить внешнюю энергонезависимую память (например, флэш) или разбиение на него TrustZone с доступом, чтобы обеспечить мир (через внешний интерфейс памяти и -Тогда в AXI на внутреннюю шине)? Если нет, то как хранятся тайны (как ключи) для использования в безопасном мире (с помощью предохранителей?)? Если да, то как это предотвращено, что Flash, включая вредоносный код, подключен?

Как указано выше, чипы, подобные NIC301, могут физически разделять периферийные устройства AXI. См. Изображение ниже Часть любого решения TrustZone - это безопасный механизм загрузки. Все CPU загрузится в безопасном мире. Механизм безопасной загрузки может отличаться. Например, одноразовый программируемый ПЗУ может быть подходящим для некоторых приложений.Многие из них имеют программируемые предохранители с механизмом открытого/закрытого ключа, реализованным в SOC ROM. Программное обеспечение для загрузки SOC ROM будет проверять, что изображение во флэш-памяти правильно подписано тем, кто сжег одноразовые предохранители.

Это изображение OEM может настроить множество периферийных устройств TrustZone, большинство из которых будут иметь блокировку бит. После установки регистры в периферийных устройствах не могут быть изменены до следующей жесткой загрузки.

3) Возможно ли реализовать код в безопасном мире в качестве клиента поставщика чипов (например, TI или NXP), до или после того, как чип покинул завод?

Да, это безопасный механизм загрузки. В документах ARM TrustZone не указано, как будет защищен код. Если вы производите чип и имеете встроенное ПЗУ с уровнем MESH, то это может быть достаточно для безопасной загрузки. Тем не менее, TI и NXP реализуют механизм открытого/закрытого ключа и проверяют, что может быть загружено только программное обеспечение, подписанное OEM. У этого программного обеспечения OEM могут быть ошибки (и, возможно, загрузчик ROM поставщиком SOC), но по крайней мере можно создать безопасную цепочку загрузки.

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


См:

Vybrid BUS from AN4947 - Understanding the Vybrid Architecure

+0

Физическая защита м Кроме того, включает флэш-чип. То есть, проволочная сетка вокруг флеш-чипа. Это предотвращает выполнение несанкционированного кода на вспышке. Можно предотвратить программирование флеш-чипа (или, по крайней мере, сделать его более дорогой атакой для выполнения). Никогда невозможно предотвратить считывание содержимого вспышки с помощью считывателя после разборки. Для этого будут полезны встроенные крипто-ускорители. Некоторые люди (активы и организации безопасности) могут быть связаны только с удаленным программным обеспечением. Другие могут нуждаться в защите от физических атак. –

+0

Спасибо за ваши ответы без шумов. – BenObi

Смежные вопросы