Confidential computing is a rising trend in the realm of the cybersecurity and data privacy, aimed at protecting sensitive data while you are processing it. Here are some notable trends in confidential computing.
Table 1 Confidential Computing Solutions
In examining this table, it is evident that confidential computing has emerged as a prominent discussion point within numerous prominent I companies. Currently, Intel or AMD architecture intricately links most ongoing projects, whether they are commercial products or open-source repositories.
Arm recognizes the critical requirement to standardize confidential computing at the container level, a move that significantly reduce the time-to-market for secure solutions. The Arm Confidential Compute Architecture (CCA) IP features are already in place, providing a robust foundation for secure computing. With the silicon expected to be available soon, businesses can look forward to seamlessly integrating Arm CCA into their operations at the earliest opportunity. This action can enable rapid deployment of the secure, containerized applications, ensuring data protection and compliance with evolving security standards.
Figure 1 the Evolution from the Security to the Confidentiality of Containers
Previously, containers presented a significantly larger attack surface, prompting the need for enhanced security measures across various levels. From a Kubernetes perspective, you can bolster the security through measures such as certificate authority (CA) rotation and renewal. Additionally, there has been a notable attention on VM-based container technology. As shown in Figure 1, VM-based containers have an extra isolation layer like a glass cover, represented by a virtual machine. However, for cloud service provides(CSPs) or root administrators, data in the Virtual Machine(VM) or container remains visible, risking unauthorized access. Hence unauthorized parties can potentially access or tamper with the container memory content and registers.
In contrast, confidential containers offer heightened security by leveraging hardware-based data confidentiality. Built atop a virtual machine, the function like a safe box that is equipped with encrypted locks. Only a container owner possesses the decrypted key, ensuring that the data remains inaccessible and non-tamperable to unauthorized entities.
Arm CCA (Confidential Compute Architecture) enables application developers to securely deploy workloads without needing to trust the underlying software infrastructure, such as the hypervisor, kernel. In the essence, CCA shares similarities with AMD SEV and Intel TDX. Within CCA, the hypervisor oversees the resources of a Realm VM (Virtual Machine) but is unable to directly access them, including registers, memory, and other resources.
Let's delve into the CCA hardware feature from a high-level perspective.
Figure 2 CCA high-level Architecture
The Realm Management Module (RMM) offers 2 interfaces:
The responsibilities for RMM include:
An EL3 Monitor encompasses:
Moreover, an Attestation Root of the Trust resides within the hardware, denoted as the RSS, essentially an Arm M-class core. You can get the details of CCA introduction here.
Code running inside Realms manage the confidential data or run confidential algorithms. Therefore, that code must be sure it is running a real Arm CCA platform instead of some simulation. You must verify that the code has loaded properly and no one has tampered with it. Finally, the code also must know that the overall platform, or the realm are not in a debug state that can leak its secrets. We call the process of establishing this trust “Attestation”.
We can break the attestation part into 2 key parts:
We can use the reports to authenticate the validity of the platform and the code in the realm.
CoCo (Confidential Containers, abbreviated) aims to standardize confidential computing at the container Platform as a Service (PaaS) level, streamlining its integration into Kubernetes. Contributors hail from many industry leaders, including but not limited to:
Figure 3 Confidential Containers TCB
The rationales behind CoCo are as follows:
The TCB boundary may vary across architectures. For instance, in CCA, the firmware trust is essential, illustrated by the red or blue stripes on the box.
The benefits of Confidential Containers (CoCo) for Arm are extensive and impactful:
These benefits position Arm at the forefront of secure container deployment, enhancing trust and security for businesses globally.
The design architecture of CoCo project:
Figure 4 CoCo Overview
Here is a refined breakdown of the design aspects for CoCo on Arm:
As for now, CoCo has made significant progress in its development and implementation:
Additionally, the infrastructure status of CCA software and firmware is as follows:
We have successfully brought up the Kata container in CCA FVP AEM model.
Figure 5 Snapshot of the Demo