SETH JUAREZ: Welcome back.
I'm Seth Juarez,
and I'm privileged to be here
with Marcus Image Azure CTO. How are you doing, bud?
MARK RUSSINOVICH: Good.
SETH JUAREZ: I try to come over
the other day and no one would let me in.
MARK RUSSINOVICH: They were under orders.
SETH JUAREZ: Speaking of confidentiality,
what is your favorite announcement
so far Microsoft Build?
MARK RUSSINOVICH: Confidential.
SETH JUAREZ: Confidential containers,
I was trying to lead you into that a little bit.
MARK RUSSINOVICH: You did a good job.
SETH JUAREZ: Let's start first with
remind us what this whole technology is.
MARK RUSSINOVICH: Confidential computing is
based on this concept of trusted execution environments,
which are hardware that protects or creates
this box called an enclave that you can put code into.
It's completely isolated from
the outside and protected from the outside.
For example, the memory is encrypted.
So from the outside,
even if you're an admin on the box,
you can't get into what's in the box, and the hardware
can measure what's in the box
and then produce a signed report saying,
"Hey, this is the code that's inside this box."
Then whatever's in the box can say,
"Hey, look, this is what I am.
The hardware says it is."
Then from the outside, if you want to let that
code decrypt data so that
it can process it in a confidential way,
then you give it a secret.
Here's the key to unlock this data,
and then it processes it, and
this is what we call protection while data is in use.
We've got protection all day,
doesn't rest with encryption at rest.
We've got TRS for protecting it while it's in transit.
This is the missing piece
is protecting a wall while it's in use.
SETH JUAREZ: I get that, but
that's at a machine level.
You're saying this with containers, though.
MARK RUSSINOVICH: Well, so that's the
announcement today.
We've been driving confidential computing from bringing
the first confidential hardware into the
public Cloud with virtual machine types to support it.
We've got the ability to run pods on
confidence like AKS nodes
with trusted execution environment.
We've got confidential SQL
always encrypted with SGX enclaves.
We've got an attestation service that is one of
these things that produces one of these reports.
This is the code running in this box.
Trust me, that's also confidential.
We've got a confidential ledger service, we've
worked with NVIDIA to bring confidential GPUs out.
We've worked with AMD and Intel
to bring confidential hardware out.
Today, we're taking the next step in
the evolution of the software platform for
confidence computing by supporting
serverless containers that are confidential.
SETH JUAREZ: That's the part. Because I
remember we talked about this other stuff,
but how do you actually do
a confidential container that's
using hardware property? How is that even done?
MARK RUSSINOVICH: It's actually pretty
straightforward.
We have got a little demo that I can show
you of us just how easy
it is to take a container and make it confidential.
SETH JUAREZ: Let's roll that.
Let's show everybody what
we got here. Tell us what we're looking at.
MARK RUSSINOVICH: What we're looking at here is
an ARM template to deploy
a container on HCI or Azure Container Instances Service.
These three lines right there,
it's all that it takes to
declare that as a confidential container.
SETH JUAREZ: It's an ARM template
MARK RUSSINOVICH: It's an ARM template.
You can see
that it's saying AMD SNMP.
That is the type of hardware.
Now, if we go to
this view of our container instances running,
you can see it just looks like
any other type of container instance.
Now, what we've got in there is
a Python app that does one thing only.
When you hit the URL for that app,
it produces the report from the hardware of what it is.
This is what I was talking about,
what it would present to somebody that it
wants to get a key from to decrypt it.
You can see at the bottom there's a signature,
there's a measurement field.
That's what the hardware is producing.
It's looking at the code in there and saying,
this is the measurement of everything in this box.
Here's my signature to prove to you that I'm
the hardware and I'm endorsing this as a true statement.
Then you take that and get a key to unlock,
for example, confidential data sets,
encrypted data sets for health records or financial data
or whatever other data you want to keep
secret and make available
only to what's in that container.
SETH JUAREZ: As I saw that,
I guess, what I was looking
at was you built a confidential container,
you deployed it, and all you did was you did
a Python script that just output all the attestation.
SETH JUAREZ: Now, for me because I'm
a simpleton when it comes to these things, Mark.
If you could help educate me,
maybe someone else who's like me,
what is all that attestation data
do or say? What's in there?
MARK RUSSINOVICH: Like I mentioned, it is the
measurement, so it's the hash.
It's a succinct representation
of everything that's in there.
Then the processor has
a certificate that's been issued by AMD.
SETH JUAREZ: I see.
MARK RUSSINOVICH: That you can go check and
say, "Was this signed by a real AMD processor?"
This is the hash of what's in there.
I know that the Python app has this hash,
so I can look at that at a station report.
Does that hash match what I think of as
the Python app that I wrote. Yes, it is.
It's signed by AMD processor, is
protected inside this enclave.
Now I know it's
authentic and I can share a secret with it.
SETH JUAREZ: If heaven forbid,
someone were to even get
the container out somehow magically,
which I don't think is even possible.
It would all be encrypted. No and no
MARK RUSSINOVICH: That's right.
The memory is encrypted,
the CPU states encrypted,
the hypervisor can't see what's in there.
An admin on the box can't see what's in there.
Somebody's breaking through the trust boundaries
of Azure, can't see what's in there.
Even physical access.
It'd be tough to get to what's in there.
SETH JUAREZ: Literally someone there with
a screwdriver into the machine would not be able to.
MARK RUSSINOVICH: You can put a sniffer on
a memory bus and you wouldn't
be able to see because it's all encrypted.
SETH JUAREZ: This is really cool.
There's got to be some really fantastic use cases
for this. Can you fill us in?
MARK RUSSINOVICH: The scenarios are limitless.
First of all, I strongly believe that
confidential computing will become just a defense.
SETH JUAREZ: Computing.
MARK RUSSINOVICH: It'll become computing.
People just call it computing and it'll be confidential.
Just like, we talk about
TLS and encryption of stuff that's in transit.
You don't send stuff over
the network now unless it's encrypted.
SETH JUAREZ: Yeah.
MARK RUSSINOVICH: That's just a normal way to do things.
But some of the cool scenarios that it
supports that I'm excited
about are multi-party computations.
If you think about the case where
you and I have two data sets,
where we've got concerns of
the privacy of what's in that data set or
IP of what's in that data set or
regulation prevents us from sharing that data set.
We can give it to the Python app that we both
trust not to leak what's there.
Give both of our data sets to it.
It can do a computation like an ML algorithm
that does a training across
both those datasets and get
insights out of them that it wouldn't be able
to get out of just one so
set patient record from hospital A,
patient records from hospital B or
chest x rays mixed with MRI scans.
SETH JUAREZ: Tons of use cases.
MARK RUSSINOVICH: Yeah.
SETH JUAREZ: Just to finish up,
where can people go to find out more?
I know they want to know about this stuff.
MARK RUSSINOVICH: You can go to aka.ms/CCACI.
Confidential container ACI.
SETH JUAREZ: Awesome.
We'll make sure you go
to that link and be sure to
stick around through tomorrow
and get part two with Mark.
As we talk about container apps
and Dapr just like me, don't miss it.