txtechhelp answer is interesting and I believe he gives an x86 perspective. TrustZone at the lowest level is a mechanism to partition ARM software into two worlds. One is the secure world and the other is the normal world. It is never a complete solution by itself. The ARM licensee (Freescale, Samsung, TI, Apple, BroadCom, etc) must provide hooks to complete the solution. For instance the TZASC, is a bus controller that is TrustZone aware. The gist of this is that DMA attacks in a sufficiently configured system are not possible.
In order to configure the bus controller and the secure world, by necessity TrustZone boots in secure mode. This implies that any system that tries to implement security with TrustZone has secure boot.
From the description of UEFI, if anyone has an exploit for a signed kernel, then they can steal secrets either directly or by using a DMA device (side-steps MMU). If the secrets are not accessible via the bus, then this is not possible. TrustZone tries to allow two sets of code to run. So an unsigned version of Linux maybe used with Trusted code which does a secure boot and sets up the bus controller to restrict bus masters and slaves. This Trusted code may just be a set of routines which does authentication and encryption/decryption as per a TPM; there must also be some hardware to provide protected secret keys in this case.
The trusted code should be a minimum set of functionality. It may be an OS or simply a set of routines/API depending on the requirements. Just as with UEFI, an exploit here can subvert security. However, as the footprint should be minimal/reduced, the attack vectors should be smaller.
See: TrustZone Whitepaper for more information.
1TPM can exist on X86 hardware but its not required. They don't fit together nor are they competing technologies. – Ramhound – 2013-12-17T12:51:41.133
Ok, thanks Ramhound. So would Intel/McAfee's DeepSafe be the alternative competitor to TrustZone? I read last week that it will be available for Windows 8 and Android OS. I did not see many details about how it woudl work other than it sits in the kernel (still I don't think its a TEE really). – Mic – 2013-12-17T13:16:36.267