Efficient Multi-keyword Ranked Search over Outsourced Cloud Data based on Homomorphic Encryption

With the development of cloud computing, more and more data owners are motivated to outsource their data to the cloud server for great flexibility and less saving expenditure. Because the security of outsourced data must be guaranteed, some encryption methods should be used which obsoletes traditional data utilization based on plaintext, e.g. keyword search. To solve the search of encrypted data, some schemes were proposed to solve the search of encrypted data, e.g. top-k single or multiple keywords retrieval. However, the efficiency of these proposed schemes is not high enough to be impractical in the cloud computing. In this paper, we propose a new scheme based on homomorphic encryption to solve this challenging problem of privacy-preserving efficient multi-keyword ranked search over outsourced cloud data. In our scheme, the inner product is adopted to measure the relevance scores and the technique of relevance feedback is used to reflect the search preference of the data users. Security analysis shows that the proposed scheme can meet strict privacy requirements for such a secure cloud data utilization system. Performance evaluation demonstrates that the proposed scheme can achieve low overhead on both computation and communication.


Introduction
Cloud computing, a revolution of information technology, can significantly change people's life in the foreseeable future.However, the problem of cloud security hasn't been solved well in practical applications.As we know, cloud computing is based on demand.So how to store data in the cloud is non-transparent for most of data users, which will cause users to worry about the data stored in the cloud be misused or leaked.Though some traditional methods can be used to guarantee the security of cloud, such as authentication, authorization, access control and so on, all of these solutions are based on trusted cloud service providers.
Unfortunately, cloud service providers are not as honest as we wish.A prism door event in 2013 was a typical case that the providers' activities threatened the security of the cloud.According to the report, nine IT giants including Google, Microsoft and Apple open their servers to the United State Security Agency, which makes monitoring worldwide e-mails, calls, and stored dates easily.Because the data are stored on the invisible "cloud" supplied by IT giants, it will undoubtedly give the national security and social stability of one's country an enormous threat.
To ensure privacy, users usually encrypt the data before outsourcing it onto the cloud.However, data encryption makes effective data utilization a very challenging task.It restricts user's ability to search the keywords and fails to satisfy further demands of keyword privacy.Due to these reasons, searchable encryption schemes appear.
Although a series of traditional searchable encryption schemes have been proposed to enable search on ciphertexts, there are still many problems remaining to be solved, e.g.low efficiency, high communication and computing expenditure.In order to address these issues, Yu et al. [1] recently proposed a two-round searchable encryption (TRSE) scheme using vector space model and homomorphic encryption.However, in this scheme, data owners have to encrypt each dimension of the searchable vector which lowers the efficiency.For example, for a vector of dimension n, the data owner will take n encryption operations and output n ciphertexts.In addition, in TRSE, the query vector is generated where each dimension is equal to 0 or 1, which doesn't relate to the search weight of a term.
To achieve low overhead, we propose an efficient multi-keyword ranked searchable scheme (EMRS) over outsourced cloud data based on homomorphic encryption that can pack a vector into only one ciphertext, and thus alleviate the burden of computation and communication.Our contributions can be summarized as follows: -We adopt a new homomorphic encryption scheme which supports the packing method.Therefore, we can encrypt a vector as a whole in a batch manner.As a result, for a vector of dimension n, we only take one encryption operation, and thus reduce the computation and communication expenditure.
-We put the search weight of a term into the query vector, i.e., we use values instead of 0 or 1 to fill the query vector.Using this method, the query vector can reflect the data user's search preference.
The rest of this paper is organized as follows: We give the scenario and related background in Section 2. In Section 3, we give the main techniques used in our scheme.In Section4, we present the detailed description of the proposed searchable encryption scheme.Section 5 gives the security analysis of our scheme.Related performance evaluations for both searchable encryption and secure result ranking are discussed in Section 6.Finally, Section 7 gives the concluding remark of the paper.

Problem statements 2.1 Scenario
An encrypted cloud data hosting service involves three different entities as illustrated in Fig. 1: the data owner, the data user, and the cloud server.
The cloud server takes the responsibility for holding the third-party data storage and retrieve services.Since there will be some sensitive information in the data and the server cannot be fully entrusted in protecting data, the data must be encrypted before outsourcing.And the leakage of information is unacceptable.
The data owners are group of people who have a collection of n files g p p p to outsource onto the cloud in encrypted form while still keeping the capability to search through them for effective data utilization reasons.To achieve this, the data owner has to build a searchable index I from a set of l distinct keywords extracted from C, and then outsource the index I in encrypted form I' and encrypted files onto the cloud server.
The authorized data user processes multi-keyword retrieval over the outsourced data.Firstly, the data user should generate a query REQ.Secondly, the user encrypts the query and sends it to the cloud server.Finally, the data user gets the relevant files from the cloud server, decrypts it, and then makes use of these files.Note that because of the limitation of user's computing power, operations on the user side should be simplified.

