Next Article in Journal
Adaptable Xerogel-Layered Amperometric Biosensor Platforms on Wire Electrodes for Clinically Relevant Measurements
Next Article in Special Issue
A Framework for Constructing a Secure Domain of Sensor Nodes
Previous Article in Journal
Optimal Design of Piezoelectric Cantilevered Actuators for Charge-Based Self-Sensing Applications
Previous Article in Special Issue
Vulnerability Assessment of Sensor Systems
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Secure and Efficient Data Sharing and Searching Scheme in Wireless Sensor Networks

1
School of Mathematics, Shandong University, Jinan 250100, China
2
School of Computing and Information Technology, University of Wollongong, Wollongong 2522, Australia
3
State Key Laboratory of Information Security, Institute of Information Engineering, Chinese Academy of Sciences, Beijing 100093, China
4
Centre for Computer and Computational Science at School of Computing and Mathematical Sciences, University of Greenwich, London SE10 9LS, UK
*
Author to whom correspondence should be addressed.
Sensors 2019, 19(11), 2583; https://doi.org/10.3390/s19112583
Submission received: 11 May 2019 / Revised: 2 June 2019 / Accepted: 3 June 2019 / Published: 6 June 2019

Abstract

:
Wireless sensor networks (WSN) generally utilize cloud computing to store and process sensing data in real time, namely, cloud-assisted WSN. However, the cloud-assisted WSN faces new security challenges, particularly outsourced data confidentiality. Data Encryption is a fundamental approach but it limits target data retrieval in massive encrypted data. Public key encryption with keyword search (PEKS) enables a data receiver to retrieve encrypted data containing some specific keyword in cloud-assisted WSN. However, the traditional PEKS schemes suffer from an inherent problem, namely, the keyword guessing attack (KGA). KGA includes off-line KGA and on-line KGA. To date, the existing literature on PEKS cannot simultaneously resist both off-line KGA and on-line KGA performed by an external adversary and an internal adversary. In this work, we propose a secure and efficient data sharing and searching scheme to address the aforementioned problem such that our scheme is secure against both off-line KGA and on-line KGA performed by external and internal adversaries. We would like to stress that our scheme simultaneously achieves document encryption/decryption and keyword search functions. We also prove our scheme achieves keyword security and document security. Furthermore, our scheme is more efficient than previous schemes by eliminating the pairing computation.

1. Introduction

Wireless sensor networks (WSN) and cloud computing have been widely deployed in daily life. WSN consists of small low-power sensors and lightweight mobile devices connected to the Internet [1,2]. These devices collect and exchange information in a variety of applications. Cloud computing has the advantages of unlimited capability in terms of both storage and computation. WSN is rapidly emerging, which is unprecedentedly driven by the assistance of cloud computing. As an emerging technology, WSN has utilized cloud computing to store and process data to reduce the burden of lightweight mobile devices.
More and more attention has been paid to using WSN technology as a crucial part of the Internet of Things (IoT) in various industries. IoT improves manufacturing efficiency and enables sustainable production [3,4,5,6,7]. As IoT and cloud-assisted WSN applications, enterprises and individuals have utilized cloud storage to complete the data storage and data sharing to reduce the burden of local storage.
As shown in Figure 1, the cloud-assisted WSN typical architecture. In this architecture, the cloud-assisted WSN system has powerful data processing capabilities and storage resources. The sensors implanted in the system collect data information and upload them to the cloud server by using a light mobile device. When the cloud-assisted WSN receives data, it stores and sends the data to relevant industry workers for utilization. In a specific practical scenario, such as a cloud-assisted medical system [8], the medical data documents are confidential to anyone except the patient and the chief physician. Consequently, the stored data should be guaranteed to be secure, since any information disclosure may result in serious consequences. Therefore, security requirements have become a key challenge in cloud-assisted WSN.
Security issues, such as users’ confidence that their data will remain secure with nobody able to modify or observe the contents, will remain the stumbling block that hinders the adoption of cloud-assisted WSN. Generally, users encrypt the data prior to uploading it to the cloud server for protecting data confidentiality. Unfortunately, this approach eliminates the data search services provided by modern search engines, which inevitably makes the effective data search function a challenging research problem. There are two trivial solutions to solve the search problem in encrypted documents. The first one is that the data receiver downloads the encrypted data locally, then decrypts the data and searches for the keyword at the local end. However, this method is impractical since it requires huge communication consumption and occupies a huge local storage space in the WSN. Another way is for the data receiver to send the authorization key to the cloud server which enables it to decrypt the encrypted documents in the cloud and to perform a search operation. However, this approach exposes data privacy to the cloud server and contradicts the original intention of data encryption. Focusing on the aforementioned problem, searchable encryption was proposed [9]. Searchable encryption enables a data receiver to authorize the cloud server to search in encrypted documents and returns the associated encrypted files, where the encrypted documents do not need to be decrypted.
Searchable encryption can be divided into symmetric searchable encryption (SSE) and public key encryption with keyword search (PEKS). In SSE, a shared key is required to achieve a data sharing function. PEKS [10] was proposed to eliminate the shared key in SSE. The general PEKS system includes three participants, that is, data senders, a data receiver and a cloud server. Data senders encrypt the data file and keywords index using the data receiver’s public key and then send ciphertexts to the cloud server. The data receiver uses its private key to generate a keyword trapdoor and transmits it to the cloud server. The cloud server uses the trapdoor to match the keyword ciphertext, if the keyword in the ciphertext and the keyword in the trapdoor are equal, it outputs equal; otherwise it outputs not equal.
Unfortunately, the traditional PEKS suffers from an inherent insecurity problem regarding trapdoor privacy. Anyone can use the data receiver’s public key to generate the valid keyword ciphertext. If the channel between the data receiver and cloud server is public, then the trapdoor is also open. If the adversary can execute the test algorithm, then it can verify whether or not the trapdoor and the ciphertext are matched. When they are well matched, the keyword in the trapdoor is equal to the keyword in the ciphertext; otherwise, the adversary can continue to guess another keyword until the correct keyword is found since the keyword space has a much smaller size. This kind of attack is called an off-line keyword guessing attack (off-line KGA), as shown in Figure 2. The off-line KGA is divided into an external adversary’s off-line KGA and an internal server adversary’s off-line KGA, according to which the adversary is an external adversary or an internal server adversary.
Besides, another inherent insecurity problem regarding trapdoor privacy exists in the traditional PEKS scheme. Since the keyword space has a much smaller size, a malicious data sender (including the external adversary) can generate a data file ciphertext and associated keyword ciphertext by guessing a keyword. If the channel between the data receiver and the cloud server is public, then the trapdoor to locate and return encrypted files is also open. After the cloud server performs the test matching operation, the related encrypted data files are returned. If the returned files have a encrypted data file generated by the malicious sender, the malicious data sender can determine the keyword associated with the encrypted data file, then the keyword in the trapdoor is also known to the malicious data sender. This kind of attack is called an on-line keyword guessing attack (on-line KGA), as shown in Figure 3. The difference between on-line KGA and off-line KGA mainly depends on whether the adversary attacks the scheme through the cloud server.
For both types of attacks, a trivial solution is that we need a secure channel to share the secret between the data receiver and data senders. A secure channel between cloud server and the data receiver can avoid the off-line KGA initiated by the external adversary and the on-line KGA. But the cost of building a secure channel prevents a Wi-Fi or 4G method from being utilized in the practical application. Moreover, for an internal server adversary, the data receiver and every data sender should share the secret in a secure channel against the off-line KGA initiated by the internal cloud adversary, while this method breaks the asymmetry property of PEKS. Therefore, it is significant and essential to resist both off-line KGA and on-line KGA performed by external and internal adversaries.
Considering a specific scenario: Personal Health Records (PHRs) are confidential documents to anyone except the patient and the chief physician. In order to protect patients’ PHR privacy, patients need to encrypt the PHR data prior to uploading it to the cloud server. We want to implement a search function, so a chief physician can search the PHR authorized information. We can use a PEKS scheme to solve the keyword search problem in encrypted PHR. However, the PEKS scheme suffers from an inherent problem, namely, the keyword guessing attack (KGA). In the process of searching, the adversary may obtain the keyword in the trapdoor, which exposes PHR data privacy to the adversary. Therefore, if we can design an efficient and secure data sharing and searching scheme to address the off-line KGA and on-line KGA problem, then data privacy will be guaranteed.

1.1. Our Contributions

