virtCCA: Virtualized Arm Confidential Compute Architecture with TrustZone

This paper presents virtCCA, a virtualized implementation of Arm's Confidential Compute Architecture using TrustZone on existing hardware that enables the deployment of confidential virtual machines with strong API compatibility and acceptable performance overhead, bridging the gap until dedicated CCA hardware becomes widely available.

Xiangyi Xu, Wenhao Wang, Yongzheng Wu, Chenyu Wang, Huifeng Zhu, Haocheng Ma, Zhennan Min, Zixuan Pang, Rui Hou, Yier Jin

Published 2026-03-05
📖 5 min read🧠 Deep dive

Imagine you are running a massive, high-security bank in the cloud. You want to store your customers' most sensitive data (like passwords and bank balances) in a "vault" that not even the bank manager (the cloud provider) can peek into.

In the tech world, this is called Confidential Computing. Arm, the company behind the chips in most smartphones, recently invented a new, super-secure vault system called CCA (Confidential Compute Architecture). It's like a brand-new, state-of-the-art bank vault that is incredibly secure.

The Problem:
The problem is that this new "CCA vault" hardware won't be available in real servers for a few years. But companies need this security now. They have thousands of older servers (like AWS Graviton or Google's Tau machines) that are powerful but lack this new vault technology. They can't just throw away their old servers and wait years for the new ones.

The Solution: virtCCA
The authors of this paper built virtCCA. Think of it as a high-tech "force field" or a "magic suit" that you can put on your old servers to make them act like they have the new CCA vaults.

Here is how it works, using simple analogies:

1. The Two Worlds: The Living Room vs. The Panic Room

Arm chips already have a feature called TrustZone. Imagine the chip is a house with two rooms:

  • The Normal World (Living Room): This is where the regular operating system (like Linux) lives. It's where the "bank manager" (the hypervisor) works. It's powerful but not perfectly secure.
  • The Secure World (Panic Room): This is a tiny, locked room inside the chip. Only very trusted code can enter.

The Challenge:
The new CCA system wants to run entire "Virtual Machines" (mini-computers inside the computer) inside this Panic Room. But the Panic Room was originally designed only for tiny, simple apps, not full-blown operating systems. Also, the "bank manager" in the Living Room is considered untrusted; we don't want him to be able to peek into the Panic Room.

2. The "Gatekeeper" (TMM)

To solve this, the authors created a tiny, super-trusted software layer called the TrustZone Management Monitor (TMM).

  • Analogy: Imagine the TMM is a super-strict bouncer standing at the door between the Living Room and the Panic Room.
  • How it works: The "bank manager" (the hypervisor) in the Living Room still does the heavy lifting: he decides when to turn a machine on or off, and he allocates memory. But he cannot touch the data inside the Panic Room.
  • If the manager needs to do something for a machine in the Panic Room, he has to ask the Bouncer (TMM). The Bouncer checks the ID, verifies the request, and then lets it happen. This ensures the manager can never steal the data.

3. The "Magic Suit" for Old Servers (S-EL2 vs. No S-EL2)

The paper is special because it works on two types of old servers:

  • Type A (Newer Old Servers): These have a feature called S-EL2. This is like having a special key that lets the Bouncer work inside the Panic Room efficiently. The Bouncer can manage the room directly.
  • Type B (Very Old Servers): These don't have the special key. The Bouncer has to stand outside the room (at a higher security level called EL3) and use a walkie-talkie to talk to the inside. It's a bit more work, but it still works!
  • Why this matters: Most other solutions only work on Type A. virtCCA works on both, meaning almost any existing Arm server can become a secure vault.

4. The "Translation" Problem (Interrupts and Devices)

When a machine in the Panic Room needs to talk to a printer or a network card, it usually just "shouts" (interrupts). But in the old servers, the hardware doesn't know how to shout from inside the Panic Room.

  • The Fix: The Bouncer (TMM) acts as a translator. When the machine inside tries to shout, the Bouncer catches it, translates the message into a format the outside world understands, and then relays it. To the machine inside, it feels like it's talking directly to the hardware, even though it's actually talking through the Bouncer.

The Results: Is it fast?

You might think adding a Bouncer and a translation layer would make things slow.

  • The Test: The authors tested this on real servers with heavy workloads like databases (Redis, MongoDB) and web servers (Apache).
  • The Verdict: It's surprisingly fast!
    • On the newer servers (with the special key), the slowdown was less than 30% even for heavy tasks.
    • On the very old servers, it was actually faster than the standard setup in many cases because the "Bouncer" was so efficient at managing the memory.

Summary

virtCCA is like a time-traveling security upgrade. It takes old, powerful servers that lack the newest security hardware and wraps them in a "magic suit" that makes them just as secure as the future hardware. It allows companies to protect their data today without waiting years for new chips to arrive, all while keeping the software compatible with the future standards.