Questions tagged [trust-zone]

For question related to implementing and interfacing TrustZone secure and normal world software and the monitor mode that brokers them.

Trustzone is an architecture to allow CPU sharing in cases where a traditional dedicated 'secure CPU' may have been used. This can reduce cost, power and board space.

A TrustZone ARM core has two virtual processors with a bus control 'NS' bit to provide hardware based access control. A TrustZone CPU can switch states between two worlds referred to as 'secure' and 'normal'. The worlds strive to be independent of each other requiring minimal changes to transition from a standalone OS/firmware system.

Memory, peripherals, BUS and CPU are made aware of the world via the 'NS' bit which allows the SOC to provide access control to secrets and code on the system. Master devices such as DMA, or multi-core devices can also be TrustZone aware or the bus master can be set to provide boot time locked access.

TrustZone solutions need several components,

  1. A TrustZone CPU
  2. A secure boot mechanism
  3. Bus control
  4. Secure world software

Reference:

97 questions
1
vote
1 answer

Can coherency issue happen between secure DMA and non-secure CPU on TrustZone system

I encounter some problem which I think is about coherency between DMA and CPU. Here is the simplified use case. Cortex A5 CPU writes to the non-secure memory under non-secure state. MMU is enabled and the memory attribute is normal, shareable and…
Hs Zhang
  • 163
  • 1
  • 8
1
vote
0 answers

ARM Trust Zone - Error when switching from SVC to Monitor Mode

I am new to ARM TrustZone, I am playing a little bit with it trying to learn how it works (so, all the security implications of this approach are not important to me at the moment). I have a Sabrelite board with a iMX6 Cortex-A9 processor, which…
Cristiano
  • 856
  • 10
  • 24
1
vote
0 answers

Is VisualStudio 2015 android emulator is able to emulate the TrustZone?

I am doing a research about apps using Trustzone in Android. Just wondering that is VisualStudio 2015 Emulator is able the emulate the environment? Thanks in Advance Rong
r0n9
  • 2,505
  • 1
  • 29
  • 43
1
vote
1 answer

GIC v2 Virtualization Supported System

I'm trying to implement some kind of Interrupt routine. It's related to virtualization with GIC v2 H/W support. My question is : When catch a interrupt number, Hypervisor should distingush if it's for own itself or for guests ran on the…
Jeungwoo Yoo
  • 1,059
  • 1
  • 10
  • 17
1
vote
1 answer

I need to know ARM Trustzone Usecases

I am currently understanding ARM trustzone technology. Can anybody please suggest some basic use cases of Trust Zone for prototype development on Zynq board.
Rahul
  • 11
  • 1
1
vote
1 answer

Boot Linux in Normal World

I am exploring the TrustZone (the ARM security extension) on an i.MX53 Quick Starting Board. I succeeded to make a bare-metal system : A secure world image and a normal world image. I load the two images in my ram with u-boot and I boot the secure…
EngineerN
  • 133
  • 2
  • 11
1
vote
0 answers

security boot sequence is different between armv7 and armv8?

I am going to build a secure system use arm trustzone technology. But it is said that the secure boot sequence is different between armv7 and armv8. I want to know what the difference is? And only secure boot is different or the boot sequence of…
roMoon
  • 91
  • 10
1
vote
0 answers

ARM Trustzone, Open Virtualization SDK Boot stuck

I am currently working on something related to ARM Trustzone so I found this Open Virtualization (http://openvirtualization.org/) I followed the documentation over the Sierra TEE build and boot guide to build and it compiles without issues. However…
George Gu
  • 11
  • 2
1
vote
2 answers

i.MX53 QSB and ARM TrustZone

I'm exploring the i.MX53 QSB and the TrustZone extensions. I run an OS in the secure world thanks to the U-Boot bootloader. Now I'm in the secure world. I have three questions : The first question is when should I share the memory and the…
EngineerN
  • 133
  • 2
  • 11
1
vote
2 answers

Which board to use for using TrustZone extensions

I'm trying to find a single core ARM based board on which the TrustZone technology is enabled in order to implement a dual execution environment (rich OS next to a microkernel running "in" the TrustZone that will be my TEE). When i search on the…
EngineerN
  • 133
  • 2
  • 11
1
vote
1 answer

Where is the smc call's immediate value is stored?

I am working on the trust zone extension on raspberry pi B+ which has the ARM1176JZF-S processor. The smc (Secure Monitor Call) instruction used to switch between worlds is of form : "SMC #imm4" eg : smc #0 I am trying to retrive this value from…
AvK
  • 75
  • 1
  • 9
1
vote
2 answers

TrustZone: Scheduling processes from the two worlds

If I have a single core CPU on a TZ-enabled device and there are two processes running: one in the secure world and one in the non-secure world, is it possible to have the scheduler manage them in an pre-emptive way, such that each process gets…
Richard Laurant
  • 647
  • 1
  • 8
  • 21
1
vote
1 answer

ARM trustzone usage

I would like to ask some questions about ARM trustzone. 1.) Can anyone give me the concrete example: when trustzone is needed and how it helps to solve security problems? 2.) I heared that FIQs could be configured as "secure interrupts". Does it…
Alex Hoppus
  • 3,821
  • 4
  • 28
  • 47
1
vote
2 answers

Secure mode can access secure / non secure memory how?

As per CortexA prog Guide TrustZone hardware also effectively provides two virtual MMUs, one for each virtual processor. This enables each world to have a local set of translation tables, with the Secure world mappings hidden and protected from the…
user435739
1
vote
2 answers

Arm TrustZone on Xilinx zynq zc706, smc #0

Arm TrustZone, zynq-zc706 Hi, I tried enabling TrustZone on Xilinx Zynq zc706 board. After many attempts, still no success. Does anyone know if I have to enable somehow that option? I downloaded opensource solution for TrustZone implementation…