Sign In

Communications of the ACM

ACM News

Confidential Computing Conquers Hacks

View as: Print Mobile App Share:

Gramine 1.0 (middle) is the first product-ready trusted-execution environment (TEE) from the Confidential Computing Consortium. Announced in November, Gramine enables out-of-the-box unmodified applications software to run in confidential computing mode on

Credit: Confidential Computing Consortium

"Confidential Computing is positioned to become the de facto technology for future computational security," according to Stephen Walli, governing board chair of the Confidential Computing Consortium.

Confidential Computing (CC) was invented to secure data while it is "in use." Today, encryption secures data when it is "at rest" in a storage device and while it is "in flight" during transmission between devices. However, progress on processing encrypted data inside an arithmetic-logic unit (ALU) have been limited, even though it has been a subject of research for over three decades.

Though still fledgling, Confidential Computing has succeeded in lowering the risk of exposing data to hackers with hardware-based techniques for decrypting data inside a processor—processing it—and returning it to encrypted form before transmission or storage. As a result, CC reduces the potential for sensitive data to be exposed, as well as providing a higher degree of control and transparency to programmers and users. CC cybersecurity achieves this with trusted execution environments (TEEs)—processor enclaves providing unhackable hardware protection to insure confidentiality.

According to the Confidential Computing Consortium (CCC), a project community of the Linux Foundation, members collaborating to standardize open-source TEEs include AMD, ARM, Cisco, Google, Intel, Microsoft, Nvidia, Red Hat (IBM), VMware, Western Digital, Xilinx, and 30 others.

CCC's first production-ready TEE was announced in November. Called Gramine 1.0, it enables out-of-the-box unmodified applications software to run in CC mode on Intel Xeon SGX processors. Because of the simplicity of its implementation, Gramine 1.0 enables hacker-proof hardware to be adopted by a much broader variety of use-cases than today, according to Jesse Schrater, Global Director of Security at Intel Enterprise and Industry Solutions.

"Our mission is to accelerate the adoption of TEE technologies and standards," said Schrater. "Focusing on securing data while it is in use is emerging as a key growth driver for users, especially those sharing resources with other cloud tenets, as well as for multi-party computations."

Corey Sanders, vice president of Azure Compute at Microsoft, agrees the place where data is not adequately protected today is while it is in use inside a processor. CC fills that protection gap with TEEs that decrypt data just before execution, allow it to be securely processed in protected enclaves, then encrypts it again before transmission and storage.

"Any point where the data is not protected is an opportunity for attacks to occur. This is why it's so important to make sure that the data is protected not just at rest and in flight, but even when it's running inside the processor," said Sanders.

Opportunities Abound

The TEE total available market this year is less than $2 billion, according to Everest Group practice director Abhishek Mundra, citing Everest's report Confidential Computing – The Next Frontier in Data Security. TEEs already have started up the growth curve for new technologies, and the report predicts it will increase at a 95% compound annual growth rate (CAGR) to achieve a total market exceeding $50 billion by 2026.

"Regulated industries like banking, finance, insurance, healthcare, life sciences, and defense dominate the market," said Mundra. "Even in the worst-case scenario, we predict that the market will grow at least by a 40% CAGR," which would yield a market in excess of $10 billion in the next five years.

Organizations increasingly need CC to share data for comparative purposes too, according to Mundra. CC enables shared resources to be used in collaborative efforts without the need to reveal actual confidential data or to expose the absolute value of particular transactions.

What's inside a TEE?

TEEs surpass ordinary security efforts (such as encryption/decryption) with the more challenging task of protecting data while it is executing in unencrypted form inside a processor.

A TEE is basically a secure enclave inside a processor that uses unhackable hardware to guarantee code and data are protected from eavesdropping, alteration, or corruption. TEEs incorporate hardware security that isolates execution to a single secure application, insures the confidentiality of its operations and its operands, and can be written to foil side-channel attacks—a technique that requires expert programming, but which can be made turnkey in standardized TEEs.

Today, TEEs are used mainly in sophisticated cloud computer installations incorporating tediously designed hardware security and complicated proprietary programming. CC provides open-source standardized code that makes TEEs easier to implement. According to CCC, programmers merely provide a manifest file to configure an application's environment and policies, then the standardized TEE automatically does the rest.

To advance progress toward easy-to-use standardized open-source TEEs, the CCC currently has six projects underway, including Enarx (for fungible, serverless TEEs), Open Enclave (for single-application TEEs), Keystone (for RISC-V processor TEEs), Veracruz (for multi-party distributed TEEs), and Occlum (for running unmodified applications within any TEE).

The sixth project, Gramine 1.0, is CCC's first production-ready implementation. Gramine 1.0 is basically a library OS that inserts a platform adaptation layer (PAL) between the application and the host OS (operating system). Gramine dates back a decade to its development at Stony Brook University in 2011. From the beginning, Gramine (originally called Graphene) programmers aimed to solve the problem of applications built for one system which would not run on others without extensive modifications. Gramine's solution was to bridge the gap between the host OS and the application-facing binary code with a user-space OS library (similar to a unikernel).

Intel's participation in the Gramine project was instrumental in quickly creating an open-source compatibility layer for Xeon SGX processors, according to Schrater, who also credited universities including Stony Brook, the University of North Carolina, and Texas A&M University, as well as independent research labs such as Golem and Invisible Things Lab. Together, these open-source contributors facilitated Gramine's production readiness by decentralizing its ecosystem, bolstering data integrity over its entire life-cycle, and boosting confidentiality and security ensures, as well as in the development of Gramine's PAL-based architecture.

Gramine's initial release was optimized for Intel Xeon SGX processors; future releases will also serve as a compatibility layer for running out-of-the-box applications on other platforms. In cloud configurations, Gramine can achieve similar results to running an entire OS and its applications inside a virtual machine (VM). However, its platform adaptation layer makes it much more economical in terms of the required computing resources, compared to running a VM.

CCC also reports that work is already underway to make Gramine compatible with Docker containers—a platform as a service (PaaS) that uses OS virtualization to deliver software in packages (called containers) that are isolated from one another. Docker containers bundle their own software, libraries, and configuration files, and yet can securely communicate with each other. Containers using Gramine are called Gramine Shielded Containers (GSC).

R. Colin Johnson is a Kyoto Prize Fellow who ​​has worked as a technology journalist ​for two decades.


No entries found

Sign In for Full Access
» Forgot Password? » Create an ACM Web Account