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.
Keywords
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.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
It means that the algorithm has finished traversing a subtree of that node and returns to the node.
References
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)
Bellare, M., Hoang, V.T., Keelveedhi, S., Rogaway, P.: Efficient garbling from a fixed-key blockcipher. SP 2013, 478–492 (2013)
Bellare, M., Hoang, V.T., Rogaway, P.: Foundations of garbled circuits. CCS 2012, 784–796 (2012)
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)
Carter, H., Mood, B., Traynor, P., Butler, K.R.: Secure outsourced garbled circuit evaluation for mobile devices. In: USENIX Security, pp. 289–304 (2013)
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
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)
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)
Elmehdwi, Y., Samanthula, B., Jiang, W.: Secure k-nearest neighbor query over encrypted data in outsourced environments. ICDE 2014, 664–675 (2014)
Friedman, J.H., Baskett, F., Shustek, L.J.: An algorithm for finding nearest neighbors. IEEE Trans. Comput. 24(10), 1000–1006 (1975)
Goldreich, O.: Foundations of Cryptography: Basic Applications, vol. 2. Cambridge University Press, New York (2009)
Goldreich, O., Ostrovsky, R.: Software protection and simulation on oblivious rams. J. ACM 43(3), 431–473 (1996)
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)
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)
Kamara, S., Mohassel, P., Raykova, M.: Outsourcing multi-party computation. In: IACR Cryptology ePrint Archive 2011/272 (2011)
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)
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)
Kamara, S., Raykova, M.: Secure outsourced computation in a multi-tenant cloud. In: Workshop on Cryptography and Security in Clouds (2011)
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)
Samet, H.: The Design and Analysis of Spatial Data Structures. Addison-Wesley Longman Publishing Co., Inc., Boston (1990)
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)
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)
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)
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)
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)
Wang, X., Nayak, K., Liu, C., Shi, E., Stefanov, E., Huang, Y.: Oblivious data structures. In: CCS 2014 (2014)
Wong, W.K., Cheung, D.W.l., Kao, B., Mamoulis, N.: Secure kNN computation on encrypted databases. In: SIGMOD 2009, pp. 139–152 (2009)
Yao, A.C.: Protocols for secure computations. In: 2013 IEEE 54th Annual Symposium on Foundations of Computer Science, pp. 160–164. IEEE (1982)
Yao, B., Li, F., Xiao, X.: Secure nearest neighbor revisited. ICDE 2013, 733–744 (2013)
Zahur, S., Evans, D.: Circuit structures for improving efficiency of security and privacy tools. SP 2013, 493–507 (2013)
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)
Author information
Authors and Affiliations
Corresponding author
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.
We use the toy example to explain how the iterative NN query algorithm works.
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)\).
Rights 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)