Next Article in Journal
PIF and ReCiF: Efficient Interest-Packet Forwarding Mechanisms for Named-Data Wireless Mesh Networks
Previous Article in Journal
Correlation Tracking via Self-Adaptive Fusion of Multiple Features
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Multi-User Searchable Symmetric Encryption with Dynamic Updates for Cloud Computing

1
School of Computer Science and Technology, Hangzhou Dianzi University, Hangzhou 310018, China
2
School of Cyberspace, Hangzhou Dianzi University, Hangzhou 310018, China
3
Guangxi Key Laboratory of Cryptography and Information Security, Guilin 541004, China
4
School of Computer Science and Engineering, University of Electronic Science and Technology of China, Chengdu 611731, China
*
Author to whom correspondence should be addressed.
Information 2018, 9(10), 242; https://doi.org/10.3390/info9100242
Submission received: 2 September 2018 / Revised: 25 September 2018 / Accepted: 26 September 2018 / Published: 28 September 2018

Abstract

:
With the advent of cloud computing, more and more users begin to outsource encrypted files to cloud servers to provide convenient access and obtain security guarantees. Searchable encryption (SE) allows a user to search the encrypted files without leaking information related to the contents of the files. Searchable symmetric encryption (SSE) is an important branch of SE. Most of the existing SSE schemes considered single-user settings, which cannot meet the requirements for data sharing. In this work, we propose a multi-user searchable symmetric encryption scheme with dynamic updates. This scheme is applicable to the usage scenario where one data owner encrypts sensitive files and shares them among multiple users, and it allows secure and efficient searches/updates. We use key distribution and re-encryption to achieve multi-user access while avoiding a series of issues caused by key sharing. Our scheme is constructed based on the index structure where a bit matrix is combined with two static hash tables, pseudorandom functions and hash functions. Our scheme is proven secure in the random oracle model.

1. Introduction

In recent years, more and more users have chosen to outsource files to cloud servers with the popularization of mobile devices (e.g., wireless sensors) and the development of cloud computing, since this can alleviate the local storage pressures and achieve convenient access to data. However, the cloud server is semi-trusted, and users’ files may contain sensitive information. To ensure personal privacy and data security, users will encrypt files and outsource the ciphertexts to the cloud server. This is a problem about how to retrieve the ciphertexts stored on the cloud server.
Searchable encryption (SE) provides the possibility of solving such problems, and it is currently being considered for cloud computing and wireless sensor networks. In an SE mechanism, a user (or sensor) first encrypts files with the SE algorithm and then stores the ciphertexts on the cloud server. For the search, the corresponding search token generated by the user (sensor) is sent to the cloud server. With the token, the cloud server executes relevant retrieval operations and returns the matching ciphertexts. The user (sensor) decrypts the ciphertexts to obtain the required files. In the above process, the files are stored in the encrypted form, which reveals no information about the contents of the files. Therefore, SE not only ensures data confidentiality, but also utilizes the powerful computing power of the cloud server. Research on SE mainly include public key encryption with keyword search (PEKS) and searchable symmetric encryption (SSE), which correspond to public-key cryptography and symmetric-key cryptography, respectively. SSE was first proposed in 2000 [1], then it became one of the important research directions in SE due to its fast computing speeds and small calculation overheads.
A practical SSE scheme should have desirable properties such as dynamism, high efficiency and security. The dynamic scheme is a scheme in which one can update the encrypted file collection. Common dynamic operations include insertion, modification and deletion. In recent years, there have been many dynamic searchable symmetric encryption (DSSE) schemes [2,3,4,5,6,7,8,9] addressing this issue. Efficiency is the focus of all SSE schemes, because overhead is one of the decisive factors in judging whether a scheme is practical or not. There are many factors affecting efficiency, which can be roughly divided into two types: computational complexity and communication complexity. For computational complexity, an SSE scheme should provide fast searches and updates. In addition, due to the rapid development of multi-core processors, a scheme can be parallelizable to improve efficiency. Non-interactive operations are beneficial to reduce communication complexity. A fully-secure SE scheme should meet two requirements as follows: the first is that no information about the contents of the files can be derived from the ciphertexts; the second requirement is that no information be leaked in the retrieval process. It is difficult for SSE to guarantee the above two points. Since the first SSE scheme [1] was proposed, the security definitions have been continuously improved [10,11,12,13]. Two security models proposed by Curtmola et al. [12] are widely used as the standard security models for SSE. We use the adaptive model called semantic security (indistinguishability) against adaptive chosen-keyword attacks (IND-CKA2). In addition, the research on security may involve multiple aspects such as trust management [14], data deduplication [15], access control [16] and cloud auditing [17].
Since its introduction, SSE has become more and more important in the cloud environment. A basic function of the cloud platform is data sharing, which enables multiple users to access the files shared by the data owner. Existing SSE schemes mostly focus on single-user access, which means that only one data owner is allowed to access the ciphertexts. Therefore, to solve the problem, multi-user searchable encryption [12] was proposed, which enables a group of users to search and decrypt all the encrypted files stored on the cloud. In early relevant studies, researchers wanted to realize multi-user management and data decryption by sharing the search key and the decrypt key, respectively. However, the users who leave the group still possess the keys, which can cause serious damage if they leak the keys. The keys need to be updated and the files need to be re-encrypted each time the group members change, which brings about significant overheads.

1.1. Related Work

