Skip to main content

Privacy-Preserving k-Nearest Neighbour Query on Outsourced Database

  • Conference paper
  • First Online:
Information Security and Privacy (ACISP 2016)

Part of the book series: Lecture Notes in Computer Science ((LNSC,volume 9722))

Included in the following conference series:

Abstract

Cloud computing brought a shift from the traditional client-server model to DataBase as a Service (DBaaS), where the data owner outsources her database as well as the data management function to the cloud service provider. Although cloud services relieve the clients from the data management burdens, a significant concern about the data privacy remains. In this work, we focus on privacy-preserving k-nearest neighbour (k-NN) query, and provide the first sublinear solution (with preprocessing) with computational complexity \(\tilde{O}(k\text {log}^4n)\) in the honest-but-curious adversarial setting. Our constructions use the data structure called kd-tree to achieve sublinear query complexity. In order to protect data access patterns, garbled circuits are used to simulate Oblivious RAM (ORAM) for accessing data in the kd-tree. Compared to the existing solutions, our scheme imposes little overhead on both the data owner and the querying client.

This work was partially done during R.X.’s internship at I\(^2\)R.

This work was partially done when K.M. was with IMI, Kyushu University.

This work was partially done when Y.Y. was with I\(^2\)R.

This research was supported by JST CREST.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    It means that the algorithm has finished traversing a subtree of that node and returns to the node.

References

  1. Atallah, M.J., Frikken, K.B.: Securely outsourcing linear algebra computations. In: Proceedings of the 5th ACM Symposium on Information, Computer and Communications Security, pp. 48–59. ACM (2010)

    Google Scholar 

  2. Bellare, M., Hoang, V.T., Keelveedhi, S., Rogaway, P.: Efficient garbling from a fixed-key blockcipher. SP 2013, 478–492 (2013)

    Google Scholar 

  3. Bellare, M., Hoang, V.T., Rogaway, P.: Foundations of garbled circuits. CCS 2012, 784–796 (2012)

    Google Scholar 

  4. Bugiel, S., Nurnberger, S., Sadeghi, A., Schneider, T.: Twin clouds: an architecture for secure cloud computing. In: Workshop on Cryptography and Security in Clouds (WCSC 2011) (2011)

    Google Scholar 

  5. Carter, H., Mood, B., Traynor, P., Butler, K.R.: Secure outsourced garbled circuit evaluation for mobile devices. In: USENIX Security, pp. 289–304 (2013)

    Google Scholar 

  6. Chor, B., Kushilevitz, E., Goldreich, O., Sudan, M.: Private information retrieval. J. ACM 45(6), 965–981 (1998). http://doi.acm.org/10.1145/293347.293350

    Article  MathSciNet  Google Scholar 

  7. Curino, C., et al.: Relational cloud: a database-as-a-service for the cloud. In: 5th Biennial Conference on Innovative Data Systems Research, CIDR, pp. 9–12 (2011)

    Google Scholar 

  8. Domingo-Ferrer, J.: A provably secure additive and multiplicative privacy homomorphism. In: Chan, A.H., Gligor, V.D. (eds.) ISC 2002. LNCS, vol. 2433, pp. 471–483. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  9. Elmehdwi, Y., Samanthula, B., Jiang, W.: Secure k-nearest neighbor query over encrypted data in outsourced environments. ICDE 2014, 664–675 (2014)

    Google Scholar 

  10. Friedman, J.H., Baskett, F., Shustek, L.J.: An algorithm for finding nearest neighbors. IEEE Trans. Comput. 24(10), 1000–1006 (1975)

    Article  Google Scholar 

  11. Goldreich, O.: Foundations of Cryptography: Basic Applications, vol. 2. Cambridge University Press, New York (2009)

    MATH  Google Scholar 

  12. Goldreich, O., Ostrovsky, R.: Software protection and simulation on oblivious rams. J. ACM 43(3), 431–473 (1996)

    Article  MathSciNet  Google Scholar 

  13. Gordon, S.D., Katz, J., Kolesnikov, V., Krell, F., Malkin, T., Raykova, M., Vahlis, Y.: Secure two-party computation in sublinear (amortized) time. CCS 2012, 513–524 (2012)

    Google Scholar 

  14. Hu, H., Xu, J., Ren, C., Choi, B.: Processing private queries over untrusted data cloud through privacy homomorphism. In: ICDE 2011, pp. 601–612. IEEE (2011)

    Google Scholar 

  15. Kamara, S., Mohassel, P., Raykova, M.: Outsourcing multi-party computation. In: IACR Cryptology ePrint Archive 2011/272 (2011)

    Google Scholar 

  16. Kamara, S., Mohassel, P., Raykova, M., Sadeghian, S.: Scaling private set intersection to billion-element sets. In: Christin, N., Safavi-Naini, R. (eds.) FC 2014. LNCS, vol. 8437, pp. 193–213. Springer, Heidelberg (2014)

    Google Scholar 

  17. Kamara, S., Mohassel, P., Riva, B.: Salus: a system for server-aided secure function evaluation. In: Proceedings of the 2012 ACM conference on Computer and communications security, pp. 797–808. ACM (2012)

    Google Scholar 

  18. Kamara, S., Raykova, M.: Secure outsourced computation in a multi-tenant cloud. In: Workshop on Cryptography and Security in Clouds (2011)

    Google Scholar 

  19. Keller, M., Scholl, P.: Efficient, oblivious data structures for MPC. In: Sarkar, P., Iwata, T. (eds.) ASIACRYPT 2014, Part II. LNCS, vol. 8874, pp. 506–525. Springer, Heidelberg (2014)

    Chapter  Google Scholar 

  20. Samet, H.: The Design and Analysis of Spatial Data Structures. Addison-Wesley Longman Publishing Co., Inc., Boston (1990)

    Google Scholar 

  21. Shi, E., Chan, T.-H.H., Stefanov, E., Li, M.: Oblivious RAM with O((logN)\(^\text{3 }\)) worst-case cost. In: Wang, X., Lee, D.H. (eds.) ASIACRYPT 2011. LNCS, vol. 7073, pp. 197–214. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  22. Stefanov, E., van Dijk, M., Shi, E., Fletcher, C., Ren, L., Yu, X., Devadas, S.: Path ORAM: an extremely simple Oblivious RAM protocol. CCS 2013, 299–310 (2013)

    MATH  Google Scholar 

  23. Wagner, D.: Cryptanalysis of an algebraic privacy homomorphism. In: Boyd, C., Mao, W. (eds.) ISC 2003. LNCS, vol. 2851, pp. 234–239. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  24. Wang, C., Ren, K., Wang, J.: Secure and practical outsourcing of linear programming in cloud computing. In: INFOCOM, 2011 Proceedings IEEE, pp. 820–828. IEEE (2011)

    Google Scholar 

  25. Wang, J., Ma, H., Tang, Q., Li, J., Zhu, H., Ma, S., Chen, X.: Efficient verifiable fuzzy keyword search over encrypted data in cloud computing. Comput. Sci. Inf. Syst. 10(2), 667–684 (2013)

    Article  Google Scholar 

  26. Wang, X., Nayak, K., Liu, C., Shi, E., Stefanov, E., Huang, Y.: Oblivious data structures. In: CCS 2014 (2014)

    Google Scholar 

  27. Wong, W.K., Cheung, D.W.l., Kao, B., Mamoulis, N.: Secure kNN computation on encrypted databases. In: SIGMOD 2009, pp. 139–152 (2009)

    Google Scholar 

  28. Yao, A.C.: Protocols for secure computations. In: 2013 IEEE 54th Annual Symposium on Foundations of Computer Science, pp. 160–164. IEEE (1982)

    Google Scholar 

  29. Yao, B., Li, F., Xiao, X.: Secure nearest neighbor revisited. ICDE 2013, 733–744 (2013)

    Google Scholar 

  30. Zahur, S., Evans, D.: Circuit structures for improving efficiency of security and privacy tools. SP 2013, 493–507 (2013)

    Google Scholar 

  31. Zhu, Y., Xu, R., Takagi, T.: Secure k-nn computation on encrypted cloud data without sharing key with query users. In: Proceedings of the 2013 International Workshop on Security in Cloud Computing, pp. 55–60. ACM (2013)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Rui Xu .

