Cloud computing (e.g. Google Cloud Platform) is very popular nowadays. In cloud computing, users send their data to service providers, who process these data on behalf of users and then return the results. A problem arises in such a model, which is the leakage of data due to irresponsible or untrusted service providers.
Software Guard Extensions (SGX), is invented to solve this problem. SGX works as a trusted intermediary agent between users and service providers. It measures the safety of execution environments of service providers to make sure that it is safe for users to send data to the service provider. It also use some special containers, called enclave, to pack and protect users' data.
While providing strong security guarantee, SGX requires extra time to run, which results in lower performance. Therefore, this project tries to analyze the effect of overheads that are caused by applying SGX. Additionally, this project tries to find out some potential improvement of SGX so that it can have higher performance.