Est.

ARM TrustZone vs Intel SGX for Attestation Workflows

SGX roots trust in Intel's PKI; TrustZone delegates it to device vendors.

· 12 min read · Updated
Cover illustration for “ARM TrustZone vs Intel SGX for Attestation Workflows”
Attestation and Verifiable Computing · August 29, 2026 · 12 min read · 2,742 words

A trusted execution environment can isolate memory perfectly and still be useless to a remote party who has no way to check what is actually running inside it. Remote attestation is not a feature bolted onto a TEE after the fact but a protocol that lets a remote party verify what software is executing in a protected environment, and the TEE architecture itself sets the trust chain behind that verification by how it distributes key material and measurement authority. The standard framing for this problem names three roles: an attester (the device or enclave producing evidence of its own state), a verifier (the party that checks that evidence against policy), and a relying party (the party that acts on the verifier's conclusion). Isolation and attestation solve different problems. Isolation keeps secrets inside a protected boundary; attestation lets someone outside that boundary trust what the boundary contains, and a TEE that does the first without a standardized path for the second leaves the relying party with nothing to act on except faith. Because that trust chain gets fixed at the architecture level, the decision about who holds root signing keys, how measurements get bound to hardware, and who operates verification infrastructure is made well before a single line of application code gets written, and it constrains every attestation workflow built on top of it from then on.

SGX roots attestation in a per-enclave PKI owned by Intel

Intel SGX writes attestation into the silicon itself rather than treating it as something layered on afterward. Every SGX-capable CPU is provisioned at manufacture with a fused Root Provisioning Key known to Intel, and Intel derives a per-platform Provisioning Certification Key from that hierarchy, issuing PCK certificates for it through its Provisioning Certification Service. Every quote a verifier ever sees traces back through a key hierarchy Intel controls end to end.

Measurement in SGX is per-enclave and tied to code identity rather than to the device as a whole. Two fields do the work: one binds a quote to the exact binary loaded into that enclave, and another identifies the developer key that signed it. Both get computed at load time and carried into the attestation quote, so a verifier is checking a specific piece of code, not a general claim about the platform.

The flow itself runs through a local step before it ever leaves the machine. A Quoting Enclave signs the resulting quote with its own asymmetric attestation key, and that key is certified by the Provisioning Certification Enclave using a key derived from the fused device secret. Once that quote exists, the verifier checks it against Intel's certificate chain.

From there, two verification paths diverge in how much they depend on Intel at runtime. The original EPID path requires every single verification event to route through Intel's Attestation Service, so each check incurs a live dependency on Intel infrastructure. The newer DCAP path introduces a local Platform Certification Caching Service that caches certificates so verifiers can validate quotes without contacting Intel on each call; DCAP signs quotes with ECDSA, and the verifier pulls attestation collateral from local infrastructure instead of a remote one. The underlying PKI mechanics are the same, but the operational footprint of checking a quote looks very different depending on which path a deployment uses.

How TrustZone partitions the SoC and delegates attestation to OEMs

ARM TrustZone solves isolation at a different scale. Rather than carving out a protected region for a single process, it splits the whole system-on-chip into a Secure World and a Normal World, runs a small Trusted OS such as OP-TEE inside the Secure World, and lets Trusted Applications execute on top of that OS. The boundary TrustZone draws encloses an entire software environment, not one binary, and that difference in scope is the single most important thing to carry forward into the rest of this comparison.

The hardware primitive that makes this possible says nothing about how attestation should work. TrustZone defines the Secure World and Normal World split and leaves all attestation policy to whoever builds the platform on top of it. ARM does not run a global attestation PKI for TrustZone the way Intel does for SGX, so Qualcomm, Samsung, Apple, and NXP each build their own attestation flow, typically signed with vendor-specific keys anchored to a device-unique root secret.

What results is usually a secure boot chain that establishes an initial trust measurement at startup, sometimes paired with an optional Trusted Measurer that can attest individual Trusted Applications. But the root of that measurement is whatever the vendor decided it should be, not something fixed by the architecture. Research surveying attestation mechanisms has pointed out that TrustZone-A specifically lacks mechanisms that would let a relying party remotely validate and trust the state of a TrustZone TEE. That gap exists by design, not by neglect: TrustZone ships in virtually every ARM mobile and embedded SoC on the market, making it probably the most widely deployed TEE by hardware footprint of any architecture discussed here, and it does that job of isolation extremely well. What it was never built to do is tell a stranger, in a standardized way, what is running inside it.

What the trust-boundary difference means for a verifier implementing a workflow

The scope of what sits inside each architecture's trust boundary, a single enclave binary for SGX against an entire Trusted OS plus every Trusted Application running on it for TrustZone, shapes what a verifier actually has to build. These two models are not interchangeable, and a team that treats them as roughly equivalent design patterns will find that out the hard way during implementation.

SGX's narrow boundary buys precision. A quote is bound to one specific binary, so a verifier can write a policy that simply refuses anything that fails to match a known MRENCLAVE value, no ambiguity about what else might be running alongside it. That precision costs something on the development side: the application has to be redesigned to separate trusted code from untrusted code, and anything living outside the enclave sits completely outside what the attestation covers. Research comparing SGX to AMD SEV has pointed out that SGX does not offer the same application portability that SEV does, precisely because an application must be rebuilt to be made SGX-aware rather than simply run as-is.

TrustZone's wide boundary buys portability instead. A Trusted Application runs inside an already-established Secure World, so a developer does not need to rearchitect an entire OS layer just to get code attested. The cost appears on the verification side: what a TrustZone measurement actually proves depends on which OEM's software stack produced it, and a verifier cannot treat a quote from a Qualcomm device as comparable to one from an NXP device without implementing both vendors' trust chains as separate code paths. A verifier supporting both has to build and maintain two entirely distinct verification pipelines, and that is the multi-platform burden that makes cross-vendor TrustZone attestation expensive in practice rather than merely inconvenient. Research on self-verifying attestation evidence documents this directly: each TEE platform defines its own evidence format, its own protocol, and its own verification library, so a verifier needs platform-specific logic for every TEE it might encounter, and cloud deployment adds further variation in how that evidence gets wrapped on top of the hardware layer itself.

SGX's centralized key hierarchy as a structural single point of failure for attestation

SGX's centralized PKI is the same property viewed from two directions. It gives a verifier one clean chain of trust to check, and it also means that a compromise anywhere in that chain has consequences for every device relying on it, not just one vendor's fleet. One might argue that centralization is simply a trade-off worth making for the precision it buys. But what if the key hierarchy itself becomes the target, rather than any individual enclave?

That is roughly what happened with Foreshadow. It is a software-only microarchitectural attack that abuses speculative execution, does not necessarily require kernel access, and makes no assumptions about the code running inside the targeted enclave. Researchers used it to extract full cryptographic keys from Intel's own vetted architectural enclaves, then used those keys to forge arbitrary local and remote attestation responses across the affected devices. A separate issue, the ÆPIC vulnerability, is a direct microarchitectural bug that grants access to enclave secrets without needing to observe timing behavior. Neither case means SGX's attestation model is broken as a concept. Both cases demonstrate what centralization costs when the shared key material underneath it gets compromised: the blast radius is architectural, spanning every device relying on that key material rather than one device or one customer.

Compare that to what a fragmented TrustZone key hierarchy would do in an equivalent scenario. Because each OEM holds its own device-unique root secret, a compromise of one vendor's keys affects only that vendor's devices, leaving every other vendor's attestation chain untouched. The vendor fragmentation that section three described as TrustZone's attestation weakness functions here as a containment boundary instead: the same structural property can be a liability in one analysis and an asset in another, depending on which failure mode is under discussion.

SGX carries a second structural issue independent of key compromise altogether: the original EPID verification path requires every verification event to contact Intel's Attestation Service, which limits adoption among parties who cannot or will not register with IAS and makes the whole workflow contingent on Intel's infrastructure staying available. DCAP's local certificate caching removes the live network dependency on a per-verification basis, but the root of trust is still Intel's. The organizational single point of trust does not go away just because the network call does.

This tension between centralized and distributed trust authority is not unique to hardware TEEs. Any system asking users to trust that their data is handled as promised runs into the same question: does the architecture make that promise verifiable, or does it ask for faith in a single party's good behavior? SGX's model, where tight integration with one authority simplifies measurement binding but concentrates verification power in that authority's hands, mirrors a broader design question for privacy-preserving systems generally. DCAP's move toward local verification, distributing trust-checking away from a single remote service, echoes principles that show up in privacy-first architectures that try to minimize reliance on any single provider's infrastructure for the guarantees they offer users.

TrustZone's ecosystem fragmentation problem and the structural moves to address it

TrustZone's attestation gap is a consequence of a design decision, OEM-delegated policy. The industry's response has mostly come through governance and standards rather than through redesigning the silicon, signaling where the gap is actually headed.

PSA Certified is the clearest example. It is a device security certification framework for IoT connected devices, applicable across architectures and not limited to TrustZone-based platforms specifically. ARM has transferred governance of PSA Certified to GlobalPlatform, moving the standard under an industry-neutral body rather than keeping it under the vendor whose architecture it was originally built around. That transfer matters for reasons beyond optics: a standard maintained by GlobalPlatform is more likely to get adopted across competing OEMs than one still controlled by ARM itself, and broad OEM adoption is the precondition for cross-vendor attestation verification ever becoming practical rather than theoretical.

Arm CCA points toward a further architectural evolution, extending attestation concepts into confidential compute contexts in ways legacy TrustZone-A deployments were never built to support. But CCA attestation is not something practitioners can substitute for TrustZone-M or legacy TrustZone-A attestation flows in production today. It represents a direction the architecture is moving in, not something deployed embedded and mobile systems currently rely on. The honest way to frame TrustZone's fragmentation problem, then, is as a gap with recognized structural solutions already in motion, some already shipping as certification frameworks, others still on the architectural roadmap, rather than a gap that has been closed.

Where attestation verification complexity lands regardless of which TEE you use

Choosing between SGX and TrustZone does not make the deeper verification problem go away. Production deployments increasingly ask verifiers to handle evidence from multiple TEE platforms at once, and each platform's verification logic is its own separate, maintained code path sitting inside the verifier's trusted computing base. That is true whether the fleet standardizes on one architecture or mixes several, because cloud providers and hardware vendors keep adding new evidence formats faster than any single verifier design can absorb them.

Research on self-verifying attestation evidence documents this concretely. Existing frameworks such as Veraison and Trustee handle the problem by breaking verification into per-platform plugins, but those plugins run as native code directly inside the verifier, so a bug or a backdoor in any single plugin can compromise verification integrity across every platform that verifier supports, not just the one plugin's own platform. Cloud deployment multiplies the surface further: a single hardware TEE type produces distinct evidence envelopes depending on the cloud layer wrapping it, so bare-metal TDX, bare-metal SNP, Azure TDX over vTPM, and Azure SNP over vTPM each count as a separate attestation platform even though some of them share the same underlying silicon underneath.

SGX's standardized quote format helps within the Intel ecosystem specifically, simplifying a verifier's job as long as every attester it handles is also SGX. It offers nothing when that same verifier also has to handle TrustZone evidence, or evidence from some other TEE, inside one workflow. One research response to this is TrustMee's self-verifying evidence model, which bundles a WebAssembly verification component with each attestation bundle so a verifier can execute platform-specific logic without needing that platform's code pre-installed. It produces results in the standard EAT Attestation Result format and has been demonstrated for Intel TDX and AMD SEV-SNP. That is a research direction worth watching, not a production answer practitioners should treat as settled today; it is useful evidence that the industry sees multi-platform verification complexity as a fundamental problem rather than a minor implementation detail to be solved later.

SGX's memory model and programming constraints on what can be attested

All of SGX's attestation precision is worth nothing if the workload in question cannot realistically be built to run inside an enclave. The programming model imposes real constraints, and those constraints make porting non-trivial existing code slow and prone to error well before attestation ever enters the picture.

The enclave boundary forces a developer to split the application into trusted and untrusted halves explicitly. Every OS service an application might depend on, memory management, interrupt handling, I/O, stays in the untrusted layer by design, so anything the application does that touches those services has to be redesigned to cross the enclave boundary deliberately rather than calling through to the OS the way ordinary code does. That is a meaningful rewrite for most real applications.

SGX also does not hide everything about what a program does while it runs. Enclave contents are encrypted, but the pattern of which memory addresses get touched, which locations are loaded from and stored to, remains observable from outside the enclave. Microarchitectural attacks exploit exactly that observable access pattern in combination with transient execution behavior, a limitation that exists independently of anything wrong with the key infrastructure discussed earlier. None of this means SGX cannot attest a workload correctly. It means the set of workloads that can be built into an enclave at all, and built there without leaking information through memory access patterns, is narrower than the set of workloads SGX's attestation protocol could in principle verify.

The broader lesson running through all of this is that attestation is never evaluated in isolation from the architecture producing it. This same question, whether a trust guarantee is built into the architecture itself or delegated out to individual implementations, applies well beyond hardware TEEs. Confidant AI's approach to privacy-preserving AI rests on a comparable commitment: that data stays private because the architecture is built from the start to keep data unmonetized and uncollected, which is itself a design choice that needs some mechanism, akin to attestation, for users to trust that the implementation actually matches the promise made to them. Whether that trust is anchored in a single authority's key hierarchy or distributed across a standards body with broad industry buy-in, the underlying question for anyone choosing a TEE, or evaluating a system that claims to protect data, is the same one this piece opened with: who controls the chain of trust, and what happens when that chain is tested.

Sources

  1. Flexible remote attestation of pre-SNP SEV VMs using SGX enclaves
  2. TrustMee: Self-Verifying Remote Attestation Evidence
  3. Survey on Trusted Execution Environments
  4. CCX: Enabling Unmodified Intel SGX Applications on Arm CCA
  5. An Exploratory Study of Attestation Mechanisms for Trusted ...

More in Attestation and Verifiable Computing