In 2000, Song et al. [1] proposed the first practical SSE scheme, which achieved the target by sequentially scanning ciphertexts. This scheme is vulnerable to adversaries’ statistical attacks, and its search complexity is linear in the overall size of files. To increase search efficiency, Goh [10] proposed a secure index scheme, which introduced the Bloom filter [18] as the index of a file. The Bloom filter is the binary data structure that can efficiently and quickly determine whether an element belongs to a collection, but it may draw wrong judgments. With the help of the indexes, the search complexity is linear in the number of files. In addition, Goh introduced a security definition for his scheme, namely IND1-CKA. IND1-CKA ensures the security of indexes, so that attackers do not obtain useful information from the indexes. Unlike the forward index used by Goh, Curtmola et al. [12] proposed a scheme based on the inverted index. The scheme creates an index for each keyword and thus achieves the sublinear and optimized search time. However, it is difficult for the inverted indexes to obtain dynamic updates.
In 2010, van Liesdonk et al. [2] proposed two SSE schemes supporting dynamic updates. Their one scheme requires interactive searches and updates, which increases the amount of data transfers while making processing delay larger. The other scheme is non-interactive, but the overhead grows with update operations. Based on the inverted index, Kamara et al. [3] presented a dynamic scheme, which achieved optimized search time. However, the scheme will leak information related to search tokens and does not support parallel processing. Subsequently, Kamara and Papamanthou [4] presented a dynamic scheme with a red-black tree as the index. This scheme was parallelizable, and the search complexity was logarithmic in the number of files. However, the scheme has interactive update operations. Recently, there have been several schemes aiming at improving the security performance of DSSE. Stefanov et al. [6] presented a DSSE scheme that supported forward privacy, which had small information leakage. Unlike any of the above schemes, Naveed et al. [7] presented a DSSE scheme based on blind storage. In the scheme, the server can only store and transmit data and cannot perform search operations, so it has better security. In order to achieve security against a malicious server, with the notion of universal composability (UC) [19], Kurosawa and Ohtaki [20] proposed a UC-secure SSE scheme. Then, Kurosawa and Ohtaki [5] proposed a UC-secure DSSE scheme, and the scheme was verifiable. On this basis, Kurosawa et al. [8] achieved better efficiency and security.
In 2006, Curtmola et al. [12] first presented multi-user searchable encryption. Their approach combined broadcast encryption [21] with single-user searchable symmetric encryption. Legitimate users access data with the shared key. Since the keys are the same, there are many problems in practical applications. Unlike key sharing, key distribution [22,23,24] can provide different keys, which is more suitable for data sharing in multi-user settings. In 2008, Bao et al. [25] designed a PEKSscheme that supports multi-user access, which avoids the use of the same keys. Their scheme uses a bilinear map and hash functions to re-encrypt the search tokens, but a bilinear map requires high overheads. Therefore, Dong et al. [26,27] successively presented two multi-user searchable encryption schemes based on RSA and Elgamal. Those are two PEKS schemes based on proxy cryptography [28]. Subsequent schemes [29,30,31,32] have made further studies on multi-user searchable encryption.
To show the advantages of our scheme, we give the comparisons between our scheme and other schemes in Table 1 and Table 2.

1.2. Our Contributions

In this work, we propose a multi-user searchable symmetric encryption scheme, which also achieves efficient updates for encrypted files. The scheme aims at the application scenario where a single data owner encrypts files and shares them among multiple users, and we use key distribution rather than key sharing to authorize users. Each authorized user has its own search key and decrypt key. The search and decrypt operations can be performed, combined with the complementary keys stored on the cloud server. Our index structure is the combination of a bit matrix and two static hash tables. Such a structure can support secure and efficient searches/updates. In addition, our scheme is parallelizable. We make the contributions as follows:
(1)
Our scheme avoids key sharing. For the search process, a search token generated by the search key is processed via re-encryption technology to obtain a new token, which can be used to search in the encrypted index. For the decryption process, we encrypt the key used for encrypting data and upload it to the cloud server. When the ciphertexts are decrypted, with re-encryption technology, the encrypted key is converted into the key that a user can employ.
(2)
Our scheme enables efficient searches. To improve efficiency, we use pseudo-random functions and hash functions instead of a bilinear map, which has low efficiency (a bilinear map is often used in multi-user searchable encryption schemes). Searching for a keyword takes O ( n / p ) parallel time.
(3)
Our scheme enables efficient updates. For the update process, the data owner simply sends an update token to the cloud server. Updating a file takes O ( m / p ) parallel time.
(4)
Our scheme meets the security requirements for query privacy, search unforgeability and revocability.
The remainder of this paper is structured as follows. We show some notations and define our system and security requirements in Section 2. Our construction is presented in Section 3. We provide the relevant security analysis and the performance analysis in Section 4 and Section 5, respectively. Finally, we give the conclusion in Section 6.

2. Preliminaries

2.1. Notations

A symmetric encryption scheme is a triplet that contains polynomial-time algorithms ( G e n , E n c , D e c ) . The algorithm G e n ( 1 k ) takes a security parameter k and outputs a secret key K; E n c ( K , f ) takes a secret key K and a file f and outputs a ciphertext c; D e c ( K , c ) takes a secret key K and a ciphertext c and outputs a file f. Let ϖ be a symmetric encryption scheme and ε be another symmetric encryption scheme. Note that ϖ and ε are secure (indistinguishable) against chosen-plaintext attacks (IND-CPA). Table 3 gives some notations used in our scheme.
In our scheme, U L is the authorized user list stored on the cloud server, and the entries of the list are tuples ( u i , a s i , d s i ) , where u i denotes a user identifier and a s i and d s i denote the user’s complementary keys. ( a u i , d u i ) belongs to a user u i , where a u i and d u i denote the user’s search key and decrypt key, respectively. We use a pseudorandom function P : { 0 , 1 } k × { w 1 , , w m } Z q , another pseudorandom function R : { 0 , 1 } k × { 0 , 1 } { 0 , 1 } k and a collision-resistant hash function H : G { 0 , 1 } k . q { w , f i d } is the query operation received by the cloud server, where q = w and q = f i d denote the search query for keyword w and the update query for file f i d , respectively. We write Q t = ( q 1 , , q t ) to represent a collection of t queries, let U q = ( u q 1 , , u q t ) be the set of users who make a search query q = w , and let W t = ( w 1 , , w t ) be the set of queried keywords and Γ t = ( Υ 1 , , Υ t ) the set of t replies.

2.2. Architecture

