Next Article in Journal
Mixed Variable Parameter Energy Storage-Assisted Frequency Support Strategy
Previous Article in Journal
Synchronous Control of High-Speed Train Lift Wing Angle of Attack Drive System Based on Chaotic Particle Swarm Optimization and Linear Auto-Disturbance Resistant Controller
Previous Article in Special Issue
Graph-Indexed kNN Query Optimization on Road Network
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Certificateless Verifiable Bilinear Pair-Free Conjunctive Keyword Search Encryption Scheme for IoMT

1
School of Mathematical Sciences, Xiamen University, Xiamen 361005, China
2
School of Mathematical Sciences, Guizhou Normal University, Gui’an New District, Guiyang 550001, China
3
School of Big Data and Computer Science, Guizhou Normal University, Gui’an New District, Guiyang 550001, China
*
Author to whom correspondence should be addressed.
Electronics 2024, 13(8), 1449; https://doi.org/10.3390/electronics13081449
Submission received: 30 January 2024 / Revised: 4 April 2024 / Accepted: 7 April 2024 / Published: 11 April 2024
(This article belongs to the Special Issue Data Privacy in IoT Networks)

Abstract

:
With superior computing power and efficient data collection capability, Internet of Medical Things (IoMT) significantly improves the accuracy and convenience of medical work. As most communications are over open networks, it is critical to encrypt data to ensure confidentiality before uploading them to cloud storage servers (CSSs). Public key encryption with keyword search (PEKS) allows users to search for specific keywords in ciphertext and plays an essential role in IoMT. However, PEKS still has the following problems: 1. As a semi-trusted third party, the CSSs may provide wrong search results to save computing and bandwidth resources. 2. Single-keyword searches often produce many irrelevant results, which is undoubtedly a waste of computing and bandwidth resources. 3. Most PEKS schemes rely on bilinear pairings, resulting in computational inefficiencies. 4. Public key infrastructure (PKI)-based or identity-based PEKS schemes face the problem of certificate management or key escrow. 5. Most PEKS schemes are vulnerable to offline keyword guessing attacks, online keyword guessing attacks, and insider keyword guessing attacks. We present a certificateless verifiable and pairing-free conjunctive public keyword searchable encryption (CLVPFC-PEKS) scheme. An efficiency analysis shows that the performance advantage of the new scheme is far superior to that of the existing scheme. More importantly, we provide proof of security under the standard model (SM) to ensure the reliability of the scheme in practical applications.

1. Introduction

The Internet of Things can connect any item to the Internet. It uses information-sensing devices such as radio frequency identification and infrared sensors to transmit data and communicate according to specific protocols, thus realizing intelligent identification, positioning, tracking, monitoring, and management functions [1,2,3]. As shown in Figure 1, as an application of Internet of Things technology in the medical field, IoMT [4] can closely connect medical staff, patients, and various medical devices to achieve real-time feedback on patient health status. It not only improves the speed of medical response and provides all-weather medical care but also alleviates the workload of medical staff. IoMT improves the precision and convenience of medical work, leading to a better quality of medical care. IoMT also plays a significant role in saving lives, helping to control costs, and improving efficiency.
Electronic medical records (EMRs) [5,6] play a crucial role in IoMT. With the acceleration of the digitization of medical data, the amount of EMR data has increased rapidly. Storing and managing EMRs has become a significant challenge. Fortunately, cloud computing technology offers a solution to this challenge. Hospitals can store EMRs in the cloud, eliminating the cost of local management and maintenance and enabling efficient data sharing and utilization.
Because EMRs contain private patient information, they often need to be encrypted to ensure patient privacy. However, this encryption method makes it inconvenient for users to search for specific keywords in EMRs. The simplest solution is for users to download all the ciphertext data, decrypt them individually, and then search among them. This approach is impractical. It leads to exceedingly high computational and communication costs. To solve this problem, researchers have proposed searchable encryption (SE) [7] technology. SE is an encryption primitive that allows users to perform keyword searches on encrypted data.
In reality, we are more likely to encounter multi-data owner scenarios, such as a patient’s EMR, that often need to be co-managed by multiple doctors, departments, or healthcare organizations. If each party independently owns some of the data in an EMR, this scenario is a non-shared multi-owner scenario [8]. If, on the other hand, multiple parties jointly own the data of an EMR, then this scenario is a shared multi-owner scenario [9]. In a non-shared multi-owner scenario, each staff member is responsible for a specific portion of the EMR. Each part of the data is a separate record, requiring independent computation of indexes and signatures. This processing will result in a linear increase in the cost of storing indexes and signatures as the number of owners increases, as well as an increase in verification and encryption time, thus significantly increasing the overall computation and storage costs. In contrast, the shared multi-owner scenario allows multiple owners to sign on the same EMR, ultimately generating a multi-signature. The size of the multi-signature is constant and independent of the number of owners. Therefore, the verification time and storage overhead of signatures are independent of the number of owners. For indexing in the shared multi-owner setup, the whole EMR is given only a single index through which the retriever can search the multi-owner EMR. In this way, the shared multi-owner significantly saves time and space costs, which makes it more advantageous in real-world applications. In recent years, some research works have also verified the advantages of the shared multi-owner setting. Miao et al. [10] proposed a keyword-searchable encryption scheme with a hidden access policy under the shared multi-owner setting. Padhya et al. [11] proposed a new key aggregation-searchable encryption scheme supporting sorted queries on encrypted datasets and a multi-keyword multidimensional search on multi-owner datasets. However, most PEKS solutions deployed in shared multi-owner scenarios face significant computational and storage costs.
The current PEKS scheme leaves much to be desired in terms of efficiency and security: PKI-based or identity-based cryptosystems encounter certificate management and key escrow problems during system deployment; the use of secure channels leads to inefficiency in the PEKS scheme; single-keyword searches inevitably produce many irrelevant results, leading to a waste of bandwidth and computational resources; CSS, as a semi-trusted third party, may provide incorrect search results to save computational and bandwidth resources; a large number of pairing operations puts a heavy computational burden on the system; the PEKS scheme is vulnerable to offline keyword-guessing attacks, online keyword-guessing attacks, and internal keyword-guessing attacks; most of the searchable encryption schemes are proven to be secure in the random oracle model (ROM) but the ROM is not suitable in the idealized model, resulting in security that cannot be fully guaranteed in practical applications; most searchable encryption schemes incur significant computational and storage costs when deploying PEKS schemes in non-shared multi-owner setups. In reality, it is necessary to solve the above problems, which provides a new direction for our research.

1.1. Our Contribution

We construct a certificateless-based, verifiable, pairing-free, conjunctive keyword search encryption scheme (CLVPFC-PEKS). Specifically, the main contributions are as follows:
  • Conjunctive multi-keyword search: The new solution allows users to search for multiple keywords without increasing the number of trapdoors and ciphertexts, significantly improving the accuracy of search results.
  • Verifiability of the search results: The new scheme attaches a signature to each document. The signature will then be used to verify the search results, ensuring the accuracy of the search results and preventing users from wasting time and resources on invalid results.
  • Certificateless-based: The new scheme overcomes the limitations of certificate management and key escrow in existing searchable encryption schemes.
  • No pairing: Pairing operations take time, so the computational efficiency can be significantly improved by not using pairing operations.
  • No need for a secure channel: The new solution eliminates the need for a secure channel and reduces system construction costs.
  • Shared multi-owner settings: The new scheme allows users to search for document sets shared by multiple users using a single trapdoor.
  • Proven security under the standard model: The new scheme is secure against offline keyword guessing attacks and chosen keyword attacks (CKAs) in the standard model. Meanwhile, based on the security of the Diffie–Hellman shared secret keys, the new scheme can also resist online keyword guessing attacks (e.g., file injection attack (FIA)) and insider keyword guessing attacks (IKGAs).
In Table 1, we compare the features of PKES schemes. Currently, no SE scheme can provide result verification, can provide a conjunctive keyword search, is secure channel-free, is certificateless-based, is pairing-free, and can provide support for shared multi-owners simultaneously. In particular, none of the pairing-free SE schemes support result verification and conjunctive keyword searches.

1.2. Organization

The following is the framework for the rest of this article. We summarize some related work in Section 2. We discuss preparatory knowledge in Section 3. We define the system model and the security model of the scheme in Section 4. We show the details of the CLVPFC-PEKS scheme in Section 5. We discuss the security of the CLVPFC-PEKS scheme in Section 6. We analyze the effectiveness of CLVPFC-PEKS in Section 7. Finally, we summarize this paper in Section 8.

2. Related Work

In 2004, Boneh et al. [23] first proposed the concept and construction of public key encryption with keyword search(PEKS), which laid the foundation for research in this field. However, the early PEKS schemes still had many shortcomings in efficiency and safety. Baek [24] points out that the PEKS scheme of [23] is inefficient because [23] uses safe channels. To eliminate the requirement for secure channels, Baek et al. [24] proposed PEKS without secure channels (SCF-PEKS), also known as PEKS with designated servers/testers (dPEKS) [25]. However, most SCF-PEKS schemes are PKI-based or ID-based, which inevitably incurs problems with certificate management and key escrow. To overcome these challenges, Peng et al. [18], based on the certificateless cryptosystem [26], proposed a keyword-searchable encryption scheme (CL-SCF-PEKS) without a secure channel. Since then, many papers have studied certificateless searchable encryption schemes, which inject new vitality into the development of this field. It is worth noting that most PEKS schemes [18,27,28,29,30] search for a single keyword. However, this single-keyword search method often produces irrelevant results, wasting bandwidth and computing resources. Golle et al. [31] proposed the first conjunctive keyword-searchable encryption scheme to address the issue of resource waste. Subsequently, more searchable encryption schemes that support conjunctive keywords have been proposed in recent years [14,32,33].
Given that the computational complexity of pairing is much higher than that of scalar multiplication on the group of elliptic curves, designing schemes that do not require pairing will significantly improve the computational efficiency of the schemes. Current SE schemes that do not require pairing operations are still scarce, and these schemes [21,22,34,35,36,37,38,39,40] remain to be improved. In 2019, Lu et al. [39] proposed a PEKS scheme based on the certificateless cryptosystem, which is pairing-free, and proved the indistinguishability of keyword ciphertexts (CL-PF-PEKS). However, Ma et al. [40] showed that the work of [39] is insecure under user-simulated attacks and provided a new CL-PF-PEKS scheme. Recently, [21,22] proposed CL-PF-PEKS schemes that are both secure and effective, respectively, but unfortunately, they are single-keyword-searchable.
Existing SCF-PEKS schemes have significant shortcomings in terms of security, especially their vulnerability to offline keyword guessing attacks [41], online keyword attacks (e.g., FIA) [19,42], and internal keyword attacks [43]. PEKS schemes typically use keywords from low-entropy spaces, making them vulnerable to offline keyword-guessing attacks. In this attack, both internal and external attackers can use a testing algorithm to accurately guess the keywords corresponding to the given keyword trapdoors. The attack works because the generation of trapdoors uses only keywords and public keys. Currently, the offline keyword guessing attack has become one of the most destructive attacks on PEKS schemes because it can lead to the leakage of encrypted data and information related to the keywords contained in the trapdoor. Unfortunately, Yang et al. [44] showed that even after modifying the trapdoor structure of PEKS schemes, an attacker can still perform an online keyword guessing attack(e.g., FIA). Unlike external offline keyword attacks, external online keyword guessing attacks allow attackers to guess keywords by analyzing search results in the cloud in real time. Specifically, the external attacker first generates keyword ciphers and data ciphers containing all possible keywords and data ciphers using the public keys of the cloud server and the retriever and injects these ciphers into the cloud server. Subsequently, the external attacker monitors the communication between the cloud server and the retriever. Once the attacker finds that the search results returned by the server match the previously injected ciphertexts, they can determine the keywords that the retriever is searching for. In addition, the PEKS scheme is also vulnerable to internal malicious CSS attacks. Jeong et al. [45] demonstrated that the PEKS framework is susceptible to internal offline keyword attacks initiated by malicious CSSs. Wang et al. [46] pointed out that even though the trapdoor is indistinguishable, the SCF-PEKS scheme is still not able to defend against keyword-guessing attacks by malicious CSSs. More seriously, Shao et al. [47] proposed a generic attack method and pointed out that it is almost impossible to construct a SCF-PEKS scheme that can defend against malicious CSSs. This is because malicious CSSs can perform keyword encryption and testing algorithms, making the SCF-PEKS scheme particularly vulnerable against offline keyword-guessing attacks from malicious internal servers.
In addition, CSSs, as semi-trusted entities, may selectively perform a few search operations and return some inaccurate search results to save computational and bandwidth resources. Therefore, PEKS schemes should provide an authentication mechanism to ensure the accuracy of search results without decryption. Reference [48] proposed the first keyword-searchable encryption scheme that supports authentication. Since then, numerous researchers have explored keyword-searchable encryption schemes that support authentication [15,16,49]. The authors of [16] proposed a verifiable multiple keywords search(VMKS) scheme, claiming that it resists keyword guessing attacks under the standard model.

3. Preliminaries

