Evaluation of a privacy-preserving embedded languages for C/Intel SGX

Developing an application that uses a trusted execution environment (TEE) is difficult and error-prone. A TEE exposes a secure environment to the software. This secure environment enforces the integrity, the confidentiality and the authenticity of a memory zone. By using hardware cryptography, a TEE isolates this memory zone, which we call an enclave, from the operating system or the hypervisor. In order to use a TEE, the developer has first to identify the sensitive data of the application and then to manually split the sensitive data along with the code that accesses this data from the rest of the application, which is a complex task. The Privagic domain-specific embedded language developed in the PDS group simplifies this task by allowing the developer to annotate a legacy C code.

In this project, the student will help the Privagic team to evaluate the prototype. The work will mostly consist in porting a BFT application (Damaysus) to Privagic and to develop a simple application, which will be used to finely analyze the performance of the generated code.

The student should have a good background in C and system programming.


Gaƫl Thomas, Subashiny Tanigassalame