When Apple released the iPhone 5S in 2013, most people focused on its new camera and features such as Touch ID. However, on top of these features, Apple introduced what was meant to be a very influential idea on the cryptography world. Underpinning Touch ID, the Secure Enclave Processor (SEP) was presented as a separate sub processor that would store sensitive data and run computer programs on top of it. The sensitive data could never be accessed by the regular CPU. The design and inner workings were kept secret by Apple who released only sparse information on the internals. More recently, Intel also started offering such a feature on its desktop CPUs named Intel Software Guard Extensions, or SGX for short. Below we provide a short summary of why this technology is useful, and how it works.
Why it is useful
Before the introduction of enclaves, the technology for segregating your setup into isolated components was the Virtual Machine (VM). Virtual Machines acted like a sandbox in which you could open anything you want, execute it, and it wouldn’t affect the rest of the system. This software was developed as a testing ground, ensuring that everything happening in the VM would stay in the VM, without leaking out. The need for this was apparent at the time with a boom in malware and a fragmented OS market with many compatibility issues dictating the need for a solution that could enable quick and safe testing.
Instead of a sandbox, a blackbox
Enclaves can be easily understood as reverse Virtual Machines. There is again a place where execution can be made without affecting the rest of the system. However, the target now has shifted from avoiding whatever is kept in the separate space to leak out, to not allowing the rest of the system to see what is going on inside the enclave. Instead of a sandbox, a blackbox. The need for such a system arose from the increasing consumer demand for more privacy and more control over their own private data. Hence, the enclaves form a quick and elegant solution to protecting said data.
How it works
There are currently two types of implementations for enclaves. The Apple implementation and the Intel implementation. Apple’s approach is based on a physical separation between the CPU and the secondary secure processor (they are located in different sections on the motherboard). The Intel implementation relies on additional CPU instructions and trusted hardware, which hosts the confidential data and the software to be used on the data. Both of these implementations, however, attempt to accomplish the same goal. That is, to isolate some data and computation from the rest of the system giving access only to agents with privileged rights. In simple words, you have a box in which you can execute whatever program you want using arbitrary data and be assured that the data that has been used in there will not be seen by anyone else except those that have the rights to see it, while also receiving a guarantee that the program running on your data is the intended one.
At decentriq we leverage our knowledge of cryptographic technologies to provide value to our customers. By being on the development forefront of these technologies, we are a trusted partner for everything in applied cryptography.