A Primer on Confidential Computing

A Primer on Confidential Computing

The unknown risk, however minuscule, is perceived as a more significant threat than the known one.

This quote epitomizes the critical challenge with cloud adoption. According to a study from Statista, security-related risks are a significant barrier to cloud adoption for more than 50% of the surveyors. Some reservations are not unfounded, especially when porting sensitive data into the cloud. The reservations are genuine. A data breach, however minor, is enormous damage to an organization’s reputation.

However, with the ever-innovating world of cloud computing, these concerns are slowly being allayed. Confidential Computing is one such upcoming technology that promises to absolutely secure data.

No alt text provided for this image

The preceding diagram shows Gartner's data security hype cycle (2022). Confidential Computing is just at the innovation trigger stage. Its developments are promising, and it will take 5-10years for it to reach its potential. But, if it can reach its potential, I'm confident it can change the cloud computing landscape altogether.

This blog series will explore the concept of Confidential Computing in detail. The first blog of this series provides an overview of confidential Computing. Then, we will explore this technology's what, why, and how and discuss its implications.

What is confidential Computing?

No alt text provided for this image

The goal of confidential Computing is simple.

To protect data when it is in its most vulnerable state, i.e., when the data is in use.

Let us explore this concept in a little more detail. First, data exists in three states.

  1. State 1 – Data at Rest: Data is stored on the disk in this state. The disk can protect the data from spurious activities through encryption. Advanced Encryption Standard (AES) based algorithms are typically used to encrypt the data in this state.
  2. State 2 – Data in Transit: Data is transported from point A to point B in this state. In this state, the information flows through networks, be it the internet or private networks. The data in this state is typically encrypted using prevailing protocols like Transport Security Layer (TLS).
  3. State 3 – Data in Use: When the data is in use, the data is moved from the disk or the network to the memory (RAM). In memory, the data is processed. The data goes through its rituals of computation. The data in RAM is the state where it is most vulnerable. It is not encrypted and is subject to various malicious and nefarious activities by black-hat actors.

Confidential Computing protects the data in use.

Let us now understand how confidential Computing protects the data in use.

How does confidential Computing work?

To understand the workings of confidential Computing, let's first discuss its key concepts.

Trusted Execution Environments

Confidential Computing encrypts data in use by creating Trusted Execution Environments (TEEs). TEEs, as defined by the Confidential Computing Consortium (CCC), is an environment that provides a level of assurance in the following dimensions:

  1. Data confidentiality: Unauthorized access to the data is not allowed while the data is in use within the TEE.
  2. Data integrity: Unauthorized alteration of data is not allowed while the data is used within the TEE.
  3. Code integrity: Unauthorized code alteration is not allowed within the TEE.

The utmost security that TEE can offer is at the hardware level. The hardware-based TEEs are available using Intel SGX (Software Guard Extensions) and ARM TrustZone.

Trusted Computing Base (TCB) and Potential Attack Surface

Before we understand how SGX-enabled hardware-based TEEs work, let us first look into the workings of a traditional computing environment.

No alt text provided for this image

The preceding diagram shows a typical computing environment. It has the following layers:

  • The Host: Every computing environment has a host. This host is a set of hardware components that support the other layers.
  • The Central Processing Unit (CPU): A CPU is the brain of a computing environment. It has components like the RAM, Memory Management Units (MMU), Arithmetic Logic Units (ALUs), Cache, etc. CPU is the component that processes the data.
  • The Hypervisor: A hypervisor, a.k.a. a virtual machine monitor (VMM), is the software that creates and runs virtual machines (VMs). A hypervisor allows one host computer to support multiple guest VMs by sharing its resources, such as memory and processing.
  • The Operating System: Operating systems (OS) is the software that runs on top of the hypervisor, performs all the hardware management-related tasks, and runs the application code.
  • Applications: An operating system can run one or many applications focused on executing a specific program.

The TCB is proportional to the Potential Attack Surface.

More, the TCB implies more potential attach surface, suggesting lower security.

In a traditional computing environment, the assumption is that the entire layer from the host to the application is the Trusted Computing Base (TCB). The TCB assumes that anything in its gamut provides a trusted environment for operations.

The malicious actors exploit this assumption to access code and data they are not supposed to.

A larger TCB means that if a malicious actor compromises an App, it can find its way to the OS, the hypervisor, the CPU, and the host. In a cloud computing world, the cloud platform provider has access to the layers until the Operating Systems. This access is also a cause for concern for many regulated industries like finance and healthcare.

