Intel Software Guard Extensions (SGX) protects user software from malware by maintaining the confidentiality and integrity of the software executed in secure enclaves on random access memory. However, the confidentiality of its stored executable is not guaranteed. Therefore, secret information, e.g. user keys, should be provided to the enclaves via appropriate secure channels. Although one of the solutions is to use remote attestation function of SGX, there is a potential risk that user keys are exposed to malicious insiders at the service provider of remote attestation. In this paper, we propose a novel and secure framework for user-key provisioning to SGX enclaves. Our framework utilizes sealing function of SGX, and consists of two phases: the provisioning phase and the operation phase. In the provisioning phase, a user key is encrypted by sealing function, and it is stored in storage. Our assumption is that this phase is performed in a secure environment. In the operation phase, the encrypted blob is read from the storage and decrypted. Then, SGX applications can use the user key without exposing it to attackers. We implemented a prototype of our framework using a commercial Intel CPU and evaluated its feasibility.
[1]
David A. Kaplan,et al.
{AMD} x86 Memory Encryption Technologies
,
2016
.
[2]
Kapil Vaswani,et al.
EnclaveDB: A Secure Database Using SGX
,
2018,
2018 IEEE Symposium on Security and Privacy (SP).
[3]
Christos Gkantsidis,et al.
VC3: Trustworthy Data Analytics in the Cloud Using SGX
,
2015,
2015 IEEE Symposium on Security and Privacy.
[4]
Andrey Brito,et al.
Security and privacy preserving data aggregation in cloud computing
,
2017,
SAC.
[5]
Konstantinos Markantonakis,et al.
Towards trusted execution of multi-modal continuous authentication schemes
,
2017,
SAC.
[6]
Galen C. Hunt,et al.
Shielding Applications from an Untrusted Cloud with Haven
,
2014,
OSDI.
[7]
Latifur Khan,et al.
SGX-Log: Securing System Logs With SGX
,
2017,
AsiaCCS.
[8]
Carlos V. Rozas,et al.
Innovative instructions and software model for isolated execution
,
2013,
HASP '13.
[9]
Juan del Cuvillo,et al.
Using innovative instructions to create trustworthy software solutions
,
2013,
HASP '13.