Figure 1 shows the architecture of our scheme. The data owner outsources his/her own files to the cloud. To assure data security, the files must be stored in the encrypted form. The data owner authorizes a group of users to access the encrypted files stored on the cloud server, and he/she is responsible for updating the encrypted files and managing the group. Each user in the group generates search tokens and decrypts the ciphertexts with his/her own unique search key and decrypt key, respectively. The cloud server executes the retrieval operations with the search token and returns the results.
Definition 1.
A multi-user searchable symmetric encryption scheme is a tuple of polynomial-time algorithms ( G e n , A d d U s e r , E n c , K e y E n c , S r c h T o k e n , S e a r c h , K e y D e c , D e c , U p d T o k e n , U p d a t e , R e v o k e U s e r ) such that:
1. 
( P a r a m s , M K ) G e n ( 1 k ) : Given a security parameter k, the data owner generates the master public parameters P a r a m s and a master secret key M K = ( a , d , s 1 , s 2 , K ) , where K is the secret key for ϖ.
2. 
U L A d d U s e r ( u i , M K ) : It is run by the data owner to authorize a new user u i . Using a user identifier u i and a master secret key M K , the data owner produces two key pairs ( a s i , a u i ) and ( d s i , d u i ) . Then, ( u i , a s i , d s i ) is sent securely to the cloud server, and ( a u i , d u i , s 1 ) is sent securely to the user u i . The cloud server updates its authorized user list U L = U L ( u i , a s i , d s i ) .
3. 
( C , γ ) E n c ( M K , F , δ ) : Given a master secret key M K , the files F and an index δ, the data owner generates the ciphertexts C and the encrypted index γ. Then, C and γ are uploaded to the cloud server.
4. 
K K e y E n c ( d , K ) : It is run by the data owner to encrypt the secret key K. It outputs the encrypted secret key K for the cloud server.
5. 
T u i ( w ) S r c h T o k e n ( a u i , w ) : Given the user’s search key a u i and a keyword w, a user u i generates a corresponding search token T u i ( w ) .
6. 
C w S e a r c h ( T u i ( w ) , γ ) : Given a search token T u i ( w ) and an encrypted index γ, the cloud server returns the results C w , which contain the keyword w.
7. 
K K e y D e c ( d s i , d u i , K ) : It is run by the cloud server and a user u i . It takes the user’s decrypt key pair ( d s i , d u i ) and the encrypted secret key K as input. It outputs the secret key K for the user u i .
8. 
f j D e c ( K , c j ) : Given the secret key K and a ciphertext c j , a user u i gets the file f j .
9. 
T f U p d T o k e n ( M K , β , f i d ) : Given a master secret key M K , the type β and a file f i d , the data owner generates an update token T f .
10. 
( C , γ ) U p d a t e ( T f , C , γ ) : Given an update token T f , the ciphertexts C and an encrypted index γ, the cloud server generates the new ciphertexts C and the new encrypted index γ .
11. 
U L R e v o k e U s e r ( u i ) : Given a user identifier u i , the cloud server updates its authorized user list U L = U L ( u i , a s i , d s i ) .
Correctness: A multi-user searchable symmetric encryption scheme is correct if for all security parameters k, for all parameters P a r a m s and keys M K from G e n ( 1 k ) , for all F, for all tuples ( C , γ ) from E n c ( M K , F , δ ) and for all successive search/update operations on γ , a legitimate user u i always gets the correct files F w , which contain the search keyword w.

2.3. Security Requirements

In our scheme, the cloud server is considered to be semi-trusted, which means that it will gather as much information as possible while complying with the protocol. In addition, we do not consider the case of user-server collusion. Ideally, a secure scheme should leak no information about the plaintexts and queries to malicious attackers. However, a practical scheme will inevitably leak the search pattern and access pattern.
Definition 2.
Search pattern P ( δ , q , t ) : Given a search query q = w at time t, the search pattern is a binary vector of length t with a one at location i if the search at time i t was for w; and zero otherwise. The search pattern determines whether the same keyword was searched in the past.
Definition 3.
Access pattern Δ ( F , δ , w , t ) : Given a search query q = w at time t, the access pattern is the identifiers from F w at time t.
We define the following leakage functions [13] for our scheme.
Definition 4.
Leakage functions ( 1 , 2 ) :
1. 
1 ( F , δ ) : It takes the files F (containing their identifiers) and the index δ as input. 1 outputs the maximum number of keywords m, the maximum number of files n, the identifiers i d of files and the size of each file | f i d | . Specifically, 1 ( F , δ ) = ( m , n , i d 1 , , i d n , | f i d 1 | , , | f i d n | ) .
2. 
2 ( F , δ , w , t ) : It takes as input the files F, the index δ and a queried keyword w at time t. 2 outputs the search pattern P ( δ , q , t ) , the access pattern Δ ( F , δ , w , t ) and the number of authorized users | U L | . Specifically, 2 ( F , δ , w , t ) = ( P ( δ , q , t ) , Δ ( F , δ , w , t ) , | U L | ) .
Definition 5.
View of an adversary V t : Given t queries, the view of an adversary is the transcript of the interactions. Specifically, V t = ( C , γ , i d 1 , , i d n , Q t , U q , Γ t , U L ) .
We first consider the security requirement for query privacy. Apart from the information derived from the view, the adversary should obtain no extra information. We define query privacy as a simulation-based game between an adversary and the challenger. The view of an adversary V t is from the interactions with the challenger in a real situation, and V t is from the interactions with a simulator in the ideal status. The scheme achieves query privacy if V t and V t are computationally indistinguishable. Now, we use the notions of dynamic IND-CKA2 [3,4] and give our security definition for query privacy.
Definition 6.
Let M S S E be a multi-user searchable symmetric encryption scheme as defined in Definition 1. Consider the following probabilistic experiments, where A is a stateful adversary and S is a stateful simulator:
R e a l A ( k ) : The challenger generates P a r a m s and M K by G e n ( 1 k ) . Then, A generates ( F , δ ) and obtains ( C , γ ) E n c ( M K , F , δ ) from the challenger. A makes a polynomial number of adaptive queries q { w , f i d } . If q = w , then A obtains a search token T u i ( w ) S r c h T o k e n ( a u i , w ) from the challenger. If q = f i d with the type β, the challenger generates an update token T f U p d T o k e n ( M K , β , f i d ) for A . Eventually, A returns a bit b as the output of the experiment.
I d e a l A , S ( k ) : Given 1 ( F , δ ) , S produces ( C , γ ) for A . A makes a polynomial number of adaptive queries q { w , f i d } . For each adaptive query, S is given 2 ( F , δ , w , t ) . If q = w , S generates a search token T u i ( w ) . If q = f i d with the type β, then S returns an update token T f . Eventually, A returns a bit b as the output of the experiment.
We say that M S S E is ( 1 , 2 ) -secure against adaptive dynamic chosen-keyword attacks if for all probabilistic polynomial-time (PPT) adversaries A , there exists a PPT simulator S such that:
| P r [ R e a l A ( k ) = 1 ] P r [ I d e a l A , S ( k ) = 1 ] | n e g ( k ) .
Compared with the previous SSE, the multi-user scheme should not only achieve query privacy, but also meet the security requirements for search unforgeability and revocability.
In the multi-user scheme, each user u i makes search queries by his/her unique search key. We require that the malicious user A U or the cloud server A S cannot produce a valid search token T u i ( w ) on behalf of u i . This property is referred to as search unforgeability. For a user u i , his/her valid search queries are defined as Q u i = { T u i ( w ) | T u i ( w ) S r c h T o k e n ( a u i , w ) , w Ω } . Thus, search unforgeability is defined as that for each authorized user u i , adversaries cannot produce T u i ( w ) Q u i without the search key a u i .
For the multi-user application, it is a basic requirement to revoke the access authorities of users as needed. The revoked user cannot access the encrypted files stored on the cloud, which implies he/she is incapable of distinguishing the indexes. Therefore, revocability is defined based on index indistinguishability.