Let q > 3 be a large prime, F q be a prime field, and the elliptic curve E over the field F q satisfy the equation y 2 m o d q = ( x 3 + a x + b ) m o d q , where a , b , x , y F q and ( 4 a 3 + 27 b 2 ) m o d q 0 . All points on E and the infinite point O form a cyclic group. The elliptic curve cryptosystem (ECC) has the following difficulties:
  • The elliptic curve discrete logarithm problem (ECDLP): given P , Q G q , where P is the generator of the group and Q is the element in G q . It is difficult to calculate the integer k, such that Q = k P , where k Z q * .
  • The elliptic curve computational Diffie–Hellman problem (ECDCHP): for any given a , b in Z q * , it is difficult to calculate a b P , where ( P , a P , b P ) G q .
  • The elliptic curve decisional Diffie–Hellman (ECDDDH) problem: given a P , b P G , where a , b are unknown. The decisional Diffie–Hellman (DDH) problem is to decide whether X equals a b P or a random element in G.

4. The System Model and Security Model of CLVPFC-PEKS

4.1. System Model

There are five core entities involved in the new scheme: the key generation center (KGC), the data owners (DOs, including patients and their doctors), CSSs, retrievers (e.g., authorized doctors or hospitals), and a private audit server (PAS), as shown in Figure 2.
  • The KGC is responsible for generating the public parameters of the system and some of the private keys for the DOs, the CSSs, and the retrievers.
  • DOs have many files to store and manage, but their resources and capabilities are limited. From the perspective of resource-saving and data security, the data owner chooses to upload the encrypted data files and indexes (keyword ciphertext) to the cloud storage server.
  • The CSS, as a semi-trusted entity with powerful computing and storage capabilities, provides data storage and retrieval services to authorized cloud customers. When a retriever initiates a retrieval request, the cloud storage server looks up the keyword traps and returns the corresponding data files to the retriever.
  • Retrievers can initiate a ciphertext retrieval request by sending a keyword trapdoor to the cloud storage server and decrypt the received ciphertext to obtain the required information.
  • The PAS, as a fully trusted entity, is responsible for validating the search results to ensure that the data files received by the searcher are accurate.
The CSS is semi-trustworthy and curious. It may selectively perform a few search operations and provide some erroneous search results to conserve its resources. At the same time, CSSs try to snoop on valuable and sensitive information. The PAS is fully trusted to ensure the accuracy of search results. In addition, authorized retrievers can confidently initiate search requests without worrying about leaking valuable information to CSSs.

4.2. Solution Framework

To better understand the notations in our proposed scheme, Table 2 explains the pre-defined notations used throughout this paper. We set integer k as the security level and ( F , W ) as the EMR file and the keyword set contained in EMR.
Definition 1
(CLVPFC-PEKS). Our scheme is a tuple of six algorithms, as follows:
SetUp( 1 k ): Given the security parameter k, the KGC outputs the public parameters Ω, the system public key P p u b , and the master secret key m s k for the traditional public key algorithm.
KeyGen ( Ω , O , U , C S S ) : For the data owner set O, the data user U, and the CSS, the KGC generates the public/secret key pairs { P K O i , S K O i } ( 1 i d ) , { P K u , S K u } , and { P K C , S K C } , respectively.
Set-Secret-Value: After inputting the public parameters Ω, this probabilistic algorithm outputs data owners, data users, and CSS’s Secret-Value.
Partial-Private-Key-Extract: The KGC executes this algorithm, which accepts the identity of the data owner, data user, and CSS, then uses them in combination with the master key to generate a partial private key for the data owner, data user, and CSS.
Set-Private-Key: Set the full secret keys of the data owner, data user, and CSS.
Set-Public-Key: Set the full public keys of the data owner, data user, and CSS.
E n c ( Ω , F , W , { I D i } , I D , { S K O i } , { P K O i } , P K u ) : DOs first conduct this probabilistic algorithm to generate the ciphertext set C for the set F. Then, DOs generate multiple signatures S i g and index set I for ciphertext C. Then, they send the tuple ( C , I , S i g ) to the CSS. T r a G e n ( Ω , S K u , W ) ; given the keyword W , the DO runs this algorithm to output trapdoor T W .
T e s t ( Ω , T W , I ) : Using the trapdoor T W as an input, the CSS matches it with the index set I, then returns the relevant ciphertext C C and signature S i g set to PAS.
Verify ( Ω , C , I D , s i g , { P K O i ) } ) : The PAS runs this algorithm by initiating interaction with the CSS to check the correctness of the search result C W . If C W passes the result validation, the PAS will return it to the retriever. Otherwise, it will abort the algorithm.

4.3. Security Model

Our scheme primarily considers security in the following two aspects: (1) The index corresponding to the keyword has security against choice keyword attacks. (2) The trapdoor used for queries should possess security.
Because our scheme is certificateless-based, there are two different classes of adversaries: A 1 and A 2 . Therefore, when discussing the security of the index and trapdoor, we must analyze and prove them from the angles of these two adversaries.
A 1 : A 1 does not know the master key, but A 1 can replace any user’s public key.
A 2 : A 2 knows the master key, but A 2 cannot replace any user’s public key.
We call these adversaries the adversary of type-1 and the adversary of type-2.
Mahmoud Ismail et al. [50] articulated the basic principles of the zero-trust framework, delved into the threat landscape facing IoT systems, and assessed how the zero-trust principle can effectively address these threats. Jamal A. Alenizi et al. [51] investigated various risks and vulnerabilities that may affect the operation of blockchain-based smart healthcare systems, especially ransomware, and proposed a framework for mitigating healthcare ransomware attacks. The framework proposed by Jamal A. Alenizi et al. has higher computational efficiency and lower communication overhead than similar existing frameworks.

4.3.1. Ciphertext Indistinguishability against Chosen Keyword Ciphertext Attack

A PEKS scheme with ciphertext indistinguishability against chosen keyword and ciphertext attacks (CKCA-CIND) feature can protect the data owner’s keyword ciphertext stored in the cloud from revealing relevant keyword information. When encrypted data are stored in the CSS, it will attach the corresponding keywords { w i 1 , w i 2 , , w i m } . Even if the keyword ciphertext is captured during transmission, no adversary can obtain keywords embedded in the keyword ciphertext.
We will define the definition of CKCA-CIND. There are two games to discuss the security of CKCA-CIND.
Game 1.
A 1 simulates malicious users, and B is the challenger. B and A 1 play this game together.
Setup: B runs the SetUp( 1 k ) program to obtain Ω , P p u b and m s k . B sends P p u b to A 1 and keeps m s k . Then, B sets the key pair of O i ( i { 1 , 2 , , d } ) and CSS, i.e., ( P K O i , S K O i ) ( i { 1 , 2 , , d } ) and ( P K c , S K c ) . B sends the public keys P K O i ( i { 1 , 2 , , d } ) and P K c to A 1 , while S K O i and S K c are unknown to A 1 .
Phase 1. A 1 executes the User-Public-Key query before executing other queries. It sets up lists to store the above queries and answers. All lists are initially empty. A 1 makes the queries to challenger B as follows:
  • User-Public-Key query: When A 1 inputs the identity I D u , B outputs the user’s public key P K u .
  • Replace-Public-Key query: A 1 inputs ( I D j , P K j ) , B replaces P K j with P K j .
  • Secret-Value query: When A 1 inputs the identity I D j , B returns the secret value corresponding to the I D j . If P K j is replaced, B refuses to answer.
  • Partial-Private-Key-Extract query: When A 1 enters the I D j , if I D j = I D u ( I D u is the challenge identity), B fails and stops. Otherwise, B returns the corresponding Partial-Private-Key.
  • Keyword Ciphertext Query: A 1 asks B for the keyword ciphertext of any keyword W it cares about. B runs the E n c ( Ω , F , W , { I D i } , I D , { S K O i } , { P K O i } , P K u ) algorithm to answer W’s keyword ciphertext I W .
  • Keyword Trapdoor Query: A 1 sends a keyword W to B. B runs the T r a p G e n ( Ω , S K u , W ) algorithm to answer W ’s trapdoor T W .
  • Test Query: A 1 selects and sends the keyword ciphertext I W and trapdoor T W to B. B executes the T e s t ( Ω , T W , I W ) algorithm to return the test result of whether the keyword ciphertext and the trapdoor match.