In this paper, we study how to resist both off-line KGA and on-line KGA performed by external and internal adversaries in PEKS and propose a remedy to these problems. Specifically, our contributions are as follows:
1. We introduce a dating sharing and searching (DSS) frame that can effectively resist both off-line KGA and on-line KGA performed by an external adversary and an internal adversary. We also give a specific dual server DSS construction. The security of the scheme can achieve double ciphertext indistinguishability against the on-line KGA and indistinguishability against a chosen keyword attack (IND-CKA). We adopt the dual server method, which divides the cloud server into the forward server and backward server such that any single server cannot complete the test algorithm independently and any single server cannot get the correspondence between trapdoor and keyword ciphertext, therefore, the off-line KGA cannot be conducted successfully.
2. We add data file encryption/decryption to our scheme. In the traditional PEKS scheme, there is no algorithm for data file encryption/decryption. PEKS mainly focuses on the search process and omits the data file encryption/decryption process, which means there is only a keyword encryption algorithm in PEKS and it does not involve a data file encryption/decryption algorithm. However, in the actual application, a data file encryption/decryption is indispensable. The malicious data sender adversary may initiate an on-line KGA by observing the encrypted returned files. We adopt the re-encrypt technique, which the malicious data sender (including backward server) cannot get the correspondence between a trapdoor and encrypted data file, therefore, the on-line KGA cannot be conducted successfully.
3. Our scheme can simultaneously resist both off-line KGA and on-line KGA performed by external and internal adversaries. It does not require a secure channel and keeps the asymmetry property rather than a trivial solution. Compared to the previous schemes, our scheme also improves efficiency by eliminating the pairing computation and offers richer functionality by adding the data file encryption/decryption process.
Technical note: We choose PEKS as the starting point for the design of the scheme. For resisting KGA, we will discuss on-line KGA and off-line KGA. For an external adversary’s off-line KGA, the scheme generates a key pair for the cloud server to prevent the external adversary from launching an off-line KGA after eavesdropping the trapdoor through the public channel. What we need to point out here is to generate a key pair for the server it cannot entirely resist an external adversary’s off-line KGA. For example, Baek’s scheme has a fixed trapdoor. By comparing two bilinear pairs, the adversary can guess a keyword. We also need the trapdoor to satisfy the trapdoor indistinguishability to overcome this external adversary’s off-line KGA.
For an internal server adversary’s off-line KGA, we can divide the cloud server into two servers, which are the forward server and the backward server. Any single server cannot complete the test algorithm independently. Then, any single server cannot get the correspondence between the trapdoor and the keyword ciphertext, so the off-line KGA cannot be initiated. Therefore, our frame can resist off-line KGA performed by external and internal adversaries.
For on-line KGA, since the attack is initiated by observing the returned data files, we need to consider the data file encryption/decryption. We use the encryption scheme to provide data file encryption/decryption. The malicious data sender observes whether including the returned data file ciphertext is generated by itself to judge the keyword in eavesdropping on the trapdoor. Since the cloud server has strong computing power, we let the forward server perform double encryption for the data file ciphertext. In this way, the generated double ciphertext can satisfy the ciphertext indistinguishability for a malicious data sender, and therefore the malicious data sender adversary cannot initiate on-line KGA.

1.2. Related Works

In 2000, Song et al. first proposed an SSE scheme based on a symmetric cryptosystem [9]. Song et al.’s scheme can search any keyword in the ciphertext by word-by-word comparison to complete the keyword search function, therefore, the efficiency is low. Song et al.’s scheme suffers from statistical attacks and it cannot be proven secure. After Song et al.’s scheme, many researchers proposed SSE schemes [11,12]. The symmetric searchable encryption scheme can only be established under the symmetric cryptosystem, therefore, there is a problem of key distribution. In order to solve this problem, Boneh et al. proposed the first PEKS scheme based on the asymmetric cryptosystem in 2004 [10]. Boneh et al.’s scheme is transformed from identity-based encryption (IBE), which replaces the identity in the IBE with the keyword. Boneh et al.’s scheme needs a secure channel between the cloud server and the receiver for uploading the trapdoor. However, the cost of building a secure channel is expensive as is the connection between the receiver and cloud server through an insecure communication channel in IoT environment. In 2005, Abdalla et al. explored the conversion relationship between IBE and PEKS [13]. It is shown that an anonymous IBE scheme could be transformed into a PEKS scheme and it proposed the temporary keyword search scheme. Baek et al. proposed a PEKS scheme to remove the secure channel (dPEKS) [14]. In 2006, Baek et al. proposed a scheme combining a public key encryption (PKE) scheme and PEKS [15]. The scheme achieves the data file encryption/decryption function and keyword search function. Baek et al.’s scheme cannot resist off-line KGA, because the trapdoor in the Baek et al. scheme is fixed, the adversary can test each keyword through a bilinear pair to obtain the keyword in the trapdoor. Rhee et al. improved Baek et al.’s security model in 2009, which allows the adversary to obtain correspondence between the ciphertext and the trapdoor [16].
In 2010, Rhee et al. proposed a new dPEKS scheme [17]. The scheme proposed a new security definition, the trapdoor indistinguishability, and it is a sufficient condition for resisting the external adversary’s off-line KGA. In 2013, Fang et al. proposed a scheme that can resist the external adversary’s off-line KGA under the standard model [18]. Fang et al.’s scheme is the first dPEKS scheme to achieve the indistinguishability against a chosen keyword ciphertext attack that allows the adversary to initiate test query. Rhee et al’s two schemes and Fang et al’s scheme cannot resist internal server’s off-line KGA. In 2014, Chen et al. [19] proposed a generalized structure against on-line KGA. Chen et al.’s scheme [19] only satisfies the trapdoor security against on-line KGA and it also suffers from the off-line KGA. In 2016, Chen et al. proposed a two cloud server model [20] and any single server cannot complete the test operation so that it can resist the off-line KGA. However, in Chen et al.’s scheme [20], anyone who can generate a trapdoor and access the test query can create a security problem. It also cannot resist on-line KGA.
In 2016, Chen et al. proposed a joint scheme combining PKE and PEKS [21]. This scheme achieved the IND-CCA security and the indistinguishability against a chosen keyword ciphertext attack security but it could not resist both off-line and on-line KGA. In 2009, Tang et al. proposed a PEKS scheme for resisting off-line KGA [22]. Tang et al.’s method is to share the previously registered keywords between the receiver and every data sender. In 2017, Satio et al. proposed a PEKS scheme of designed-senders [23]. As a designed data sender, it needs to obtain the receiver’s authentication. Only the specified data sender can generate valid ciphertext and upload the shared encrypted data to the cloud server; therefore, the internal server adversary cannot generate valid ciphertext and cannot initiate the off-line KGA. In the same year, Huang et al. [24] and Jiang et al. [25] also used the idea of designed-senders. Only designed-senders can generate valid ciphertext so that it can resist the internal adversary’s off-line KGA. In 2018, Wu et al. proposed an off-line KGA scheme against an internal server adversary [26]. It is a method for sharing a secret between the data receiver and every sender. However, all the above five schemes have broken the asymmetry property of PEKS and cannot resist on-line KGA. Zhu et al. proposed a PEKS with a public verifiability scheme [27]. It achieves the public verifiability of the search results, but it cannot resist the internal server’s off-line KGA. Han et al. proposed a survey of keyword search schemes in recent years [28]. Many researchers also studied the keyword search problem [29,30].
After we finished our work, we found that Noroozi et al. concurrently presented a generalized PEKS structure against off-line KGA and on-line KGA for an external adversary [31]. It is a method to combine the PEKS with a designated server structure and the technique of re-randomizing ciphertexts. However, it is not enough for the PEKS scheme to resist this external adversary alone. The PEKS scheme still needs to resist an internal server adversary. In our work, we design a PEKS scheme that it simultaneously resists both external adversary and internal server adversary.
Noroozi et al. also considers that designing a PEKS scheme which is secure against off-line KGA and on-line KGA, even performed by the internal server adversary, remains a challenging problem.
We also found that this challenging problem still needs to be addressed. We designed a secure and efficient data sharing and searching (DSS) scheme against both off-line KGA and on-line KGA performed by external and internal adversaries.

1.3. Organization

The paper is organized as follows. The scheme definition and security model are described in Section 2. A secure and efficient data sharing and searching scheme against KGA (DSS against KGA) is proposed in Section 3. We analyze the security and efficiency of the proposed scheme in Section 3. The paper is concluded in Section 4.

2. Scheme Definition and Security Models

2.1. System Model

The model of the dual server DSS against KGA scheme (Dual server DSS against KGA model) that we proposed is shown in Figure 4. There are four participants in this model including data senders, a receiver, cloud sever 1 and cloud server 2. The workflow is as follows:
First of all, data senders encrypt the data file M using the data receiver’s public key p k r and encryption algorithm E n c to form a data file ciphertext C 1 . Data senders also encrypt the corresponding keyword index using two servers’ public keys p k s , 1 , p k s , 2 , the receiver’s public key p k r and the encryption algorithm p e k s to form keyword ciphertext C 2 , then sends the ciphertext ( C 1 , C 2 ) to cloud server 1. Secondly, cloud server 1 generates the double ciphertext C 1 by re-encrypting the data file ciphertext C 1 . Then, the data receiver uses its secret key s k r to generate a keyword trapdoor T w and transmits it to cloud server 1. Next, cloud server 1 uses the trapdoor T w and keyword ciphertext C 2 to compute the transitional ciphertext C T , and sends the C T to cloud server 2. Afterwards, cloud server 2 outputs the matching result. If the keyword in the ciphertext and the keyword in the trapdoor are equal, cloud server 2 sends the relevant encrypted data file C 1 to the data receiver. In the final step, to obtain the message M, the receiver decrypts the data file’s double ciphertext C 1 using its secret key s k r .
Although our scheme uses the re-encryption technique, its computational efficiency is almost equal to that of Noroozi et al.’s re-randomizing ciphertexts technique. Of course, the re-encryption technique can also be easily replaced with a re-randomizing ciphertexts technique in our work.

2.2. Algorithm Definitions

Before defining our algorithms, we define a notations Table 1 for the mathematical symbols in the whole paper.
More specifically, a scheme of DSS against KGA consists of the following algorithms:
(1)
sp SysGen ( 1 k ) : on input a security parameter k and output a system parameter s p .
(2)
KeyGen ( sp ) :
  • ( pk s , 1 , sk s , 1 ) , ( pk s , 2 , sk s , 2 ) KeyGen server 1 , 2 ( sp ) : on input a system parameter s p and output two pairs of public and secret key ( p k s , 1 , s k s , 1 ) , ( p k s , 2 , s k s , 2 ) for the cloud server 1 and cloud server 2, separately.
  • ( pk r , sk r ) KeyGen receiver ( sp ) : on input a system parameter s p and output a pair of public and secret key ( p k r , s k r ) for the receiver.
(3)
( C 1 , C 2 ) PEKS ( sp , pk s , 1 , pk s , 2 , pk r , w , M ) : on input a system parameter s p , the cloud server 1 public key p k s , 1 , the cloud server 2 public key p k s , 2 , the receiver public key p k r , the keyword w, the message M and output the ciphertext C 1 = E n c ( M , p k r , s p ) , C 2 = p e k s ( p k r , p k s , 1 , p k s , 2 , w , s p ) .
(4)
C 1 ReEnc ( sp , pk r , C 1 ) : on input a system parameter s p , the receiver public key p k r , the ciphertext C 1 , and output the double ciphertext C 1 .
(5)
T w Trapdoor ( sp , sk r , w , pk s , 1 , pk s , 2 , pk r ) : on input a system parameter s p , cloud server 1 public key p k s , 1 , cloud server 2 public key p k s , 2 , the receiver public key p k r , the receiver secret key s k r , the keyword w, and output the keyword search trapdoor T w .
(6)
C 1 or Test ( sp , T w , C 2 , sk s , 1 , sk s , 2 ) : on input a system parameter s p , the cloud server 1 secret key s k s , 1 , the cloud server 2 secret key s k s , 2 , the keyword search trapdoor T w , the ciphertext ( C 1 , C 2 ) , and output ciphertext C 1 if the keyword search trapdoor T w matching the ciphertext C 2 , and ⊥ otherwise. The matching process as follows:
  • Test 1 ( sp , T w , C 2 , sk s , 1 ) C T : the cloud server 1 inputs the trapdoor T w , the ciphertext C 2 , the cloud server 1 secret key s k s , 1 , the system parameter s p , and outputs the transitional ciphertext C T .
  • Test 2 ( sp , C T , sk s , 2 ) C 1 or : the cloud server 2 inputs the system parameter s p , the transitional ciphertext C T , the cloud server 2 secret key s k s , 2 . If the transitional ciphertext satisfies the condition, it outputs the double ciphertext C 1 , and ⊥ otherwise.
(7)
M Dec ( sp , sk r , C 1 ) : on input a system parameter s p , the receiver secret key s k r , the ciphertext C 1 and output the message M.

2.3. Security Model

We define six security models, including the indistinguishability against a chosen keyword attack (IND-CKA 1) security model for cloud server 1, the IND-CKA 2 security model for cloud server 2, trapdoor indistinguishability against the off-line KGA (IND-Trapdoor 1) security model for cloud server 1, trapdoor indistinguishability against the off-line KGA (IND-Trapdoor 2) security model for cloud server 2, double ciphertext indistinguishability against the on-line KGA (IND-Double ciphertext) security model, transitional ciphertext indistinguishability against chosen keyword attack (IND-CKA 3) security model.
It should be noted that both cloud server 1 and cloud server 2 are “honest but curious” and they will not collude with each other. More specifically, the two servers strictly enforce the testing process of the algorithm but may be curious about the content of the keyword. It should be noted that these models implicitly define the security against external adversaries since the external adversary has less capability than the cloud server.
We define the keyword ciphertext’s semantic security. Any adversary cannot distinguish the challenge ciphertext unless the trapdoor is available. Formally, we define security model IND-CKA 1 and IND-CKA 2 played between a challenger B and adversary A i , i = 1 , 2 .
For the IND-CKA 1 security model, as the Table 2, the challenger B generates three key pairs ( p k s , 1 , s k s , 1 ) , ( p k s , 2 , s k s , 2 ) , ( p k r , s k r ) . It sends public keys p k s , 1 , p k s , 2 , p k r and secret key s k s , 1 to the cloud server 1 adversary A 1 . A 1 can access the trapdoor oracle O 1 ( w ) to get any keyword trapdoor w i and outputs two distinct challenge keywords and a message ( w 0 , w 1 , M * ) , which w b w i , b { 0 , 1 } . The challenger B generates challenge PEKS ciphertext ( C 1 , C 2 , b ) of ( w b , M * ) with a random bit b and sends it to A 1 . During the game, the adversary can adaptively continue to query trapdoor oracle O 1 ( w ) unless the challenge keywords w 0 and w 1 . Finally, the adversary A 1 outputs b as its guess.
For the IND-CKA 2 security model, as the Table 3, the game is similar to IND-CKA 1. We define security model IND-CKA 2 played between a challenger B and adversary A 2 . We omit the details here. The definition is as follows:
Definition 1 (IND-CKA).
A scheme of DSS against the KGA is indistinguishable against a chosen keyword attack if no PPT adversaries A 1 can win game IND-CKA 1 and A 2 can win game IND-CKA 2 with a non-negligible advantage, where B is the challenger, A 1 is cloud server 1, A 2 is cloud server 2.
We define A i advantage as:
A d v A i I N D - C K A = | Pr [ b = b ] - 1 / 2 | , i { 1 , 2 } .
Next, we define the keyword trapdoor semantic security. Any adversary cannot distinguish the challenge trapdoor, that is to say, the challenge trapdoor does not reveal any information about the keyword. Formally, we define security model IND-Trapdoor 1 and IND-Trapdoor 2 played between a challenger B and adversary A i , i = 3 , 4 .
The IND-Trapdoor 1 and IND-Trapdoor 2 are similar to the IND-CKA 1. The adversary is given the challenge trapdoor instead of the PEKS challenge ciphertext. For the IND-Trapdoor 1 security model, as the Table 4, the challenger B generates three key pairs ( p k s , 1 , s k s , 1 ) , ( p k s , 2 , s k s , 2 ) , ( p k r , s k r ) . It sends public keys p k s , 1 , p k s , 2 , p k r and secret key s k s , 1 to the cloud server 1 adversary A 3 . A 3 can access the trapdoor oracle O 1 ( w ) to get any keyword trapdoor w i and outputs two distinct challenge keywords ( w 0 , w 1 ) , which w b w i , b { 0 , 1 } . The challenger generates challenge trapdoor T w b of w b with a random bit b and sends it to A 3 . During the game, the adversary can adaptively continue to query trapdoor oracle O 1 ( w ) unless the challenge keywords w 0 and w 1 . Finally, the adversary A 3 outputs b as its guess.
For the IND-Trapdoor 2 security model, as the Table 5, the game is similar to IND-Trapdoor 1. We define security model IND-Trapdoor 2 played between a challenger B and adversary A 4 . We omit the details here. The definition is as follows:
Definition 2 (IND-Trapdoor).
A scheme of DSS against the KGA is trapdoor indistinguishability against off-line KGA if no PPT adversaries A 3 can win the game IND-Trapdoor 1 and A 4 can win game IND-Trapdoor 2 with non-negligible advantage, where B is the challenger, A 3 is cloud server 1, A 4 is cloud server 2.
We define A i advantage as:
A d v A i I N D - T r a p d o o r = | Pr [ b = b ] - 1 / 2 | , i { 3 , 4 } .
After that, we define the double ciphertext semantic security. Any adversary cannot distinguish the challenge double ciphertext. Formally, we define the IND-Double ciphertext security model, as the Table 6. The IND-Double ciphertext is similar to the IND-CKA 1. The adversary outputs two distinct challenge ciphertext ( C 1 , 0 , C 1 , 1 ) . The challenger generates double challenge ciphertext C 1 , b of C 1 , b with a random bit b and sends it to adversary. The adversary is given the challenge double ciphertext instead of the PEKS challenge ciphertext. Finally, the adversary outputs b as its guess.
Definition 3 (IND-Double ciphertext).
A scheme of DSS against the KGA is double ciphertext indistinguishability against the on-line KGA if no PPT adversary A 5 can win the game IND-Double ciphertext with non-negligible advantage, where B is the challenger, A 5 is the malicious data sender (including the cloud server 2.
We define A 5 advantage as:
A d v A 5 I N D - D o u b l e c i p h e r t e x t = | Pr [ b = b ] - 1 / 2 | .
Finally, we define the transitional ciphertext semantic security. Any adversary can not distinguish the challenge transitional ciphertext unless the trapdoor is available. Formally, we define security model IND-CKA 3, as the Table 7. The IND-CKA 3 is similar to the IND-CKA 1. The adversary is given the challenge transitional ciphertext instead of the PEKS challenge ciphertext. We omit the details here.
Definition 4 (IND-CKA 3).
A scheme of DSS against the KGA is transitional ciphertext indistinguishability against chosen keyword attack if no PPT adversary A 6 can win the game IND-CKA 3 with non-negligible advantage, where B is the challenger and A 6 is an adversary (including the cloud server 2).
We define A 6 advantage as:
A d v A 6 I N D - C K A 3 = | Pr [ ( b 1 , b 2 ) = ( b 1 , b 2 ) ] - 1 / 2 | .

3. DSS against the KGA

In this section, we will propose a secure and efficient DSS scheme against the KGA. We use the Hashed Elgama scheme and a free channel PEKS scheme to construct the scheme.

3.1. Our Construction

Our instantiation of the proposed DSS general construction is described as follows: we add the receiver key generation algorithm, data file encryption/decryption algorithm and re-encryption algorithm. Meanwhile, we also eliminate the keyword and trapdoor security problem.
  • SysGen ( 1 k ) : This algorithm inputs a security parameter 1 k . It outputs a cyclic multiplicative group G 1 of prime order p and g , g 1 , g 2 G 1 , which g is generator of G 1 . It selects three cryptographic hash functions H 1 : { 0 , 1 } * { 0 , 1 } n , H 2 : { 0 , 1 } * G 1 , H 3 : { 0 , 1 } * { 0 , 1 } l o g 2 p + n . The algorithm outputs the system parameter
    s p = ( G 1 , g , g 1 , g 2 , H 1 , H 2 , H 3 ) .
  • KeyGen ( sp ) :
    • KeyGen server 1 , 2 ( sp ) : This algorithm inputs a system parameter s p . It chooses random number α 1 , α 2 , β 1 , β 2 Z p * , and outputs the following ( p k s , 1 , s k s , 1 ) and ( p k s , 2 , s k s , 2 ) as the public/secret key pair of cloud server 1 and that of cloud server 2, separately.
      ( p k s , 1 , s k s , 1 ) = ( g 1 α 1 g 2 α 2 , ( α 1 , α 2 ) ) ,
      ( p k s , 2 , s k s , 2 ) = ( g 1 β 1 g 2 β 2 , ( β 1 , β 2 ) ) .
    • KeyGen receiver ( sp ) : This algorithm inputs a system parameter s p . It chooses random number c Z p * and outputs a pair of public and secret key ( p k r , s k r ) for the receiver,
      p k r = g c , s k r = c .
  • PEKS ( sp , pk s , 1 , pk s , 2 , pk r , w , M ) : This algorithm inputs a system parameter s p , the cloud server public key p k s , 1 , p k s , 2 , the receiver public key p k r , the keyword w, the message M { 0 , 1 } n , and chooses random number r 0 , r 1 Z p * . It outputs the message ciphertext C 1 = ( C 11 , C 12 ) , which
    C 11 = g r 0 , k = p k r r 0 , C 12 = H 1 ( k ) M .
    It also outputs keyword ciphertext
    C 2 = [ A , B , C ] = [ g 1 r 1 , g 2 r 1 , p k s , 1 r 1 · p k s , 2 r 1 · p k r · H 2 ( w ) ] .
  • ReEnc ( sp , pk r , C 1 ) : This algorithm inputs a system parameter s p , the receiver public key p k r , the message ciphertext C 1 . It chooses random number r 2 Z p * and outputs the double message ciphertext C 1 = ( C 11 , C 12 ) , which
    C 11 = g r 2 , k = p k r r 2 , C 12 = H 3 ( k ) C 11 C 12 .
  • Trapdoor ( sp , pk s , 1 , pk s , 2 , pk r , sk r , w ) : This algorithm inputs a system parameter s p , the cloud server public key p k s , 1 , p k s , 2 , the receiver secret key s k r , the keyword w, and chooses random number r 3 Z p * . It outputs the keyword search trapdoor T w = [ T 1 , T 2 , T 3 ] ,
    T 1 = g 1 s k r r 3 , T 2 = g 2 s k r r 3 ,
    T 3 = p k s , 1 s k r r 3 · p k s , 2 s k r r 3 · p k r - 1 · H 2 - 1 ( w ) .
  • Test ( sp , T w , C 2 , sk s , 1 , sk s , 2 ) :
    • Test 1 ( sp , T w , C 2 , sk s , 1 ) C T : The cloud server 1 inputs the trapdoor T w , the ciphertext C 2 , the cloud server 1 secret key s k s , 1 , the system parameter s p , and chooses random number d Z p * . It outputs the transitional ciphertext C T = ( A * , B * , C * ) , where
      T w · C 2 = ( C I , 1 , C I , 2 , C I , 3 ) ,
      C I , 1 = T 1 · A , C I , 2 = T 2 · B , C I , 3 = T 3 · C ,
      A * = C I , 1 d , B * = C I , 2 d , C * = ( C I , 3 C I , 1 α 1 C I , 2 α 2 ) d .
    • Test 2 ( sp , C 1 , C T , sk s , 2 ) C 1 or : The cloud server 2 inputs the system parameter s p , the transitional ciphertext C T , the cloud server 2 secret key s k s , 2 , and the double ciphertext C 1 . It outputs C 1 , if
      C * A * β 1 B * β 2 = 1 G ,
      and ⊥ otherwise.
  • Dec ( sp , sk r , C 1 ) : This algorithm inputs a system parameter s p , the receiver secret key s k r , the double message ciphertext C 1 and outputs the message
    C 11 C 12 = C 1 , 2 H 3 ( C 1 , 1 s k r ) , M = C 1 , 2 H 1 ( C 1 , 1 s k r ) .
  • Correctness: When assuming the correctly generated ciphertext C 2 = [ A , B , C ] for w i with a correct trapdoor T w = ( T 1 , T 2 , T 3 ) . Then we can verify the equation for correctness if w i = w as follows:
    T w C 2 = ( C I , 1 , C I , 2 , C I , 3 ) , C I , 1 = g 1 r 1 + c r 3 , C I , 2 = g 2 r 1 + c r 3 ,
    C I , 3 = ( g 1 α 1 g 2 α 2 ) r 1 + c r 3 ( g 1 β 1 g 2 β 2 ) r 1 + c r 3 H 2 ( w i ) H 2 - 1 ( w ) .
    C T = ( A * , B * , C * ) , A * = g 1 ( r 1 + c r 3 ) d , B * = g 2 ( r 1 + c r 3 ) d ,
    C * = ( ( g 1 β 1 g 2 β 2 ) ( r 1 + c r 3 ) H 2 ( w i ) H 2 - 1 ( w ) ) d .
    C * A * β 1 B * β 2 = ( H 2 ( w i ) H 2 - 1 ( w ) ) d = 1 G

3.2. Proof

In the next theorems, we prove that our scheme satisfies indistinguishability against the chosen keyword attack and trapdoor indistinguishability against the off-line KGA, double ciphertext indistinguishability against the on-line KGA, transitional ciphertext indistinguishability against chosen keyword attack.
To prove our scheme security, we will use the widely accepted security reduction method. The security reduction is that if there is an adversary that can break our scheme, then the adversary can solve the hard mathematical problem. Mathematical hard problems are widely accepted and difficult to solve under existing computing ability. By the proof by contradiction, we can prove that our scheme is secure under the corresponding hard problem. By the security reduction, the scheme’s evaluation and validation are guaranteed. Related hard problems can be seen in Reference [32].

3.2.1. Keyword Privacy

We prove that our scheme is secure following the Variant Decisional Diffie-Hellman Problem (Variant DDH) hard problem in Theorem 1 and Theorem 2.
Variant DDH Hard Problem [32]: Given the five tuple ( g , g a , g b , g a c , Z ) , g , g a , g b , g a c , Z G 1 , where G 1 is a general cyclic group, all polynomial time algorithms decide the value Z = ? g b c is intractable.
Theorem 1.
Under Variant DDH hard problem, the DSS scheme satisfies the keyword ciphertext indistinguishability in standard model, where the security reduction loss is 2.
Proof. 
(1) Suppose there is a cloud server 1 named adversary A 1 that can break our scheme in the IND-CKA 1 security model with advantage ε . In order to solve the Variant DDH hard problem, let’s construct a simulator B with a problem instance ( g 1 , g 2 , g 1 a 1 , g 2 a 2 ) over the cyclic group G 1 . The simulation process is as follows:
  • Setup. Let s p = ( G 1 , g , g 1 , g 2 , H 1 , H 2 , H 3 ) . The simulator B chooses random elements α 1 , α 2 , β 1 , β 2 , c Z p * , and sets
    ( p k s , 1 , s k s , 1 ) = ( g 1 α 1 g 2 α 2 , ( α 1 , α 2 ) ) ,
    ( p k s , 2 , s k s , 2 ) = ( g 1 β 1 g 2 β 2 , ( β 1 , β 2 ) ) ,
    p k r = g c , s k r = c .
    The simulator B sends the public keys p k s , 2 , p k r , p k s , 1 , s k s , 1 to adversary A 1 . B keeps the cloud 2’s secret key and receiver’s secret key for itself.
  • Trapdoor Query. The adversary A 1 can query w i to trapdoor oracle. The simulator chooses random number r 3 Z p * and outputs the keyword search trapdoor
    T w = [ T 1 , T 2 , T 3 ] = [ g 1 c r 3 , g 2 c r 3 , p k s , 1 c r 3 · p k s , 2 c r 3 · p k r - 1 · H 2 - 1 ( w ) ] .
    Therefore, the simulator completed the trapdoor query.
  • Challenge. The adversary A 1 gives two challenge words w 0 , w 1 and the message m * to the simulator B , which w b w i , b { 0 , 1 } . The simulator returns a ciphertext ( C 1 , C 2 , b ) . b { 0 , 1 } is randomly chosen. The simulator chooses random number r 0 Z p * , and the ciphertext ( C 1 , C 2 , b ) is outputted as:
    C 1 = ( C 11 , C 12 ) , C 11 = g r 0 , k = p k r r 0 , C 12 = H 1 ( k ) m * ,
    C 2 , b = [ g 1 a 1 , g 2 a 2 , ( g 1 a 1 ) α 1 + β 1 ( g 2 a 2 ) α 2 + β 2 g c H 2 ( w b ) ] .
    Let r 1 = a 1 . If a 1 = a 2 , we have
    C 2 , b = [ A , B , C ] = [ g 1 r 1 , g 2 r 1 , p k s , 1 r 1 · p k s , 2 r 1 · p k r · H 2 ( w b ) ] .
    Therefore, the challenge keyword ciphertext is a correct ciphertext.
  • Trapdoor Query. The adversary A 1 adaptively makes trapdoor query on w i , w i w 0 , w 1 . The simulator B computes trapdoor in the same way as above trapdoor query.
  • Guess. The adversary A 1 outputs b as it’s guess.
Through the above description, we have completed the simulation process of the scheme and the simulation is correct, since the responses for the trapdoor query and challenge ciphertext are correct. Next, we will discuss the indistinguishable simulation. Random numbers include
α 1 , α 2 , β 1 , β 2 , c , r 3 , a 1 = a 2 .
All random numbers in simulation process are randomness. Therefore, the simulation with a 1 = a 2 is indistinguishable, where the adversary wins the game with a probability of 1 / 2 + ε 2 as the breaking assumption.
When the a 1 a 2 , in the following we show the analysis, the adversary wins the game with a maximum probability of 1 / 2 .
Let g 2 = g 1 z , the adversary knows
z , α 1 , α 2 , α 1 + z α 2 , β 1 + z β 2 , c
from the public key. The adversary knows
a 1 , a 2 , a 1 ( α 1 + β 1 ) + z a 2 ( α 2 + β 2 ) + l o g g 1 H ( w b ) .
from the challenge ciphertext.
Therefore, if α 1 , α 2 , β 1 , β 2 are known to the adversary, the adversary can guess the keyword w b correctly; else the the adversary cannot guess the keyword w b correctly. Since the adversary knows the α 1 , α 2 , but not knows β 1 , β 2 , the adversary has no advantage breaking the ciphertext. Therefore, the adversary wins the game with a probability of 1 / 2 by random guess.
Next, we will discuss the successful of the simulation, the simulator dose not abort the simulation in the trapdoor query and challenge phase. Therefore, the probability of successful simulation is P s = 1 . Therefore, the advantage of the Variant DDH hard problem is
ε R = ( 1 / 2 + ε 2 - 1 / 2 ) = ε 2 .
(2) Suppose there is a cloud server 2 named adversary A 2 that can break our scheme in the IND-CKA 2 security model with advantage ε . In order to solve the Variant DDH hard problem, let’s construct a simulator B with a problem instance ( g 1 , g 2 , g 1 a 1 , g 2 a 2 ) over the cyclic group G 1 . Simulation process is as follows:
  • Setup. Let s p = ( G 1 , g , g 1 , g 2 , H 1 , H 2 , H 3 ) . The simulator B chooses random elements α 1 , α 2 , β 1 , β 2 , c Z p * , and sets
    ( p k s , 1 , s k s , 1 ) = ( g 1 α 1 g 2 α 2 , ( α 1 , α 2 ) ) ,
    ( p k s , 2 , s k s , 2 ) = ( g 1 β 1 g 2 β 2 , ( β 1 , β 2 ) ) ,
    p k r = g c , s k r = c .
    The simulator B sends the public key p k s , 2 , s k s , 2 , p k s , 1 , p k r to adversary A 2 . B keeps the cloud 1’s secret key and receiver’s secret key for itself.
  • Trapdoor Query. The adversary A 2 can query w i to trapdoor oracle. The simulator chooses random number r 3 Z p * and outputs the keyword search trapdoor
    T w = [ T 1 , T 2 , T 3 ] = [ g 1 c r 3 , g 2 c r 3 , p k s , 1 c r 3 · p k s , 2 c r 3 · p k r - 1 · H 2 - 1 ( w ) ] .
    Therefore, the simulator completed the trapdoor query.
  • Challenge. The adversary A 2 gives two challenge words w 0 , w 1 and the message m * to the simulator B , which w b w i , b { 0 , 1 } . The simulator returns a ciphertext ( C 1 , C 2 , b ) . b { 0 , 1 } is randomly chosen. The simulator chooses random number r 2 Z p * , and the ciphertext ( C 1 , C 2 , b ) is outputted as:
    C 1 = ( C 11 , C 12 ) , C 11 = g r 2 , k = p k r r 2 , C 12 = H 3 ( k ) C 1 ,
    which C 1 as the message encryption in the proposed scheme. It also outputs keyword ciphertext
    C 2 , b = [ g 1 a 1 , g 2 a 2 , ( g 1 a 1 ) α 1 + β 1 ( g 2 a 2 ) α 2 + β 2 g c H 2 ( w b ) ] .
    Let r = a 1 . If a 1 = a 2 , we have
    C 2 , b = [ A , B , C ] = [ g 1 r 1 , g 2 r 1 , p k s , 1 r 1 · p k s , 2 r 1 · p k r · H 2 ( w b ) ] .
    Therefore, the challenge keyword ciphertext is correct.
  • Trapdoor Query. The adversary A 2 adaptively makes trapdoor query on w i , w i w 0 , w 1 . The simulator B computes trapdoor in the same way as above trapdoor query.
  • Guess. The adversary A 2 outputs b as its guess.
As the entire indistinguishable analysis and probability analysis is similar to the above (1), we omit this process.
Therefore, the simulator solves the advantage of the Variant DDH hard problem
ε R = ( 1 / 2 + ε 2 - 1 / 2 ) = ε 2 .
The Theorem 1 is proven.  □
Because the cloud server has more powerful attack capabilities than the external adversary, the scheme is also secure to external adversaries (including the receiver) in Theorem 1.
Theorem 2.
Under Variant DDH hard problem, the DSS scheme satisfies trapdoor indistinguishability against the off-line KGA, where the security reduction loss is 2.
Proof. 
(1) Suppose there is a cloud server 1 named adversary A 3 that can break our scheme in IND-Trapdoor 1 security model with advantage ε . In order to solve the Variant DDH hard problem, let us construct a simulator B with a problem instance ( g 1 , g 2 , g 1 a 1 , g 2 a 2 ) over the cyclic group G 1 . The simulation process is as follows:
  • Setup. Let s p = ( G 1 , g , g 1 , g 2 , H 1 , H 2 , H 3 ) . The simulator B chooses random elements α 1 , α 2 , β 1 , β 2 , c Z p * , and sets
    ( p k s , 1 , s k s , 1 ) = ( g 1 α 1 g 2 α 2 , ( α 1 , α 2 ) ) ,
    ( p k s , 2 , s k s , 2 ) = ( g 1 β 1 g 2 β 2 , ( β 1 , β 2 ) ) ,
    p k r = g c , s k r = c .
    The simulator B sends the public key p k s , 2 , p k r , p k s , 1 , s k s , 1 to adversary A 1 . B keeps the cloud 2’s secret key and the receiver’s secret key for itself.
  • Trapdoor Query. The adversary A 3 can query w i to trapdoor oracle. The simulator chooses random number r 3 Z p * and outputs the keyword search trapdoor
    T w = [ T 1 , T 2 , T 3 ] = [ g 1 c r 3 , g 2 c r 3 , p k s , 1 c r 3 · p k s , 2 c r 3 · p k r - 1 · H 2 - 1 ( w ) ] .
    Therefore, the simulator completed the trapdoor query.
  • Challenge. The adversary A 3 gives two challenge words w 0 , w 1 to the simulator B , which w b w i , b { 0 , 1 } . The simulator returns a challenge trapdoor T w b . b { 0 , 1 } is randomly chosen. The ciphertext T w b is outputted as:
    T w b = [ ( g 1 a 1 ) c , ( g 2 a 2 ) c , ( ( g 1 a 1 ) α 1 + β 1 ( g 2 a 2 ) α 2 + β 2 ) c g - c H 2 - 1 ( w b ) ] .
    Let r 3 = a 1 . If a 1 = a 2 , we have
    T w = [ T 1 , T 2 , T 3 ] = [ g 1 c r 3 , g 2 c r 3 , p k s , 1 c r 3 · p k s , 2 c r 3 · p k r - 1 · H 2 - 1 ( w b ) ] .
    Therefore, the challenge keyword trapdoor is a correct trapdoor.
  • Trapdoor Query. The adversary A 3 adaptively makes trapdoor query on w i , w i w 0 , w 1 . The simulator B computes trapdoor in the same way as above trapdoor query.
  • Guess. The adversary A 3 outputs b as it’s guess.
As the entire indistinguishable analysis and probability analysis is similar to the above (1), we omit this process. Therefore, the simulator solving of the advantage of the Variant DDH hard problem is
ε R = ( 1 / 2 + ε 2 - 1 / 2 ) = ε 2 .
(2) Suppose there is a cloud server 2 named adversary A 4 that can break our scheme in IND-Trapdoor 2 security model with advantage ε . The entire simulation process, solution algorithm and indistinguishable analysis is similar to the above (1), so we omit this process.
Therefore, the simulator solves the advantage of the Variant DDH hard problem
ε R = ( 1 / 2 + ε 2 - 1 / 2 ) = ε 2 .
Therefore, the Theorem 2 is proven. □
Because the cloud server has more powerful attack capabilities than the external adversary, the scheme is also secure to external adversaries in Theorem 2.
We will prove that our scheme is secure following computational Diffie-Hellman (CDH) hard problem in Theorem 3.
CDH Hard Problem [15]: Given the three tuple ( g , g a , g b ) , g , g a , g b G 1 , where G 1 is a general cyclic group of prime order p, all polynomial time algorithms compute the value g a b G 1 is intractable.
Theorem 3.
Under the CDH hard problem, the DSS scheme satisfies double ciphertext indistinguishability against on-line KGA in a random oracle model, where the security reduction loss is 1 q H 3 .
Proof. 
Suppose there is an external adversary (including a cloud server 2) A 5 that can break our scheme in double ciphertext indistinguishability against on-line KGA security model with advantage ε . Suppose H 3 as a random oracle, in order to solve the CDH hard problem, let us construct simulator B with a problem instance ( g , g a , g b ) over the cyclic group ( G 1 , g , p ) . Our goal is to compute the value g a b . The entire simulation process is as follows:
  • Setup. Let s p = ( G 1 , g , g 1 , g 2 , H 1 , H 2 , H 3 ) . The simulator B chooses random elements α 1 , α 2 , β 1 , β 2 , c Z p * , and sets
    ( p k s , 1 , s k s , 1 ) = ( g 1 α 1 g 2 α 2 , ( α 1 , α 2 ) ) ,
    ( p k s , 2 , s k s , 2 ) = ( g 1 β 1 g 2 β 2 , ( β 1 , β 2 ) ) ,
    p k r = g a , s k r = a .
    s k r is unknown to the simulator. The simulator B sends the public key ( p k s , 2 , s k s , 2 ) , p k s , 1 , p k r to adversary A 5 and keeps the cloud 1 secret key for itself.
  • H 3 -query: The H 3 list is initially empty. The adversary A 5 can query k i G 1 to H 3 . If there exists a ( k i , X i ) in H 3 list, then the simulator B responds with H 3 ( k i ) = X i ; otherwise, the simulator B randomly chooses a value X i { 0 , 1 } l o g 2 p + n and sets H 1 ( k i ) = X i . It returns to the adversary A 5 and adds the value to H 3 list.
  • Challenge. The adversary A 5 gives two challenge ciphertext C 1 , 0 , C 1 , 1 to the simulator B . The simulator B returns ciphertext C 1 , b 0 . b 0 { 0 , 1 } is randomly chosen. The ciphertext C 1 , b 0 is outputted as:
    C 1 , b 0 = [ C 1 , 1 , C 2 , 2 ] , C 1 , 1 = g b , C 2 , 2 = Z * , Z * { 0 , 1 } d .
    Define
    H 3 ( g a b ) = Z * C 1 , b 0 ,
  • Guess. The adversary A 5 outputs b 0 as its guess.
Z * is randomly chosen from { 0 , 1 } d . When the adversary does not query g a b to the random oracle, the challenge ciphertext is correct. Through the above description, we have completed the simulation process of the scheme and the simulation is correct. Next we will discuss the indistinguishable simulation. Random numbers include
X 1 , X 2 , . . . , X q H 3 , a , b , α 1 , α 2 , β 1 , β 2 , c .
Therefore, the simulation of the scheme is indistinguishable.
When the hash query is not a challenge hash query g a b , the challenge message ciphertext is randomness, therefore, the adversary wins the game with a advantage 0.
The number of hash query is q H 3 . A 5 can break our scheme with advantage ε as the breaking assumption. Therefore, from the H 3 ( k ) list, we may find the correct challenge hash query g a b . The probability of finding the correct challenge hash query is P c = 1 q H 3 . The simulator does not abort the simulation, therefore, the successful probability of the simulation is P s = 1 .
The simulator solves the advantage of the CDH hard problem as
ε R = ε q H 3 .
Therefore, the Theorem 3 is proven. □
To secure against cloud server 1’s on-line KGA, we can let cloud server 2 use a re-encryption technique or a randomizing ciphertexts technique, we omit here the details.
Theorem 4.
Under Variant DDH hard problem, the DSS scheme satisfies the transitional ciphertext indistinguishability in the standard model, where the security reduction loss is 2.
Proof. 
Suppose there is a cloud server 2 named adversary A 6 that can break our scheme in IND-CKA 3 security model with advantage ε . In order to solve the Variant DDH hard problem, let us construct a simulator B with a problem instance ( g 1 , g 2 , g 1 a 1 , g 2 a 2 ) over the cyclic group G 1 . The simulation process is as follows:
  • Setup. Let s p = ( G 1 , g , g 1 , g 2 , H 1 , H 2 , H 3 ) . The simulator B chooses random elements α 1 , α 2 , β 1 , β 2 , c Z p * , and sets
    ( p k s , 1 , s k s , 1 ) = ( g 1 α 1 g 2 α 2 , ( α 1 , α 2 ) ) ,
    ( p k s , 2 , s k s , 2 ) = ( g 1 β 1 g 2 β 2 , ( β 1 , β 2 ) ) ,
    p k r = g c , s k r = c .
    The simulator B sends the public key ( p k s , 2 , s k s , 2 ) , p k s , 1 , p k r to adversary A 6 . B keeps the cloud 1’s secret key and receiver’s secret key for itself.
  • Trapdoor Query. The adversary A 6 can query w i to trapdoor oracle. The simulator chooses random number r 3 Z p * and outputs the keyword search trapdoor
    T w = [ T 1 , T 2 , T 3 ] = [ g 1 c r 3 , g 2 c r 3 , p k s , 1 c r 3 · p k s , 2 c r 3 · p k r - 1 · H 2 - 1 ( w ) ] .
    The simulator completed the trapdoor query.
  • Challenge. The adversary A 6 gives two challenge words w 0 , w 1 to the simulator B . w b 1 , w b 2 w i , b 1 , b 2 { 0 , 1 } . The simulator generates a ciphertext C 2 , b 1 and trapdoor T w b 2 . b 1 , b 2 { 0 , 1 } are randomly chosen. The ciphertext C 2 , b 1 and the trapdoor T w b 2 as:
    C 2 , b 1 = [ g 1 a 1 , g 2 a 2 , ( g 1 a 1 ) α 1 + β 1 ( g 2 a 2 ) α 2 + β 2 g c H 2 ( w b 1 ) ] ,
    T w b 2 = [ g 1 c r 3 , g 2 c r 3 , p k s , 1 c r 3 · p k s , 2 c r 3 · p k r - 1 · H 2 - 1 ( w b 2 ) ] .
    Let r 1 = a 1 . If a 1 = a 2 , we have
    C 2 , b 1 = [ A , B , C ] = [ g 1 r 1 , g 2 r 1 , p k s , 1 r 1 · p k s , 2 r 1 · p k r · H 2 ( w b 1 ) ] .
    Therefore, the transitional ciphertext is C T * = ( A * , B * , C * ) , where
    T w b 2 C 2 , b 1 = ( C I , 1 , C I , 2 , C I , 3 ) , A * = C I , 1 d , B * = C I , 2 d ,
    C * = ( ( g 1 ( a 1 + c r 3 ) β 1 g 2 ( a 2 + c r 3 ) β 2 ) H 2 ( w b 1 ) H 2 - 1 ( w b 2 ) ) d .
    Therefore, the transitional ciphertext is a correct ciphertext.
  • Trapdoor Query. The adversary A 6 adaptively makes trapdoor query on w i , w i w 0 , w 1 . The simulator B computes the trapdoor in the same way as above trapdoor query.
  • Guess. The adversary A 6 outputs ( b 1 , b 2 ) as it’s guess.
When a 1 = a 2 , the indistinguishable analysis is similar to Theorem 1, we omit this process.
When the a 1 a 2 , in the following we show the analysis, the adversary wins the game with probability of 1 / 2 .
Let g 2 = g 1 z , the adversary knows z , β 1 , β 2 , α 1 + z α 2 , β 1 + z β 2 , c from the public key. The adversary knows
( a 1 + c r 3 ) d , ( a 2 + c r 3 ) d ,
( a 1 + c r 3 ) d β 1 + z ( a 2 + c r 3 ) d β 2 + l o g g 1 ( H ( w b 1 ) H 2 - 1 ( w b 2 ) ) d .
from the challenge ciphertext.
Therefore, if the d is known, the adversary will guess keywords ( w b 1 , w b 2 ) correctly; else the
( a 1 + c r 3 ) d β 1 + z ( a 2 + c r 3 ) d β 2 + l o g g 1 ( H ( w b 1 ) H 2 - 1 ( w b 2 ) ) d
hides the ( w b 1 , w b 2 ) . Since the adversary does not know the d, it also has no advantage in breaking the ciphertext.
Next, the successful simulation probability is P s = 1 . The simulator solves the advantage of the Variant DDH hard problem as
ε R = ( 1 / 2 + ε 2 - 1 / 2 ) = ε 2 .
Therefore, the Theorem 4 is proven. □

3.2.2. Message Privacy

Regarding the security of the message, the proof is similar to Theorem 3 and is based on the CDH hard problem in the random oracle model. Since it is too similar, we omit the proof here.

3.3. Analysis and Comparisons

We use Table 8 and Table 9 to show two comparisons between our scheme and previous schemes. In this section, the word abbreviation Trap Ind, MCiph Ind, KCiph Ind, In-off-line KGA, Ex-off-line KGA, on-line KGA, MCiph, KCiph to denote trapdoor indistinguishability, message ciphertext indistinguishability, keyword ciphertext indistinguishability, off-line keyword guessing attack for internal attacker, off-line keyword guessing attack for external attacker, on-line keyword guessing attack, message ciphertext, keyword ciphertext. We use e , E 1 , E 1 , E 2 , h , I , P M to denote a pairing operation, an exponentiation operation in cyclic multiplicative group G 1 , an exponentiation operation in G 1 from paring, an exponentiation operation in G T from paring, a hash operation maps a string to an element of cyclic group, an inverse operation, a multiplication in G 1 from paring. We ignore other hash operations and multiplication.
To evaluate the efficiency of our scheme, we implemented theses schemes on a Core(TM) i7-6500U CPU at 2.50GHz and 4GB RAM (3.89GB is available) running Ubuntu 18.04. We used a Type-A pairing elliptic curve and implemented in the PBC library. For these four schemes, we tested the running time of keyword ciphertext generation, trapdoor generation and test algorithms, respectively. The comparison results are shown in Figure 5, Figure 6 and Figure 7. From these three figures, we found that our scheme is the most efficient in terms of keyword ciphertext generation and trapdoor generation algorithms. Although our scheme’s test algorithm is slightly less computationally efficient than BCOP [10] scheme. However, in comparison with other PEKS schemes, our efficiency remains high by eliminating the pairing computation and exponentiation operation in G 1 . Furthermore, our scheme also offers a stronger security guarantee for keyword security.

3.4. Research Method

In our paper, we researched the trapdoor security problem in a WSN environment in the following way, which is motivation ⇒ application scenario ⇒ technical rote ⇒ frame architecture ⇒ security model ⇒ concrete construction ⇒ security reduction ⇒ efficiency analysis and comparisons.

4. Conclusions

The combination of cloud computing and WSN provides a promising solution to handle massive data. Data security requirements have become a key challenge in cloud-assisted WSN. To address limitations inherent in data security problems, in this paper, we defined a secure and efficient DSS scheme that can resist both off-line KGA and on-line KGA performed by external adversary and internal adversary, and we proposed a specific construction. This construction can simultaneously resist both on-line KGA and off-line KGA in cloud-assisted WSN. Our scheme not only realizes the keyword search function in the cloud but also implements the data files encryption/decryption function. The performance analysis shows the computation overhead at lightweight mobile devices is significantly reduced. We also formally proved that our schemes are provably secure.

Author Contributions

Conceptualization, B.Z.; methodology, B.Z., W.S., J.Q., F.G.; formal analysis, B.Z.; writing—original draft preparation, B.Z.; writing—review and editing, Z.Z., W.S., J.M.; supervision, J.Q.

Funding

This work is supported by the National Nature Science Foundation of China under Grant No: 61772311, No: 61272091 and the Open Project of the State Key Laboratory of Information Security, Institute of Information Engineering, Chinese Academy of Sciences, No: 2019-ZD-03.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Bista, R.; Chang, J.W. Privacy-Preserving Data Aggregation Protocols for Wireless Sensor Networks: A Survey. Sensors 2010, 10, 4577–4601. [Google Scholar] [CrossRef]
  2. Zhang, P.; Ma, J. Channel Characteristic Aware Privacy Protection Mechanism in WBAN. Sensors 2018, 18, 2403. [Google Scholar] [CrossRef] [PubMed]
  3. Sisinni, E.; Saifullah, A.; Han, S.; Jennehag, U.; Gidlund, M. Industrial internet of things: Challenges, opportunities, and directions. IEEE Trans. Ind. Inform. 2018, 14, 4724–4734. [Google Scholar] [CrossRef]
  4. Pease, S.G.; Trueman, R.; Davies, C.; Grosberg, J.; Yau, K.H.; Kaur, N.; Conway, P.; West, A. An intelligent real-time cyber-physical toolset for energy and process prediction and optimisation in the future industrial Internet of Things. Future Gener. Comput. Syst. 2018, 79, 815–829. [Google Scholar] [CrossRef]
  5. Jung, H.; Lee, I.H. Secrecy Performance Analysis of Analog Cooperative Beamforming in Three-Dimensional Gaussian Distributed Wireless Sensor Networks. IEEE Trans. Wirel. Commun. 2019, 18, 1860–1873. [Google Scholar] [CrossRef]
  6. Xie, H.; Yan, Z.; Yao, Z.; Atiquzzaman, M. Data Collection for Security Measurement in Wireless Sensor Networks: A Survey. IEEE Internet Things J. 2019, 6, 2205–2224. [Google Scholar] [CrossRef]
  7. Yaqoob, I.; Hashem, I.A.T.; Ahmed, A.; Kazmi, S.A.; Hong, C.S. Internet of things forensics: Recent advances, taxonomy, requirements, and open challenges. Future Gener. Comput. Syst. 2019, 92, 265–275. [Google Scholar] [CrossRef]
  8. Tan, H.; Chung, I. A Secure and Efficient Group Key Management Protocol with Cooperative Sensor Association in WBANs. Sensors 2018, 18, 3930. [Google Scholar] [CrossRef]
  9. 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, S&P 2000, Berkeley, CA, USA, 14–17 May 2000; pp. 44–55. [Google Scholar]
  10. Boneh, D.; Di Crescenzo, G.; Ostrovsky, R.; Persiano, G. Public Key Encryption with Keyword Search. In Proceedings of the Advances in Cryptology—EUROCRYPT 2004, Interlaken, Switzerland, 2–6 May 2004; pp. 506–522. [Google Scholar]
  11. Curtmola, R.; Garay, J.; Kamara, S.; Ostrovsky, R. Searchable symmetric encryption: Improved definitions and efficient constructions. J. Comput. Secur. 2011, 19, 895–934. [Google Scholar] [CrossRef] [Green Version]
  12. Chang, Y.C.; Mitzenmacher, M. Privacy Preserving Keyword Searches on Remote Encrypted Data. In Proceedings of the Applied Cryptography and Network Security, New York, NY, USA, 7–10 June 2005; pp. 442–455. [Google Scholar]
  13. Abdalla, M.; Bellare, M.; Catalano, D.; Kiltz, E.; Kohno, T.; Lange, T.; Malone-Lee, J.; Neven, G.; Paillier, P.; Shi, H. Searchable Encryption Revisited: Consistency Properties, Relation to Anonymous IBE, and Extensions. In Proceedings of the Advances in Cryptology—CRYPTO 2005, Santa Barbara, CA, USA, 14–18 August 2005; pp. 205–222. [Google Scholar]
  14. Baek, J.; Safavi-Naini, R.; Susilo, W. Public key encryption with keyword search revisited. In Proceedings of the International conference on Computational Science and Its Applications, Perugia, Italy, 30 June–3 July 2008; pp. 1249–1259. [Google Scholar]
  15. Baek, J.; Safavi-Naini, R.; Susilo, W. On the Integration of Public Key Data Encryption and Public Key Encryption with Keyword Search. In Proceedings of the Information Security, Samos Island, Greece, 30 August–2 September 2006; pp. 217–232. [Google Scholar]
  16. Rhee, H.S.; Park, J.H.; Susilo, W.; Lee, D.H. Improved searchable public key encryption with designated tester. In Proceedings of the 4th International Symposium on Information, Computer, and Communications Security, Sydney, Australia, 10–12 March 2009; pp. 376–379. [Google Scholar]
  17. Rhee, H.S.; Park, J.H.; Susilo, W.; Lee, D.H. Trapdoor security in a searchable public-key encryption scheme with a designated tester. J. Syst. Softw. 2010, 83, 763–771. [Google Scholar] [CrossRef]
  18. Fang, L.; Susilo, W.; Ge, C.; Wang, J. Public key encryption with keyword search secure against keyword guessing attacks without random oracle. Inf. Sci. 2013, 238, 221–241. [Google Scholar] [CrossRef] [Green Version]
  19. Chen, Y.C. SPEKS: Secure server-designation public key encryption with keyword search against keyword guessing attacks. Comput. J. 2014, 58, 922–933. [Google Scholar] [CrossRef]
  20. Chen, R.; Mu, Y.; Yang, G.; Guo, F.; Wang, X. Dual-server public-key encryption with keyword search for secure cloud storage. IEEE Trans. Inf. Forensics Secur. 2016, 11, 789–798. [Google Scholar] [CrossRef]
  21. Chen, Y.; Zhang, J.; Lin, D.; Zhang, Z. Generic constructions of integrated PKE and PEKS. Des. Codes Cryptogr. 2016, 78, 493–526. [Google Scholar] [CrossRef]
  22. Tang, Q.; Chen, L. Public-key encryption with registered keyword search. In Proceedings of the European Public Key Infrastructure Workshop, Pisa, Italy, 10–11 September 2009; pp. 163–178. [Google Scholar]
  23. Saito, T.; Nakanishi, T. Designated-Senders Public-Key Searchable Encryption Secure against Keyword Guessing Attacks. In Proceedings of the 2017 Fifth International Symposium on Computing and Networking (CANDAR), Aomori, Japan, 19–22 November 2017; pp. 496–502. [Google Scholar]
  24. Huang, Q.; Li, H. An efficient public-key searchable encryption scheme secure against inside keyword guessing attacks. Inf. Sci. 2017, 403, 1–14. [Google Scholar] [CrossRef]
  25. Jiang, P.; Mu, Y.; Guo, F.; Wen, Q.Y. Private Keyword-Search for Database Systems Against Insider Attacks. J. Comput. Sci. Technol. 2017, 32, 599–617. [Google Scholar] [CrossRef]
  26. Wu, L.; Chen, B.; Zeadally, S.; He, D. An efficient and secure searchable public key encryption scheme with privacy protection for cloud storage. Soft Comput. 2018, 22, 7685–7696. [Google Scholar] [CrossRef]
  27. Zhu, B.; Sun, J.; Qin, J.; Ma, J. The Public Verifiability of Public Key Encryption with Keyword Search. In Proceedings of the International Conference on Mobile Networks and Management, Melbourne, Australia, 13–15 December 2017; pp. 299–312. [Google Scholar]
  28. Han, F.; Qin, J.; Hu, J. Secure searches in the cloud: A survey. Future Gener. Comput. Syst. 2016, 62, 66–75. [Google Scholar] [CrossRef]
  29. Wu, A.; Zheng, D.; Zhang, Y.; Yang, M. Hidden Policy Attribute-Based Data Sharing with Direct Revocation and Keyword Search in Cloud Computing. Sensors 2018, 18, 2158. [Google Scholar] [CrossRef] [PubMed]
  30. Guo, Y.; Liu, F.; Cai, Z.; Xiao, N.; Zhao, Z. Edge-Based Efficient Search over Encrypted Data Mobile Cloud Storage. Sensors 2018, 18, 1189. [Google Scholar] [CrossRef]
  31. Noroozi, M.; Eslami, Z. Public-key encryption with keyword search: A generic construction secure against online and offline keyword guessing attacks. J. Ambient Intell. Humaniz. Comput. 2019. [Google Scholar] [CrossRef]
  32. Cramer, R.; Shoup, V. A practical public key cryptosystem provably secure against adaptive chosen ciphertext attack. In Proceedings of the Annual International Cryptology Conference, Santa Barbara, CA, USA, 23–27 August 1998; pp. 13–25. [Google Scholar]
Figure 1. Functions of a cloud-assisted WSN.
Figure 1. Functions of a cloud-assisted WSN.
Sensors 19 02583 g001
Figure 2. Off-line KGA.
Figure 2. Off-line KGA.
Sensors 19 02583 g002
Figure 3. On-line KGA.
Figure 3. On-line KGA.
Sensors 19 02583 g003
Figure 4. Dual server DSS against KGA model.
Figure 4. Dual server DSS against KGA model.
Sensors 19 02583 g004
Figure 5. Computation cost of keyword ciphertext generation.
Figure 5. Computation cost of keyword ciphertext generation.
Sensors 19 02583 g005
Figure 6. Computation cost of trapdoor generation.
Figure 6. Computation cost of trapdoor generation.
Sensors 19 02583 g006
Figure 7. Computation cost of test algorithm.
Figure 7. Computation cost of test algorithm.
Sensors 19 02583 g007
Table 1. Notations.
Table 1. Notations.
NotationDescription
s p System parameter
p k s , 1 , s k s , 1 Public/secret key of the cloud server 1
p k s , 2 , s k s , 2 Public/secret key of the cloud server 2
p k r , s k r Public/secret key of the receiver
wKeyword
mMessage
E n c ( m ) Encryption algorithm Enc for the data m
p e k s ( m ) Encryption algorithm peks for the keyword w
C 1 Message ciphertext
C 2 Searchable ciphertext for keyword
C 1 Double message ciphertext
T w Trapdoor for keyword w
C T The transitional ciphertext
A Adversary
B Challenger or simulator
O ( w ) Trapdoor oracle for the keyword w
Table 2. IND-CKA 1.
Table 2. IND-CKA 1.
Game IND-CKA 1 Exp A 1 CKA [ DSS ]
K s e t ϕ
( p k s , 1 , s k s , 1 , p k s , 2 , s k s , 2 , p k r , s k r ) K e y G e n ( s p ) ;
( w 0 , w 1 , M * ) A 1 O ( s p , ( p k s , 1 , s k s , 1 ) , p k s , 2 , p k r ) ;
( C 1 , C 2 , b ) B ( M * , w b , p k s , 1 , p k s , 2 , p k r , b { 0 , 1 } ) ;
b A 1 O ( C 1 , C 2 , b , g u e s s ) ;
if { w 0 , w 1 } K s e t = ϕ , then return 1, if b = b ;
else return 0.
Oracle O ( w ) :
K s e t = K s e t { w } , T w O ( p k s , 1 , p k s , 2 , p k r , s k r , w ) ;
return { T w }
Table 3. IND-CKA 2.
Table 3. IND-CKA 2.
Game IND-CKA 2 Exp A 2 CKA [ DSS ]
K s e t ϕ
( p k s , 1 , s k s , 1 , p k s , 2 , s k s , 2 , p k r , s k r ) K e y G e n ( s p ) ;
( w 0 , w 1 , M * ) A 2 O ( s p , ( p k s , 2 , s k s , 2 ) , p k s , 1 , p k r ) ;
( C 1 , C 2 , b ) B ( M * , w b , p k s , 1 , p k s , 2 , p k r , b { 0 , 1 } ) ;
b A 2 O ( C 1 , C 2 , b , g u e s s ) ;
if { w 0 , w 1 } K s e t = ϕ , then return 1, if b = b ;
else return 0.
Oracle O ( w ) :
K s e t = K s e t { w } , T w O ( p k s , 1 , p k s , 2 , p k r , s k r , w ) ;
return { T w }
Table 4. IND-Trapdoor 1.
Table 4. IND-Trapdoor 1.
Game IND-Trapdoor 1 Exp A 3 off - line KGA [ DSS ]
K s e t ϕ
( p k s , 1 , s k s , 1 , p k s , 2 , s k s , 2 , p k r , s k r ) K e y G e n ( s p ) ;
( w 0 , w 1 ) A 3 O ( s p , ( p k s , 1 , s k s , 1 ) , p k s , 2 , p k r ) ;
T b B ( w b , p k s , 1 , p k s , 2 , p k r , s k r , b { 0 , 1 } ) ;
b A 3 O ( T b , g u e s s ) ;
if { w 0 , w 1 } K s e t = ϕ , then return 1, if b = b ;
else return 0.
Oracle O ( w ) :
K s e t = K s e t { w } , T w O ( p k s , 1 , p k s , 2 , p k r , s k r , w ) ;
return { T w }
Table 5. IND-Trapdoor 2.
Table 5. IND-Trapdoor 2.
Game IND-Trapdoor 2 Exp A 4 off - line KGA [ DSS ]
K s e t ϕ
( p k s , 1 , s k s , 1 , p k s , 2 , s k s , 2 , p k r , s k r ) K e y G e n ( s p ) ;
( w 0 , w 1 ) A 4 O ( s p , p k s , 1 , ( p k s , 2 , s k s , 2 ) , p k r ) ;
T b B ( w b , p k s , 1 , p k s , 2 , p k r , s k r , b { 0 , 1 } ) ;
b A 4 O ( T b , g u e s s ) ;
if { w 0 , w 1 } K s e t = ϕ , then return 1, if b = b ;
else return 0.
Oracle O ( w ) :
K s e t = K s e t { w } , T w O ( p k s , 1 , p k s , 2 , p k r , s k r , w ) ;
return { T w }
Table 6. IND-Double ciphertext.
Table 6. IND-Double ciphertext.
Game IND-Double ciphertext Exp A 5 Online - KGA [ DSS ]
( p k s , 1 , s k s , 1 , p k s , 2 , s k s , 2 , p k r , s k r ) K e y G e n ( s p ) ;
( C 1 , 0 , C 1 , 1 ) A 5 ( s p , p k s , 1 , ( p k s , 2 , s k s , 2 ) , p k r ) ;
C 1 , b B ( C 1 , b , p k s , 1 , p k s , 2 , p k r , b { 0 , 1 } ) ;
b A 5 ( C 1 , b , g u e s s ) ;
Then return 1, if b = b ; else return 0.
Table 7. IND-CKA 3.
Table 7. IND-CKA 3.
Game IND-CKA 3 Exp A 6 CKA [ DSS ]
K s e t ϕ
( p k s , 1 , s k s , 1 , p k s , 2 , s k s , 2 , p k r , s k r ) K e y G e n ( s p ) ;
( w 0 , w 1 ) A 6 O ( s p , ( p k s , 2 , s k s , 2 ) , p k s , 1 , p k r ) ;
C 2 , b 1 B ( w b 1 , p k s , 1 , p k s , 2 , p k r , b 1 { 0 , 1 } ) ;
T w b 2 B ( w b 2 , p k s , 1 , p k s , 2 , p k r , s k r , b 2 { 0 , 1 } ) ;
C T B ( C 2 , b 1 , T w b 2 , p k s , 1 , s k s , 1 , p k s , 2 , p k r ) ;
( b 1 , b 2 ) A 6 O ( C T , g u e s s ) ;
if { w 0 , w 1 } K s e t = ϕ , then return 1, if ( b 1 , b 2 ) = ( b 1 , b 2 ) ;
else return 0.
Oracle O ( w ) :
K s e t = K s e t { w } , T w O ( p k s , 1 , p k s , 2 , p k r , s k r , w ) ;
return { T w }
Table 8. Computation comparison.
Table 8. Computation comparison.
BCOP [10]BSW [14]RPSL [17]Our
MCiph--- 2 E 1
KCiph 2 E 1 + h + e E 1 + E 2 + h + 2 e 2 E 1 + h + e 4 E 1 + h
ReEnc--- 2 E 1
Trapdoor E 1 + h E 1 + h 3 E 1 + 2 h + I + P M 4 E 1 + h + 2 I
Teste E 1 + e + P M 2 E 1 + h + e + P M 7 E 1
Dec--- 2 E 1
Table 9. Security comparison.
Table 9. Security comparison.
BCOP [10]BSW [14]RPSL [17]Our
Trap IndNONOYESYES
MCiph Ind---YES
KCiph IndYESYESYESYES
In-off-line KGANONONOYES
Ex-off-line KGANONOYESYES
on-line KGANONONOYES

Share and Cite

MDPI and ACS Style

Zhu, B.; Susilo, W.; Qin, J.; Guo, F.; Zhao, Z.; Ma, J. A Secure and Efficient Data Sharing and Searching Scheme in Wireless Sensor Networks. Sensors 2019, 19, 2583. https://doi.org/10.3390/s19112583

AMA Style

Zhu B, Susilo W, Qin J, Guo F, Zhao Z, Ma J. A Secure and Efficient Data Sharing and Searching Scheme in Wireless Sensor Networks. Sensors. 2019; 19(11):2583. https://doi.org/10.3390/s19112583

Chicago/Turabian Style

Zhu, Binrui, Willy Susilo, Jing Qin, Fuchun Guo, Zhen Zhao, and Jixin Ma. 2019. "A Secure and Efficient Data Sharing and Searching Scheme in Wireless Sensor Networks" Sensors 19, no. 11: 2583. https://doi.org/10.3390/s19112583

APA Style

Zhu, B., Susilo, W., Qin, J., Guo, F., Zhao, Z., & Ma, J. (2019). A Secure and Efficient Data Sharing and Searching Scheme in Wireless Sensor Networks. Sensors, 19(11), 2583. https://doi.org/10.3390/s19112583

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