Editor information

Editors and Affiliations

Appendices

Appendix

A Toy Example of kd-tree Construction and Iterative NN Query Algorithm

We provide a toy example for constructing a kd-tree and use it to iteratively query the nearest neighbour of a point.

We take 2D points as an example for illustrating how to construct a kd-tree from a static dataset. The dataset contains 10 2D points \((p_0,\ldots ,p_9)\). See Fig. 3a for the geometric display of the dataset. Refer to Fig. 3b for the illustration. Figure 3c shows the representation of the kd-tree as a binary tree.

Fig. 3.
figure 3

Construction of kd-tree.

We use the toy example to explain how the iterative NN query algorithm works.

Fig. 4.
figure 4

Iterative NN query algorithm using kd-tree.

Figure 4a illustrates the dataset and the query point Q. Let guess be the estimation for the nearest neighbour, S be the stack used in the algorithm, curr is the current point we are visiting. We also use p[r] to denote that the point p is a return point. See Fig. 4b for the change of the stack elements during the whole query processing.

B Oblivious Protocol for NN Query

Protocol 1 (see below) is our main protocol for the oblivious nearest neighbour query problem. This protocol is run between two non-colluding cloud servers. We defer its detailed explanation to the full version of this paper.

C Oblivious Bounded Priority Queue

The basic unit of storage on the ORAM is called node. Each node is constructed as \(node := (id, label, key, lid, llabel, rid, rlabel,)\) where “id” and “label” are the identity of the node and the leaf label in the ORAM tree, “key” is the priority of the node, “lid”, “llabel” are the identity and the leaf label of its left child, and “rid” and “rlabel” for the right child respectively. From Protocol 2 (see below) we can observe that for each Con_Dequeue_And_Enqueue() operation we have \(3\log k\) ORAM operation, and each ORAM operation can be simulated using garbled circuits with complexity \(\tilde{O}(\log ^3 k)\). Therefore, one oblivious such operation has complexity \(\tilde{O}(\log ^4 k)\).

figure a
figure b

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing Switzerland

About this paper

Cite this paper

Xu, R., Morozov, K., Yang, Y., Zhou, J., Takagi, T. (2016). Privacy-Preserving k-Nearest Neighbour Query on Outsourced Database. In: Liu, J., Steinfeld, R. (eds) Information Security and Privacy. ACISP 2016. Lecture Notes in Computer Science(), vol 9722. Springer, Cham. https://doi.org/10.1007/978-3-319-40253-6_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-40253-6_11

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-40252-9

  • Online ISBN: 978-3-319-40253-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics