both essentially provide the same key concepts of
hardware isolated execution domains and the ability
to bootstrap attested software stacks into those
enclaves. However, the TrustZone hardware can only
distinguish between two execution domains, and
relies on having a software based trusted execution
environment for any further refinements.
6 CONCLUSION
Online services are increasingly relying on third-party
cloud providers to host sensitive data. This tendency
brings forth strong concerns for the security and pri-
vacy of data owners as cloud providers cannot fully
be trusted to enforce the restrictive usage policies that
often govern such data. Intel SGX provides hardware
support for general trusted computing in commodity
hardware. These extensions to the x86 instruction set
establish trust through remote attestation of code and
data segments provisioned on non-trusted infrastruc-
ture, furthermore guaranteeing the confidentiality and
integrity of these from potentially malicious system
software.
Prior efforts demonstrate the capabilities of SGX
through rigorous systems capable of hosting large
legacy applications securely inside enclaves. These
systems, however, do not quantify the exact cost as-
sociated with using SGX. This paper evaluates the mi-
cro architectural cost of entering and exiting enclaves,
the cost of data copying, the cost of provisioning new
enclaves and the cost of memory usage. From this,
we have derived five recommendations for application
authors wishing to secure their cloud-hosted privacy
sensitive data using SGX.
ACKNOWLEDGMENTS
This work was supported in part by the Norwegian
Research Council project numbers 231687/F20. We
would like to thank the anonymous reviewers for their
useful insights and comments.
REFERENCES
Anati, I., Gueron, S., Johnson, S., and Scarlata, V. (2013).
Innovative technology for cpu based attestation and
sealing. In Proceedings of the 2nd international work-
shop on hardware and architectural support for secu-
rity and privacy, volume 13.
Arnautov, S., Trach, B., Gregor, F., Knauth, T., Martin, A.,
Priebe, C., Lind, J., Muthukumaran, D., O’Keeffe, D.,
Stillwell, M. L., Goltzsche, D., Eyers, D., Kapitza,
R., Pietzuch, P., and Fetzer, C. (2016). Scone: Se-
cure linux containers with intel sgx. In 12th USENIX
Symposium on Operating Systems Design and Imple-
mentation (OSDI 16), pages 689–703, GA. USENIX
Association.
Baumann, A., Peinado, M., and Hunt, G. (2014). Shielding
applications from an untrusted cloud with Haven. In
11th USENIX Symposium on Operating Systems De-
sign and Implementation (OSDI ’14). USENIX – Ad-
vanced Computing Systems Association.
Chen, X., Garfinkel, T., Lewis, E. C., Subrahmanyam, P.,
Waldspurger, C. A., Boneh, D., Dwoskin, J., and
Ports, D. R. (2008). Overshadow: A virtualization-
based approach to retrofitting protection in commod-
ity operating systems. In Proc. of the 13th Interna-
tional Conference on Architectural Support for Pro-
gramming Languages and Operating Systems, ASP-
LOS XIII, pages 2–13, New York, NY, USA. ACM.
Costan, V. and Devadas, S. (2016). Intel sgx explained. In
Cryptology ePrint Archive.
Costan, V., Lebedev, I., and Devadas, S. (2016). Sanctum:
Minimal hardware extensions for strong software iso-
lation. In USENIX Security, volume 16, pages 857–
874.
Gjerdrum, A. T., Johansen, H. D., and Johansen, D. (2016).
Implementing informed consent as information-flow
policies for secure analytics on eHealth data: Princi-
ples and practices. In Proc. of the IEEE Conference
on Connected Health: Applications, Systems and En-
gineering Technologies: The 1st International Work-
shop on Security, Privacy, and Trustworthiness in
Medical Cyber-Physical System, CHASE ’16. IEEE.
Hunt, T., Zhu, Z., Xu, Y., Peter, S., and Witchel, E.
(2016). Ryoan: A distributed sandbox for untrusted
computation on secret data. In Proceedings of the
12th USENIX Conference on Operating Systems De-
sign and Implementation, OSDI’16, pages 533–549,
Berkeley, CA, USA. USENIX Association.
Johansen, H. D., Birrell, E., Van Renesse, R., Schneider,
F. B., Stenhaug, M., and Johansen, D. (2015). Enforc-
ing privacy policies with meta-code. In Proceedings
of the 6th Asia-Pacific Workshop on Systems, page 16.
ACM.
McKeen, F., Alexandrovich, I., Anati, I., Caspi, D., John-
son, S., Leslie-Hurd, R., and Rozas, C. (2016). Intel
R
software guard extensions (intel
R
sgx) support for
dynamic memory management inside an enclave. In
Proceedings of the Hardware and Architectural Sup-
port for Security and Privacy 2016, page 10. ACM.
Ngabonziza, B., Martin, D., Bailey, A., Cho, H., and Mar-
tin, S. (2016). Trustzone explained: Architectural fea-
tures and use cases. In Collaboration and Internet
Computing (CIC), 2016 IEEE 2nd International Con-
ference on, pages 445–451. IEEE.
Osborn, J. D. and Challener, D. C. (2013). Trusted platform
module evolution. Johns Hopkins APL Technical Di-
gest, 32(2):536–543.
Shuja, J., Gani, A., Bilal, K., Khan, A. U. R., Madani, S. A.,
Khan, S. U., and Zomaya, A. Y. (2016). A survey of
mobile device virtualization: taxonomy and state of
the art. ACM Computing Surveys (CSUR), 49(1):1.
TCG Published (2011). TPM main part 1 design principles.
Specification Version 1.2 Revision 116, Trusted Com-
puting Group.
Performance of Trusted Computing in Cloud Infrastructures with Intel SGX
675