3. Proposed Scheme

3.1. Index Structure

The index δ is an m × n matrix, and I is another m × n matrix. We store the encrypted δ [ i , j ] in I [ i , j ] , where δ [ i , j ] { 0 , 1 } , I [ i , j ] { 0 , 1 } for i = 1 , , m and j = 1 , , n . Two static hash tables are used to uniquely map each keyword-file pair ( w , f i d ) to the indices ( i , j ) in δ and I. A hash table is composed of tuples ( k e y , v a l u e ) . The k e y is a k-bit binary string, and k e y indicates the location in the table. The v a l u e in the hash table can be accessed in O ( 1 ) time. We use a static hash table α w , which has the tuple ( λ w x , i ) , where λ w x = H ( h φ w x ) , φ w x = P s 1 ( w x ) for keyword w x , i { 1 , , m } , x { 1 , , m } . The access operations can be represented as i α w ( λ w x ) . We use another static hash table α f , which has the tuple ( λ f y , j ) , where λ f y = R s 2 ( i d y ) for the identifier i d y of file f i d y , j { 1 , , n } , y { 1 , , n } . Similarly, the access operations can be represented as j α f ( λ f y ) . Our encrypted index γ includes the matrix I and the hash table α w . Figure 2 shows the index structure.
Note that we write I [ i , ] and I [ , j ] to represent all elements in the i-th row and the j-th column of the matrix I, respectively. I T denotes the transpose of the matrix I.

3.2. Concrete Scheme

The construction of our scheme is as follows:
  • ( P a r a m s , M K ) G e n ( 1 k ) : Given a security parameter k, the data owner generates the master public parameters P a r a m s = ( G , g , q , h = g a , P , R , H ) and a master secret key M K = ( a Z q , d Z q , s 1 , s 2 , K ) , where K = g μ , g μ R G .
  • U L A d d U s e r ( u i , M K ) : Given a user identifier u i and a master secret key M K , the data owner generates two key pairs ( a s i R Z q , a u i = a a s i ) and ( d s i R Z q , d u i · d s i = d ) . Then, ( u i , a s i , d s i ) is sent securely to the cloud server, and ( a u i , d u i , s 1 ) is sent securely to the user u i . The cloud server updates its authorized user list U L = U L ( u i , a s i , d s i ) . The data owner keeps the master secret key M K .
  • ( C , γ ) E n c ( M K , F , δ ) : The data owner generates the ciphertexts C and an encrypted index γ as follows
    (1)
    Initialize two matrices δ and I; all elements are set to zero. Extract all distinct keywords ( w 1 , , w m ) from the files F = ( f i d 1 , , f i d n ) , where m m and n n .
    (2)
    Construct the index δ for x = 1 , , m and y = 1 , , n :
    (a)
    φ w x = P s 1 ( w x ) , λ w x = H ( h φ w x ) , i α w ( λ w x ) , λ f y = R s 2 ( i d y ) and j α f ( λ f y ) .
    (b)
    If w x appears in f i d y , set δ [ i , j ] = 1 .
    (3)
    Encrypt the files F for y = 1 , , n : c i d y ϖ . E n c ( K , f i d y ) , and set C = C ( c i d y , j ) .
    (4)
    Encrypt the index δ for x = 1 , , m : φ w x = P s 1 ( w x ) , λ w x = H ( h φ w x ) , i α w ( λ w x ) , I [ i , ] ε . E n c ( h φ w x , δ [ i , ] ) .
    (5)
    Then, ( C , γ ) are uploaded to the cloud server, where γ = ( I , α w ) . The data owner keeps ( α w , α f ) .
  • K K e y E n c ( d , K ) : The data owner generates the encrypted secret key K = K d = g μ d . Then, K is sent to the cloud server.
  • T u i ( w ) S r c h T o k e n ( a u i , w ) : With a random number r R Z q , a user u i produces a search token T u i ( w ) = ( τ 1 , τ 2 ) , where τ 1 = g r g φ w , τ 2 = h r g a u i r g a u i φ w , φ w = P s 1 ( w ) for the given keyword w.
  • C w S e a r c h ( T u i ( w ) , γ ) : On receiving a search token T u i ( w ) = ( τ 1 , τ 2 ) , the cloud server generates the results C w as follows:
    (1)
    If ( u i , a s i ) can be found in authorized user list U L , compute τ w = τ 1 a s i · τ 2 = h φ w , λ w x = H ( τ w ) , i α w ( λ w x ) . If not, output E r r o r .
    (2)
    For j = 1 , , n , compute I [ i , j ] ε . D e c ( τ w , I [ i , j ] ) , if I [ i , j ] = 1 , set C w = C w c j , where c j denotes the ciphertext associated with j.
    (3)
    Output C w . The cloud server returns C w to the user u i .
  • K K e y D e c ( d s i , d u i , K ) : Given the encrypted secret key K , the cloud server finds the corresponding ( u i , d s i ) for a user u i and computes K = ( K ) d s i 1 = g μ d u i . For K , the user u i uses the decrypt key d u i to get K = ( K ) d u i 1 = g μ .
  • f j D e c ( K , c j ) : A user u i gets the file as f j ϖ . D e c ( K , c j ) .
  • T f U p d T o k e n ( M K , β , f i d ) : The data owner generates an update token T f for a file f i d as follows:
    (1)
    Initialize two arrays δ ¯ [ i ] and I ¯ [ i ] for i = 1 , , m ; all elements are set to zero. Compute λ f y = R s 2 ( i d ) , j α f ( λ f y ) .
    (2)
    If the type β is insertion or modification:
    a)
    Extract all distinct keywords ( w 1 , , w β ) from the file f i d .
    b)
    For x = 1 , , β , compute φ w x = P s 1 ( w x ) , λ w x = H ( h φ w x ) , i α w ( λ w x ) , δ ¯ [ i ] = 1 .
    c)
    c i d y ϖ . E n c ( K , f i d ) , c = ( c i d y , j ) .
    d)
    For x = 1 , , m , compute φ w x = P s 1 ( w x ) , λ w x = H ( h φ w x ) , i α w ( λ w x ) , I ¯ [ i ] ε . E n c ( h φ w x , δ ¯ [ i ] ) .
    (3)
    If the type β is deletion: for x = 1 , , m , compute φ w x = P s 1 ( w x ) , λ w x = H ( h φ w x ) , i α w ( λ w x ) , I ¯ [ i ] ε . E n c ( h φ w x , δ ¯ [ i ] ) .
    (4)
    Output T f = ( c , j , I ¯ ) . Then, T f is sent to the cloud server.
  • ( C , γ ) U p d a t e ( T f , C , γ ) : On receiving an update token T f = ( c , j , I ¯ ) , the cloud server performs the update operation as follows:
    (1)
    I [ , j ] = ( I ¯ ) T .
    (2)
    Output the new ciphertexts C and the new encrypted index γ = ( I , α w ) .
  • U L R e v o k e U s e r ( u i ) : Given a user identifier u i , the cloud server updates its authorized user list U L = U L ( u i , a s i , d s i ) .