Design Goals
As analyzed above, to realize our efficient and privacypreserving multi-keyword ranked search over outsourced encrypted cloud data, the following goals should be achieved: -Confidentiality: The cloud server should not learn plaintexts of data files, index, and searched keywords.
-Unlinkability of trapdoors: The cloud server should not learn whether two searches are performed for the same keywords.
-Preference search: In multi-keyword ranked search, multiple keywords that a data user input are treated as the different weights to reflect the data user' preference.
-Low cost of computation and communication.

Inner Product Similarity
In our scheme, we use the vector space model to score a file on multi-keywords.A file can be represented as vector and each dimension of the vector stands for a separate term, i.e., if this file contains this term, the corresponding value is nonzero, otherwise is zero.
Meanwhile, a query can be represented as a vector and each dimension of the vector is padded based on weight.
Then we have p .As a result, files can be ranked in order by the scores and the most relevant files can be picked out.

Relevance Scoring
Here, we adopt the most widely used tf-idf weighting, which involves two attributes: Term Frequency and Inverse document frequency.Term frequency is simply the number of times a given term or keyword appears within a file, and Inverse document frequency is obtained by dividing the number of files in the whole collection by the number of files containing the term.

Relevance Feedback
Using a Boolean vector to create a query is very imprecise.We use the technique of relevance feedback to add some features to the search query to reflect the search preference of data user [2]- [4].

