Hi and welcome to the Arm "What is" program series. In each episode, we explore a tech topic
to give you insight and perspective into some of today's hottest design trends. I'm Brian Fuller,
editor-in-chief at Arm and today we're going to find out, what is confidential computing? And to
help us with that, I want to introduce Charles Garcia-Tobin, OS architect and Fellow with Arm.
Charles has worked in a number of different areas over the years, focusing on interoperation of
hardware, firmware, and operating systems. These days, Charles looks after security.
When he's not helping us understand what is confidential computing, Charles loves nothing
more than taking his camper van out to the beach to enjoy the day walking, swimming, and relaxing.
So let's dive right in. So Charles, what exactly is confidential computing?
So confidential computing is about protecting data in use. So protecting data, that's actually
in memory in use at that time. And we do this by running your programs in a protected execution
environment. That's hardware-based, where the environment shields the code and data from
access by more privileged entities like operating system kernel, or hypervisors. I like to think of
it in terms of rights. If you think about what a kernel has to do, it has to manage the memory
that's available to programs. So it has to manage what processes cycles are available to programs,
but the way we've historically done them is by combining both that right to manage
with a right to access. So if I hack a kernel, I can actually access or modify individual
programs such as your email client, for example, which really makes no sense because actually the
kernel's job really is to manage, not to access. And so confidential computing fundamentally
is about removing the right to access, but retaining the right to manage.
So this is basically a two-part question. Why is this important
and how does it fit into a broader strategy around securing digital devices and systems?
I guess the part of the reason why I talked about this historical perspective
is because it cannot listen to why is it important, you know,
that the primary targets for hackers are going to be kernels and hypervisors.
And because they're the richest target, you know, if I can unlock that key,
I can unlock anything that's running. I can access anything that's running on the drives with it,
with this rising concerns around privacy. They really want to move to a position
where they promise not to access your data to a position where they cannot actually
access your data so that there's not even a need of a promise. So the promise has teeth.
Can you talk a little bit more about how confidential computing actually implemented?
Sure. Actually in the Arm architecture over the years, we've provided
different sets of solutions that can be used to implement the confidential computing
per the definition I gave earlier of, you know, hardware back secure execution environments.
So the earliest thing we did in the architecture was TrustZone, which actually has been in products
for well over a decade. And with TrustZone, you can do exactly that you create a trusted
execution environment that cannot be accessed by operative systems, kernels, or hypervisors.
After that we introduced virtualization, which at least can allow you to create a protected
execution environment. That's protected from a kernel that's running in another virtual machine.
And virtualization is actually more flexible than TrustZone. TrustZone tends to be
used is to provide fixed use cases that are associated with a firmer of a given device.
So, you know, it was very good for mobile. Very good for Silicon vendors and OEM to provide
kind of platform security solutions. Virtualization,
but it's not very flexible in that the amount of memory that you can use for TrustZone,
for example, tends to be just a top down thing that you do at boot.
And there's not a lot and you can't just magically flick a switch and turn some memory into protected
memory on the fly. But virtualization does give you that capability, but you have quite a large
sort of code that you have to trust. And what we're introducing in
Arm v9, the realm management extension, it's basically a combination of all of these techniques.
That's going to get all the benefits of the flexibility about socialization,
but also a smaller amount of codes that you have to trust and stronger isolation,
guarantees, which are along the strength of what TrustZone solution can provide.
So Charles is confidential computing something that's in products today?
And if not, when can we expect that integration?
So for things that are based on trust and virtualization, these things have
been available in the architecture for a long time. And there are products today,
Arm architecture supports, TrustZone, virtualization and it has been doing so for many years. The realm
management extension, you're probably not going to see Silicon for another two to three years. We've
announced the architecture, so that now frees architectural licensees and ourselves to design
CPUs and that's what I'm using other associated products that would implement this architecture
and then Silicon vendors to actually build the hardware.
Well, thanks Charles. That's some great insight into some amazing security innovation.
Now check out all our other "What is" episodes here and be sure to subscribe to this channel
because we'll be adding more as the year progresses. Thanks for listening!