Blockchain

Confidential Computing for privacy guarantees even in public cloud

April 13, 2022 - 4 minutes reading time
Article by Leen Blom

A relatively new concept in IT is Confidential Computing. In the quest for ever more secure processing of data, where the privacy of individuals or companies is maximized, we can no longer avoid this concept.

Data at rest, in transit and in use

The first step in securing and guaranteeing privacy is to encrypt data in files or databases. In this way, data at rest is protected from viewing by undesirable parties. The second step is to also encrypt data that is exchanged with others. Most software used in exchanges now supports this. The familiar padlock in the browser, for example, gives users of a website the confidence that data cannot be read along the way. This also secures data in transit and safeguards privacy. Until recently, in order for a processor to process data from the working memory, the data had to be decrypted. That is why encryption is not a solution for data in use. Confidential Computing is a solution to also protect data in use from unwanted prying eyes.

Data protection Confidential computing

Definition

A new term like Confidential Computing often comes with different definitions that depend on the perspective on the subject.

  • Google [1] defines it as described above: breakthrough technology that allows you to encrypt data in use, during processing .
  • Microsoft [2] goes a step further and introduces another aspect in addition to securing data in use: secure privacy and analysis of data by multiple parties.
  • Confidential Computing Consortium [3]: enables new public cloud scenarios, such as placing extremely sensitive data in the cloud, and scenarios where multiple parties, without having to expose data, can still link things together (multi-party computing of MPC).

These definitions include two topics:

  • The principle of securing data in use
  • The possibilities of secure multi-party computation

TNO defines MPC as follows [4]: MPC is a "toolbox" of cryptographic techniques that allows multiple parties to jointly compute data, as if they had a shared database. Because the data is protected in a cryptographic way, it can be analyzed without the parties ever being able to see other people's data. The participating parties determine who is allowed to see the results of the computation.

Below I discuss data in use.

When necessary?

An important application of Confidential Computing for data in use is the scenario where public cloud services can be used for sensitive data, such as medical data, despite their public nature. Measures to guarantee privacy for data at rest and for data in transit can already be taken effectively. Through special infrastructure, so-called hardware security modules, it is possible to create even greater security. The weak spots that remain are the processor and the memory, because in order to execute the software, the data has to be decrypted. And although it is far from easy to read the memory of another process, it cannot be 100% excluded. For example, if new vulnerabilities are discovered and not yet closed.

Trusted Execution Environments

Modern CPUs now have a technique built in that allows the processor to encrypt part of the memory while processing data. The encryption can only be done by the processor itself and decryption is only possible if the public key of the same processor is used. In addition, features have been added so that you can be sure that only software approved by customer and vendor is executed. During processing, the data is shielded and only the outcomes are brought out. This technique is also called processing in Trusted Execution Environments (TEEs or enclaves).

According to Edgeless Systems , a German company that develops open source applications based on this technology, there are four important preconditions for meeting strict privacy requirements:

  • Isolation: running a program and processing data in a special process by the CPU, the trusted enclaves.
  • Runtime memory encryption: encrypted memory content.
  • Sealing: ability to secure status outside the trusted enclave with encryption .
  • Remote attestation: guarantee that processing is carried out in a trusted enclave with a known and published program.

Conclusion

The core of this story is that with Confidential Computing, it is possible to process data in an otherwise untrusted environment, such as a public cloud or a competitor's computer, without violating privacy or compromising security. This allows a public cloud to meet the same privacy requirements as a private data center.

Next time more on multi-party computation.

Related articles
Transparency through blockchain: an opportunity or threat for the government?
Blockchain Public
In 2020, the accountancy and consultancy organization BDO published a research report (performed by Publi ...
The blockchain: where is Europe?
Blockchain
China and the United States are leaders when it comes to blockchain technology. For example, the Chinese ...
Blockchain can change the world
Blockchain
Distributed ledgers in general and blockchains in particular do not contain any physical objects to which ...