3.3. Correctness

Theorem 1.
Our scheme as described above is correct.
Proof. 
Given an encrypted index γ = ( I , α w ) , then I [ i , j ] ε . E n c ( h φ w , δ [ i , j ] ) and i α w ( H ( h φ w ) ) , φ w = P s 1 ( w ) . With the search key a u i , a user u i generates a search token T u i ( w ) = ( τ 1 , τ 2 ) for a keyword w . The cloud server uses the complementary key a s i to compute τ w = τ 1 a s i · τ 2 = h φ w . We use a collision-resistant hash function H. If w = w , then H ( h φ w ) = H ( h φ w ) . With i α w ( H ( h φ w ) ) , the cloud server gets the decrypted index I [ i , j ] ε . D e c ( h φ w , I [ i , j ] ) . Thus, the algorithm S e a r c h ( T u i ( w ) , γ ) generates the correct results C w by properly decrypting row i. Finally, with the decrypt key pair ( d s i , d u i ) , the user u i gets the secret key K to decrypt C w . ☐

4. Security Analysis

4.1. Query Privacy

Theorem 2.
Our scheme as described above is ( 1 , 2 ) -secure in the random oracle model according to Definition 6.
Proof. 
During the interactions with the challenger, an adversary A generates a view V t , and a simulator S can also simulate a view V t by using the information that will be allowed to leak. Now, we show that V t is computationally indistinguishable from V t .
For the real view of A , V t = ( C , γ , i d 1 , , i d n , Q t , U q , Γ t , U L ) , S simulates the view V t = ( C , γ , i d 1 , , i d n , Q t , U q , Γ t , U L ) in the ideal situation.
For t = 0 , given 1 ( F , δ ) = ( m , n , i d 1 , , i d n , | f i d 1 | , , | f i d n | ) , V t = ( C , γ , i d 1 , , i d n , U L ) is generated as follows. S simulates the ciphertexts C by using the symmetric encryption ϖ . To generate the encrypted index γ = ( I , α w ) , S first constructs the hash table α f and the index δ , where all elements of δ are randomly set to zero or one. With m randomly selected keys φ w , S constructs the hash table α w and encrypts δ for j = 1 , , n : I [ α w ( H ( h φ w ) ) , j ] ε . E n c ( h φ w , δ [ α w ( H ( h φ w ) ) , j ] ) . To construct the authorized user list U L based on the number of authorized users | U L | , S generates a random user identifier and the complementary keys a s i R Z q , d s i R Z q for each user. The security of the ciphertexts is based on symmetric encryption, so C is computationally indistinguishable from C. Symmetric encryption and pseudorandom functions ensure the indistinguishability between γ and γ . During the construction of the authorized user list, the complementary keys are randomly assigned to each user, so U L and U L are also computationally indistinguishable.
For t > 0 , given 2 ( F , δ , w , t ) = ( P ( δ , q , t ) , Δ ( F , δ , w , t ) , | U L | ) , S simulates the view V t = ( C , γ , i d 1 , , i d n , Q t , U q , Γ t , U L ) as follows. Note that all queries in Q t are issued by different users, and they may make a search query for the same keyword.
  • U L : The entries of the list are tuples ( u i , a s i , d s i ) . For i = 1 , , | U L | , S selects the complementary keys a s i R Z q and d s i R Z q for the user u i . Set a = a s 1 + + a s | U L | , d = d s 1 × × d s | U L | . Because the complementary keys are randomly assigned to each user, U L and U L are computationally indistinguishable.
  • C and γ : Refer to the case of t = 0 . C and C are computationally indistinguishable, and γ is computationally indistinguishable from γ .
  • Q t and U q : The query operation q { w , f i d } includes the search query q = w and the update query q = f i d . For q = w , S randomly selects a user u i with its search key a u i = a a s i and its random number r R Z q . With the corresponding key φ w , S generates a search token T u i ( w ) = ( τ 1 , τ 2 ) , where τ 1 = g r g φ w , τ 2 = h r g a u i r g a u i φ w . The randomly selected key φ w and pseudorandom function φ w = P s 1 ( w ) are computationally indistinguishable, so T u i ( w ) is computationally indistinguishable from T u i ( w ) . The user u i is randomly selected to generate T u i ( w ) , so U q and U q are also computationally indistinguishable. For q = f i d , if the type β is insertion or modification, S simulates the ciphertext c by using the symmetric encryption ϖ . With m randomly selected keys φ w , S constructs the array δ ¯ [ i ] for i = 1 , , m and encrypts δ ¯ : I ¯ [ α w ( H ( h φ w ) ) ] ε . E n c ( h φ w , δ ¯ [ α w ( H ( h φ w ) ) ] ) . Then, S generates an update token T f = ( c , j , I ¯ ) , where j can be derived from α f and f i d . Therefore, we can see that T f is computationally indistinguishable from T f .
  • Γ t : For q = w , if w appears in Δ ( F , δ , w , t ) , it outputs the corresponding results. Otherwise, A performs the algorithm S e a r c h ( T u i ( w ) , γ ) to generate the corresponding results. Therefore, Γ t and Γ t are computationally indistinguishable.