Let us now discuss how an SGX-enabled confidential computing environment looks. The diagram below shows a confidential computing environment.

No alt text provided for this image

The diagram shows that a confidential computing environment significantly reduces the potential attack surface. In an Intel SGX-enabled environment, the potential attack surface is reduced by creating SGX enclaves.

Enclaves

One of the important concepts in hardware-based confidential Computing is Enclaves. The following diagram depicts the enclaves.

No alt text provided for this image

The premise is simple. An enclave is an area within the CPU that is the trusted computing base. The CPU carves out a special encrypted zone within itself—this zone, a.k.a. enclaves, and inaccessible to anyone. The data in use needs to be decrypted within the enclave, and only the code authorized to access this data will get access to it. No one else, including the cloud platform provider, gets access to the enclave as they are not privy to the access keys to the enclaves.

The enclaves reduce the TCB to a portion of the RAM and thus reduce the attack surface.

Another critical concept in confidential Computing is the process of Attestation. Let us now discuss this concept.

Attestation

As we have discussed, Trusted Execution Environments (TEE) runs the computation to provide data confidentiality, data integrity, and code integrity. However, how does one ensure that the TEE provides it?

The process of Attestation provides this assurance. The process of Attestation ensures that the TEE is running the code as it is expected to run, and the code is being run in the configuration the code was intended to run. The process of Attestation verifies the trustworthiness of the platform and the integrity of the code it runs. There are different topologies used for Attestation.

The following diagram describes an attestation topology called the passport model, which focuses on the process and the key actors involved.

No alt text provided for this image

There are three actors involved in the attestation process.

  1. Attester: The attester provides evidence for the system’s state. The TEE offers proof to the verifier about the state of TEE.
  2. Verifier: The verifier is the actor who compares the evidence provided by the attester against the appraisal policies that validate the authenticity by issuing an attestation result. This result is typically not stored by the verifier as the verifier relays the result to the relying party. Therefore, the verifier is the attestation provider.
  3. Relying Party: The relying party relies on the evidence from the verifier about the system's state. Once the attestation result is satisfactory, the relying party is assured that the attester, i.e., the TEE, is not compromised. Furthermore, the verifier confirms that the TEE will run the code as expected and its configuration as intended.

Now that we have covered the fundamental concepts of Confidential Computing let us discuss its usage scenarios.

Confidential Computing Usage Scenarios

As one can imagine, an upcoming concept like confidential Computing has a gamut of potential where it can make a real impact. I will abstract three usage scenarios that confidential Computing is well positioned to address.

  • Data Processing in Regulated Industries: Data privacy is one of the biggest challenges in cloud adoption for regulated industries like banking, fintech, and healthcare. Be it in financial transaction details, be it the health-related information about the patients, processing such data requires utmost regulatory compliance and privacy. Confidential Computing provides that compliance.
  • Trusted Data Sharing: Imagine a world where one can share confidential data. The datasets collected by organizations, be they different enterprises, start-ups, or government agencies, can be enmeshed together in the confidential computing world to create better insights from data. Confidential computing-enabled machine learning algorithms can decipher new insights when data is shared across domains, albeit in a responsible manner.
  • Intellectual Property Protection: A technology that innovates and pushes the boundaries of technologies need to be protected. Be it the new blockchain-based innovation, a new machine learning algorithm, or a code that utilizes new intellectual properties to solve a complex problem. Confidential Computing provides confidence and the assurance that the code integrity is maintained.

Conclusion

This first blog of the series provides a primer on Confidential Computing, a nascent technology promising immense potential. The following blog of this series will deep-dive into the workings of Intel’s SGX-enabled processors and how they enable Confidential Computing.

References

Bhupendra Tiwari

Founder at Innovation IT Solutions

2 年

Kudos to you Bro. So informative and well written, very useful !!

This was super useful for me

Super useful - learned a ton!

Kenneth Ham

Chief Technology Officer | Ex-Microsoft | Microsoft MVP Reconnect | Digital MBA

2 年

Thanks for sharing! Great article, it's one on my mind to bring this into our offering.

Anurag Agrawal

Automotive | Energy | Manufacturing | Cloud | Data & AI

2 年

Great information Pradeep Menon

要查看或添加评论,请登录

Pradeep Menon的更多文章

社区洞察

其他会员也浏览了