This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

ARMv8-M TrustZone: Secure & Non-Secure Modules Implementation

Dear Sir/Mam,

I am new to ARM TrustZone technology. I have started studying ARMv8-M architecture in Cortex M23 and Cortex M33. I have gone through white paper Whitepaper - ARMv8-M Architecture Technical Overview

However I have following queries:

1. How are the secure and non-secure modules implemented in  http://infocenter.arm.com/help/topic/com.arm.doc.prd29-genc-009492c/PRD29-GENC-009492C_trustzone_security_whitepaper.pdf  page no. 97 ? Is it defined in hardware or in software/firmware in IDE (Keil MDK, DS-5)?

2. If both hardware and software can secure the modules then is it possible that I can secure half modules using hardware and remaining half using software?

3. What are secure API's?

Any insights would be appreciated.

Regards,

Sarang

  • Hi Sarang,

    1. How are the secure and non-secure modules implemented in  http://infocenter.arm.com/help/topic/com.arm.doc.prd29-genc-009492c/PRD29-GENC-009492C_trustzone_security_whitepaper.pdf  page no. 97 ? Is it defined in hardware or in software/firmware in IDE (Keil MDK, DS-5)?

    Just to note that that whitepaper is talking about system design for TrustZone on A-class processors, it doesn't make that clear as is is quite old and at the time there was no TrustZone on Cortex-M!

    In the block diagram on page 97 the HW modules are secured in the memory system.  This will be configured in hardware, although there may be some level of run time software control if there are programmable memory gates in the system.  A similar concept is available for Cortex-M systems.

    2. If both hardware and software can secure the modules then is it possible that I can secure half modules using hardware and remaining half using software?

    The MPU/SAU on the ARM processor can secure any accesses that come from the processor.  If you have another bus master on the chip, such as a DMA, then you will  need hardware control to gate accesses from that master.

    3. What are secure API's?

    The point of TrustZone is to isolate your trusted software and limit the ways it interacts with non-trusted software (minimising the attack surface).  This means that all communication into TrustZoen has to go through an limited interface, this is waht we mean by secure API.

    Hope that helps,

    Pete.