In conclusion, V t is computationally indistinguishable from V t . Therefore, for all PPT adversaries A , the outputs of R e a l A ( k ) and of I d e a l A , S ( k ) are negligibly close:
| P r [ R e a l A ( k ) = 1 ] P r [ I d e a l A , S ( k ) = 1 ] | n e g ( k ) .
 ☐

4.2. Search Unforgeability

Theorem 3.
Our scheme as described above achieves search unforgeability.
Proof. 
For the malicious user A U : Consider the search token T u i ( w ) = ( τ 1 , τ 2 ) , where τ 1 = g r g φ w , τ 2 = h r g a u i r g a u i φ w = h r g a u i ( φ w r ) , φ w = P s 1 ( w ) , r R Z q and all authorized users know ( g , h = g a , s 1 , P ) . For a user u i , if A U wants to generate T u i ( w ) Q u i without the search key a u i , then A U has to compute the discrete logarithm for τ 2 = h r g a u i r g a u i φ w = h r g a u i ( φ w r ) . We can consider the equation: y = g x m o d p . Given ( y , g , p ) , it is very hard to obtain x in polynomial time. That means A U cannot generate T u i ( w ) Q u i without the search key a u i .
For the cloud server A S : A S can make a search query q = w with τ w = τ 1 a s i · τ 2 = h φ w , and A S knows ( a s i , g , h = g a , P ) . However, without s 1 , A S would not compute φ w = P s 1 ( w ) . Therefore, if A S wants to make a search query q = w , A S has to generate a search token T u i ( w ) = ( τ 1 , τ 2 ) , where τ 1 = g r g φ w , τ 2 = h r g a u i r g a u i φ w = g a s i r g a u i φ w . That means A S needs to compute the discrete logarithm for τ 1 and τ 2 . Now, there is no proper algorithm to find the discrete logarithm. Hence, A S cannot generate T u i ( w ) Q u i without the search key a u i and s 1 . ☐

4.3. Revocability

Theorem 4.
Our scheme as described above achieves revocability.
Proof. 
In the algorithm E n c ( M K , F , δ ) , the index δ is encrypted: I [ i , j ] ε . E n c ( h φ w , δ [ i , j ] ) , where i α w ( H ( h φ w ) ) . An authorized user u i does not have the hash table α w , so for keyword w, he/she cannot find the corresponding position in I without the assistance of the cloud server. Hence, if the cloud server deletes ( u i , a s i , d s i ) from U L , the revoked user u i is incapable of distinguishing keywords w 1 and w 2 in I. ☐

5. Performance Evaluation

Let M be the length of modulus q , L the length of the outputs for the hash function, E a symmetric encryption operation, e a modular exponentiation, b a bilinear operation, v an inversion operation, n the maximum number of files, m the maximum number of keywords and p the number of parallel processors, respectively. We compare our scheme with several multi-user searchable encryption schemes in Table 4.
Compared to the schemes in [25,26] that require bilinear operations, which have high overheads, our scheme has better search efficiency. For the encryption process, our scheme takes less time than [27]. From the above table, the search time of all schemes is asymptotically O ( n ) . However, our scheme is parallelizable because it involves the operations for independent vector positions. Thus, the search time for a keyword is O ( n / p ) parallel time, and the update time for a file is O ( m / p ) parallel time.

6. Conclusions

Many previous SSE schemes are limited to single-user settings, which cannot meet the needs of data sharing. For this reason, we presented a multi-user searchable symmetric encryption scheme that uses key distribution and re-encryption to achieve multi-user access. In our scheme, each user performs search operations via his/her unique search key, and others are prevented from searching on behalf of a user. We use a simple and practical index structure, namely the combination of a bit matrix and two static hash tables. With the index structure, our scheme allows efficient searches and updates. Specifically, the search time for a keyword is O ( n / p ) parallel time, and the update time for a file is O ( m / p ) parallel time. Our scheme obtains revocation operations. For security, we prove that our scheme is IND-CKA2-secure.
Our scheme only supports single-keyword search. In our future work, we will consider how to make our scheme support multi-keyword search, which can achieve expressive search operations in multi-user settings. In addition, we will consider the verifiability of search results.

Author Contributions

C.G. and X.F. conceived of the scheme. C.G. and G.W. mainly wrote the paper. Y.M., G.W., F.L. and T.W. revised the paper.

Funding

This work was supported by Guangxi Key Laboratory of Cryptography and Information Security (Grant No. GCIS201718); the Department of Education of Zhejiang Province of China (Grant No. Y201636547); the Fund of the Lab of Security Insurance of Cyberspace, Sichuan Province (Grant No. szjj2017-055); the Key Research Project of Zhejiang Province (Grant No. 2017C01062); the cybersecurity discipline of Hangzhou Dianzi University (Grant No. GK168800225075).

Acknowledgments

The authors thank the anonymous reviewers for their helpful comments and suggestions.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Song, D.X.; Wagner, D.; Perrig, A. Practical Techniques for Searches on Encrypted Data. In Proceedings of the 2000 IEEE Symposium on Security and Privacy, Berkeley, CA, USA, 14–17 May 2000; pp. 44–55. [Google Scholar]
  2. van Liesdonk, P.; Sedghi, S.; Doumen, J.; Hartel, P.; Jonker, W. Computationally Efficient Searchable Symmetric Encryption. In Proceedings of the 7th VLDB Workshop on Secure Data Management, Singapore, 17 September 2010; pp. 87–100. [Google Scholar]
  3. Kamara, S.; Papamanthou, C.; Roeder, T. Dynamic Searchable Symmetric Encryption. In Proceedings of the ACM Conference on Computer and Communications Security, Raleigh, NC, USA, 16–18 October 2012; pp. 965–976. [Google Scholar]
  4. Kamara, S.; Papamanthou, C. Parallel and Dynamic Searchable Symmetric Encryption. In Proceedings of the 17th International Conference on Financial Cryptography and Data Security, Okinawa, Japan, 1–5 April 2013; pp. 258–274. [Google Scholar]
  5. Kurosawa, K.; Ohtaki, Y. How to Update Documents Verifiably in Searchable Symmetric Encryption. In Proceedings of the 12th International Conference on Cryptology and Network Security, Paraty, Brazil, 20–22 November 2013; pp. 309–328. [Google Scholar]
  6. Stefanov, E.; Papamanthou, C.; Shi, E. Practical Dynamic Searchable Encryption with Small Leakage. In Proceedings of the 21st Annual Network and Distributed System Security Symposium, San Diego, CA, USA, 23–26 February 2014. [Google Scholar]
  7. Naveed, M.; Prabhakaran, M.; Gunter, C.A. Dynamic Searchable Encryption via Blind Storage. In Proceedings of the 2014 IEEE Symposium on Security and Privacy, Berkeley, CA, USA, 18–21 May 2014; pp. 639–654. [Google Scholar]
  8. Kurosawa, K.; Sasaki, K.; Ohta, K.; Yoneyama, K. UC-Secure Dynamic Searchable Symmetric Encryption Scheme. In Proceedings of the 11th International Workshop on Security, Tokyo, Japan, 12–14 September 2016; pp. 73–90. [Google Scholar]
  9. Xu, P.; Liang, S.; Wang, W.; Susilo, W.; Wu, Q.; Jin, H. Dynamic Searchable Symmetric Encryption with Physical Deletion and Small Leakage. In Proceedings of the 22nd Australasian Conference on Information Security and Privacy, Auckland, New Zealand, 3–5 July 2017; pp. 207–226. [Google Scholar]
  10. Goh, E.J. Secure Indexes. IACR Cryptol. ePrint Arch. 2003, 2003, 216. [Google Scholar]
  11. Chang, Y.C.; Mitzenmacher, M. Privacy Preserving Keyword Searches on Remote Encrypted Data. In Proceedings of the 3rd International Conference on Applied Cryptography and Network Security, New York, NY, USA, 7–10 June 2005; pp. 442–455. [Google Scholar]
  12. Curtmola, R.; Garay, J.; Kamara, S.; Ostrovsky, R. Searchable Symmetric Encryption: Improved Definitions and Efficient Constructions. In Proceedings of the 13th ACM Conference on Computer and Communications Security, Alexandria, VA, USA, 30 October–3 November 2006; pp. 79–88. [Google Scholar]
  13. Chase, M.; Kamara, S. Structured Encryption and Controlled Disclosure. In Proceedings of the 16th International Conference on the Theory and Application of Cryptology and Information Security, Singapore, 5–9 December 2010; pp. 577–594. [Google Scholar]
  14. Javanmardi, S.; Shojafar, M.; Shariatmadari, S.; Ahrabi, S.S. FR TRUST: A Fuzzy Reputation Based Model for Trust Management in Semantic P2P Grids. IJGUC 2015, 6, 57–66. [Google Scholar] [CrossRef]
  15. Pooranian, Z.; Chen, K.C.; Yu, C.M.; Conti, M. RARE: Defeating Side Channels Based on Data-Deduplication in Cloud Storage. In Proceedings of the 37th IEEE INFOCOM, Honolulu, HI, USA, 15–19 April 2018; pp. 444–449. [Google Scholar]
  16. Fu, X.; Nie, X.; Wu, T.; Li, F. Large Universe Attribute Based Access Control with Efficient Decryption in Cloud Storage System. J. Syst. Softw. 2018, 135, 157–164. [Google Scholar] [CrossRef]
  17. Zhang, X.; Wang, H.; Xu, C. Identity-Based Key-Exposure Resilient Cloud Storage Public Auditing Scheme from Lattices. Inf. Sci. 2019, 472, 223–234. [Google Scholar] [CrossRef]
  18. Bloom, B.H. Space/Time Trade-Offs in Hash Coding with Allowable Errors. Commun. ACM 1970, 13, 422–426. [Google Scholar] [CrossRef]
  19. Canetti, R. Universally Composable Security: A New Paradigm for Cryptographic Protocols. In Proceedings of the 42nd Annual Symposium on Foundations of Computer Science, Las Vegas, NV, USA, 14–17 October 2001; pp. 136–145. [Google Scholar]
  20. Kurosawa, K.; Ohtaki, Y. UC-Secure Searchable Symmetric Encryption. In Proceedings of the 16th International Conference on Financial Cryptography and Data Security, Kralendijk, Bonaire, 27 February– 2 March 2012; pp. 285–298. [Google Scholar]
  21. Fiat, A.; Naor, M. Broadcast Encryption. In Proceedings of the 13th Annual International Cryptology Conference, Santa Barbara, CA, USA, 22–26 August 1993; pp. 480–491. [Google Scholar]
  22. Barman, S.; Chattopadhyay, S.; Samanta, D. An Approach to Cryptographic Key Distribution Through Fingerprint Based Key Distribution Center. In Proceedings of the 2014 International Conference on Advances in Computing, Communications and Informatics, Delhi, India, 24–27 September 2014; pp. 1629–1635. [Google Scholar]
  23. Pecori, R. A Comparison Analysis of Trust-Adaptive Approaches to Deliver Signed Public Keys in P2P Systems. In Proceedings of the 7th International Conference on New Technologies, Mobility and Security, Paris, France, 27–29 July 2015; pp. 1–5. [Google Scholar]
  24. Parakh, A.; Verma, P.; Subramaniam, M. Improving Efficiency of Quantum Key Distribution with Probabilistic Measurements. IJSN 2016, 11, 37–47. [Google Scholar] [CrossRef]
  25. Bao, F.; Deng, R.H.; Ding, X.; Yang, Y. Private Query on Encrypted Data in Multi-User Settings. In Proceedings of the 4th International Conference on Information Security Practice and Experience, Sydney, Australia, 21–23 April 2008; pp. 71–85. [Google Scholar]
  26. Dong, C.; Russello, G.; Dulay, N. Shared and Searchable Encrypted Data for Untrusted Servers. In Proceedings of the 22nd Annual IFIP WG 11.3 Working Conference on Data and Applications Security, London, UK, 13–16 July 2008; pp. 127–143. [Google Scholar]
  27. Dong, C.; Russello, G.; Dulay, N. Shared and Searchable Encrypted Data for Untrusted Servers. JCS 2011, 19, 367–397. [Google Scholar] [CrossRef]
  28. Blaze, M.; Bleumer, G.; Strauss, M. Divertible Protocols and Atomic Proxy Cryptography. In Proceedings of the International Conference on the Theory and Application of Cryptographic Techniques, Espoo, Finland, 31 May–4 June 1998; pp. 127–144. [Google Scholar]
  29. Yang, Y.; Lu, H.; Weng, J. Multi-User Private Keyword Search for Cloud Computing. In Proceedings of the IEEE 3rd International Conference on Cloud Computing Technology and Science, Athens, Greece, 29 November–1 December 2011; pp. 264–271. [Google Scholar]
  30. Zhao, F.; Nishide, T.; Sakurai, K. Multi-User Keyword Search Scheme for Secure Data Sharing with Fine-Grained Access Control. In Proceedings of the 14th International Conference on Information Security and Cryptology, Seoul, Korea, 30 November–2 December 2011; pp. 406–418. [Google Scholar]
  31. Rane, D.D.; Ghorpade, V.R. Multi-User Multi-Keyword Privacy Preserving Ranked Based Search Over Encrypted Cloud Data. In Proceedings of the International Conference on Pervasive Computing, Pune, India, 8–10 January 2015; pp. 1–4. [Google Scholar]
  32. Nair, M.S.; Rajasree, M.S. Fine-Grained Search and Access Control in Multi-User Searchable Encryption without Shared Keys. J. Inf. Secur. Appl. 2018, 41, 124–133. [Google Scholar] [CrossRef]
