HardIDX: Practical and Secure Index with SGX

  • Benny FuhryEmail author
  • Raad Bahmani
  • Ferdinand Brasser
  • Florian Hahn
  • Florian Kerschbaum
  • Ahmad-Reza Sadeghi
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10359)


Software-based approaches for search over encrypted data are still either challenged by lack of proper, low-leakage encryption or slow performance. Existing hardware-based approaches do not scale well due to hardware limitations and software designs that are not specifically tailored to the hardware architecture, and are rarely well analyzed for their security (e.g., the impact of side channels). Additionally, existing hardware-based solutions often have a large code footprint in the trusted environment susceptible to software compromises. In this paper we present HardIDX: a hardware-based approach, leveraging Intel’s SGX, for search over encrypted data. It implements only the security critical core, i.e., the search functionality, in the trusted environment and resorts to untrusted software for the remainder. HardIDX is deployable as a highly performant encrypted database index: it is logarithmic in the size of the index and searches are performed within a few milliseconds. We formally model and prove the security of our scheme showing that its leakage is equivalent to the best known searchable encryption schemes.



This research was co-funded by the German Science Foundation, as part of project P3 within CRC 1119 CROSSING, the European Union’s Horizon 2020 Research and Innovation Programme under grant agreement No. 644412 (TREDISEC) and No. 643964 (SUPERCLOUD), and the Intel Collaborative Research Institute for Secure Computing (ICRI-SC).


  1. 1.
    Agrawal, R., Kiernan, J., Srikant, R., Xu, Y.: Order preserving encryption for numeric data. In: ACM International Conference on Management of Data, SIGMOD (2004)Google Scholar
  2. 2.
    Anati, I., Gueron, S., Johnson, S.P., Scarlata, V.R.: Innovative technology for CPU based attestation and sealing. In: Workshop on Hardware and Architectural Support for Security and Privacy, HASP (2013)Google Scholar
  3. 3.
    Limited, A.R.M.: ARM Security Technology - Building a Secure System using TrustZone Technology (2009)Google Scholar
  4. 4.
    Bajaj, S., Sion, R.: TrustedDB: A trusted hardware-based database with privacy and data confidentiality. IEEE Trans. Inf. Forensics Secur. 26, 752–765 (2014)Google Scholar
  5. 5.
    Baumann, A., Peinado, M., Hunt, G.: Shielding applications from an untrusted cloud with Haven. In: 11th USENIX Symposium on Operating Systems Design and Implementation, OSDI (2014)Google Scholar
  6. 6.
    Bellare, M., Boldyreva, A., O’Neill, A.: Deterministic and efficiently searchable encryption. In: Menezes, A. (ed.) CRYPTO 2007. LNCS, vol. 4622, pp. 535–552. Springer, Heidelberg (2007). doi: 10.1007/978-3-540-74143-5_30 CrossRefGoogle Scholar
  7. 7.
    Bernstein, D.J., Lange, T., Schwabe, P.: The security impact of a new cryptographic library. In: Hevia, A., Neven, G. (eds.) LATINCRYPT 2012. LNCS, vol. 7533, pp. 159–176. Springer, Heidelberg (2012). doi: 10.1007/978-3-642-33481-8_9 CrossRefGoogle Scholar
  8. 8.
    Boldyreva, A., Chenette, N., Lee, Y., O’Neill, A.: Order-preserving symmetric encryption. In: Joux, A. (ed.) EUROCRYPT 2009. LNCS, vol. 5479, pp. 224–241. Springer, Heidelberg (2009). doi: 10.1007/978-3-642-01001-9_13 CrossRefGoogle Scholar
  9. 9.
    Boldyreva, A., Chenette, N., O’Neill, A.: Order-preserving encryption revisited: improved security analysis and alternative solutions. In: Rogaway, P. (ed.) CRYPTO 2011. LNCS, vol. 6841, pp. 578–595. Springer, Heidelberg (2011). doi: 10.1007/978-3-642-22792-9_33 CrossRefGoogle Scholar
  10. 10.
    Boneh, D., Sahai, A., Waters, B.: Functional encryption: definitions and challenges. In: Ishai, Y. (ed.) TCC 2011. LNCS, vol. 6597, pp. 253–273. Springer, Heidelberg (2011). doi: 10.1007/978-3-642-19571-6_16 CrossRefGoogle Scholar
  11. 11.
    Boneh, D., Waters, B.: Conjunctive, subset, and range queries on encrypted data. In: Vadhan, S.P. (ed.) TCC 2007. LNCS, vol. 4392, pp. 535–554. Springer, Heidelberg (2007). doi: 10.1007/978-3-540-70936-7_29 CrossRefGoogle Scholar
  12. 12.
    Brasser, F., El Mahjoub, B., Koeberl, P., Sadeghi, A.R., Wachsmann, C.: TyTAN: Tiny Trust Anchor for Tiny Devices. In: Design Automation Conference. DAC (2015)Google Scholar
  13. 13.
    Brumley, B.B., Tuveri, N.: Remote timing attacks are still practical. In: Atluri, V., Diaz, C. (eds.) ESORICS 2011. LNCS, vol. 6879, pp. 355–371. Springer, Heidelberg (2011). doi: 10.1007/978-3-642-23822-2_20 CrossRefGoogle Scholar
  14. 14.
    Cash, D., Jarecki, S., Jutla, C., Krawczyk, H., Roşu, M.-C., Steiner, M.: Highly-scalable searchable symmetric encryption with support for boolean queries. In: Canetti, R., Garay, J.A. (eds.) CRYPTO 2013. LNCS, vol. 8042, pp. 353–373. Springer, Heidelberg (2013). doi: 10.1007/978-3-642-40041-4_20 CrossRefGoogle Scholar
  15. 15.
    Costan, V., Devadas, S.: Intel SGX Explained. Technical report, IACR Cryptology ePrint Archive, Report 2016/086Google Scholar
  16. 16.
    Curtmola, R., Garay, J., Kamara, S., Ostrovsky, R.: Searchable symmetric encryption: improved definitions and efficient constructions. In: 13th ACM Conference on Computer and Communications Security, CCS (2006)Google Scholar
  17. 17.
    Demertzis, I., Papadopoulos, S., Papapetrou, O., Deligiannakis, A., Garofalakis, M.: Practical Private Range Search Revisited. In: International Conference on Management of Data, SIGMOD (2016)Google Scholar
  18. 18.
    Durak, F.B., DuBuisson, T.M., Cash, D.: What else is revealed by order-revealing encryption?. In: Conference on Computer and Communications Security, CCS (2016)Google Scholar
  19. 19.
    Faber, S., Jarecki, S., Krawczyk, H., Nguyen, Q., Rosu, M., Steiner, M.: Rich queries on encrypted data: beyond exact matches. In: Pernul, G., Ryan, P.Y.A., Weippl, E. (eds.) ESORICS 2015. LNCS, vol. 9327, pp. 123–145. Springer, Cham (2015). doi: 10.1007/978-3-319-24177-7_7 CrossRefGoogle Scholar
  20. 20.
    Fuhry, B., Bahmani, R., Brasser, F., Hahn, F., Kerschbaum, F., Sadeghi, A.R.: HardIDX: Practical and Secure Index with SGX (2017)Google Scholar
  21. 21.
    Garg, S., Mohassel, P., Papamanthou, C.: \({textbsans{TWORAM:}}\) Efficient Oblivious RAM in Two Rounds with Applications to Searchable Encryption. In: Robshaw, M., Katz, J. (eds.) CRYPTO 2016. LNCS, vol. 9816, pp. 563–592. Springer, Heidelberg (2016). doi: 10.1007/978-3-662-53015-3_20 CrossRefGoogle Scholar
  22. 22.
    Genkin, D., Pipman, I., Tromer, E.: Get your hands off my laptop: physical side-channel key-extraction attacks on PCs. J. Cryptographic Eng. 5, 95–112 (2015)CrossRefGoogle Scholar
  23. 23.
    Gentry, C.: Fully homomorphic encryption using ideal lattices. In: Symposium on Theory of Computing, STOC (2009)Google Scholar
  24. 24.
    Gentry, C., Halevi, S., Smart, N.P.: Homomorphic evaluation of the AES circuit. In: Safavi-Naini, R., Canetti, R. (eds.) CRYPTO 2012. LNCS, vol. 7417, pp. 850–867. Springer, Heidelberg (2012). doi: 10.1007/978-3-642-32009-5_49 CrossRefGoogle Scholar
  25. 25.
    Grubbs, P., Sekniqi, K., Bindschaedler, V., Naveed, M., Ristenpart, T.: Leakage-Abuse Attacks against Order-Revealing Encryption. Technical report, IACR Cryptology ePrint Archive, Report 2016/895Google Scholar
  26. 26.
    Hoekstra, M., Lal, R., Pappachan, P., Phegade, V., Del Cuvillo, J.: Using innovative instructions to create trustworthy software solutions. In: Workshop on Hardware and Architectural Support for Security and Privacy, HASP (2013)Google Scholar
  27. 27.
  28. 28.
    Kerschbaum, F., Schröpfer, A.: Optimal average-complexity ideal-security order-preserving encryption. In: 21st ACM Conference on Computer and Communications Security, CCS (2014)Google Scholar
  29. 29.
    Lu, Y.: Privacy-preserving logarithmic-time search on encrypted data in cloud. In: 19th Network and Distributed System Security Symposium, NDSS (2012)Google Scholar
  30. 30.
    Maheshwari, U., Vingralek, R., Shapiro, W.: How to build a trusted database system on untrusted storage. In: 4th Conference on Symposium on Operating System Design and Implementation, OSDI (2000)Google Scholar
  31. 31.
    McKeen, F., Alexandrovich, I., Berenzon, A., Rozas, C.V., Shafi, H., Shanbhogue, V., Savagaonkar, U.R.: Innovative instructions and software model for isolated execution. In: Workshop on Hardware and Architectural Support for Security and Privacy, HASP (2013)Google Scholar
  32. 32.
    Mowery, K., Keelveedhi, S., Shacham, H.: Are AES x86 cache timing attacks still feasible?. In: ACM Workshop on Cloud Computing Security Workshop, CCSW (2012)Google Scholar
  33. 33.
    Naveed, M.: The fallacy of composition of oblivious RAM and searchable encryption. Technical report, IACR Cryptology ePrint Archive, Report 2015/668Google Scholar
  34. 34.
    Naveed, M., Kamara, S., Wright, C.V.: Inference attacks on property-preserving encrypted databases. In: 22nd ACM Conference on Computer and Communications Security, CCS (2015)Google Scholar
  35. 35.
    Ohrimenko, O., Schuster, F., Fournet, C., Meht, A., Nowozin, S., Vaswani, K., Costa, M.: Oblivious multi-party machine learning on trusted processors. In: 25th USENIX Security Symposium. USENIX Security (2016)Google Scholar
  36. 36.
    Popa, R.A., Redfield, C.M.S., Zeldovich, N., Balakrishnan, H.: CryptDB: protecting confidentiality with encrypted query processing. In: Proceedings of the 23rd ACM Symposium on Operating Systems Principles, SOSP (2011)Google Scholar
  37. 37.
    Ramakrishnan, R., Gehrke, J.: Database Management Systems, 3rd edn. McGraw-Hill, (2002)Google Scholar
  38. 38.
    Schuster, F., Costa, M., Fournet, C., Gkantsidis, C., Peinado, M., Mainar-Ruiz, G., Russinovich, M.: VC3: Trustworthy data analytics in the cloud using SGX. In: IEEE Symposium on Security and Privacy, S&P (2015)Google Scholar
  39. 39.
    Shen, E., Shi, E., Waters, B.: Predicate privacy in encryption systems. In: Reingold, O. (ed.) TCC 2009. LNCS, vol. 5444, pp. 457–473. Springer, Heidelberg (2009). doi: 10.1007/978-3-642-00457-5_27 CrossRefGoogle Scholar
  40. 40.
    Shi, E., Bethencourt, J., Chan, H.T.H., Song, D.X., Perrig, A.: Multi-dimensional range query over encrypted data. In: IEEE Symposium on Security and Privacy, S&P (2007)Google Scholar
  41. 41.
    Song, D.X., Wagner, D., Perrig, A.: practical techniques for searches on encrypted data. In: IEEE Symposium on Security and Privacy, S&P (2000)Google Scholar
  42. 42.
    Strackx, R., Piessens, F., Preneel, B.: Efficient isolation of trusted subsystems in embedded systems. In: SecureComm (2010)Google Scholar
  43. 43.
    Wang, B., Hou, Y., Li, M., Wang, H., Li, H.: Maple: scalable multi-dimensional range search over encrypted cloud data with tree-based index. In: 9th ACM Symposium on Information, Computer and Communications Security, ASIACCS (2014)Google Scholar
  44. 44.
    Xu, Y., Cui, W., Peinado, M.: Controlled-channel attacks: deterministic side channels for untrusted operating systems. In: IEEE Symposium on Security and Privacy, S & P (2015)Google Scholar
  45. 45.
    Yarom, Y., Falkner, K.: FLUSH+RELOAD: a high resolution, low noise, L3 cache side-channel attack. In: 23rd USENIX Security Symposium. USENIX Security (2014)Google Scholar

Copyright information

© IFIP International Federation for Information Processing 2017

Authors and Affiliations

  • Benny Fuhry
    • 1
    Email author
  • Raad Bahmani
    • 2
  • Ferdinand Brasser
    • 2
  • Florian Hahn
    • 1
  • Florian Kerschbaum
    • 3
  • Ahmad-Reza Sadeghi
    • 2
  1. 1.SAP ResearchKarlsruheGermany
  2. 2.Technische Universität DarmstadtDarmstadtGermany
  3. 3.University of WaterlooWaterlooCanada

Personalised recommendations