Il-SUNG LEE: Hi.
Welcome to our session on Trust Cloud More
by Trusting It Less: Ubiquitous Data Encryption.
My name is Il-Sung Lee, and along with me,
I have Anoosh Saboori and Joerg Schneider.
And to introduce ourselves a little bit more
I'm a senior product manager that works on the cloud
key management side.
Anoosh is a product manager that works on the zero trust
and confidential computing.
And we're very lucky to have Joerg Schneider, who's
a director of cryptography and engineering
and solutions for Deutsche Bank.
Now today we'll talk a little bit
about the motivation behind this talk,
and this is going to touch upon a topic
that we call a trust paradox, and then
talk a little bit about how it works and then provide a demo,
and then do a call to action after that.
So first let's talk about the motivation.
So we've been thinking about this problem for a while,
and the problem essentially is, how do I verifiably
protect my data from non-authorized access
while still being able to store and process in the cloud.
So I'm sure a lot of you have already
been thinking about this, where you want to take advantage
of the power of the cloud.
You want to be able to use it for all the elasticity
and the storage and the compute power,
but there may be some cases where the trust issue may
become a problem, where you have to rely upon Google
or any other cloud provider to actually secure your data
and secure the networks and make sure that there's
no unauthorized access.
Now this brings us into a discussion
around the trust paradox.
And when I talk about the trust paradox,
it essentially is, to be able to trust cloud computing,
you need to be able to trust less.
And this statement came from a series of blogs
that Anton Chuvakin and I published last year to talk
about this whole trust paradox.
And essentially, whenever you use a cloud,
you're entirely putting trust into the cloud provider
because really, you're using the cloud provider's
infrastructure, network.
You're relying upon their operations and everything else.
And as you start bringing more and more sensitive
data up to the cloud, then this level of inherent trust
may start to make you feel more uncomfortable.
And so here at Google, we've done certain things
like introducing technologies to help
you reduce that level of implicit trust
and increase the amount of comfort
that you have in our Cloud.
And so we're specifically talking about things
like Cloud External Key Manager, or EKM,
that allows you to encrypt and protect data
that you have in our cloud with a key that's
completely held outside the cloud under your control
and possession.
Or things like confidential VMs, which
allow you to encrypt and protect data in use
using a key that's generating protected
by the hardware itself.
And in this case, we're using AMD SEV technology.
Now with that said, our solution to this
is to actually introduce a concept of ubiquitous data
encryption.
And what I mean by ubiquitous data
encryption is that the data that you have
will be seamlessly encrypted at use, in rest and transit,
with keys that are under your control.
And Google is the first major cloud provider
to provide this technology to our customers.
And so as you can see in the diagram to the right,
as the data traverses throughout the system,
through Cloud Storage or Compute Engine,
it's going to be only visible to you,
the person who owns the data.
And that's what the green box is supposed to depict.
It's supposed to represent the fact that the data is going
to be protected, and only the person who
owns this data should have the ability
to actually have visibility to the actual plaintext.
Now, obviously, with ubiquitous data encryption,
you get some advantages.
Number one, primarily, is you get
to control your data regardless of whether it's in storage,
in memory, or flight.
And then number two, you still get
to take advantage of the power of the cloud.
So in this case, you're still able to use our Cloud
Storage, our Compute Engine, and run all your workloads
with very, very little or no limitations at all.
And all of this is going to allow you to actually reduce
the level of implicit trust that you have in Google,
and that's something that's going to be very, very
beneficial to you.
Now we have the great fortune of having worked very closely
with Deutsche Bank on this feature, who
have been a very, very interested
and a very engaged partner with us.
And so we're very lucky to have Joerg Schneider, who
has agreed to actually talk a little bit more
about this ubiquitous data encryption with us.
So Jeorg, tell us a bit about your company
and its partnership with Google Cloud.
JOERG SCHNEIDER: Thank you.
Let me first introduce myself.
My name is Jeorg Schneider and I work as a Crypto Architect
in Deutsche Bank in the Chief Security Office.
Deutsche Bank is the leading German bank
with strong European roots and a global network.
The bank focuses on its strengths
in corporate bank, private bank, investment bank,
and asset management.
Like many financial institutions,
Deutsche Bank is on its cloud journey.
We have formed a strategic partnership with Google
last year.
There are many benefits coming out of that partnership for us,
for example, enhanced efficiency, elasticity,
and resilience provided by GCP.
Forming this partnership is a unique approach
for us as well as for Google.
We use this framework also to co-innovate,
and this work that we're presenting today
is actually one of the first results.
Il-SUNG LEE: I see.
So what are some of the security considerations you have when
moving to the cloud?
JOERG SCHNEIDER: Let me start by saying
that protection of customer data is absolutely
paramount for Deutsche Bank.
In order to protect this data, the state of the art
is encryption of data at rest and in transit.
While data is being processed, while it is in use,
the state of the art is the combination
of security controls, non-cryptographic security
controls from different domains, including identity and access
management, production change control, security monitoring.
GCP provides excellent support for all of those security
controls, and this is one of the reasons why
we have partnered with them.
We were really excited when Google introduced
confidential virtual machines last year,
as they allow us for the first time to process data
while it is securely encrypted.
Even better, this great feature comes
without performance impact and the need
to change our applications.
So confidential computing pushed the boundary
of the state of the art for data and use protection already.
We quickly realized, together with Google,
that we can take this one step further
by combining data at rest and data in use encryption.
The result is ubiquitous data encryption
that we present today.
I'll stop here not to steal the thunder from Anoosh
and Il-Sung, and let them explain in more detail how
it works later on.
Il-SUNG LEE: That makes sense.
And what are the benefits for you for using ubiquitous data
encryption in GCP?
JOERG SCHNEIDER: For us as a financial institution,
ubiquitous data encryption has clear benefits
and we are very excited about it.
First and foremost, it increases security
further by taking control over data and cryptographic keys
to the next level.
Second, it helps us simplifying application architectures.
So in the past, we had to build encryption
into our applications to achieve the highest security level.
Now we can let the Cloud Infrastructure safely handle
the encryption for us.
This means less complexity, faster time to market.
So we have the best of both worlds, security
and simplicity.
And last but not least, it makes it much easier
to show that we retain control over our data in the cloud.
We can point to a single cryptographic control
rather than to a long audit report to demonstrate that.
This is particularly important in a regulated industry
as ours.
In summary, I believe that the clear security benefits
combined with ease of use will make the solution
the new standard going forward.
Il-SUNG LEE: Thank you so much, Joerg.
And now I'd like to turn it over to Anoosh,
who's going to talk a little bit about how it works.
ANOOSH SABOORI: Thanks so much, Il-Sung.
In the second part of this talk, we're
going to do a deep dive on the technical side.
We are also going to see a quick demo.
All right.
When we thought about how to build ubiquitous data
encryption in GCP, our high-level idea
was to actually create the key that
encrypts your data in the cloud, and making sure
that the key is only accessible on a confidential computing
environment.
Because confidential computing environment
encrypts the memory of your environment at runtime
with the key that is generated by the CPU,
this should deliver the true promise of ubiquitous data
encryption.
With that, it feels like the solution
has to have four components.
The first one is a client-side encryption/decryption tool
that basically encrypts your data outside the Cloud.
The second piece would be a management solution
to protect your keys and making sure you can create and enforce
policy on that.
For example, the data is only decryptable
in a confidential VM.
The third component would be a key distribution attestation
mechanism which provides a scalable and a secure way
of sharing the key with the verified confidential VM.
And lastly, you need the tool to perform encryption/decryption
on the confidential VM site.
Now, currently you have to build all this solution on your own
and manage them on your own with your team.
With our solution, we move to provide this solution
in a seamless way for you, such that you
don't have to worry about these four different pillars.
More specifically, Google provides
a client-side encryption/decryption tool
that you can use as part of your application.
Through our partner program, we will talk a little bit
in the next slide, we provide a managed solution
to protect your keys, enforce policies, and distribute them
securely to the cloud.
And lastly, Google also provides you with a tool
that you can use on the confidential VM
to do encryption and decryption.
The good news is that the tool used
in the first bullet and last bullet are the same thing.
So going back to the diagram that Il-Sung showed you
when introducing ubiquitous data encryption,
basically, the idea is to create a key in the External Key
Manager, as shown in this diagram,
and make sure that it encrypts your data as it moves out
of your trusted boundary, for example, on prem.
If you're an existing EKM customer,
this diagram is very familiar.
What is actually new over existing External Key Manager
solution is the fact that now that your EKM is verifying
the attestation that comes from the Cloud VM
before releasing access to the key.
And this is what allows us to deliver the true promise
of ubiquitous data encryption.
I'm very happy to introduce STET in GA today.
STET stands for Split Trust Encryption Tool,
and it provides a seamless client-side
encryption/decryption as part of gsutil
when you do uploads and downloads.
It is available at GitHub at no extra charge,
and it also performs, as part of the encrypt and decrypt flow,
cryptographic attestation that the VM that
is requesting access to this key is a confidential VM.
And one of the more advanced features of the tool
is the ability to split trust across multiple key managers
to help prevent unilateral access of your data.
We're also happy to announce that our EKM
partners, specifically Thales, is now in preview.
So you can use their product in conjunction
with our STET to perform ubiquitous data encryption.
And Fortanix is coming later this year.
We have more partners lined up down the road.
Now, what are the properties of a solution that you can
achieve with this end to end?
First one is the split trust model.
With the split trust, you have a guarantee that the third-party
key managers, including Google Cloud,
cannot decrypt your data in plain text.
The idea is to split the keys that
are used to create encryption key
across multiple key managers, and access to the key
requires all of them to be present.
The second one is the availability
of an encrypted and attestation-bound communication
channel between your externally hosted system
and the confidential workloads.
This is built on top of existing TLS channels,
so it enjoys all the benefits of a TLS
in addition to having attestation guarantees on top.
You can think of it as a chip-to-the-cloud secure
communication channel.
And lastly, the actual policies on the keys
are enforced by the External Key Manager.
This is actually where the trust comes into play,
because they're defined and managed outside the Google
and not available to Google.
With that, let's see a quick demo.
OK, we start by showing the client-side encryption
capability of STET.
For this demo, we have set up a VM outside Cloud and installed
gsutil and STET, and configured STET
to use a key that is managed by Thales External Key Manager.
In this YAML file, you can see the URI to this key here.
We've also created a secret file containing
a hello, world that needs to be protected,
as you can see in this example.
We use gsutil with STET parameter
to upload this content to the cloud.
This natively encrypts the content
as it goes and uploads to the cloud.
We switch to Cloud VM next, which
has the same gsutil and STET tool installed
with a similar YAML file to use the STET tool.
First, we try to download the file without using
the STET parameter.
As you look at the content of this file,
you can see that it's fully encrypted.
Next, we try to do the same thing,
but this time we use the STET parameter
as part of the gsutil, which under the cover
reaches out to the External Key Manager
and decrypts the content.
As you can see, the content of the file is in clear text.
In the second part of the demo, we
switch to add the Security property to make sure
that the access to the encryption or decryption key
is only limited to a confidential computing
or confidential VM, which is important for achieving
ubiquitous data encryption.
Let's switch to the Thales Cloud Key Manager Portal
and navigate to the Property page of the endpoint.
Here, you see two options.
In the first option, it's important
when egressing data from cloud to on-prem
to make sure that data is only created by a confidential VM.
The second option is more important for when
ingressing data to the cloud to make sure only
a confidential VM can access the decryption key, which
is what we need for this demo.
We pick that and click on Save.
Now that you've configured your External Key Manager,
let's switch to the original VM and see if you still
can access the content.
As you can see, the access fails with the error message
that actually comes from the Thales External Key Manager,
stating that the VM was not able to generate the attestation
statement required to access the data.
And if you switch to the actual confidential VM
and run the same gsutil with the same STET parameter,
you can see that because the VM can generate the attestation,
the download succeeds and the file is now in clear text.
And just like that, you achieve ubiquitous data encryption
with a tool that natively and seamlessly
integrates with your existing data pipeline flows.
Great.
Now to sum it up, with ubiquitous data encryption,
you can actually run your application and data
computation in GCP and still reduce your implicit trust
in Google.
And in general, if you have sensitive data that
are using GCE VMs for computation,
we recommend using ubiquitous data encryption
for a better protection.
And lastly, we want to tell you that this
is something inevitable.
More specifically, the way you think about TLS
today is [INAUDIBLE] server identity, it is a common thing.
It is something that everybody does.
But 10 years ago, it was not the case.
We predict that ubiquitous data encryption
is going to become the de facto standard for data protection
in cloud.
So with that, we recommend you start early
in your journey of moving to ubiquitous data encryption.
There are other talks in the Cloud Next
that you can tune in to learn more about encryption
of your data in cloud, and there are
two links that are noted here.
There's also more documentation that you
can read through for better understanding of the product.
We appreciate you tuning in, and looking forward
to hearing from you more.