Challenge: A 1 submits a tuple ( W 0 , W 1 , I D u * , P K u * ) to B, where W 0 and W 1 are challenging keywords not asked in the previous trapdoor and keyword ciphertext query. If I D u * I D u , B aborts. Otherwise, B picks ξ { 0 , 1 } , randomly computes the keyword ciphertext I W ξ , and returns the challenge ciphertexts I W ξ to A 1 .
Phase 2. A 1 can perform many queries like Phase 1, but A 1 cannot query the keyword ciphertext and trapdoor of W 0 and W 1 .
Guess: A 1 outputs ξ { 0 , 1 } . A 1 wins if ξ = ξ . Otherwise, it fails.
Next, the advantages of A 1 in Game 1 are given as
A d v C K C A C I N D A 1 | Pr [ ξ = ξ | 1 2 | .
Game 2.
A 2 simulates the malicious server, and B is a challenger. B and A 2 play this game together. Setup: It only differs from the setup of Game 1 in the following steps. B sends the public keys P K O i , P p u b , and m s k to A 2 , and S K O i is unknown to A 2 .
Phase 1. The steps are the same as in Phase 1 of Game 1, except for the Secret-Value query and Partial-Private-Key query. The changes in them are as follows:
  • Secret-Value query: When A 2 enters the I D j , if I D j = I D u ( I D u is the challenge identity), B fails and stops. Otherwise, B returns the secret value corresponding to I D j .
  • Partial-Private-Key-Extract query: When A 2 inputs the identity I D j , B returns the partial private key corresponding to the I D j . If P K j is replaced, B refuses to answer.
Phase 2. Same as Phase 2 of Game 1.
Next, the advantages of A 2 in Game 2 are given as
A d v C K C A C I N D A 2 | Pr [ ξ = ξ | 1 2 | .
Definition 2
(Security of CKCA-CIND). If the probability that any adversary will win the above two games in polynomial time is negligible, then we state that the CLVPFC-PEKS scheme is CKCA-CIND safe.

4.3.2. Safety of Trapdoor

The attack methods on the trapdoor include offline keyword-guessing attacks, online keyword-guessing attacks, and insider keyword-guessing attacks.
We first discuss how to defend against offline keyword-guessing attacks. References [46,52,53] have made efforts to resist offline keyword-guessing attacks. They modified the structure of the trapdoor and claimed that if the attacker did not know the server’s private key or the receiver’s private key, then the scheme would be resistant to offline keyword-guessing attacks by external attackers. In [53], the concept of trapdoor indistinguishability under a choose keyword attack (CKA-TIND) is proposed, and it is proven that CKA-TIND is a sufficient condition to prevent offline keyword guessing attacks. At the same time, ref. [53] proposes a dPEKS scheme with trapdoor indivisibility. The above schemes are proven safe in the random oracle model, but the proof that the scheme is safe in the random oracle model does not necessarily mean that the scheme is safe in reality. Fang et al. [54] proposed a new SCF-PEKS scheme that has no random prediction and asserts that the scheme can safely resist offline keyword guessing attacks by external attackers. However, Lu et al. [19] pointed out that Fang’s scheme is insecure under the keyword guessing attack of external attackers.
In the following, we define the concept of CKA-TIND of CLVPFC-PEKS.
Game 3.
A 1 simulates malicious users, and B is the challenger. B and A 1 play this game together.
Setup: A 1 B runs the SetUp( 1 k ) program to obtain Ω , P p u b and m s k . B sends P p u b to A 1 and keeps m s k secret. Then, B sets the key pair of the date user and CSS, i.e., ( P K u , S K u ) and ( P K c , S K c ) . Challenger B sends the public key P K u and P K c to A 1 , while S K u and S K c are unknown to A 1 .
Phase 1. A 1 executes the User-Public-Key query before executing other queries. The setup lists store the above queries and answers. All lists are initially empty. A 1 makes the queries to challenger B as follows:
  • User-Public-Key query: When A 1 inputs the identity I D i , B outputs the user’s public key P K i .
  • Replace-Public-Key query: Same as in Game 1.
  • Secret-Value query: Same as in Game 1.
  • Partial-Private-Key-Extract query: When A 1 enters the I D j , if I D j = I D i ( I D i is the challenge identity), B fails and stops. Otherwise, B returns the corresponding Partial-Private-Key.
  • Keyword Ciphertext Query: Same as in Game 1.
  • Keyword Trapdoor Query: Same as in Game 1.
  • Test Query: Same as in Game 1.
Challenge: A 1 submits a tuple ( W 0 , W 1 , { I D i * } , { P K i * } ) ( i { 1 , 2 , d } ) to B, where W 0 and W 1 are challenging keywords that were not asked in the previous trapdoor and keyword ciphertext query. If I D i { I D i * } ( i { 1 , 2 , d } ) , B aborts. Otherwise, B picks ξ { 0 , 1 } , randomly computes keyword trapdoor T W ξ , and returns the challenge trapdoor T W ξ to the adversary A 1 .
Phase 2. A 1 can perform many queries like Phase 1, but A 1 cannot query the keyword ciphertext or trapdoor of W 0 and W 1 .
Guess: A 1 outputs ξ { 0 , 1 } . Adversary A 1 wins if ξ = ξ . Otherwise, it fails.
Next, the advantages of A 1 in Game 3 are given as
A d v C K A T I N D A 1 | Pr [ ξ = ξ | 1 2 |
Game 4.
A 2 simulates the malicious server, and B is a challenger. B and A 2 play this game together.
Setup: This differs from the setup of Game 3 only in the following steps. B sends P K u , P p u b , and m s k to A 2 , and S K u is unknown to A 2 .
Phase 1. The steps are the same as in Phase 1 of Game 3, except for the Secret-Value and Partial-Private-Key-Extract queries. The changes in them are as follows:
  • Secret-Value query: When A 2 enters the I D j , if I D j = I D i ( I D i is the challenge identity), B fails and stops. Otherwise, B returns the secret value corresponding to I D j .
  • Partial-Private-Key-Extract query: Same as in Game 2.
Phase 2. Same as Phase 2 of Game 3.
Next, the advantages of A 2 in Game 4 are given as
A d v C K A T I N D A 2 | Pr [ ξ = ξ | 1 2 |
Definition 3
(Security of CKA-TIND). If the probability that any adversary will win the above two games in polynomial time is negligible, then we state that the CLVPFC-PEKS scheme is CKA-TIND safe.
Next, we will discuss how to resist online/insider keyword-guessing attacks. Lu et al. [19] pointed out that the main reason for vulnerability to online keyword-guessing attacks is that any opponent can generate legitimate ciphertext for keywords. Shao et al. [47] pointed out that SCF-PEKS inherently suffers from insider keyword-guessing attacks because malicious servers can run keyword encryption algorithms and test algorithms at the same time. To resist the above two attacks, Wu et al. [55] proposed a searchable public key encryption (SPE-PP) scheme with a privacy protection function. In their plan, the Diffie–Hellman shared secret key is required for the generation of the keyword ciphertext and trapdoor. Specifically, the sender uses the shared key to calculate each keyword ciphertext, while the receiver uses the shared key to generate a trapdoor. An internal adversary (such as a malicious cloud server) cannot obtain the Diffie–Hellman shared secret key, so they cannot construct legal ciphertext to match the trapdoors sent by retrievers for testing. Then, internal adversaries will not be able to implement insider keyword-guessing attacks. On the other hand, only the retriever can use the Diffie–Hellman shared secret key to generate a legitimate trapdoor for each keyword, and the adversary of online keyword guessing cannot obtain the Diffie–Hellman shared secret key. Then, they cannot construct a legal trapdoor to upload to the cloud server. Even if they monitor all the files obtained by the retriever under the public channel, they cannot obtain any keyword-related information through comparison. In conclusion, the reason why the searchable encryption scheme can resist online and insider keyword-guessing attacks is that the keyword ciphertext is embedded in the shared key generated by the sender’s private key and the receiver’s public key.
In this section, we conduct a comprehensive analysis of the security of the scheme, focusing primarily on the security of the trapdoor and keyword ciphertext. The security of the keyword ciphertext only needs to demonstrate that the scheme is resistant to chosen keyword ciphertext attacks. Trapdoor security is categorized into three aspects: security against offline keyword-guessing attacks, security against online keyword-guessing attacks, and security against internal keyword-guessing attacks. Because CKCA-CIND is a sufficient condition to prevent offline keyword guessing attacks, as long as the scheme is trapdoor-indistinguishable under the chosen keyword attack, then the scheme is secure against the offline keyword guessing attack. Also, as long as the shared key embedded in the keyword ciphertext is generated from the sender’s private key and the receiver’s public key, the PESK scheme is resistant to both online keyword attacks and internal keyword guessing attacks.

5. The Proposed CLVPFC-PEKS

This system uses a traditional public key encryption algorithm for keywords. However, we will not discuss them in detail here. Therefore, the following algorithms focus mainly on indexing and signature.
SetUp ( 1 k ) : Given a security parameter k, this deterministic algorithm outputs the global public parameters Ω and KGC’s master secret key ( m s k ). Given k, the KGC performs as follows:
  • Choose a k bit prime number q and determine the tuple { F q , E / F q , G q , P } , where the point P is the generator of G q .
  • Choose a number x R Z q * and compute the system public key P p u b = x P . Set m s k = { x } . Let ( P K , S K ) = ( P p u b , x ) .
  • Select five hash functions H 0 , H 1 , H 2 : { 0 , 1 } * × G × G Z q * , h 1 : { 0 , 1 } * Z q * , h 2 : G q Z q * .
  • Let Ω = { F q , E / F q , G q , P , H 0 , H 1 , H 2 , h 1 , h 2 , P p u b } .
KeyGen ( Ω , O , U , C S S ) : Let each EMR have a fixed number of data owners O = { O 1 , O 2 , , O d } . KGC generates the public/secret key pairs for the CSS, data owner O i , and retriever U.
  • Set-Secret-Value: The participant with I D i ( i = 1 , 2 , , d , C , u ) selects an element x i R Z q * ( i = 1 , 2 , , d , C , u ) and generates the corresponding public key P i = x i P ( i = 1 , 2 , , d , C , u ) .
  • Extract-Partial-Private-Key: To obtain the partial private key, the user I D i sends ( I D i , P i ) to the KGC, and then the KGC executes the extraction as in the following steps.
    Taking the participant’s I D i ( i = 1 , 2 , , d , C , u ) as input, a random number r i Z q * ( i = 1 , 2 , , d , C , u ) is selected by KGC and calculates R i = r i P ( i = 1 , 2 , , d , C , u ) .
    The KGC computes e i = r i + x H 0 ( I D i , R i , P i ) m o d q ( i = 1 , 2 , , d , C , u ) . The partial private key of the participant with I D i ( i = 1 , 2 , , d , C , u ) is e i . The participant with I D i ( i = 1 , 2 , , d , C , u ) can verify their partial private key by checking whether the equation Q i = e i P = R i + l i P p u b holds, where l i = H 0 ( I D i , R i , P i ) . If the above equation is true, then the private key I D i is accepted.
  • Set-Private-Key: The partial private key of the participant with I D i ( i = 1 , 2 , , d , C , u ) takes the pair S K i = ( x i , e i ) as their full private key.
  • Set-Public-Key: The participant with I D i ( i = 1 , 2 , , d , C , u ) takes P K i = ( P i , R i ) as their full public key.
Enc ( Ω , F , W , { I D i } , I D , { S K O i } , { P K O i } , P K u ) :
Step 1: Given the EMR set F = { f 1 , f 2 , , f n } with corresponding identities I D = { i d 1 , i d 2 , , i d n } , it will be encrypted as the ciphertext set C = { c 1 , c 2 , , c n } through the traditional public key encryption algorithm. To generate the multi-signature on the encrypted file c t C ( 1 t n ) , each signer O i ( 1 i d ) does the following:
  • O i chooses a number y i , t R Z q * and computes Y i , t = y i , t P .
  • O i broadcasts Y i , t to other members O k ( 1 k d , k i ) of the group.
  • Computes Y t = i = 1 d Y i , t , P 0 = i = 1 d P i , Q 0 = i = 1 d Q i .
  • Computes h t = H 1 ( c t , i d t , Y t , P 0 ) and h t = H 1 ( c t , i d t , Y t , Q 0 ) .
  • O i computes V i , t = y i , t + h t x i + h t e i , generates a signature s i g i , t = ( Y i , t , V i , t ) for c t , and then sends V i , t to the designated clerk O z .
  • Upon receiving V i , t , O z computes V t = i = 1 d V i , t and outputs the signature s i g t = { Y t , V t } . Let s i g = { s i g 1 , , s i g n } , where V t P = Y t + h t P 0 + h t Q 0 .
Step 2: All users specify a user to generate an index, for example, O d . O d runs this algorithm to generate the index of file set F. Given the keyword set W, O d builds an index for each file f i F . The index for each f i is generated based on the keyword field W = { w i 1 , w i 2 , , w i m } , where m is a fixed integer. O d randomly selects ξ Z q * and calculates ξ + x d to O 1 through public key encryption. O 1 computes ξ + x d + x 1 and sends it to O 2 through public key encryption. O 2 computes ξ + x d + x 1 + x 2 and sends it to O 3 through public key encryption, and so on until O d 1 computes ξ + x d + x 1 + + x d 1 and sends it to O d through public key encryption. O d calculates x 0 = ξ + x d + x 1 + + x d 1 ξ = x 1 + x 2 + + x d , and calculates e 0 = e 1 + e 2 + + e d in the same way as O j .    Let R 0 = t = 1 d R t , l 0 = t = 1 d l t . Construct an m-degree polynomial with the following equation:
F ( x ) = b i , m x m + b i , m 1 x m 1 + + b i , 1 x + b i , 0 ,
so h 2 ( t ) h 1 ( w i , 1 ) , h 2 ( t ) h 1 ( w i , 2 ) , , h 2 ( t ) h 1 ( w i , m ) is the root of equation F ( x ) = 1 , where t = ( x 0 + e 0 ) P u + x 0 R u + x 0 l u P p u b .    Then, O j selects λ i , μ i R Z q * and computes M i = λ i Q c , set I i , 1 = M i μ i P , I i , 2 = λ i P , V i , j = μ i b i , j ( 0 j m ) , and the index set is I = { I 1 , , I n } , where I i = { I i , 1 , I i , 2 , V i , 0 , V i , 1 , , V i , m } . Finally, O d sends I to CSS.
TrapGen ( Ω , S K u , W ) : The DO calculates the value of P 0 , R 0 , l 0 as follows: P 0 = i = 1 d P i , R 0 = i = 1 d R i , l 0 = i = 1 d l i . Given the queried keywords set W = { w 1 , w 2 , , w l } , the DO U first select an element η R Z q * and set T W m + 1 = η P ,
T W j = l 1 h 2 ( t ) j r = 1 l h 1 ( w r ) j P + η P C , where 0 j m , t = ( x u + e u ) P 0 + x u R 0 + x u l 0 P p u b . Finally, they send T w = { T w 0 , T w 1 , , T w m , T w m + 1 } to the CSS.
Test ( Ω , T W , I , C ) : After gaining the search token T W , the CSS computes M i = λ i Q C fist, and then verifies whether Equation (1) holds.
I i , 1 + j = 0 m V i , j ( T w j x C T w m + 1 ) = M i
If Equation (1) holds, the CSS will return the relevant ciphertext set C = { c k 1 , c k 2 , , c k s } and its corresponding identity set I D = { i d k 1 , i d k 2 , , i d k s } to PAS. Otherwise, it returns ⊥. The specific test process is shown in Algorithm 1.
Algorithm 1: Search over encrypted data
  Input: Trapdoor T W , index I, ciphertext C, secret key S K C , and public parameters Ω .
Output: Search results C and corresponding identity set I D or ⊥.
  • T w = { T w 0 , T w 1 , , T w m , T w m + 1 }
  • I = { I 1 , I 2 , , I n } , I i = { I i , 1 , I i , 2 , V i , 0 , V i , 1 , , V i , m } .
  • M i = e C I i , 2
  • f o r 0 i n d o I i , 1 + j = 0 m V i , j ( T w j x C T w m + 1 ) = M i
  • If Equation (1) holds, CSS returns the ciphertext c k t ; otherwise, it returns ⊥;
  • end for
  • CSS returns the relevant results C and corresponding identity set I D or ⊥ to PAS.
Verify ( Ω , C , I D , s i g , { P K O i } ) : After receiving the search results C , PAS computes the proof information ( ϕ 1 , ϕ 2 ) and σ . Finally, PAS verifies whether Equation () holds. The specific verify process is shown in Algorithm 2.
Algorithm 2: Results verification.
  Input: Search results C with corresponding identity set I D , public key set { P K O i } ,
  signature s i g = { s i g 1 , , s i g n } , and public parameters Ω , where s i g t = { Y t , V t } .
Output: “Accept” or “Reject”
  • C = { c k 1 , c k 2 , , c k s } , I D = { d k 1 , i d k 2 , , i d k s } ;
  • public key set { P K O 1 , P K O 2 , , P K O d } ;
  • s i g = { s i g 1 , , s i g n } , s i g t = { Y t , V t } ;
  • compute P 0 = t = 1 d P t , Q 0 = t = 1 d Q t ;
  • compute ϕ 1 = τ = 1 s H 1 ( c k τ , i d k τ , Y k τ , P 0 ) , ϕ 2 = τ = 1 s H 2 ( c k τ , i d k τ , Y k τ , Q 0 ) ,   σ = τ = 1 s V k τ ;
  • Check
    σ P = τ = 1 s Y k τ + ϕ 1 P 0 + ϕ 2 Q 0 ; ( 2 )
  • If Equation () holds, output “Accept” and send C to retriever; otherwise, output “Reject”.

6. Security of Scheme

We will analyze the correctness and security of the CLVPFC-PEKS scheme in this section.

6.1. Correctness

Theorem 1.
The CLVPFC-PEKS scheme is computationally consistent.
Proof. 
For the correctness of our CLVPFC-PEKS scheme, we do two things. First, we illustrate that the CSS can effectively ascertain a match between the keyword ciphertext’s index and the trapdoor when the keyword set W W , where W is a set of keywords searched by a specific user and W is the keyword set of ciphertext. Subsequently, we elucidate that, given that the search outcomes successfully traverse the established result verification protocol, retrievers can ascertain the accuracy of the search results.
During the test phase, the CSS obtains the index I = { I 1 , I 2 , , I n } and trapdoor T w = { T w 0 , T w 1 , , T w m , T w m + 1 } . The CSS starts performing computations.
e C I i , 2 = ( r C + x l C ) λ i P = λ i Q C = M i .
        I i , 1 + j = 0 m V i , j ( T w j x C T w m + 1 )
= M i μ i P + j = 0 m μ i b i j [ l 1 h 2 ( t ) j r = 1 l h 1 ( w r ) j P + η P C x C η P ]
= M i μ i P + j = 0 m μ i b i j ( l 1 h 2 ( t ) j r = 1 l h 1 ( w r ) P )
= M i μ i P + l 1 μ i j = 0 m b i j h 2 ( t ) j r = 1 l h 1 ( w r ) j P
= M i μ i P + l 1 μ i [ j = 0 m b i j h 2 ( t ) j h 1 ( w 1 ) j + + j = 0 m b i j h 2 ( t ) j h 1 ( w l ) j ] P
If W W , then h 2 ( t ) h 1 ( w 1 ) , , h 2 ( t ) h 1 ( w l ) are the root of the equation F ( x ) = 1 , where F ( x ) = b i , m x m + b i , m 1 x m 1 + + b i , 1 x + b i , 0 . Thus,
        I i , 1 + j = 0 m V i , j ( T w j x C T w m + 1 )
= M i μ i P + l 1 μ i [ j = 0 m b i j h 2 ( t ) j h 1 ( w 1 ) j + + j = 0 m b i j h 2 ( t ) j h 1 ( w l ) j ] P
= M i μ i P + l 1 μ i ( 1 + 1 + + 1 ) P
= M i μ i P + μ i P
= M i
Equation (1) is satisfied, and thereby CSS can correctly test whether the keyword ciphertext matches the trapdoor.
In the test phase, the PAS obtains signature s i g = { s i g 1 , s i g 2 , , s i g n } and ciphertext C = { c k 1 , c k 2 , , c k s } , computing
ϕ 1 = τ = 1 s H 1 ( c k τ , i d k τ , Y k τ , P 0 ) , ϕ 2 = τ = 1 s H 2 ( c k τ , i d k τ , Y k τ , Q 0 )
obtaining the proof information ( ϕ 1 , ϕ 2 ) , and then continuing to calculate
      σ P = τ = 1 s V k τ P = τ = 1 s ( Y k τ + h k τ P 0 + h k τ Q 0 )
            = τ = 1 s Y k τ + τ = 1 s h k τ P 0 + τ = 1 s h k τ Q 0
            = τ = 1 s Y k τ + τ = 1 s H 1 ( c k τ , i d k τ , Y k τ , P 0 ) P 0 + τ = 1 s H 1 ( c k τ , i d k τ , Y k τ , Q 0 ) Q 0 .
If C C , then
            ϕ 1 = τ = 1 s H 1 ( c k τ , i d k τ , Y k τ , P 0 ) = τ = 1 s H 1 ( c ρ ( τ ) , i d ρ ( τ ) , Y ρ ( τ ) , P 0 )
            ϕ 2 = τ = 1 s H 1 ( c k τ , i d k τ , Y k τ , Q 0 ) = τ = 1 s H 1 ( c ρ ( τ ) , i d ρ ( τ ) , Y ρ ( τ ) , Q 0 )
where ρ ( τ ) [ 1 , n ] . So we have σ P = τ = 1 s Y k τ + ϕ 1 P 0 + ϕ 2 Q 0 . Equation (2) in program 2 holds. We can also make sure that the ciphertext cannot be modified. □

6.2. Security

Lemma 1.
Assuming that adversary A 1 can triumph in Game 1, then it is feasible to devise algorithm B, aimed at resolving the ECDDDH problem.
Proof. 
Let us hypothesize that the tuple ( P , a P , b P , X ) constitutes an instance of the ECDDDH problem. In order to ascertain whether X = a b P , algorithm B will assume the role of the challenger.
Setup: B executes the setup ( 1 k ) procedure to obtain public parameters Ω = { F q , E / F q , G q , P , G , H 0 , H 1 , H 2 , P p u b } along with m s k = { x } and P p u b = x P . B then forwards the parameter Ω to A 1 while keeping m s k secret. B selects x i Z q * ( i { 2 , , d , C } ) , r i Z q * ( i { 1 , 2 , , d , C } ) randomly and sets
P i = x i P ( i { 2 , , d , C } ) , P 1 = a P , R i = r i P ( i { 1 , 2 , , d , C } ) , and e i = r i + x H 0 ( I D i , R i , P i ) mod q ( i { 1 , 2 , , d , C } ) .
B sends Ω , P K O i ( i { 1 , 2 , , d } ) , and P K C to A 1 , but S K O i ( i { 1 , 2 , , d } ) and S K C are unknown to A 1 .
Phase 1: Prior to conducting other queries, execute the user’s public key query utilizing the identity I D u . Set up multiple lists to record the queries and corresponding responses. Each list starts off empty.
For a user public key query, B keeps a list L u of the tuple ( I D u , x u P , r u P , r u ) and, upon receiving an identity I D u , performs the following steps.
Case 1. I D u = I D u . x u Z q * , setting P K u = ( x u P , b P ) , and adding the tuple ( I D u , x u P , x u , b P , ) to the list L u , where ⟡ represents a null value.
Case 2. I D u I D u . B randomly chooses two different numbers x u , r u Z q * , setting P K u = ( x u P , r u P ) , and adds the tuple ( I D u , x u P , r u P , r u ) to the list L u .
Replace-Public-Key query: B keeps a list L R of tuple ( I D j , P K j , P K j ) . When A 1 inputs ( I D j , P K j ) , B replaces P K j with P K j and adds ( I D j , P K j , P K j ) to the list L R .
Secret-Value query: When A 1 receives the request for the secret value associated with I D j , B finds ( I D j , x j P , r j P , r j ) in the list L u and returns x j . If P K j is replaced, B refuses to answer.
Partial-Private-Key query: B establishes a list L e of tuple ( I D j , e j ) when A 1 asks for the partial private key of I D j . If I D j = I D u , B fails and stops. Otherwise, B finds ( I D j , x j P , r j P , r j ) in the list L u , and runs the Extract-Partial-Private-Key algorithm, generating e j . B outputs e j and adds ( I D j , e j ) to the list L e .
Keyword Ciphertext Query: When A 1 asks W = { w i , 1 , w i , 2 , , w i , m } for the keyword ciphertext, B operates the E n c ( Ω , F , W , { I D i } , I D , { S K O i } , { P K O i } , P K u ) algorithm to generate keyword ciphertext I W = { I i , 1 , I i , 2 , V i , 0 , V i , 1 , , V i , m } .
Keyword Trapdoor Query: When A 1 asks W = { w 1 , w 2 , , w l } for the trapdoor, B operates the T r a p G e n { Ω , S K u , W } algorithm to generate the trapdoor T w = { T w 0 , T w 1 , , T w m , T w m + 1 } .
Test Query: A 1 gives the keyword ciphertext I W and keyword trapdoor T w , and B compares them using Algorithm 1.
Challenge: A 1 submits a tuple ( W 0 , W 1 , I D u * , P K u * ) to B, where W 0 = { w 0 , 1 , w 0 , 2 , , w 0 , m } and W 1 = { w 1 , 1 , w 1 , 2 , , w 1 , m } are challenging keywords not requested in the previous trapdoor and keyword ciphertext query. If I D u * I D u , B aborts. Otherwise, I D u * = I D u , B calculates l u = H 0 ( I D u , R u , P u ) and picks ξ { 0 , 1 } randomly. B computes
            t = ( k = 2 d x k + k = 1 d e k ) P u + k = 2 d x k R u + k = 2 d x k l u P p u b + x u a P + l u x a P + X .
Let F ( x ) = ( x h 2 ( t ) h 1 ( w ξ , 1 ) ) ( x h 2 ( t ) h 1 ( w ξ , 2 ) ) ( x h 2 ( t ) h 1 ( w ξ , m ) ) 1 , which can obtain F ( x ) = b ξ , m x m + b ξ , m 1 x m 1 + + b ξ , 1 x + b ξ , 0 by combining similar terms. Then, B selects λ ξ , μ ξ R Z q * and computes M ξ = λ ξ Q c . Set I ξ , 1 = M ξ μ ξ P , I ξ , 2 = λ ξ P , V ξ , j = μ ξ b ξ , j ( 0 j m ) . Thus, the corresponding keyword ciphertext of W ξ = { w ξ , 1 , w ξ , 2 , , w ξ , m } is I W ξ = { I ξ , 1 , I ξ , 2 , V ξ , 0 , V ξ , 1 , , V ξ , m } . B returns the challenge ciphertexts I W ξ to the adversary A 1 .
Phase 2: A 1 can continue to execute various queries, but there is a limitation that A 1 is not allowed to query the keyword ciphertext or trapdoor of W 0 or W 1 .
Guess: A 1 returns ξ .
Solve CDH problem: If ξ = ξ , B returns 1, otherwise 0. If X = a b P , then
            t = ( k = 2 d x k + k = 1 d e k ) P u + k = 2 d x k R u + k = 2 d x k l u P p u b + x u a P + l u x a P + X
            = ( x 0 + e 0 ) P u + k = 2 d x k R u + x 0 l u P p u b + a b P
            = ( x 0 + e 0 ) P u + x 0 R u + x 0 l u P p u b
Therefore, I W ξ is a valid keyword ciphertext. Suppose that the advantage of A 1 winning in the above game is ε . So,
            Pr [ ξ = ξ X = a b P ] = 1 2 + ε .
If X a b P , then I W ξ is an invalid keyword ciphertext. A 1 has no advantage in distinguishing ξ = 0 from ξ = 1 . Hence,
            Pr [ ξ = ξ X = a b P ] = 1 2 .
Probability: Let q u , q r and q e be the number of the user public key query, Replace-Public-Key query, and the Partial-Private-Key query, respectively. The two events are as follows:
π 1 : A 1 did not replace I D u ’s public key R u and queried the partial-private-key for I D u .
π 2 : I D u * = I D u .
It is not hard to obtain the following results.
Pr [ π 1 ] = q u q r q e q u ,
Pr [ π 2 π 1 ] = 1 q u q r q e , Pr [ B s u c c e s s ] = Pr [ π 1 π 2 ] = 1 q u .
If A 1 wins Game 1 with an advantage of ε , then B has a probability greater than ε q u to determine whether X = a b P . □
Lemma 2.
Assuming that adversary A 2 can win Game 2, algorithm B can constructed to solve the ECDDDH problem by exploiting the adversary’s ability.
Proof. 
Suppose that the tuple ( P , a P , b P , X ) is an example of an ECDDDH problem. To determine whether X = a b P , B will play the part of the challenger.
Setup: B runs the setup ( 1 k ) program to obtain public parameters Ω m s k = { x } and P p u b = x P . B selects x i Z q * ( i { 1 , 2 , , d , C } ) , r i Z q * ( i { 2 , , d , C } ) randomly, and sets
            P i = x i P ( i { 1 , 2 , , d , C } ) , R 1 = a P , R i = r i P ( i { 2 , , d , C } ) , e 1 = a + x H 0 ( I D 1 , R 1 , P 1 ) mod q , e i = r i + x H 0 ( I D i , R i , P i ) mod q ( i { 2 , , d , C } )
B sends Ω , P K O i ( i { 1 , 2 , , d } ) , and ( P K , S K ) to A 2 , while S K O i ( i { 1 , 2 , , d } ) are unknown to A 2 .
Phase 1: Execute the user’s public key query before other queries using the identity I D u . Set up multiple lists to store the queries and answers. All lists are initially empty.
User public key query: B maintains a list L u containing the tuple ( I D u , x u P , r u P , r u ) and takes the following actions when receiving an identity I D u :
Case 1. I D u = I D u . B chooses a number r u Z q * at random, sets P K u = ( b P , r u P ) , and adds the tuple ( I D u , b P , , r u P , r u ) to the list L u , where ⟡ represents a null value.
Case 2. I D u I D u . B chooses x u , r u Z q * at random, sets P K u = ( x u P , r u P ) , and adds the tuple ( I D u , x u P , r u P , r u ) to the list L u .
Replace-Public-Key query: Same as in Lemma 1.
Secret-Value query: B established a list L s of tuple ( I D j , x j ) . When A 2 asks the secret value for I D j . If I D j = I D u , B fails and stops. Otherwise, B finds ( I D j , x j P , r j P , r j ) in list L u , and returns x j .
Partial-Private-Key query: When A 2 asks the partial private key of I D j , B finds ( I D j , x j P , r j P , r j ) in list L u , running the Extract-Partial-Private-Key algorithm and returning e j . If P K j is replaced, B refuses to answer.
Keyword Ciphertext Query: Same as in Lemma 1.
Keyword Trapdoor Query: Same as in Lemma 1.
Test Query: Same as in Lemma 1.
Challenge: A 2 submits a tuple ( W 0 , W 1 , I D u * , P K u * ) that meets the requirements of Game 2, where W 0 = { w 0 , 1 , w 0 , 2 , , w 0 , m } and W 1 = { w 1 , 1 , w 1 , 2 , , w 1 , m } are challenging keywords not asked in the previous trapdoor query and keyword ciphertext query. If I D u * I D u , B aborts. Otherwise, I D u * = I D u , B computes l u = H 0 ( I D u , R u , P u ) , l 1 = H 0 ( I D 1 , R 1 , P 1 ) and picks ξ { 0 , 1 } randomly. B computes
            t = ( k = 1 d x k + x l 1 + k = 2 d e k ) P u + k = 1 d x k R u + k = 1 d x k l u P p u b + X .
Let F ( x ) = ( x h 2 ( t ) h 1 ( w ξ , 1 ) ) ( x h 2 ( t ) h 1 ( w ξ , 2 ) ) ( x h 2 ( t ) h 1 ( w ξ , m ) ) 1 , which can obtain F ( x ) = b ξ , m x m + b ξ , m 1 x m 1 + + b ξ , 1 x + b ξ , 0 by combining similar terms. Then, select λ ξ , μ ξ R Z q * at random and compute M ξ = λ ξ Q c . Set I ξ , 1 = M ξ μ ξ P , I ξ , 2 = λ ξ P , V ξ , j = μ ξ b ξ , j ( 0 j m ) , and thus W ξ = { w ξ , 1 , w ξ , 2 , , w ξ , m } ’s keyword ciphertext is I W ξ = { I ξ , 1 , I ξ , 2 , V ξ , 0 , V ξ , 1 , , V ξ , m } . B returns the challenge ciphertexts I W ξ to the adversary A 2 .
Phase 2: Attacker A 2 can continue to execute various queries, but there is a limitation that attacker A 2 is not allowed to query the keyword ciphertext or trapdoor of W 0 or W 1 .
Guess: A 2 returns ξ .
Solve the ECDDDH problem. If ξ = ξ , B returns 1. Otherwise, 0. If X = a b P , then
t = ( k = 1 d x k + x l 1 + k = 2 d e k ) P u + k = 1 d x k R u + k = 1 d x k l u P p u b + X
t = ( k = 1 d x k + k = 1 d e k ) P u + k = 1 d x k R u + k = 1 d x k l u P p u b
            = ( x 0 + e 0 ) P u + x 0 R u + x 0 l u P p u b
Therefore, I W ξ is a valid keyword ciphertext. Suppose that the advantage of A 2 wins in the above game is ε , so
            Pr [ ξ = ξ X = a b P ] = 1 2 + ε .
If X a b P , then I W ξ is an invalid keyword ciphertext. A 2 has no advantage in distinguishing ξ = 0 from ξ = 1 . Hence,
            Pr [ ξ = ξ X = a b P ] = 1 2 .
Probability: Let q u , q r , q s be the number of user public key queries, Replace-Public-Key queries, and Secret-Value queries, respectively. The two events are as follows:
π 1 : A 2 did not replace I D u ’s public key P u nor perform the Secret-Value query for I D u .
π 2 : I D u * = I D u .
It is not hard to obtain the following results.
Pr [ π 1 ] = q u q r q s q u ,
Pr [ π 2 π 1 ] = 1 q u q r q s ,
Pr [ B s u c c e s s ] = Pr [ π 1 π 2 ] = 1 q u .
If A 2 has an ε advantage to win the game, then B has a probability greater than ε q u to determine whether X = a b P . □
Theorem 2.
Our CLVPFC-PEKS scheme is CKCA-CIND secure in a standard model if the ECDDDH problem is hard.
Proof. 
Theorem 2 holds from Lemma 1 and Lemma 2. □
Lemma 3.
Assuming the adversary A 1 can win Game 3, then algorithm B can be constructed to solve the ECDDDH problem.
Proof. 
Suppose that the tuple ( P , a P , b P , X ) is an example of an ECDDDH problem. To determine whether X = a b P , B will play the part of the challenger.
Setup: B runs the setup ( 1 k ) program to obtain the public parameters Ω = { F q , E / F q , G q , P , G , H 0 , H 1 , H 2 , P p u b } , where m s k = { x } and P p u b = x P . Then, B randomly selects r u , x C , r C Z q * , and sets
            P u = a P , R u = r u P P C = x C P , R C = r C P ,
            e C = r C + x H 0 ( I D C , R C , P C ) mod q ,
            e u = r u + x H 0 ( I D u , R u , P u ) mod q .
B sends Ω , P K u and P K C to A 1 , but S K u and S K C are unknown to A 1 .
Phase 1: Execute the user’s public key query before other queries using the identity I D i . Set up multiple lists to store the queries and answers. All lists are initially empty.
User public key query: B keeps a list L o of the tuple ( I D i , x i P , r i P , r i ) , and upon receiving an identity I D i , performs the following steps.
Case 1. I D i = I D i , B randomly chooses a number x i Z q * , setting P K i = ( x i P , b P ) , and adds the tuple ( I D i , x i P , x i , b P , ) to the list L o , where ⟡ represents a null value.
Case 2. I D i I D i , B randomly chooses two different numbers x i , r i Z q * , setting P K i = ( x i P , r i P ) , and adds the tuple ( I D i , x i P , r i P , r i ) to the list L o .
Replace-Public-Key query: Same as in Lemma 1.
Secret-Value query: Same as in Lemma 1.
Partial-Private-Key query: B establishes a list L e of tuple ( I D j , e j ) when A 1 asks for the partial private key of I D j . If I D j = I D i , B fails and stops. Otherwise, B finds ( I D j , x j P , r j P , r j ) in the list L o , and runs the Extract-Partial-Private-Key algorithm, generating e j . B outputs e j and adds ( I D j , e j ) to the list L e .
Keyword Ciphertext Query: Same as in Lemma 1.
Keyword Trapdoor Query: Same as in Lemma 1.
Test Query: Same as in Lemma 1.
Challenge: A 1 submits a tuple ( W 0 , W 1 , { I D 1 * , , I D d * } , { P K 1 * , , P K d * } ) , where W 0 = { w 0 , 1 , w 0 , 2 , , w 0 , l } and W 1 = { w 1 , 1 , w 1 , 2 , , w 1 , l } are challenging keywords that are not requested in the previous trapdoor and keyword ciphertext query. If I D i { I D 1 * , I D 2 * , , I D d * } , B aborts. Otherwise, I D i { I D 1 * , I D 2 * , , I D d * } . Without losing generality, it is better to set I D 1 * as I D i . B calculates l 0 * = i = 1 d H 0 ( I D i * , R i * , P i * ) . B picks ξ { 0 , 1 } randomly, and computes
            t = e u i = 1 d P i * + i = 2 d x i * a P + i = 1 d r i * a P + l 0 * x a P + X
B selects an element η ξ R Z q * and sets T W ξ , m + 1 = η ξ P ,
T W ξ , j = l 1 h 2 ( t ) j r = 1 l h 1 ( w ξ , j ) j P + η ξ P C , where 0 j m . Finally, B sends T W ξ = { T w ξ , 0 , T w ξ , 1 , , T w ξ , m , T w ξ , m + 1 } to the adversary A 1 .
Phase 2: Attacker A 1 can continue to execute various queries, but there is a limitation that attacker A 1 is not allowed to query the keyword ciphertext or trapdoor of W 0 or W 1 .
Guess: A 1 returns ξ .
Solve CDH problem: If ξ = ξ , B returns 1, otherwise 0. If X = a b P , then
            t = e u i = 1 d P i * + i = 1 d x i * a P + i = 2 d r i * a P + l 0 * x a P + X
            = ( x u + e u ) P 0 * + i = 2 d r i * a P + x u l 0 * P p u b + a b P
            = ( x u + e u ) P 0 * + x u R 0 * + x u l 0 * P p u b .
Therefore, T W ξ is a valid keyword ciphertext. Suppose that the advantage of A 1 winning in the above game is ε . So,
            Pr [ ξ = ξ X = a b P ] = 1 2 + ε .
If X a b P , then T W ξ is an invalid trapdoor. A 1 has no advantage in distinguishing ξ = 0 from ξ = 1 . Hence,
            Pr [ ξ = ξ X = a b P ] = 1 2 .
Probability: Let q o , q r , and q e be the number of the User public key queries, Replace-Public-Key queries, and Partial-Private-Key queries, respectively. The two events are as follows:
π 1 : A 1 did not replace I D i ’s public key R i and queries the partial-private-key for I D i .
π 2 : I D 1 * = I D i .
It is not hard to obtain the following results.
Pr [ π 1 ] = q o q r q e q o ,
Pr [ π 2 π 1 ] = 1 q o q r q e ,
Pr [ B s u c c e s s ] = Pr [ π 1 π 2 ] = 1 q u .
If A 1 wins Game 1 with an advantage of ε , then B has a probability greater than ε q o to determine whether X = a b P . □
Lemma 4.
Assuming that adversary A 2 can win Game 4, then algorithm B can be constructed to solve the ECDDDH problem.
Proof. 
Suppose that the tuple ( P , a P , b P , X ) is an example of an ECDDDH problem. To determine whether X = a b P , B will play the part of the challenger.
Setup: B runs the setup ( 1 k ) program to obtain the public parameters Ω = { F q , E / F q , G q , P , G , H 0 , H 1 , H 2 , P p u b } , where m s k = { x } and P p u b = x P . Then, it randomly selects x u , x C , r C Z q * , and sets
            P u = x u P , R u = a P P C = x C P , R C = r C P ,
            e C = r C + x H 0 ( I D C , R C , P C ) mod q ,
            e u = a + x H 0 ( I D u , R u , P u ) mod q
B sends Ω , P K u , and ( P K , S K ) to A 2 , while S K u are unknown to A 2 .
Phase 1: Execute the user’s public key query before other queries using the identity I D i . Set up multiple lists to store the queries and answers. All lists are initially empty.
User public key query: B keeps a list L o of the tuple ( I D i , x i P , r i P , r i ) , and upon receiving an identity I D i , performs the following steps.
Case 1. I D i = I D i , B randomly chooses a number r i Z q * , setting P K i = ( b P , r i P ) , and adds the tuple ( I D i , b P , , r i P , r i ) to the list L o , where ⟡ represents a null value.
Case 2. I D i I D i , B randomly chooses two different numbers, x i , r i Z q * , setting P K i = ( x i P , r i P ) , and adds the tuple ( I D i , x i P , r i P , r i ) to the list L o .
Replace-Public-Key query: Same as in Lemma 1.
Secret-Value query: B establishes a list L s of tuple ( I D j , x j ) . When A 2 asks the secret value of I D j , if I D j = I D i , B fails and stops. Otherwise, B finds ( I D j , x j P , r j P , r j ) in the list L o , and returns x j . If P K j is replaced, B refuses to answer.
Partial-Private-Key query: Same as in Lemma 2.
Keyword Ciphertext Query: Same as in Lemma 1.
Keyword Trapdoor Query: Same as in Lemma 1.
Test Query: Same as in Lemma 1.
Challenge: A 2 submits a tuple ( W 0 , W 1 , { I D 1 * , , I D d * } , { P K 1 * , , P K d * } ) , where W 0 = { w 0 , 1 , w 0 , 2 , , w 0 , l } and W 1 = { w 1 , 1 , w 1 , 2 , , w 1 , l } are challenging keywords not requested in the previous trapdoor and keyword ciphertext query. If I D i { I D 1 * , I D 2 * , , I D d * } , B aborts. Otherwise, without losing generality, it is better to set I D 1 * as I D i . B calculates l 0 * = i = 1 d H 0 ( I D i * , R i * , P i * ) . B picks ξ { 0 , 1 } randomly, and computes
            t = x u i = 1 d P i * + i = 2 d x i * a P + l u x i = 1 d P i * + i = 1 d r i * a p + x u l 0 * P p u b + X
B selects an element η ξ R Z q * and sets T W ξ , m + 1 = η ξ P ,
T W ξ , j = l 1 h 2 ( t ) j r = 1 l h 1 ( w ξ , j ) j P + η ξ P C , where 0 j m . Finally, B sends T W ξ = { T w ξ , 0 , T w ξ , 1 , , T w ξ , m , T w ξ , m + 1 } to adversary A 2 .
Phase 2: Attacker A 2 can continue to execute various queries, but there is a limitation that attacker A 2 is not allowed to query the keyword ciphertext or trapdoor of W 0 or W 1 .
Guess: A 2 returns ξ .
Solve CDH problem: If ξ = ξ , B returns 1, otherwise 0. If X = a b P , then
            t = x u i = 1 d P i * + i = 2 d x i * a P + l u x i = 1 d P i * + i = 1 d r i * a P + x u l 0 * P p u b + X
            = x u P 0 * + i = 2 d x i * a P + l u x i = 1 d P i * + x u R 0 * + x u l 0 * P p u b + a b P
            = x u P 0 * + i = 1 d x i * a P + l u x i = 1 d P i * + x u R 0 * + x u l 0 * P p u b
            = x u P 0 * + ( a + l u x ) i = 1 d P i * + x u R 0 * + x u l 0 * P p u b
            = ( x u + e u ) P 0 * + x u R 0 * + x u l 0 * P p u b .
Therefore, T W ξ is a valid keyword ciphertext. Suppose that the advantage of A 2 winning the above game is ε . So,
            Pr [ ξ = ξ X = a b P ] = 1 2 + ε .
If X a b P , then T W ξ is an invalid keyword ciphertext. A 2 has no advantage in distinguishing ξ = 0 from ξ = 1 . Hence,
            Pr [ ξ = ξ X = a b P ] = 1 2 .
Probability: Let q o , q r , and q s be the number of user public key queries, Replace-Public-Key queries, and Secret-Value queries, respectively. The two events are as follows:
π 1 : A 2 did not replace I D i ’s public key P i and queries the secret value for I D i .
π 2 : I D 1 * = I D i .
It is not hard to obtain the following results.
Pr [ π 1 ] = q o q r q e q u ,
Pr [ π 2 π 1 ] = 1 q o q r q e ,
Pr [ B s u c c e s s ] = Pr [ π 1 π 2 ] = 1 q u .
If A 2 wins Game 4 with an advantage of ε , then B has a probability greater than ε q o to determine whether X = a b P . □
Theorem 3.
Our CLVPFC-PEKS scheme is CKA-TIND safe in the standard model if the ECDDDH problem is hard.
Proof. 
Theorem 3 holds from Lemma 3 and Lemma 4. □
Theorem 4.
Under the ECDLP assumption, it is not computationally feasible for the CSS to forge valid proof information through the result verification mechanism.
Proof. 
The malicious CSS cannot forge a valid multi-signature on each returned record and pass the verification. Since it does not have the key of multiple data owners, it is computationally infeasible to forge a valid multi-signature. Therefore, the malicious CSS can only win the next security game by directly generating valid proof information according to the wrong search result C * instead of winning the next security game by forging multiple signatures. But, after the following analysis, this is also impossible.
Assume that the correct keyword ciphertext and its identity are C = { c 1 , c 2 , , c n } and s i g = { s i g 1 , , s i g n } , where s i g t = { Y t , V t } . The malicious CSS may forge wrong proof information ( ϕ 1 * , ϕ 2 * ) on false search results C * = { c k 1 * , c k 2 * , , c k s * } , where
            ϕ 1 * = τ = 1 s H 1 ( c k τ * , i d k τ * , Y k τ , P 0 ) ,
            ϕ 2 * = τ = 1 s H 1 ( c k τ * , i d k τ * , Y k τ , Q 0 ) .
If the forged proof information ( ϕ 1 * , ϕ 2 * ) can successfully pass the result verification mechanism, the malicious CSS will win the security game; otherwise, it will fail. Suppose a malicious CSS wins the game. We then know that
σ P = τ = 1 s Y k τ + ϕ 1 * P 0 + ϕ 2 * Q 0
The proof information of the correct keyword ciphertext C is ( ϕ 1 , ϕ 2 ) , where
            ϕ 1 = τ = 1 s H 1 ( c k τ , i d k τ , Y k τ , P 0 ) ,
            ϕ 2 = τ = 1 s H 2 ( c k τ , i d k τ , Y k τ , Q 0 ) .
The signature of the correct keyword ciphertext can pass the verification mechanism, so we have
σ P = τ = 1 s Y k τ + ϕ 1 P 0 + ϕ 2 Q 0
Subtract equation (2) from equation (3) to obtain
( ϕ 1 ϕ 1 * ) P 0 = ( ϕ 2 * ϕ 2 ) Q 0
Because ( ϕ 1 , ϕ 2 ) is not equal to ( ϕ 1 * , ϕ 2 * ) , then ϕ 1 ϕ 1 * or ϕ 2 ϕ 2 * . Set ϕ 1 = ϕ 1 ϕ 1 * , ϕ 2 = ϕ 2 ϕ 2 * , then ϕ 1 0 or ϕ 2 0 . Suppose ϕ 1 is not zero, then P 0 = ϕ 2 ϕ 1 Q 0 . If the probability of ϕ 1 = 0 is 1 q , then the probability that we can break the ECDLP problem is 1 1 q , where q is the length of G q . This means that if the malicious CSS can pass the verification, we can break the ECDLP problem. □

7. Performance Analysis

We will compare our scheme in depth with other certificateless-based or verifiable search schemes on computational complexity, storage overhead, and security.

7.1. Security Comparison

Table 3 details the comparison of our scheme with other schemes in terms of security, where RCCA denotes that the scheme resists the chosen ciphertext attack, ROFFKGA stands for resists the offline keyword guessing attack, RONKGA stands for resists the online keyword guessing attack, RIKGA denotes that the scheme protects against the insider keyword guessing attack, VER denotes that the scheme prevents malicious CSSs from returning incorrect search results, and PM denotes the model used for the proof. In Table 3, yes indicates that the scheme satisfies the property, no implies that it does not meet the property, unknown denotes that it is unknown (the scheme has neither been proven safe nor unsafe because of the lack of security proof), and “-” means that the scheme does not have the feature.
It is clear from Table 3 that our solution has significant security advantages. Specifically, Theorem 2 shows that the new scheme is resistant to the adaptive keyword selection attack in the standard model, i.e., the new scheme is ciphertext-indistinguishable. Theorem 3 shows that our scheme is secure against offline keyword-guessing attacks in the standard model. Theorem 4 shows that our scheme prevents malicious CSSs from returning incorrect search results. Wu et al. [55] constructed a PEKS scheme that can resist online keyword attacks and insider keyword guessing attacks based on the security of the Diffie–Hellman shared secret key. The new scheme’s shared key t = ( x 0 + e 0 ) P u + x 0 R u + x 0 l u P p u b = ( x u + d u ) P 0 + x u R 0 + x u l 0 P p u b is only accessible to the DOs and retrievers. Therefore, any third party other than the retriever and the DO, including external attackers and malicious internal servers, cannot generate the correct keyword trapdoor and ciphertext. In other words, our scheme can resist online and insider keyword-guessing attacks.
Lu et al. [44] demonstrated that if an attacker can generate keyword ciphertext using the public keys of the CSS and the retriever, then they can perform an online keyword-guessing attack on PEKS schemes. Later, Shao et al. [47] pointed out that if the SCF-PEKS scheme can generate keyword ciphertext with only the public keys of the CSS, DO, and retriever, while the insider attacker (malicious CSS) can run both the keyword encryption algorithm and the test algorithm, then the insider attacker can try online keyword guessing attacks on SCF-PEKS scheme. Since the keyword ciphertexts in schemes [12,13,15,17,19] are all generated using public keys, all of them are insecure against insider keyword-guessing attacks and online keyword-guessing attacks.
PEKS schemes typically use keywords selected from a low-entropy keyword space. Therefore, based on this characteristic, offline keyword-guessing attacks can be launched naturally [41]. By performing this attack, any insider/outsider attacker can correctly guess the keywords in a given keyword trapdoor using a testing algorithm. Construct E = i = 1 t H ( W i ) , where W i is the guessed keyword set. Verify that the equation e ( T 2 , E g + P K s . 1 ) = e ( e ( P K C , 2 , T 1 ) t , g ) holds. If the above equation is equal, the keyword set W i contained in T 2 in the trapdoor is the same as the guessed keyword set W i . Therefore, the scheme in [13] is insecure under offline keyword attacks. According to a similar construction idea, the schemes in [12,13,16,19] are also insecure under offline keyword-guessing attacks.
From the above analysis and the security proof in Section 4, we can see that our scheme is resistant to offline keyword guessing attacks and keyword selection attacks in the standard model. Secondly, based on the security of the Diffie–Hellman shared secret key, our scheme is also secure against insider and online keyword-guessing attacks. In other words, of all the schemes, ours is the safest.

7.2. Computational Overhead Comparison

Next, we compare the computational complexity. To compare the computational complexity, we use the operation time of He et al.’s scheme [56] as the benchmark. He et al. tested the time required for the relevant operations in the experimental environment of Samsung Galaxy S5 based on the Android 4.4.2 operating system, quad-core 2.45 G processor, and 2G byte memory. Table 4 shows the exact running time and symbols of the various operations. The mapping e : G 1 × G 1 G 2 is a bilinear pair, where G 1 is an additive group of singular elliptic curves of order p defined on a finite field F q , and G 2 is a multiplicative group of order p. The lengths of p and q are 512 bits and 160 bits, respectively. G is an additive group of non-singular elliptic curves of order q defined on the prime finite field F q . The length of p and q is 160.
Because no SE scheme requires pairing and supports conjunctive keywords, we selected five SE schemes with similar functionalities for comparison. The results are shown in Table 5. Because each scheme has different settings, making direct horizontal comparisons is difficult. To ensure objectivity, we have established uniform parameter standards for comparison. The details are as follows: we assume that there are d data owners, u data consumers, n ciphertexts, m keywords contained in the keyword ciphertexts, l keywords contained in the trapdoors, and s keywords contained in the keyword ciphertexts obtained after the query. For algorithms that are not involved, we mark them with “-” in Table 5.
The data presented in Table 5 are theoretical calculations, but to more accurately evaluate the actual performance of our solution, we also need to simulate real-world scenarios. In the real world, there is a larger dataset and more participants. Therefore, it is worthwhile to set the number of ciphertexts from 1 to 100,000 ( n [ 1 , 100000 ] ), the number of data owners (d), the number of keywords contained in trapdoors (l), and the number of data ciphertexts contained in query results (s) from 1 to 10,000.
The KeyGen algorithm’s computational overhead for VCKSM [14], VMKS [16], and our scheme is affected by d and u, while the computational overhead of VCSE [13] is only affected by d. This is because the VCSE scheme’s signing is performed with the system’s private key and does not utilize the user’s private key. Additionally, the computational overhead of VMKDO [15] is only influenced by u, as the keyword encryption of VCSE [13] is performed using the CSS’s public key and not the user’s public key. For comparison, assume d = u . Figure 3a illustrates that VMKS [16] has a much higher computational overhead in KeyGen compared to the other schemes. Our scheme and VMKDO [15] have roughly equal computational overhead in KeyGen and outperform the others.
In Figure 3b, we evaluate the computational burden of the Enc algorithm in these schemes by varying the number of ciphertexts from 1 to 100,000 ( n [ 1 , 100000 ] ), assuming u = d = 100 and m = n . The computational overhead of the Enc algorithm for all the schemes almost increases with the number of n. Note that the mCLPECK [17] scheme has a much higher computational overhead in the Enc algorithm than the other schemes; our scheme and the VCSM [13] scheme have roughly equal computational overheads in the Enc algorithm, and both outperform the others.
In the Trap algorithm, the computational overhead of the VCKSM [14] scheme with the mCLPECK [17] scheme is affected by l, and both grow linearly with l, whereas the computational overheads of the other schemes are fixed values. In Figure 3c, we evaluate the computational burden of the Trap algorithm by varying the number of keywords included in the trapdoor from 1 to 10,000 ( l [ 1 , 10000 ] ). Note that the computational overheads of the VMKS scheme and the mCLPECK [17] scheme in the Trap algorithm are much higher than those of the other schemes; the computational overheads of our scheme and the VCSM [13] scheme in the Trap algorithm are roughly equal, and both outperform the others.
In the Search algorithm, the computational overhead of the VCKSM [14] scheme and our scheme is affected by n and m, while the other schemes are only affected by n. In Figure 3d, for ease of discussion, we assume m = n and evaluate the computational burden of the Search algorithm by varying the number of data owners from 1 to 10,000 ( d [ 1 , 10 , 000 ] ). It can be seen that the computational overhead of all schemes almost always increases with n. Note that the computational overhead of the VCKSM [14] scheme with our scheme in the Search algorithm is slightly higher than that of the other schemes, which are roughly equal.
In the Verify algorithm, the computational overhead of all schemes except ours is affected by s. The computational overhead of our scheme is a fixed value, and the other schemes grow linearly with s. In Figure 3e, we evaluate the computational overhead of the Verify algorithm by varying the number of data ciphers contained in the query results from 1 to 10,000 ( s [ 1 , 10 , 000 ] ). Note that the computational overhead of the VCSE [13] scheme in Verify’s algorithm is higher than that of the other schemes, while the computational overhead of our scheme is fixed. As l1 becomes larger, our scheme is more advantageous.
To sum up, except for the Search algorithm, our scheme has a lower storage cost in the KeyGen, Trap, and Verify algorithms than the other five schemes, among which our scheme has a much lower storage cost in the Verify algorithm than the other schemes. Considering the storage costs of all algorithms, our solution has the lowest storage cost of all solutions.

7.3. Storage Cost Comparison

Below, we compare storage costs. Let | G 1 | , | G 2 | , | G | , and | Z q | represent the sizes of elements in G 1 , G 2 , G, and Z q , respectively. Then | G 1 | = G 2 = 512 bytes, | G | = 160 bytes, and | Z q | = 160 bytes. If the conjunctive keyword-searchable encryption scheme has no verification function, fewer signatures for the keyword ciphertext will be stored. Therefore, we select only verifiable conjunctive-keyword-searchable encryption schemes to compare the size of storage costs. Table 6 illustrates the comparison results.
In the KeyGen algorithm, the storage costs of VCKSM [14], VMKS [16], and our scheme are all affected by d and u, while the storage cost of the VCSE scheme is only affected by d and the storage cost of VMKDO [15] is only affected by u. For the sake of discussion, we assume d = u . So, the storage cost for all scenarios grows linearly with u. Since | Z q | = | G | = 1 2 | G 1 | , | G 2 | = | G 1 | , our solution has the lowest storage cost of all.
In the Trap algorithm, the storage cost of VCKSM [14] and our scheme is affected by m1, while the storage cost of VMKS [16], VCSE [13], and VMKDO [15] is affected by l. For the sake of discussion, we assume l = m . Then, all the above schemes increase linearly with m. Since | Z q | = | G | = 1 2 | G 1 | , | G 2 | = | G 1 | , our solution, VCSE [13], and VMKDO [15] are approximately the same and much lower than VCKSM [14] and VMKS [16].
In the Search algorithm, the storage cost of VCKSM [14] and our scheme is affected by m, the storage cost of VMKS [16] is only affected by l, and the storage cost of VCSE [13] and VMKDO [15] is a fixed value. For the sake of discussion, we assume l = m . Then, VCKSM [14], VMKS [16], and our scheme increase linearly with l. Because | Z q | = | G | = 1 2 | G 1 | , | G 2 | = | G 1 | , VCKSM [14], and VMKS [16] have the highest storage costs, our solution is second, and VCSE [13] and VMKDO [15] have the lowest storage cost.
In the Search algorithm, the storage costs of VCKSM [14] and our scheme are affected by m, the storage cost of VMKS [16] is only affected by l, and the storage costs of VCSE [13] and VMKDO [15] are fixed. For the sake of discussion, let us assume l = m . Then, VCKSM [14], VMKS [16], and our scheme all increase linearly with l. Because | Z q | = | G | = 1 2 | G 1 | , | G 2 | = | G 1 | , VCKSM [14] and VMKS [16] have the highest storage costs, our solution is second, and VCSE [13] and VMKDO [15] have the lowest storage cost. In the Verify algorithm, the storage cost of all schemes except ours is affected by s. Therefore, the storage cost of their solutions increases linearly with s, and the storage cost of our solution is a fixed value. As a result, our solution has significantly lower storage costs than others.
To sum up, except for the Search algorithm, our scheme has a lower storage cost in all the algorithms (KeyGen, Trap, and Verify) than the other five schemes, among which our scheme has a much lower storage cost in the Verify algorithm than the other schemes. Considering the storage costs of all algorithms, our solution has the lowest storage cost of all solutions.

7.4. Comparison of Communication Costs

Finally, we compare the communication costs. If the conjunctive keyword-searchable encryption scheme has no verification function, the communication cost does not need to consider the signature communication cost in the communication cost. Therefore, we only select the conjunctive keyword-searchable encryption schemes that support verifiability for comparison. Table 7 shows the comparison results.
As shown in Table 7, our scheme has the shortest signature length. The signature lengths of the other schemes are the same. VMKS [16] and VMKDO [15] have the longest index lengths because they are at least 5 bytes larger than the other schemes. The index lengths of the others are roughly the same. The trapdoor lengths of VCKSM [14] are the longest, followed by our scheme, and the shortest is of the VMKDO [15] scheme. Assuming m = n , we compare the total communication cost of these schemes in Figure 3(f). According to Figure 3f, the total communication cost of our scheme is lower than the total communication cost of all schemes.
Overall, our solution is more efficient than others in computation, storage, and communication. Most importantly, it excels in security.

8. Conclusions

This article proposes a novel certificateless, verifiable, bilinear, pair-free, conjunctive keyword search encryption scheme (CLVPFC-PEKS), aiming to provide a secure and efficient data search method for the Internet of Things healthcare (IoMT) field. Our solution solves the problems in existing public key searchable encryption technologies, such as low computational efficiency and susceptibility to keyword guessing attacks. We have demonstrated under the standard model that the CLVPFC-PEKS scheme can resist both choosen keyword and ciphertext attacks and offline keyword guessing attacks, and based on the security of the Diffie–Hellman shared secret key to demonstrate that the CLVPFC-PEKS scheme can resist online/internal keyword guessing attacks. In addition, we also conducted a detailed analysis of the performance of the scheme. The results indicate that our scheme has significant advantages in terms of security, computational complexity, storage overhead, and communication costs compared to existing schemes. Overall, our solution provides a new solution for secure and efficient data search in the medical Internet of Things, meeting the urgent needs for data security and privacy protection.

Author Contributions

Methodology, W.L.; Formal analysis, W.L.; Data curation, Y.W. and H.Z.; Writing—original draft, W.L.; Writing—review & editing, W.L.; Visualization, Y.W. and Y.G.; Supervision, J.Z. All authors have read and agreed to the published version of the manuscript.

Funding

This paper was supported by the National Natural Science Foundation of China (No.61962011); the Guiyang City Science and Technology Plan Project (No.[2021]43-8); Guizhou Normal University Academic New Seedling Fund Project (QianShiXinMiao[2021]B09).

Data Availability Statement

Data are contained within the article.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Iera, L.A.; Morabito, G. The Internet of Things: A survey. Comput. Netw. 2010, 54, 2787–2805. [Google Scholar] [CrossRef]
  2. Zanella, A.; Bui, N.; Castellani, A.; Vangelista, L.; Zorzi, M. Internet of Things for Smart Cities. IEEE Internet Things J. 2014, 1, 22–32. [Google Scholar] [CrossRef]
  3. Bellavista, P.; Cardone, G.; Corradi, A.; Foschini, L. Convergence of MANET and WSN in IoT Urban Scenarios. IEEE Sens. J. 2013, 13, 3558–3567. [Google Scholar] [CrossRef]
  4. He, D.J.; Ye, R.; Chan, S.; Guizani, M.; Xu, Y.P. Privacy in the Internet of Things for Smart Healthcare. IEEE Commun. Mag. 2018, 56, 38–44. [Google Scholar] [CrossRef]
  5. Chen, Y.; Lu, J.; Jan, J. A Secure EHR System Based on Hybrid Clouds. J. Med. Syst. 2012, 36, 3375–3384. [Google Scholar] [CrossRef]
  6. Jagadeeswari, V.; Subramaniyaswamy, V.; Logesh, R.; Vijayakumar, V. A study on medical Internet of Things and Big Data in personalized healthcare system. Health Inf. Sci. Syst. 2018, 6, 14. [Google Scholar] [CrossRef] [PubMed]
  7. Wagner, D.X.S.; Perrig, A. Practical Techniques for Searches on Encrypted Data. In Proceedings of the IEEE Symposium on Security & Privacy, Berkeley, CA, USA, 12–15 May 2002; pp. 44–55. [Google Scholar]
  8. Li, M.; Yu, S.; Ren, K.; Lou, W. Securing personal health records in cloud computing: Patient-centric and fine-grained data access control in multi-owner settings. In Proceedings of the ICST Conference Security and Privacy in Communication Networks PP, Singapore, 7–9 September 2010; pp. 89–106. [Google Scholar] [CrossRef]
  9. Wang, B.Y.; Li, H.; Liu, X.F.; Li, X.Q.; Li, F.H. Preserving identity privacy on multi-owner cloud data during public verification. Secur. Commun. Netw. 2014, 7, 2104–2113. [Google Scholar] [CrossRef]
  10. Miao, Y.; Liu, X.; Raymond Choo, K.; Deng, R.H.; Li, J.; Li, H.; Ma, J. Privacy-Preserving Attribute-Based Keyword Search in Shared Multi-owner Setting. IEEE Depend. Secur. 2021, 18, 1080–1094. [Google Scholar] [CrossRef]
  11. Padhya, M.; Jinwala, D.C. CRSQ-KASE: Key Aggregate Searchable Encryption Supporting Conjunctive Range and Sort Query on Multi-owner Encrypted Data. Arab. J. Sci. Eng. 2020, 45, 3133–3155. [Google Scholar] [CrossRef]
  12. Hwang, M.; Hsu, H.T.; Lee, C.C. A New Public Key Encryption with Conjunctive Field Keyword Search Scheme. Inf. Technol. Control. 2014, 43, 277–288. [Google Scholar] [CrossRef]
  13. Miao, Y.; Ma, J.; Wei, F.; Liu, Z.; Wang, X.A.; Lu, C. VCSE: Verifiable conjunctive keywords search over encrypted data without secure-channel. Peer Netw. 2017, 23, 995–1007. [Google Scholar] [CrossRef]
  14. Miao, Y.; Ma, J.; Liu, X.; Jiang, Q.; Zhang, J.; Shen, L.; Liu, Z. VCKSM: Verifiable conjunctive keyword search over mobile e-health cloud in shared multi-owner settings. Pervasive Mob. Comput. 2017, 40, 205–219. [Google Scholar] [CrossRef]
  15. Miao, Y.; Ma, J.; Liu, X.; Liu, Z.; Wei, F. VMKDO: Verifiable multi-keyword search over encrypted cloud data for dynamic data-owner. Peer Netw. Appl. 2018, 11, 287–297. [Google Scholar] [CrossRef]
  16. Miao, Y.; Weng, J.; Liu, X.; Choo, K.R.; Liu, Z.; Li, H. Enabling verifiable multiple keywords search over encrypted cloud data. Inform. Sci. 2018, 465, 21–37. [Google Scholar] [CrossRef]
  17. Fan, M.M.M.Q.; Feng, D.G. Multi-user certificateless public key encryption with conjunctive keyword search for cloud-based telemedicine. J. Inf. Secur. Appl. 2020, 55, 102652. [Google Scholar] [CrossRef]
  18. Wu, L.; Zhang, Y.; Ma, M.; Kumar, N.; He, D. Certificateless searchable public key authenticated encryption with designated tester for cloud-assisted medical Internet of Things. Ann. Telecommun. 2019, 74, 423–434. [Google Scholar] [CrossRef]
  19. Wang, Y.L.; Li, J.G. Keyword guessing attacks on a public key encryption with keyword search scheme without random oracle and its improvement. Inform. Sci. 2019, 479, 270–276. [Google Scholar] [CrossRef]
  20. Liu, X.; Sun, Y.; Dong, H. A pairing-free certificateless searchable public key encryption scheme for IoMT. J. Syst. Architect. 2023, 139, 102885. [Google Scholar] [CrossRef]
  21. Senouci, M.R.; Benkhaddra, I.; Senouci, A.; Li, F.G. A provably secure free-pairing certificateless searchable encryption scheme. Telecommun. Syst. 2022, 80, 383–395. [Google Scholar] [CrossRef]
  22. Hu, Z.Y.; Deng, L.Z.; Wu, Y.Y.; Shi, H.Y.; Gao, Y. Secure and Efficient Certificateless Searchable Authenticated Encryption Scheme without Random Oracle for Industrial Internet of Things. IEEE Syst. J. 2023, 17, 1304–1315. [Google Scholar] [CrossRef]
  23. Boneh, D.; Crescenzo, G.D.; Ostrovsky, R.; Persiano, G. Public Key Encryption with Keyword Search. In Advances in Cryptology; Springer: Berlin/Heidelberg, Germany, 2004; pp. 506–522. [Google Scholar] [CrossRef]
  24. Safiavinaini, J.B.; Susilo, W. Public Key Encryption with Keyword Search Revisited. In Proceedings of the International Conference on Computational Science and Its Applications (ICCSA 2008), Perugia, Italy, 30 June–3 July 2008; pp. 1249–1259. [Google Scholar]
  25. Rhee, H.S.; Park, J.H.; Susilo, W.; Lee, D.H. Improved searchable public key encryption with designated tester. In Proceedings of the International Symposium on Information, Seoul, Republic of Korea, 28 June–3 July 2009; p. 376. [Google Scholar]
  26. Al-Riyami, S.S.; Paterson, K.G. Certificateless Public Key Cryptography. In Advances in Cryptology—ASIACRYPT 2003; Lecture Notes in Computer Science (LNCS, Volume 2894); Laih, C.S., Ed.; Springer: Berlin/Heidelberg, Germany, 2003; pp. 452–473. [Google Scholar]
  27. Xu, P.; Jin, H.; Wu, Q.; Wang, W. Public-Key Encryption with Fuzzy Keyword Search: A Provably Secure Scheme under Keyword Guessing Attack. IEEE Trans. Comput. 2013, 62, 2266–2277. [Google Scholar] [CrossRef]
  28. He, D.; Ma, M.; Zeadall, S.; Kumar, N.; Liang, K. Certificateless Public Key Authenticated Encryption with Keyword Search for Industrial Internet of Things. IEEE Trans. Ind. Inform. 2018, 14, 3618–3627. [Google Scholar] [CrossRef]
  29. Ma, M.; He, D.; Khurram Khan, M.; Chen, J. Certificateless searchable public key encryption scheme for mobile healthcare system. Comput. Electr. Eng. 2018, 65, 413–424. [Google Scholar] [CrossRef]
  30. Ma, M.; He, D.; Fan, S.; Feng, D. Certificateless searchable public key encryption scheme secure against keyword guessing attacks for smart healthcare. J. Inf. Secur. Appl. 2020, 50, 102429. [Google Scholar] [CrossRef]
  31. Golle, P.; Stadon, J.; Waters, B. Secure Conjunctive Keyword Search over Encrypted Data. In Applied Cryptography and Network Security; Jakobsson, M., Yung, M., Zhou, J., Eds.; Springer: Berlin/Heidelberg, Germany, 2004; pp. 31–45. [Google Scholar]
  32. Hwang, Y.H.; Lee, P.J. Public Key Encryption with Conjunctive Keyword Search and Its Extension to a Multi-User System. In Pairing-Based Cryptography—Pairing 2007; Lecture Notes in Computer Science (LNSC, Volume 4575); Springer: Berlin/Heidelberg, Germany, 2007; p. 2. [Google Scholar]
  33. Yang, Y.; Ma, M.D. Conjunctive Keyword Search With Designated Tester and Timing Enabled Proxy Re-Encryption Function for E-Health Clouds. IEEE Inf. Foren. Sec. 2016, 11, 746–759. [Google Scholar] [CrossRef]
  34. Heng, S.H.; Kurosawa, K. K-Resilient Identity-Based Encryption in the Standard Model. In Topics in Cryptology—CT-RSA 2004 2964; Lecture Notes in Computer Science (LNCS, Volume 2964); Okamoto, T., Ed.; Springer: Berlin/Heidelberg, Germany, 2004; pp. 67–80. [Google Scholar]
  35. Khader, D. Public Key Encryption with Keyword Search Based on K-Resilient IBE. In Computational Science and Its Applications—ICCSA 2006; Lecture Notes in Computer Science (LNTCS, Volume 3982); Gavrilova, M., Ed.; Springer: Berlin/Heidelberg, Germany, 2006; pp. 298–308. [Google Scholar]
  36. Xu, H.M.Y.X.; Zhao, H.T. An Efficient Public Key Encryption with Keyword Scheme Not Using Pairing. In Proceedings of the First International Conference on Instrumentation, Nagpur, Maharashtra, India, 21–22 April 2011. [Google Scholar]
  37. Vallent, T.F.; Kim, H. A Pairing-Free Public Key Encryption with Keyword Searching for Cloud Storage Services. In e-Infrastructure and e-Services for Developing Countries; Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering (LNICST, Volume 135); Springer: Berlin/Heidelberg, Germany, 2014; p. 70. [Google Scholar]
  38. Yang, N.; Xu, S.; Quan, Z. An Efficient Public Key Searchable Encryption Scheme for Mobile Smart Terminal. IEEE Access 2020, 8, 77940–77950. [Google Scholar] [CrossRef]
  39. Lu, Y.; Li, J. Constructing pairing-free certificateless public key encryption with keyword search. Front. Inf. Technol. Electron. Eng. 2019, 20, 1049–1060. [Google Scholar] [CrossRef]
  40. Ma, M.; Luo, M.; Fan, S.; Feng, D. An Efficient Pairing-Free Certificateless Searchable Public Key Encryption for Cloud-Based IIoT. Wirel. Commun. Mob. Com. 2020, 2020, 8850520. [Google Scholar] [CrossRef]
  41. Byun, J.W.; Rhee, H.S.; Park, H.A.; Lee, D.H. Off-line keyword guessing attacks on recent keyword search schemes over encrypted data. In Secure Data Management; Lecture Notes in Computer Science (LNISA, Volume 4165); Jonker, W., Petkovic, M., Eds.; Springer: Berlin/Heidelberg, Germany, 2006; pp. 75–83. [Google Scholar]
  42. Lin, X.J.; Sun, L.; Qu, H.P.; Liu, D.X. On the Security of Secure Server-Designation Public Key Encryption with Keyword Search. Comput. J. 2018, 61, 1791–1793. [Google Scholar] [CrossRef]
  43. Huang, Q.; Li, H.B. An efficient public-key searchable encryption scheme secure against inside keyword guessing attacks. Inform. Sci. 2017, 403, 1–14. [Google Scholar] [CrossRef]
  44. Wang, Y.L.; Li, J. On Security of a Secure Channel Free Public Key Encryption with Conjunctive Field Keyword Search Scheme. Inf. Technol. Control 2018, 47, 56–62. [Google Scholar] [CrossRef]
  45. Jeong, I.R.; Kwon, J.O.; Hong, D.; Lee, D.H. Constructing PEKS schemes secure against keyword guessing attacks is possible? Comput. Commun. 2009, 32, 394–396. [Google Scholar] [CrossRef]
  46. Wang, B.J.; Chen, T.H.; Jeng, F.G. Security Improvement against Malicious Servers in dPEKS Scheme. Int. J. Inf. Educ. Technol. 2011, 1, 4. [Google Scholar]
  47. Shao, Z.Y.; Yang, B. On security against the server in designated tester public key encryption with keyword search. Inform. Process. Lett. 2015, 115, 957–961. [Google Scholar] [CrossRef]
  48. Chai, Q.; Gong, G. Verifiable symmetric searchable encryption for semi-honest-but-curious cloud servers. In Proceedings of the IEEE International Conference on Communications, Ottawa, ON, Canada, 10–15 June 2012. [Google Scholar]
  49. Sun, W.; Liu, X.; Lou, W.; Hou, Y.T.; Li, H. Catch You If You Lie to Me: Efficient Verifiable Conjunctive Keyword Search over Large Dynamic Encrypted Cloud Data. In Proceedings of the 34th IEEE Conference on Computer Communications (INFOCOM), Hong Kong, China, 26 April–1 May 2015. [Google Scholar]
  50. Ismail, M.; Abd El-Gawad, A.F. Revisiting Zero-Trust Security for Internet of Things. Sustain. Mach. Intell. J. 2023, 3. [Google Scholar] [CrossRef]
  51. Alenizi1, J.A.; Alrashdi, I. SFMR-SH: Secure Framework for Mitigating Ransomware Attacks in Smart Healthcare Using Blockchain Technology. Sustain. Mach. Intell. J. 2023, 2, 1–19. [Google Scholar] [CrossRef]
  52. Hu, C.; Liu, P. An Enhanced Searchable Public Key Encryption Scheme with a Designated Tester and Its Extensions. J. Comput. 2012, 7, 716–723. [Google Scholar] [CrossRef]
  53. Rhee, H.S.; Park, J.H.; Susilo, W.; Lee, D.H. Trapdoor security in a searchable public-key encryption scheme with a designated tester. Syst. Softw. 2010, 83, 763–771. [Google Scholar] [CrossRef]
  54. Fang, L.; Susilo, W.; Ge, C.; Wang, J. Public key encryption with keyword search secure against keyword guessing attacks without random oracle. Inform. Sci. 2013, 238, 221–241. [Google Scholar] [CrossRef]
  55. 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]
  56. He, D.B.; Wang, H.Q.; Wang, L.N.; Shen, J.; Yang, X.Z. Efficient certificateless anonymous multi-receiver encryption scheme for mobile devices. Soft Comput. 2017, 21, 6801–6810. [Google Scholar] [CrossRef]
Figure 1. System model of IoMT.
Figure 1. System model of IoMT.
Electronics 13 01449 g001
Figure 2. System model of CLVPFC-PEKS.
Figure 2. System model of CLVPFC-PEKS.
Electronics 13 01449 g002
Figure 3. Comparison results. (a) Computational overhead of the KeyGen algorithm. (b) Computational overhead of the Enc algorithm. (c) Computational overhead of the Trap algorithm. (d) Computational overhead of the Search algorithm. (e) Computational overhead of the Verify algorithm. (f) Communication overheads.
Figure 3. Comparison results. (a) Computational overhead of the KeyGen algorithm. (b) Computational overhead of the Enc algorithm. (c) Computational overhead of the Trap algorithm. (d) Computational overhead of the Search algorithm. (e) Computational overhead of the Verify algorithm. (f) Communication overheads.
Electronics 13 01449 g003
Table 1. Functional comparison.
Table 1. Functional comparison.
SchemeSRVCKSCLSCFPFSMO
[12]×××××
VCSE [13]×××
VCKSM [14]××
VMKDO [15]××××
VMKS [16]×××
mCLPECK [17]××××
CL-dPAEKS [18]××××
[19]×××××
[20]×××
[21]×××
[22]×××
ours
SRV: verifiability of search results. CKS: conjunctive keyword search. CL: certificateless-based. SCF: secure-chanel free. PF: pairing-free. SMO: shared multi-owner. ×: not supporting this functionality. : supporting this functionality.
Table 2. Notation descriptions.
Table 2. Notation descriptions.
NotationsDescriptions
xMaster secret key
P p u b System public key
O = { O 1 , O 2 , , O d } Data owner collection
I D i { 0 , 1 } * ( 1 i d ) Identity set for data owner O i
I D C Identity for CSS
I D u Identity for data user
( P K C , S K C ) Public/secret key pair for CSS
( P K O i , S K O i ) Public/secret key pair for data owner O i
( P K u , S K u ) Public/secret key pair for data user
F = { f 1 , f 2 , , f n } File set F
C = { c 1 , c 2 , , c n } Ciphertext set
I D = { i d 1 , i d 2 , , i d n } Identity set for F
W i = { w i 1 , w i 2 , , w i m } Collection of keywords
s i g i , t Data owner O i signature for c t
s i g t Data owners’ multi-signature for c t
S i g = { s i g 1 , s i g 2 , , s i g n } F’s multi-signature
I i Index of f i
I = { I 1 , I 2 , , I n } Index set for F
W = { w 1 , w 2 , , w l } Search keyword set
T W Trapdoor of W
C = { c k 1 , c k 2 , , c k s } Search results
I D = { i d k 1 , i d k 2 , , i d k s } Identity set for C
Table 3. Comparison of security of different schemes.
Table 3. Comparison of security of different schemes.
SchemeRCCAROFFKGARIKGARONKGAVERPM
[12]yesnononounknownSM
VCSE [13]yesnononoyesROM
VCKSM [14]unknownyesunknownunknownyesSM
VMKS [16]yesnounknownunknownyesSM
VMKDO [15]yesyesnonoyesSM
[19]unknownnonono-unknown
mCLPECK [17]yesunknownnono-ROM
oursyesyesyesyesyesSM
Table 4. Symbol definition.
Table 4. Symbol definition.
SymbolsDefinition
T b p Running time required for a bilinear pairing operation, T b p 32.713 ms
T h t p Running time required for a hash-to-operation, T h t p 33.582 ms
T s m Running time required for a scalar multiplication operation in G 1 , T s m 13.405 ms
T exp Running time required for an exponentiation operation in G 2 , T exp 2.249 ms
T s m Running time required for a scalar multiplication operation in G , T s m 3.335 ms
uNumber of data users
dNumber of data owners
mNumber of keywords in index
lNumber of keywords contained in trapdoor
nNumber of ciphertexts
sNumber of search keywords
Table 5. Comparison of calculation complexity of various schemes.
Table 5. Comparison of calculation complexity of various schemes.
SchemeKeyGenEncTrapSearchVerify
VCKSM [14] ( u + d + 1 ) T s m ( 2 n d + n ( m + 2 ) ) T s m + 2 n T exp + 2 n T b p + n T h t p 3 T s m ( n + 3 ) T s m + ( n ( m + 1 ) + 1 ) T b p ( 2 s + 1 ) T s m + s T h t p + 2 T b p
VMKS [16] ( 5 u + 5 d ) T s m + ( u + d ) T h t p n T h t p + ( 6 n + m n ) T s m ( s + 5 ) T s m 4 n T b p ( s + 2 ) T s m + s T h t p + 3 T b p
VCSE [13] ( 2 u + 1 ) T s m n ( m + 2 ) T exp + 3 n T s m + 2 n T b p T s m + T exp 2 n T s m + 3 n T exp + 4 n T b p 2 s T s m + 3 s T exp + 4 s T b p
mCLPECK [17] 2 u T s m 2 u n T s m + 2 n m T exp + 2 n m T h t p 2 s T h t p + 3 T s m 3 n T b p
VMKDO [15] ( d + 1 ) T s m ( 3 n m + 2 n + 3 ) T s m + 3 n T exp + n T h t p + 3 T b p 2 T s m 2 n T s m + 2 n T b p + n T exp ( 2 s + 1 ) T s m + 2 T b p + s T h t p
ours ( 2 d + 2 u + 1 ) T sm [ n d + n ( m + 4 ) ] T s m 6 T s m ( 1 + n + n m ) T s m 3 T s m
Table 6. Storage cost comparison.
Table 6. Storage cost comparison.
SchemeKeyGenTrapSearchVerify
VCKSM [14] ( d + u + 1 ) ( | Z p | + | G 1 | ) + | G 1 | ( m + 2 ) | G 1 | + 2 | Z p | ( m + 3 ) | G 2 | + | G 1 | ( s + 1 ) | Z p | + | G 1 | + 2 | G 2 |
VMKS [16] 2 ( u + d ) ( | Z p | + | G 1 | ) ( l + 5 ) | G 1 | + l | Z p | ( l + 2 ) | G 1 | + 4 | G 2 | ( s + 2 ) | G 1 | + ( s + 1 ) | Z p | + 3 | G 2 |
VCSE [13] ( u + 1 ) ( | Z p | + | G 1 | + | G 2 | ) ( l + 1 ) ( | Z p | + | G 1 | ) + | G 1 | 8 | G 2 | + 2 | G 1 | 2 | Z p | + ( 2 s + 3 ) | G 1 | + 2 | G 2 |
VMKDO [15] ( 2 d + 1 ) | G 1 | + ( d + 1 ) | Z p | | G 1 | + ( l + 1 ) | Z p | 2 | G 1 | + 3 | G 2 | | Z p | + ( 2 s + 1 ) | G 1 | ) + 2 | G 2 |
our ( u + d + 1 ) ( | Z p | + | G | ) ( m + 6 ) | G | ( m + 2 ) | G | 3 | Z p | + 6 | G |
Table 7. Comparison of communication costs.
Table 7. Comparison of communication costs.
SchemeIndex SizeSignature SizeTrapdoor SizeTotal Size
VCKSM [14] n ( m + 2 ) | G 1 | + n | G 2 | n | G 1 | ( m + 2 ) | G 1 | + | Z q * | n ( m + 3 ) | G 1 | + ( m + 2 ) | G 1 | + n | G 2 | + | Z q * |
VMKS [16] n ( m + 4 ) | G 1 | n | G 1 | 5 | G 1 | + | Z q * | n ( m + 5 ) | G 1 | + 5 | G 1 | + | Z q * |
VCSE [13] n ( m + 2 ) | G 2 | n | G 1 | | G 1 | + | G 2 | + | Z q * | n ( m + 2 ) | G 2 | + ( n + 1 ) | G 1 | + | G 2 | + | Z q * |
VMKDO [15] n ( m + 2 ) | G 1 | + 2 n | G 2 | n | G 1 | | G 1 | + 2 | Z q * | n ( m + 3 ) | G 1 | ) + 2 n | G 2 | + | G 1 | + 2 | Z q * |
ours n ( m + 3 ) | G | n | G | ( m + 2 ) | G | n ( m + 4 ) | G | + ( m + 2 ) | G |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Long, W.; Zeng, J.; Wu, Y.; Gao, Y.; Zhang, H. A Certificateless Verifiable Bilinear Pair-Free Conjunctive Keyword Search Encryption Scheme for IoMT. Electronics 2024, 13, 1449. https://doi.org/10.3390/electronics13081449

AMA Style

Long W, Zeng J, Wu Y, Gao Y, Zhang H. A Certificateless Verifiable Bilinear Pair-Free Conjunctive Keyword Search Encryption Scheme for IoMT. Electronics. 2024; 13(8):1449. https://doi.org/10.3390/electronics13081449

Chicago/Turabian Style

Long, Weifeng, Jiwen Zeng, Yaying Wu, Yan Gao, and Hui Zhang. 2024. "A Certificateless Verifiable Bilinear Pair-Free Conjunctive Keyword Search Encryption Scheme for IoMT" Electronics 13, no. 8: 1449. https://doi.org/10.3390/electronics13081449

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