Figure 1. Architecture of multi-user searchable symmetric encryption with dynamic updates.
Figure 1. Architecture of multi-user searchable symmetric encryption with dynamic updates.
Information 09 00242 g001
Figure 2. The index structure.
Figure 2. The index structure.
Information 09 00242 g002
Table 1. Comparison of different dynamic searchable symmetric encryption (DSSE) schemes. Let n be the maximum number of files, n the number of files that contain a search keyword, m the maximum number of keywords, m the number of unique keywords in a file, ι the number of update operations and p the number of parallel processors, respectively.
Table 1. Comparison of different dynamic searchable symmetric encryption (DSSE) schemes. Let n be the maximum number of files, n the number of files that contain a search keyword, m the maximum number of keywords, m the number of unique keywords in a file, ι the number of update operations and p the number of parallel processors, respectively.
SchemesParallelizableNo Interactive UpdatesUpdate TimeSearch Time
van Liesdonk et al. [2]noyes ι · O ( m ) O ( n )
Kamara et al. [3]noyes O ( m ) O ( n )
Kamara and Papamanthou [4]yesno O ( m p log n ) O ( n p log n )
Stefanov et al. [6]yesno ι · O ( m p log n ) O ( n p )
Kurosawa et al. [8]yesno O ( m p log n ) O ( n p )
Oursyesyes O ( m p ) O ( n p )
Table 2. Feature comparison of multi-user searchable encryption schemes.
Table 2. Feature comparison of multi-user searchable encryption schemes.
SchemesTypeNo Key SharingNo Bilinear Operation
Curtmola et al. [12]SSEnoyes
Bao et al. [25]PEKSyesno
Dong et al. [26]PEKSyesno
Dong et al. [27]PEKSyesyes
Nair and Rajasree [32]SSEyesno
OursSSEyesyes
Table 3. Notations.
Table 3. Notations.
NotationsMeaning
{ 0 , 1 } k the set of all k-bit binary strings
{ 0 , 1 } the set of all finite binary strings
y S an algorithm S outputs y
| b | the bit length of a string b
| B | the cardinality of a set B
y R B the element y is randomly and uniformly selected from a set B
wa unique keyword
f i d a file with identifier i d
mthe maximum number of keywords
nthe maximum number of files
δ an index
γ the encrypted index
Ga cyclic group of order q
ga generator of G
Z q an additive group (modulo q )
Ω = ( w 1 , , w m ) the set of all m keywords
F = ( f i d 1 , , f i d n ) the set of n files
C = ( c i d 1 , , c i d n ) the collection of n corresponding ciphertexts
Table 4. Performance comparison of several multi-user searchable encryption schemes.
Table 4. Performance comparison of several multi-user searchable encryption schemes.
SchemesSizeTime
Public ParametersSecret KeySearch TokenEncryptSearch
Bao et al. [25] 2 M 2 M M E + 2 e + b b + n E
Dong et al. [26] 5 M 2 M M E + 4 e e + n b
Dong et al. [27] 4 M + 2 L 2 M 2 M 2 E + 4 e e + n v
Ours 4 M + 3 L 5 M 2 M 2 E + e e + n E

Share and Cite

MDPI and ACS Style

Guo, C.; Fu, X.; Mao, Y.; Wu, G.; Li, F.; Wu, T. Multi-User Searchable Symmetric Encryption with Dynamic Updates for Cloud Computing. Information 2018, 9, 242. https://doi.org/10.3390/info9100242

AMA Style

Guo C, Fu X, Mao Y, Wu G, Li F, Wu T. Multi-User Searchable Symmetric Encryption with Dynamic Updates for Cloud Computing. Information. 2018; 9(10):242. https://doi.org/10.3390/info9100242

Chicago/Turabian Style

Guo, Chen, Xingbing Fu, Yaojun Mao, Guohua Wu, Fagen Li, and Ting Wu. 2018. "Multi-User Searchable Symmetric Encryption with Dynamic Updates for Cloud Computing" Information 9, no. 10: 242. https://doi.org/10.3390/info9100242

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop