Arm has now unveiled the initial technical specifications for Arm CCA as it looks to make the benefits of confidential computing accessible to all developers.
At the moment applications and virtual machines place huge amounts of trust in the supervisor software (kernels or hypervisors) that manage them. Because supervisors can access the resources used by applications for their program code and data it is possible to exploit them which can result in the leaking of confidential data or algorithms held in the applications.
Confidential computing looks to change the traditional trust relationship between applications and supervisors by removing the supervisor’s right to access the resources used by the application, while retaining the right to manage them.
Removing that right of access is critical because the devices being used handle large quantities of confidential data. Cloud systems can be running payloads from many different customers, while mobile devices can contain both personal and business information, from medical data to company emails. Confidential computing reduces the need to trust unseen technology within any compute environment.
Via Arm CCA the company is looking to ensure that developers can implement Arm secure technologies as simply and quickly as possible.
Arm CCA extends workload isolation to enable a provider to shift from a position where service providers will not access customer data, to one where they cannot access customer data - and by doing so reducing the volume of software that must be trusted, the attack surface for hackers, and the potential for customer data or algorithm breaches.
Arm CCA is introducing a new kind of confidential computing environment called a Realm, which protects the data and code, even when it's in use.
Arm is achieving this by working in four key areas:
- Realm Management Extension (RME): Defines the hardware architecture for Realms
- Dynamic TrustZone technology: An extension to TrustZone enabled by RME that removes the need to dedicate memory to TrustZone, allowing TrustZone to be used for applications with large and dynamic memory footprints
- A software and firmware architecture: collaborating with OS vendors and industry bodies to drive standard interfaces for interaction with RME firmware by defining a Realm Management Monitor (RMM) and extensions to the Monitor to provide an architecture for Realms
- Working with open-source projects such as trustedfirmware.org to provide standard implementations of Arm CCA firmware, and creating new projects for confidential computing such as project Veraison, which will deliver open-source software for constructing attestation verification services
The code or data of a Realm is situated in memory that is assigned to that Realm, and any attempted access of that memory from the supervisory software that created the Realm (kernel or hypervisor), or by TrustZone code, other Realms or devices not trusted by the Realm, are blocked and result in faulting exceptions.
To enable this, a new data structure has been added to the architecture - the Granule Protection Table - that tracks whether a page is to be used for Realms, TrustZone or for the normal world, where existing applications, kernel, or a hypervisor run today.
The hardware checks this table upon every access and blocks any that are illegal. A hypervisor or kernel can indirectly update this table, allowing pages to migrate between normal world use and Realms, or even between normal world use and TrustZone use. This ability to dynamically move memory resources among different security environments is a key change in the architecture.
A key aims of Arm's CCA is to make confidential computing accessible to every developer, whatever application they may be working on.
With the hardware specifications now available, Arm said that it would be continuing to engage with its software ecosystem as a critical next step in the development of Arm CCA.
"Arm CCA is going to provide the next layer of security required everywhere computing happens. In the data center, providers can use it to take more infrastructure out of the data path to reduce the risk of a breach while tenants can migrate ever more sensitive workloads away from on-premises systems and into the cloud, " said Richard Grisenthwaite, SVP, chief architect and fellow, Arm
"Beyond this, just as other cloud computing is moving to the edge, so will confidential computing. Mobile and wearable devices now span our personal and work lives, placing new pressure on the ability of these devices to protect our data. For example, to progress health services and science we need secure ways to aggregate data anonymously. Smart cities and autonomous vehicles need increased levels of mutual trust and businesses need to know their data is safe on our personal devices."
"Our vision for Arm CCA is to protect all data and code wherever computing happens, while empowering developers to implement strong privacy controls," Grisenthwaite concluded.