Identity & Security
Advancing confidential computing with Asylo and the Confidential Computing Challenge
Welcome to Safer Internet Week! Today, Google Cloud VP of Security Royal Hansen, who recently joined Google from the financial services industry, shared why he is excited by the opportunity that cloud computing presents to improve security for organizations around the world.
Putting customers in control
It’s no secret that taking advantage of the benefits of cloud computing requires businesses to refine how they think and operate. Trust is a core component of this change, since they no longer have direct control over parts of their infrastructure that they used to. We understand that success in the cloud requires earning our customers’ trust, and we work hard at Google Cloud to build trust through transparency, and putting customers in control of their data.
For example, Google Cloud was the first major public cloud to provide customers with audit logs and justifications of authorized administrative access by Google Support and Engineering. We also give customers the ability to require explicit approval for access to their data or configurations on GCP with Access Approval.
To deliver even greater levels of control, we are investing in the area of “confidential computing.” Confidential computing aims to create computing environments that can help protect applications and data while they are in use—even from privileged access, including from the cloud provider itself. The most common approach for implementing key parts of confidential computing is using trusted execution environments (TEEs) to build software enclaves.
Advancing our confidential computing strategy
Confidential computing environments can help protect customers sensitive information from a number of adversaries and attack vectors:
- Malicious insiders - Whether inside a customer’s organization or a cloud provider’s, even insiders with root access can be restricted in their ability to observe or tamper with sensitive code or data inside an enclave.
- Network vulnerabilities - Confidential computing mitigates the impact of vulnerabilities in the network or guest OS, with regard to confidentiality and integrity.
- Compromised host OS - Because a malicious or compromised host OS or VMM/hypervisor exist outside of an enclave, vulnerabilities in these components can have less impact on code and data inside an enclave.
- BIOS compromise - Malicious firmware inserted into the BIOS, including UEFI drivers, are also less able to impact the confidentiality and integrity of the enclave.
Despite the opportunities offered by confidential computing, the deployment and adoption of this emerging technology has been slow due to dependence on specific hardware, the lack of an application development tools to develop and run applications in confidential computing environments, and complexity around deployment. To help address these challenges, in May 2018, we introduced Asylo (Greek for “safe space”), an open source framework to make it easier to create and use enclaves, on Google Cloud and beyond.
Asylo is designed to be agnostic to the hardware platform it rests on (and its trusted execution environment). This key design point is meant to make software development easier, reducing the friction developers experience when building software to run in a confidential computing environment. An application can be built to run in an Asylo enclave on hardware with Intel SGX today, and in the future, is intended to run on chipsets from other hardware vendors without code changes from the developer as well.
Just as important, Asylo is designed to make it easy to build applications that run in enclaves. Simply start developing your app on top of an Asylo Docker container image, and today you can run it on any Intel SGX-capable machine. Down the road, we expect Asylo will be integrated into popular developer pipelines, and that you’ll be able to deploy Asylo applications directly from commercial container registries and marketplaces.
Forging a confidential computing future
While Asylo helps address core technical challenges inherent in developing trusted applications, confidential computing is still very much an emerging technology. Enclaves, for example, are a new software design model, and there aren’t established design practices for implementing them. There’s also still more to develop a robust understanding of security risk tradeoffs, performance implications, etc. that would come from a broad use of confidential computing across the industry. The best way to develop these design patterns is for people to begin experimenting with confidential computing.
For example, one model might be to move an entire component to run under an enclave. Porting may be reasonably straightforward, but might bring code into your trusted computing base (TCB) that adds security risks, reducing the intent of the model. At the other end of the spectrum, some developers might choose to run only the security-sensitive parts of their applications in a confidential computing environment to minimize the attack surface. Asylo supports both of these approaches, and each has advantages and trade-offs.
In addition to the software-design challenges of developing confidential computing applications, there are new processors and memory controllers being developed with support for runtime memory encryption and bus protection. As they come to market, these advanced hardware platforms can underpin robust confidential computing systems. To benefit from these breakthrough technologies, we are working with hardware and software partners who are contributing to the confidential computing space. Together, we hope to define a common platform-abstraction layer to underpin toolchains, compilers and interpreters, to ensure the forward-portability of confidential computing applications.
Finally, we need to develop a set of industry-wide certification and interop programs to assess the security properties of CPUs and other secure hardware as they become available. Together with the industry, we can work toward more transparent and interoperable services to support confidential computing apps, for example, making it easy to understand and verify remote attestation claims, inter-enclave communication protocols, and federated identity systems across enclaves.
Enter the Confidential Computing Challenge
We invite you to join us in exploring the advantages confidential computing can bring, and how to put it into practice.
To that end, we are launching the Confidential Computing Challenge (C3), a competition dedicated to accelerating the field of confidential computing. Between now and April 1, 2019, we invite you to write an essay that develops a novel use case for confidential computing, or advances the current state of confidential computing by building upon and improving existing technology. These essays will be evaluated by a panel of judges, and the winner will receive $15,000 in cash, $5,000 worth of Google Cloud Platform credits, and a special hardware gift. To learn more about challenge and register, click here. We look forward to your submissions!
We also have three hands-on labs that can help you learn how to build confidential computing apps using the Asylo toolchain, run a gRPC server inside an SGX enclave, or use Asylo to help protect secret data from an attacker with root privileges. As part of our Confidential Computing Challenge, we’ve arranged for you to access these labs at no cost. Click here and use code 1g-c3-880 to redeem this offer, which ends when our challenge closes on April 1, 2019.