BGV Homomorphic Encryption
In this section, we describe a scheme proposed by Brakerski, Gentry, and Vaikuntanathan (BGV) [5], which is regarded as a stripped down vision of FHE scheme and can meet our demand.In our scheme, we use one version of the BGV scheme which deals with integer polynomials and the security of this cryptosystem is linked with the hardness of decisional R-LWE (Ring-Learning with Errors) problem [6].The BGV scheme is described as follows: (1)BGV.ParamGen(λ).The message space is the ring , where is the mth cyclotomic polynomial in , of degree .The ciphertext space is described as follows: pick a large q, which is co-prime to In the following, we assume that the parameters generated here are inputs of any subsequent algorithm.
We obtain a public key encryption scheme, so we need the ability to generate the secret key and the public key.Sample , and s,e .Let y p . We set dk k and .
( One appealing optimization that applies to the protocol in this paper is to use "batch homomorphic encryption" where a single ciphertext represents a vector of encrypted values and a single homomorphic operation on two such ciphertexts applies the homomorphic operation componentwise to the entire vector.In this way, at the cost of a single homomorphic operation, we get to compute on an entire vector of encrypted plaintexts.This is a cryptographic analogue of the Single Instruction Multiple Data (SIMD) architecture and is supported by recent fully homomorphic encryption systems [7].
4 Scheme Design

Secure Computation of Inner Product
Using homomorphic encryption based on RLWE in our encryption model makes it efficient and secure to calculate the inner production of two vectors.The basic processes are described as follows: (1) The data user uses the techniques of homomorphic encryption and packing to encrypt all coordinates into a ciphertext.The plaintext space can be decomposed into l plaintext slots: ,…, , , and each , ,has the same degree d=n/l only if the system could choose the parameters n and l properly.Suppose that the data user A has a vector and each dimension of V can be encoded into , .Then , , will be packed into through the Chinese Remainder Theorem (CRT), and an encrypted operation is invoked: ( ) . Similarly, the data user B can encrypt another vector W into .
(2) Through calling one operation of homomorphic multiplication g p , the service provider can compute , i=1,…,l, parallelly, which is similar to using SIMD.
(3)We call Frobenius isomorphism mapping for l-1 times and l times of homomorphic addition to deal with c(x).In details, by using the mapping to : becomes , i=0,…,l-2, and the corresp-onding plaintext is cyclic shifted for one shot.Then, through calling the operation of homomorphic addition, we can get , where is the original .
(4) Finally, by calling for decrypting, we can get the plaintext of the inner product

Relevance Feedback
In our scheme, we use the technique of relevance feedback [2]- [4] instead of a binary vector to create a query aiming at improving the accuracy.Relevance feedback is a process of automatically adjusting an existing query using information feedback by the search entity about the preference of previously retrieved documents.By using the relevance feedback technique, we can optimize the query vector by replacing each dimension with the search weight of a term without change any phase of previous scheme.One of the methods is Rocchio [8] and the main idea is abstracted as follows: , Where N R is the number of relevant data users, U R is the returned result set and N N is non-relevant ones U N ; P j is feature vector of data user U j ; and are suitable constants [3][4].The search entity can define its preference weights according to the feature vectors retrieved in advance in method.The optimal query can be generated by putting more weights on the relevant features and less weights on the non-relevant features.Therefore, the cloud server should not only send the identities of the most matching data users, but also return the feature vectors of them in order to define the preference weight using the historical information.

Privacy-Preserving and Efficient
The framework of EMRS consists of two phases: Initialization and Retrieval.
The steps of Initialization are described as follows: (1) The data owner calls BGV.keygen(λ) to get pk and dk, then assigns dk to the authorized data users.(2) The data owner extracts the collections of l keywords from n files, and compute their TF and IDF values.Then, the data owner builds a (l+1)dimensional vector , where t i,j = tf-idf i,j , for each f i of C. The searchable index (4) The server returns the encrypted k files to the user.

Confidentiality
Due to the security strength of the file encryption scheme, the file content is clearly well protected.Thus, we only need to focus on the index and the searched keywords.
Because the index on the data owner side and the trapdoor on the data user side are encrypted by homomorphic encryption scheme, the privacy of the index and the trapdoor are reduced to the security of the BGV encryption and the packing technique.As showed in [9], the security of BGV and packing is guaranteed by their algorithms, the cloud server can detect nothing about the original data.Namely, the confidentiality will be guaranteed if the secret key dk can be kept properly.It is impossible that the cloud server gets the index vector and queried vector of original files, then infers the TF or ICF of the data files through the secure index vector, secure queried vector and the similarity values.Hence from the analysis, the multikeyword secure ranking algorithm protects the privacy of index, query, and the relevance scores very well.Additionally, the BGV encryption builds its security on the RLWE hardness problem, the confidentiality in our scheme has a higher level of security than the schemes based on integer [6], e.g. the scheme proposed by Yu. et al [1].

Unlinkability of trapdoor
The queried vector is encrypted every time before search.The public key pk is randomly generated in every encryption, so the searches are independent, i.e., have no relevance.The cloud server cannot mining association rules of the two same secure queried vectors or infer the frequency of keywords in different secure queried vectors through quantities of queried vectors it has received.Namely, in terms of search pattern, the same keywords in different queries, as well as the different keywords in same queries are encrypted independently, e.g., if the same keyword w is requested in different queries, REQ 1 and REQ 2 , then the w is encrypted into different ciphertexts by calling BGV.Enc pk ().As a result, the unlinkability of trapdoor can be achieved.The cloud server cannot mine association rules of the two same secure queried vectors or infer the frequency of keywords in different secure queried vectors through quantities of queried vectors it has received.As a result, the keywords that the data users search can be protected very well.

Preference search
In multi-keyword ranked search, multiple keywords that a data user input are treated as the different weights to reflect the data user' preference.The vector is encrypted by the secure BGV encryption scheme and its security can refer to Ref. [6].As a result, the query vector can reflect the data user's preference and its privacy can be protected very well.

Performance Evaluation
In this section, we evaluate the performance of the proposed scheme in terms of computation and communication overheads.We denote an addition in G A , a multiplication in G M , an encryption in Enc, and an isomorphic mapping in G I .Here, the other operations are neglected, as the cost is very small.Meanwhile, we suppose that the data owner extracts the collections of l keywords.

Time for encrypting the index
In Initialization Phase, the data owner needs to encrypt the searchable index I into I'.The technique of packing makes our scheme has low computation and communication overheads.As shown in Table 1, by using the packing technique, the data owner is able to encrypt one vector for just one time which increases the efficiency.
Table 1.Time for encrypting the index

Performance of the Retrieval Phase
The Retrieval phase consists of generating trapdoor, calculating inner production and ranking.We compare the efficiency of this phase between our approach and the approach from TRSE [1].The result is shown in Table 2.

Table 2. Performance of the Retrieval Phase
Due to the small cost of isomorphic mapping, we can neglect it.Through comparison, we can conclude that our scheme has high efficiency and low computing cost.Besides, the number of ciphertexts in our scheme is extremely small which makes the communication overhead very low.

Conclusion
In this paper, we propose an efficient and privacypreserving multi-keyword searchable scheme over outsourced cloud data based on homomorphic encryption.We use "inner product similarity" to quantitatively evaluate such similarity measure.For reducing the burden of communication and computation, we choose the efficient measure of encryption and inner product calculation which can help us packing the message before dealing with them.Moreover, we put the search weight of a term into the query vector which can reflect the relevance more precisely but not only existence.
Thorough analysis investigating privacy and efficiency guarantees of proposed schemes is given, and experiments on the real-world data set show our proposed schemes introduce low overhead on both computation and communication.

Figure 1 .
Figure 1.Scenario of retrieval of encrypted cloud data.

3 ) 4 )
The owner uses the smart-vercauteren ciphertext packing technique to pack the index I and then calls BGV.Enc pk (The owner encrypts C into C' with cryptology schemes and outsources C' and I' to the cloud server.The Retrieval phase includes the following steps: (1) The data user generates a set of query keywords , and then the query vector is built in which m i is the weight of a query keyword belongs to REQ; Othewise, .Then, the user packs the T w and encrypts it into a trapdoor T w ' and sends T w ' to the server.(2) For in I', the cloud server evaluates homomorphically on ciphertexts and returns to the user.(3) The user decrypts N' into , where s i = BGV.Dec dk (s i ').Note s i are the relevance scores.Then the data user chooses and sends top-k highest-scoring files' identifies to the server.