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. Некоторые решения могут иметь механизмы аннулирования, чтобы предотвратить использование ранее выпущенного программного обеспечения.
См: trust-zone
Физическая защита м Кроме того, включает флэш-чип. То есть, проволочная сетка вокруг флеш-чипа. Это предотвращает выполнение несанкционированного кода на вспышке. Можно предотвратить программирование флеш-чипа (или, по крайней мере, сделать его более дорогой атакой для выполнения). Никогда невозможно предотвратить считывание содержимого вспышки с помощью считывателя после разборки. Для этого будут полезны встроенные крипто-ускорители. Некоторые люди (активы и организации безопасности) могут быть связаны только с удаленным программным обеспечением. Другие могут нуждаться в защите от физических атак. –
Спасибо за ваши ответы без шумов. – BenObi