Secure Tierless Programming Model for Java

Secure Tierless Programming Model for Java

Bachelor Thesis, Master Thesis

Data privacy is a major concern in the design of distributed systems where data is processed by different machines that are not necessarily under the control of the same organization. In this setting, there is a concrete possibility of private data leaks which, e.g., in the case of medical data, can lead to catastrophic consequences. To tackle such privacy issues, recent generations of processors support trusted execution environments such as Intel SGX. Such systems provide isolated processing and memory storage functionalities for privacy preserving computations even when the OS and the rest of the infrastructure cannot be trusted – such as in the case of Cloud providers.

Unfortunately, secure enclaves remain challenging to program and require programmers to interface with a low level API that does not fit with modern managed programming languages such as Java or Scala.

Goal:

This work involves implementing a high-level programming model in Java that supports computations within secure enclaves. The model allows programmers to annotate the parts of a Java program to be run inside the trusted environment. The compiler splits the program and the runtime executes it in distributed fashion as specified by the annotations. The programming model will be tested for performance and security by implementing suitable test cases.

References:

[1] https://en.wikipedia.org/wiki/Trusted_execution_environment

Contact: Aditya Oak ()