Skip to main content
PLOS One logoLink to PLOS One
. 2020 Apr 9;15(4):e0230722. doi: 10.1371/journal.pone.0230722

Security analysis and secure channel-free certificateless searchable public key authenticated encryption for a cloud-based Internet of things

Bin Wu 1,2, Caifen Wang 3,*, Hailong Yao 1,4
Editor: He Debiao5
PMCID: PMC7144983  PMID: 32271788

Abstract

With the rapid development of informatization, an increasing number of industries and organizations outsource their data to cloud servers, to avoid the cost of local data management and to share data. For example, industrial Internet of things systems and mobile healthcare systems rely on cloud computing’s powerful data storage and processing capabilities to address the storage, provision, and maintenance of massive amounts of industrial and medical data. One of the major challenges facing cloud-based storage environments is how to ensure the confidentiality and security of outsourced sensitive data. To mitigate these issues, He et al. and Ma et al. have recently independently proposed two certificateless public key searchable encryption schemes. In this paper, we analyze the security of these two schemes and show that the reduction proof of He et al.’s CLPAEKS scheme is incorrect, and that Ma et al.’s CLPEKS scheme is not secure against keyword guessing attacks. We then propose a channel-free certificateless searchable public key authenticated encryption (dCLPAEKS) scheme and prove that it is secure against inside keyword guessing attacks under the enhanced security model. Compared with other certificateless public key searchable encryption schemes, this scheme has higher security and comparable efficiency.

Introduction

The Internet of things (IoT) [13] is a new model that has rapidly become popular in wireless communication scenarios. The basic idea of this concept is that all items—such as actuators, radio-frequency identification tags—are connected to the Internet through information sensing devices, to exchange information. That is, objects are interconnected, to realize intelligent identification and management. IoT has opened new avenues for technology connectivity and business upgrading in industry, healthcare, and transportation, of which the industrial Internet of things (IIoT) and mobile healthcare systems (MHSs) are the most successful applications.

IIoT refers to the IoT environment applied in industrial systems. IIoT integrates various intelligent terminals and sensing devices through a ubiquitous network to efficiently and economically manage industrial production, not only improving manufacturing efficiency, but also reducing product costs, upgrading traditional industries to intelligent industries [4].

MHSs refers to the provision of medical applications and medical information at any time or place, based on the IoT [5, 6]. MHSs provide a wide range of services and applications, including patient monitoring, mobile telemedicine, real-time transmission, storage of (and access to) medical information, and customized and personalized medical service prescriptions.

Although the IIoT and MHSs have great development prospects and bring great convenience to people’s productivity and life, they still face a substantial challenge, namely, the storage and management of massive amounts of data (including both industrial and medical data).

In recent years, cloud computing technology has developed rapidly, and some typical cloud service products have been released and have received extensive attention; these include Dropbox [7], a cloud network storage tool, and Windows Azure [8], a cloud computing platform from Microsoft. Cloud computing is a business model that allows on-demand network access to configurable computing resources such as services, storage, networks, and applications. These resources can be quickly provided and released with minimal management work and interaction. The IoT generally contains small objects (things) with limited processing power and storage capabilities, whereas cloud computing has unlimited storage and processing power capabilities, which can play a supporting role in the IoT architecture, as explained in Ref. [9, 10]. Specifically, the IoT can benefit from the unlimited resources and capabilities of the cloud to make up for its technological constraints. A recent and continuing trend is the integration of the cloud and the IoT. The new model, called the cloud-based Internet of Things, has been extensively studied [1114]. In a cloud-based IoT system, users upload data collected by various smart devices to cloud servers through the Internet, and other authorized users can retrieve data collected from different environments.

However, when outsourcing data to a cloud server, the security and privacy of the data cannot be guaranteed because the cloud server is considered honest but curious; it can fulfill its obligations, but is curious about the stored information. Before uploading sensitive data to the cloud server, the data owner needs to perform encryption to protect the privacy and confidentiality of the data. However, in this way, the existing plaintext-based keyword search technology is ineffective, because encryption usually hides the structure of the original data. To address this problem, searchable encryption (SE), which supports efficient search over ciphertext, has been widely applied, studied, and developed in recent years [1529].

SE can be categorized into symmetric and asymmetric encryption. Symmetric searchable encryption has the characteristics of low computational overhead and high speed, but it is usually suitable for a single-user model; additionally, the encryption and decryption parties need to negotiate the key beforehand. To address this limitation, public key searchable encryption (PEKS) was first proposed by Boneh et al. [18]. It is very suitable for solving the searchable encryption problem in a multi-user system. In a PEKS system, without prior agreement between sender and receiver, the sender generates encrypted files, called PEKS ciphertext (including encrypted files body and encrypted keywords) using the receiver’s public key, and uploads the ciphertext to the cloud server. When the receiver needs to search the ciphertext for a certain keyword, it uses its own secret key to generate the search certificate of the keyword and sends it to the cloud server. The server then runs a test operation to select the ciphertext file containing the target keyword, and returns it to the receiver.

Although PEKS solves the problem of searching ciphertext, it still suffers from some privacy problems. Reference [24] pointed out that most PEKS schemes are susceptible to off-line keyword guessing attacks (KGAs). The KGAs is attributed to the fact that keyword space is very small and users usually use common keywords for retrieval, which provides a “shortcut” for an attacker to obtain data privacy information by using only dictionary attacks. Specifically, with a given trapdoor, the attacker tests every possible keyword off-line. If the test is successful, the attacker can know the potential keywords in the trapdoor. From the server’s reply, he also knows which encrypted files contain the keywords encapsulated in the trapdoor. In short, by running this off-line KGAs, malicious (inside or outside) attackers can obtain information about encrypted files and invade the user’s data privacy. Constructing a scheme to resist KGAs has attracted the attention of many researchers [3037].

Recently, He et al. [38] proposed a new scheme, CLPAEKS, for IIoT, and Ma et al. [39] proposed a scheme, CLPEKS, for MHSs. Their schemes are both certificateless public key searchable encryption schemes, which effectively solve the problem of searching over encrypted data stored in the cloud and avoid the problems of certificate management and key escrow.

In this paper, through careful analysis, we describe security vulnerabilities that we found in the two schemes mentioned above. The security reduction of He et al.’s CLPAEKS scheme is actually incorrect for two types of adversaries. That is, an adversary cannot solve the computational bilinear Diffie-Hellman problem by using adversary AI (AII), which attacks the security of the CLPAEKS scheme, as a subroutine. Ma et al.’s CLPEKS scheme is not secure against off-line KGAs. Furthermore, in both CLPAEKS and CLPEKS, anyone can run test operations, which makes it easy to identify whether two search queries are generated from the same keyword; that is, the search patterns of users can be revealed to anyone. The potential risks of search pattern leakage have been studied in the literature [40]: adversaries may use searching frequency to obtain information about the plaintext.

Our contributions

  • We note the security vulnerabilities of the CLPAEKS scheme proposed by He et al. and the CLPEKS scheme proposed by Ma et al.

  • To protect the privacy and security of data stored in the cloud in the Internet of Things environment, we propose a dCLPAEKS scheme, which is a channel-free certificateless searchable public key encryption scheme, and present a security model for dCLPAEKS to remedy the problem mentioned above.

  • Under the enhanced security model, we prove that the dCLPAEKS scheme is secure against inside keyword guessing attacks for two types of adversaries. Specifically, we formally prove that the scheme satisfies ciphertext indistinguishability and trapdoor indistinguishability. Furthermore, we prove that the scheme satisfies the security of the designated tester (specifically, only the server can perform test operations).

  • We compare our scheme with other CLPEKS schemes in terms of security, computational complexity and communication overhead. We also evaluate its efficiency in experiments, and the results show that our scheme has higher security and efficiency.

Related works

In 2004, Boneh et al. first proposed the concept of public key searchable encryption [18] and proposed the construction scheme of PEKS based on anonymous identity-based cryptosystems. This scheme has been applied in a mail system to solve the mail routing problem of untrustworthy servers. In 2008, Baek et al. [23] pointed out that the scheme in [18] must be built on a secure channel. To overcome this limitation, they proposed a public key searchable encryption scheme without a secure channel by introducing a designated tester. In 2006, Bynn et al. [30] found that the scheme proposed in [18] was susceptible to off-line KGAs because keywords are selected from a much smaller space than keys and users usually use common keywords; hence, an attacker can easily crack the PEKS system through KGAs. To protect against KGAs, Rhee et al. [32] proposed a trapdoor secure dPEKS scheme, but Wang et al. [41] later pointed out that the scheme suffered from an inherent insecurity, namely, vulnerability to inside KGAs (IKGAs). Roughly speaking, given a trapdoor, a malicious server can generate the PEKS ciphertext for any keyword it chooses, and then the server can run a test operation to determine whether the keywords being guessed are the keywords underlying the trapdoor. In 2013, Xu et al. [34] proposed a fuzzy keyword public key searchable encryption scheme against IKGAs. In their scheme, the server can only perform fuzzy matching search, and accurate matching search is executed locally, so an attacker cannot obtain an accurate search trapdoor, thus ensuring the security of the scheme. In 2016, Chen et al. [35] proposed a dual-server public-key searchable encryption scheme that can resist IKGAs from malicious servers by dividing the test algorithm into two parts and letting two independent servers execute it. However, all of the schemes mentioned above encounter certificate management or key escrow problems. To address this problem, AL-piyami et al. [42] defined the concept of certificateless public key cryptography (CLPKC). Users’ private keys in certificateless public key cryptosystems consist of two parts: one is generated by the key generation center and the other is generated by users. Peng [43] proposed the first certificateless public key encryption with keyword search (CLPEKS) scheme. Subsequently, other improved certificateless public key searchable encryption schemes were proposed [44, 39]. He et al. [38] demonstrated that these schemes are vulnerable to IKGAs and proposed a certificateless public key authenticated encryption scheme with keyword search that can resist IKGAs.

Paper organization

The rest of this paper is organized as follows. In section 2, we present some preliminaries. In section 3, we review Ha et al’s scheme and Ma et al’s scheme and then point out the disadvantages of their schemes. In section 4, we introduce a new notion, dCLPAEKS, and give its security model. We construct a concrete dCLPAEKS scheme and prove its security in enhanced security models in section 5. In section 6, we present the performance analysis of our proposed scheme. Finally, we conclude the paper in section 7.

Preliminaries

Bilinear pairing

Bilinear pairing [45] plays an important role in constructing many cryptographic schemes, including our dCLPAKES scheme. Let Z be a set of integers. Set e^:G1×G1G2 as a bilinear map, mapping groups G1 and G1 to G2, where G1, G2 are cyclic groups with the same prime order p. This mapping satisfies the following properties:

  1. Bilinearity: For any u, vp* and g, hG1, e^(gu,hv)=e^(g,h)uv.

  2. Non-degeneracy: If g is a generator of G1, then e^(g,g) is a generator of G2.

  3. Computability: For any g, hG1, there is an efficient algorithm to calculate e^(g,h).

Computational bilinear diffie-hellman problem

Definition 1 (CBDH Problem) Let e^:G1×G1G2 be a bilinear pairing. Given (g, ga, gb, gc), where a,b,cZp* are unknown numbers, the goal is to compute the value of e^(g,g)abc.

Decisional bilinear diffie-hellman assumption

The decisional bilinear Diffie-Hellman (DBDH) problem is described as follows.

Given Y=(g,gx,gy,gzG1,e^:G1×G1G2,ZG2), where x, y, z are randomly chosen from Zp*, let η be a bit such that η = 1 if Z is randomly selected from G2, and η = 0 if Z=e^(g,g)xyz. The DBDH problem is to determine the value of η.

Definition 2 (DBDH Assumption [46, 47]) The DBDH assumption is that for any probabilistic polynomial-time (PPT) algorithm A, the following holds:

|Pr[0A(Y)|η=0]Pr[0A(Y)|η=1]|negl(λ)

where the probability is taken over the random choice of x,y,zZp*, gG1, ZG2.

Review and security analysis of the CLPAEKS and CLPEKS schemes

In this section, we briefly review the CLPAEKS scheme of He et al. [38] and the CLPEKS scheme of Ma et al. [39], and give the security cryptanalysis of the two schemes.

Review and security analysis of He et al.’s CLPAEKS scheme

Description of He et al.’s scheme

The CLPAEKS scheme can be described as follows:

  • Setup: Input a security parameter l. The KGC selects two cyclic groups G1, G2 with the same prime order q and a bilinear pairing e^:G1×G1G2. Let P be a generator of G1; The KGC chooses a random number sZq* as the master key and computes Ppub = sP. The KGC selects three different hash functions: h1:{0,1}*×G1Zq*, H2:{0,1}*G1 and h3:{0,1}*×G1×G1×G1Zq*. Then, the KGC publishes the system parameters prms={l,G1,G2,e^,P,Ppub,h1,H2,h3}.

  • Extract-Partial-Private-Key: Input the sender’s identity IDS ∈ {0, 1}*. The KGC selects a random number rIDSZq* and computes RIDS=rIDSP, αIDS=h1(IDS,RIDS) and dIDS=rIDS+sαIDS(modq). Then, the KGC returns (dIDS and RIDS) to the sender. In parallel, the partial private key (dIDR, RIDR) of the receiver is calculated in the same way.

  • Set-Secret-Value: This takes IDS, IDR ∈ {0, 1}* as input. The sender and the receiver choose random numbers xIDS and xIDR as their secret values, respectively.

  • Set-Private-Key: This sets the sender’s private key and the receiver’s private key as SKIDS=(xIDS,dIDS) and SKIDR=(xIDR,dIDR), respectively.

  • Set-Public-Key: The sender computes PIDS=xIDSP and sets PKIDS=(PIDS,RIDS) as its public key. The receiver computes PIDR=xIDRP and sets PKIDR=(PIDR,RIDR) as its public key.

  • CLPAEKS: This takes prms,IDS,IDR,SKIDS,PKIDR as input. The sender encrypts the keyword w as follows:
    1. The sender chooses a random number rZq*.
    2. The sender computes βIDS=h3(IDS,Ppub,PIDS,RIDS), βIDR=h3(IDR,Ppub,PIDR,RIDR), C1=(dIDS+βIDSxIDS)H2(w)+rP, C2=r(βIDRPIDR+RIDR+αIDRPpub).

    The final ciphertext for the keyword is C = (C1, C2).

  • Trapdoor: This takes prms,IDS,IDR,SKIDR,PKIDS as input. The data receiver runs the following steps to compute the trapdoor Tw:
    1. Compute βIDR=h3(IDR,Ppub,PIDR,RIDR), βIDS=h3(IDS,Ppub,PIDS,RIDS).
    2. Compute Tw=e^((dIDR+βIDRxIDR)H2(w),βIDSPIDS+RIDS+αIDSPpub).
  • Test: Take prms, the trapdoor Tw and ciphertext C as input. The cloud server checks whether Twe^(C2,P)=e^(C1,βIDRPIDR+RIDR+αIDRPpub) holds. If it holds, then the server outputs 1. Otherwise, it outputs 0.

Security analysis

In the random oracle model, the semantic security of the CLPAEKS scheme against IKGAs is reduced to solve the CBDH problem [38]. Here, we show that the security reduction for the CLPAEKS scheme is in fact incorrect for two types of adversaries. We use a reductionist proof for a type 1 adversary as an example to illustrate.

Given an instance (P, aP, bP, cP) of the CBDH problem, assuming that adversary AI intends to break the CLPAEKS scheme, B makes use of the advantage of AI to compute the value of e^(P,P)abc. B simulates security games for adversary AI. After AI outputs a guess value in the guess stage, the simulator B calculates e^(P,P)abc as follows:

e^(dIDIP+βIcP,βIDSPIDS+RIDS+αIDSaP)b+μie^(dIDIP+βIcP,βIDSPIDS+RIDS+αIDSaP)μi=e^(dIDIP+βIcP,βIDSPIDS+RIDS+αIDSaP)b
e^(dIDIP+βIcP,βIDSPIDS+RIDS+αIDSaP)be^(dIDIbP,βIDSPIDS+RIDS+αIDSaP)=e^(βIcP,βIDSPIDS+RIDS+αIDSaP)b
(e^(βIcP,βIDSPIDS+RIDS+αIDSaP)be^(βIcP,βIDSxIDSbP+rIDSbP))1βIαIDS=e^(P,P)abc

The core part of computing e^(P,P)abc is the left-hand side of the first equation. For ease of description, the numerator and denominator of the fraction in the first equation are abbreviated as follows:

M=e^(dIDIP+βIcP,βIDSPIDS+RIDS+αIDSaP)b+μiN=e^(dIDIP+βIcP,βIDSPIDS+RIDS+αIDSaP)μi

Let us see how B obtains M and N.

N is calculated by B itself, while M is obtained by B using AI. However, B is unable to use the adversary AI to obtain the value of M. Specifically, in the reductionist proof for adversary AI, M is the value of the trapdoor of the challenge keywords under the challenge identities and E5 denotes the event that AI does not ask the hash query for the value of the trapdoor of the challenge keywords, and we show that PrE5] ≥ 2ε, where ε denotes the advantage of AI breaking the CLPAEKS scheme. Thus, B aims to make use of the fact that AI has conducted a hash query on this trapdoor, namely, the value of M, with a non-negligible probability in the interactive game, and then randomly select one from the previous query history as M.

However, in the trapdoor algorithm design of the CLPAEKS scheme [38], no hashing operation is performed on the value of the trapdoor, that is, Hi(Tw), for some hash function Hi. Therefore, it is impossible for AI to make the hash query on the trapdoor of the challenge keyword. In addition, B has no other advantage in obtaining M from AI. In short, the reduction process shows that B is unable to solve the CBDH problem with AI as a subroutine.

Review and security analysis of Ma et al.’s CLPEKS scheme

A description of Ma et al.’s scheme

The CLPEKS scheme is as follows:

  • Setup: Input a security parameter k. The KGC selects two cyclic groups G1, G2 with the same prime order q, a bilinear pairing e:G1×G1G2. Let P be a generator of G1; the KGC chooses a random number sZq* as the master key and computes Ppub=sPG1. The KGC selects four different hash functions: h1:{0,1}*×G1Zq*, h2:{0,1}*×G1×G1Zq*, H3: {0, 1}* → G1 and h4:G1{0,1}l. Then, the KGC publishes public parameters prms={k,G1,G2,e^,q,P,Ppub,h1,h2,H3,h4}.

  • Extract-Partial-Private-Key: Input a user U’s identity ID ∈ {0, 1}*. The KGC selects a random number tIDZq* and computes TID = tID P, αID = h1(ID, TID) and dID = tID + ID(mod q). Then, the KGC sends (dID, TID) to U.

  • Set-Secret-Value: Input U’s identity ID. U chooses a random number xIDZq* as its secret value.

  • Set-Private-Key: This sets U’s private key as SKID = (xID, dID).

  • Set-Public-Key: U computes PIDS=xIDSP and sets PKID = (PID, TID) as its public key.

  • CLPAEKS: Let W = {wi|i = 1, 2, ⋯, m} be a set of keywords. Take prms, ID, PKID as input. U encrypts the keyword w as follows:
    1. Compute βID = h2(ID, PID, TID), choose a random number riZq* and compute Ui = ri P, Qi = H3(wi).
    2. Compute Γi = e(ri Qi, βID PID + TID + αID Ppub) and vi = h4i).

    The final ciphertext for the keyword is C = {C1, C2, ⋯, Cm}, where Ci = (Ui, vi).

  • Trapdoor: This takes prms, ID, SKID, PKID as input. U runs the following steps to compute the trapdoor Tw:
    1. Compute βID = h2(ID, PID, TID) and Q = H3(w).
    2. Compute Tw = (dID + βID xID)Q.
  • Test: Take prms, the trapdoor Tw and ciphertext C as input. The cloud server checks whether h4(e(Tw, Ui)) = vi holds. If it holds, then the server outputs 1. Otherwise, it outputs 0.

Security vulnerability

In this subsection, we show that the scheme is vulnerable to an off-line keyword guessing attack. We prove that a malicious adversary can retrieve keyword-specific information from any query message captured by the protocol.

Lemma 1 Ma et al.’s scheme is susceptible to an off-line keyword guessing attack.

Proof 1 An attacker B performs the following steps.

  1. B first captures a valid trapdoor Tw. The goal of B is to recover w from Tw. B guesses an appropriate keyword w′, and computes H3(w′), βID = h2(ID, PID, TID) and αID = h1(ID, TID).

  2. B checks whether e(Tw, P) = e(βID H3(w′), PID) ⋅ e(H3(w′), TID + αID Ppub). If the equation holds, the guessed keyword is a valid keyword, namely, w′ = w. Otherwise, go to Step (1). Specifically, if w′ = w, then
    e(Tw,P)=e((βIDxID+dID)Q,P)=e((βIDxID+dID)H3(w),P)=e(βIDxIDH3(w),P)·e(dIDH3(w),P)=e(βIDH3(w),PID)·e(H3(w),dIDP)=e(βIDH3(w),PID)·e(H3(w),(tID+sαID)P)=e(βIDH3(w),PID)·e(H3(w),TID+αIDPpub)

Definitions and system model

System model

We first describe the relationships and interactions among the four entities, namely, the cloud server, KGC, data sender and data receiver, in dCLPAEKS: The KGC generates the system parameters and part of the user’s private key according to the user’s identity. The sender extracts keywords from each data file and uses the sender’s secret key SkIDs, the receiver’s public key PkIDr and the server’s public key PkCsvr to encrypt keywords to form the dCLPAEKS ciphertext; then, it encrypts the file by using another encryption algorithm and sends it to the cloud server along with the keyword ciphertext. To search encrypted files, the receiver uses his secret key SkIDr and the sender’s public key PkIDs to generate the trapdoor Tw of the keywords and sends it to the cloud server. The cloud server uses its secret key to search and return the ciphertext files containing the target keywords.

Definition of dCLPAEKS

Our dCLPAEKS scheme consists of the following (probabilistic) polynomial-time algorithms.

  • Setup (λ): Given a security parameter λ, this algorithm generates a master public/secret key pair (mpk, msk) and global parameter params.

  • KGenCsvr (params): Given params, it generates a public/secret key pair (PKCsvr, SKCsvr) for the cloud server.

  • PPKGen (params, ID, msk): Given params, a master secret key msk and a user’s identity ID, it generates the user’s partial private key, referred to as PPKID.

  • SVGen (params, ID): Given params and a user’s identity ID, it generates a secret value, referred to as SVID.

  • SKGen (params, PPKID, SVID): Given params, a partial private key PPKID and a secret value SVID, it generates the user’s secret key, referred to as SKID.

  • PKGen (params, SVID): Given params and a secret value SVID, it generates a public key PKID for the identity ID.

  • PEKS (params, w, PKCsvr, SKIDs, PKIDr, IDs, IDr): Given params, a keyword w, PKCsvr, a sender’s identity IDs and SKIDs, and a receiver’s identity IDr and PKIDr, it generates a ciphertext Cw.

  • Trapdoor (params, w, SKIDr, PKIDs, IDr, IDs): Given params, a keyword w, a receiver’s identity IDr and SKIDr, and a sender’s identity IDs and PKIDs, it generates a trapdoor Tw.

  • dTest (params, SKCsvr, Cw, Tw, IDs, IDr): Given params, the server’s secret key SKCsvr, a PEKS ciphertext Cw, a trapdoor Tw, the identity IDs of a sender and the IDr of a receiver, it outputs 1 if Cw and Tw contain the same keyword, and 0 otherwise.

Security models

There are two types of adversaries, i.e., a Type 1 adversary AI and a Type 2 adversary AII, in certificateless cryptography [43]. Adversary AI cannot access the master key. However, AI can extract partial private keys and secret keys, request public keys and replace public keys with any values he chooses. Adversary AII can access the system’s master key, but cannot replace the user’s public key.

We define the following five games between the adversaries AI (AII) and a challenger B to show that our scheme is semantically secure against IKGA.

For adversaries in Game 1 to Game 4, we set the following natural restrictions.

  1. The adversary cannot extract the secret key for the challenge identities.

  2. The adversary cannot make a ciphertext query and trapdoor query on the challenge keywords w0*, w1* for the challenge identity IDs* of a sender and IDr* of a receiver.

Ciphertext indistinguishability

Game 1: Ciphertext indistinguishability for AI

In this game, we set the semi-trusted cloud server as the adversary AI. Ciphertext indistinguishability ensures that the ciphertext reveals no information about the underlying keyword to the cloud server.

  • Setup: Given a security parameter λ, the challenger B generates the system parameter params, the PKG’s public/secret key (mpk, msk), and the server’s public/secret key (PKCsvr, SKCsvr). It then invokes AI on the input params and (PKCsvr, SKCsvr).

  • Phase 1: Adversary AI issues a sequence of queries adaptively polynomial-many times but is subject to the restrictions defined above.
    • Partial Private Key Extraction: Given the user’s identity ID, it returns the user’s partial private key PPKID to AI.
    • Secret Key Queries: Given the user’s identity ID, B returns the user’s secret key SKID to AI.
    • Public Key Queries: Given the user’s identity ID, B returns the user’s public key PKID to AI.
    • Replace Public Key: AI can replace the public key with any value he chooses.
    • Ciphertext Queries: Given a keyword w, identity IDs of a sender and identity IDr of a receiver, B computes the corresponding ciphertext Cw and returns it to AI.
    • Trapdoor Queries: Given a keyword w, identity IDs of a sender and identity IDr of a receiver, B computes the corresponding trapdoor Tw and returns it to AI.
  • Challenge: AI outputs two keywords w0*, w1*, the challenge identity IDs* of a sender and IDr* of a receiver, and B randomly chooses a bit b ∈ {0, 1}, computes the challenge ciphertext Cwb* and returns it to AI, where Cwb*=PEKS(params,wb*,PKCsvr,SKIDs*,PKIDr*,IDs*,IDr*).

  • Phase 2: Adversary AI continues to issue requests to B, as in phase 1.

  • Guess: AI outputs a bit b′ ∈ {0, 1}, and wins the game if and only if b′ = b.

    The advantage of AI winning Game 1 is defined as
    AdvAIC=|Pr[b=b]12|.

Game 2: Ciphertext indistinguishability for AII

In this game, we set the semi-trusted KGC as the adversary AII.

  • Setup: B generates the system public parameter params, the PKG’s public/secret key (mpk, msk), and the server’s public/secret key (PKCsvr, SKCsvr). Then, B returns params and msk to AII.

  • Phase 1: AII can adaptively issue a sequence of queries polynomial-many times but obeys the restrictions defined above.
    • Secret Key Queries: Taking the identity ID as input, B outputs the secret key SKID to AII.
    • Public Key Queries: Taking the identity ID as input, B outputs the public key PKID to AII.
    • Ciphertext Queries: Given a keyword w, identity IDs of a sender and IDr of a receiver, B outputs the corresponding ciphertext Cw to AII.
    • Trapdoor Queries: Given a keyword w, identity IDs of a sender and IDr of a receiver, B outputs the corresponding trapdoor Tw to AII.
  • Challenge: AII outputs two keywords w0* and w1* and the challenge identity IDs* of a sender and IDr* of a receiver, and B randomly chooses a bit b ∈ {0, 1}, computes the challenge ciphertext Cwb* and returns it to AII, where Cwb*=PEKS(params,wb*,PKCsvr,SKIDs*,PKIDr*,IDs*,IDr*).

  • Phase 2: Adversary AII continues to issue queries to B as in phase 1.

  • Guess: AII outputs a bit b′ ∈ {0, 1}, and wins the game if and only if b′ = b.

    The advantage of AII winning Game 2 is defined as
    AdvAIIC(λ)=|Pr[b=b]12|.

Definition 3 We say that a dCLPAEKS scheme satisfies ciphertext indistinguishability if, for any polynomial-time adversaries Ai(i=I,II), AdvAiC(λ) is negligible.

Trapdoor indistinguishability

Game 3: Trapdoor indistinguishability for AI

Similar to Game 1, we set the semi-trusted cloud server as the adversary AI. Trapdoor indistinguishability guarantees that the cloud server cannot obtain any information about the keyword from a given trapdoor. This indicates that the server cannot forge valid ciphertext and cannot perform offline inside keyword guessing attacks (IKGAs) successfully.

  • Setup: Same as in Game 1.

  • Phase 1: Same as in Game 1.

  • Challenge: AI outputs two keywords w0* and w1* and the challenge identity IDs* of a sender and IDr* of a receiver, and B randomly chooses a bit b ∈ {0, 1}, computes the challenge trapdoor Twb* and returns it to AI, where Twb*=Trapdoor(params,wb*,SKIDr*,PKIDs*,IDs*,IDr*).

  • Phase 2: Adversary AI continues to issue queries to B, as in phase 1.

  • Guess: AI outputs a bit b′ ∈ {0, 1}, if b′ = b, we say AI wins the game. The advantage of AI in breaking trapdoor indistinguishability in a dCLPAEKS is defined as
    AdvAIT=|Pr[b=b]12|.

Game 4: Trapdoor indistinguishability for AII

Game 4 is similar to Game 2; the difference is that B needs to generate a trapdoor of the challenge keywords for the challenge identity IDs* of a sender and IDr* of a receiver in Game 4.

Definition 4 We say that a dCLPAEKS scheme satisfies trapdoor indistinguishability if for any polynomial-time adversaries Ai(i=I,II), AdvAiT(λ) is negligible.

Designated testability

Game 5: In this game, we assume that AI is an outside adversary who is allowed to obtain any user’s secret key. Designated testability aims to prevent adversaries from searching the ciphertexts while guaranteeing that only the designated server can.

  • Setup: B generates the system public parameter params, the PKG’s public/secret key (mpk, msk), and the server’s public/secret key (PKCsvr, SKCsvr). It invokes AI on input params and PKCsvr.

  • Phase1: Adversary AI can adaptively issue a sequence of queries polynomial-many times.
    • Secret Key Queries: Given a user’s identity ID, B return the user’s secret key SKID to AI.
    • Public Key Queries: Given a user’s identity ID, B return the user’s public key PKID to AI.
  • Challenge: AI outputs two keywords w0* and w1* and the challenge identity IDs* of a sender and IDr* of a receiver, and B randomly chooses a bit b ∈ {0, 1}, computes the challenge ciphertext Cwb* and returns it to AI, where Cwb*=PEKS(params,wb*,PKCsvr,SKIDs*,PKIDr*,IDs*,IDr*).

  • Phase 2: Adversary AI continues to issue queries to B as in phase 1.

  • Guess: AI outputs a bit b′ ∈ {0, 1}, and if b′ = b, AI wins the game.

    The advantage of AI winning Game 5 is defined as
    AdvAID=|Pr[b=b]12|.

Definition 5 We say that a dCLPAEKS scheme satisfies designated testability if for any polynomial-time adversary AI, AdvAID(λ) is negligible.

A instantiation of dCLPAEKS

Concrete dCLPAEKS scheme

Here, we present a concrete dCLPAEKS scheme, which is composed of nine polynomial-time algorithms.

  • Setup (λ): Given a security parameter λ, this algorithm runs as follows:
    1. Select two cyclic groups G1 and G2 with the same prime order p, a bilinear pairing e^:G1×G1G2, and a cryptographic hash function H1:{0,1}*G1.
    2. Select a random number αZp* as the master key msk and set mpk = gα, where g is an arbitrary generator of G1.
    3. Choose another arbitrary generator hG1.
    4. Choose two additional cryptographic hash functions H:G2×{0,1}*G1 and H2:{0,1}*×{0,1}*G1.

    The system parameters params =(G1,G2,e^,g,h,H,H1,H2,mpk) are publicly and authentically available, but only the KGC knows the master key msk. Steps (1) and (2) of the algorithm are run by the KGC.

  • KGenCsvr (params): Chooses νZp* randomly, and outputs the server’s public/secret key pair (PKCsvr, SKCsvr) = (gν, ν).

  • PPKGen (params, IDi, msk): Outputs the partial private key PPKIDi=H1(IDi)α.

  • SVGen (params, IDi): Selects βIDiZp* randomly, and outputs the secret value SVIDi=βIDi.

  • SKGen (params, PPKIDi, SVIDi): Outputs the secret key SKIDi=(SKIDi1,SKIDi2)=(H1(IDi)α,βIDi).

  • PKGen (params, SVID): Outputs the public key PKIDi=gαβIDi.

  • PEKS (params, w, PKCsvr, SKIDs, PKIDr, IDs, IDr): Selects sZp* randomly and computes C1=e^(H(k,w),PKCsvr)s, C2 = gs, C3 = hs, where k=e^(SKIDs1,H1(IDr))·e^(H2(IDs,IDr),PKIDr)SKIDs2 outputs the ciphertext Cw = (C1, C2, C3).

  • Trapdoor (params, w, SKIDr, PKIDs, IDr, IDs): Selects rZp* randomly, and computes T1 = H(k, w) ⋅ hr, T2 = gr, where k=e^(H1(IDs),SKIDr1)·e^(H2(IDs,IDr),PKIDs)SKIDr2, and outputs the trapdoor Tw = (T1, T2).

  • dTest (params, SKCsvr, Cw, Tw, IDs, IDr): Returns 1 if C1·e^(T2SKCsvr,C3)=e^(T1SKCsvr,C2) and 0 otherwise.

Security analysis

In this subsection, we analyze the security of the above concrete construction.

dCLPAEKS ciphertext indistinguishability

Theorem 1 Our dCLPAEKS scheme satisfies ciphertext indistinguishability under the assumption that DBDH is intractable.

This conclusion is derived from the following two lemmas.

Lemma 2 For any polynomial-time adversary AI, our dCLPAEKS scheme satisfies ciphertext indistinguishability in Game 1 under the random oracle model assuming DBDH is intractable.

Proof 2 Assume that AI is a semi-trusted server that tries to break the ciphertext indistinguishability of our dCLPAEKS scheme. We construct a simulator B to solve the DBDH problem. Given a random challenge (G1,G2,e^,g,gx,gy,gz,Z), where Z is either equal to e^(g,g)xyz or a random element of G2, B interacts with AI as follows:

  • Setup: B randomly chooses h from G1 and νZp* and sets (PKCsvr, SKCsvr) = (gν, ν) and params =(G1,G2,e^,p,g,h,mpk=gz). B sends params and (PKCsvr, SKCsvr) to AI.

  • Phase1: AI is allowed to issue queries to the following oracles simulated by B. To simplify, let us make the following assumptions: the adversary does not initiate repeated queries, and the attacker does not use an identity to perform any calculations before initiating H1 on the identity.
    • H Queries: Upon receiving AIs query on an element k and a keyword w, B randomly chooses an element from G1 as the output of H(k, w).
    • H1 Queries: Suppose that AI makes at most qH1 queries. A list is maintained by B, referred to as LH1. B randomly chooses i,j{1,2,,qH1}, and guesses that the i-th and the j-th H1 queries initiated by AI correspond to the sender’s challenge identity IDs* and receiver’s challenge identity IDr*, respectively. When AI makes a H1 query on identity ID, B responds as follows:
      1. If this is the i-th query, e.g., ID=IDs*, B outputs H1(ID) = gx and adds < ID, gx, ⊥ > to LH1.
      2. If this is the j-th query, e.g., ID=IDr*, B outputs H1(ID) = gy and adds < ID, gy, ⊥ > to LH1.
      3. Otherwise, B chooses a random number μIDZp*, outputs H1(ID)=gμID and adds < ID, H1(ID), μID > to LH1.
    • H2 Queries: Given a pair of identities (IDs, IDr), B randomly chooses an element from G1 as the output of H2(IDs, IDr).
    • Partial Private Key Extraction: When AI asks for the partial private key of the ID, if ID=IDs* or ID=IDr*, B outputs a random bit ηand aborts. Otherwise, it recovers the tuple < ID, H1(ID), μID > from LH1, and returns the partial private key PPKID=(gz)μID to AI.
    • Secret Key Queries: B maintains a list LSK, which is initially empty. Taking ID as input, B performs the following actions:
      1. If IDIDs* and IDIDr*, it recovers the tuple < ID, H1(ID), μID > from LH1 and chooses a random number βID as the secret value. Then, B returns the secret key SKID=((gz)μID,βID) to AI and adds < ID, SKID > into LSK.
      2. Otherwise, B randomly chooses an element βIDZp* as a secret value and adds < ID, ⊥, βID > into LSK. Then, B outputs a random bit ηand aborts.
    • Public Key Queries: B maintains a list LPK, which is initially empty. Given an identity ID, B retrieves the tuple < ID, SKID > from LSK, computes the public key PKID=(gz)βID, and then returns it to AI and adds < ID, PKID > into LPK.
    • Replace Public Key: AI can replace the public key with any value he chooses.
    • Ciphertext Queries: Taking (w, IDr, IDs) as input, B randomly chooses sZp* and executes the following steps:
      1. If at least one of IDr and IDs is not equal to IDr* or IDs*, without loss of generality, we assume that IDs{IDs*,IDr*}. B recovers <IDs,H1(IDs),μIDs> from LH1, <IDs,SKIDs> from LSK, and <IDr,PKIDr> from LPK, computes k=e^(gz,H1(IDr))μIDs·e^(H2(IDs,IDr),PKIDr)SKIDs2 and returns C1=e^(H(k,w),PKCsvr)s, C2 = gs, C3 = hs.
      2. Otherwise, B outputs a random bit ηand aborts.
    • Trapdoor Queries: Taking (w, IDr, IDs) as input, B randomly chooses rZp* and responds as follows:
      1. If at least one of IDr and IDs is not equal to IDr* or IDs*, without loss of generality, we assume that IDs{IDs*,IDr*}. B recovers <IDs,H1(IDs),μIDs> from LH1, <IDr,SKIDr> from LSK, and <IDs,PKIDs> from LPK, computes k=e^(gz,H1(IDr))μIDs·e^(H2(IDs,IDr),PKIDs)SKIDr2 and returns T1 = H(k, w) ⋅ hr, T2 = gr.
      2. Otherwise, B outputs a random bit ηand aborts.
  • Challenge: AI issues a challenge on two different keywords w0*, w1*, a sender’s identity IDs* and a receiver’s identity IDr*. B randomly selects a bit b ∈ {0, 1} and an element sZp*, and computes the ciphertext Cwb*=(C1*,C2*,C3*), where C1*=e^(H(Z·e^(H2(IDs*,IDr*),PKIDr*)SKIDs*2,wb*),PKCsvr)s and C2*=gs, C3*=hs.

  • Phase 2: Simulator B responds as in phase 1.

  • Guess: AI outputs a bit b′ ∈ {0, 1}, and then B outputs η′ = 0 if b′ = b and 1 otherwise.

If B guesses that the challenge identities are incorrect, B aborts. Denote by abt the event that B aborts. The probability that event abt does not occur is 1/qH1·(qH11).

Assume that B does not abort in the game. If Z=e^(g,g)xyz, the view of AI is the same as in a real attack, and AI succeeds in the game with probability AdvAIC=Pr[b=b]12. If Z is selected from G2 randomly, then k is also a random element in G1, so AI wins Game 1 with probability at most 12. Hence, the advantage of B in solving the DBDH problem is

AdvBDBDH=|Pr[η=η|abt]·Pr[abt]+Pr[η=η|¬abt]·Pr[¬abt]12|=|12(1Pr[¬abt])+(Pr[η=0|¬abtη=0]·Pr[η=0]+Pr[η=1|¬abtη=1]·Pr[η=1])·Pr[¬abt]12||12(1Pr[¬abt])+Pr[¬abt]·(12(AdvAIC(λ)+12)+12·12)12|=12Pr[¬abt]·AdvAIC(λ)=12qH1·(qH11)·AdvAIC(λ)

If AdvAIC(λ) is not negligible, then AdvBDBDH is not negligible.

Lemma 3 For any polynomial-time adversary AII, our dCLPAEKS scheme satisfies ciphertext indistinguishability in Game 2 under the random oracle model, assuming DBDH is intractable.

Proof 3 Assume that AII is a semi-trusted KGC that tries to break the ciphertext indistinguishability of our dCLPAEKS scheme. Given a DBDH instance (G1,G2,e^,p,g,gx,gy,gz,Z), we will construct an algorithm B to solve the DBDH problem by using AII as a subroutine. B interacts with AII as follows:

  • Setup: B selects h from G1 and αZp* randomly and sets params =(G1,G2,e^,p,g,h,mpk=gα) and PKCsvr = gx. Then, B sends params, PKCsvr and msk = α to AII.

  • Phase 1: AII executes the following queries; assume that AII does not repeat its queries.
    • H Queries: A list is maintained by B, referred to as LH, which is initially empty. Taking an element k and a keyword w as input, B randomly chooses μk,wZp*, returns H(k,w)=gygμk,w to AII and adds < (k, w), H(k, w), μk,w > into LH.
    • H1 Queries: Given an identity ID, B randomly selects an element from G1 as the H1(ID) value and returns it to AII.
    • H2 Queries: Given a pair of identities (IDs, IDr), B randomly chooses an element from G1 as its H2(IDs, IDr) value, and outputs it to AII.
    • Secret Key Queries: B maintains a list LSK that is initially empty. Taking an identity ID as input, B selects a random number βIDZp* as the secret value and returns the secret key SKID = ((H1(ID)α, βID) to AII. Then, B adds < ID, H1(ID)α, βID > into LSK.
    • Public Key Queries: B maintains a list LPK that is initially empty. Given an identity ID, B recovers the tuple < ID, H1(ID)α, βID > from LSK, computes the public key PKID=(gα)βID, and returns it to AII. Then, < ID, PKID > is added to LPK.
    • Ciphertext Queries: Taking (w, IDr, IDs) as input, B recovers the tuple < (k, w), H(k, w), μk,w > from LH, where k=e^(SKIDs1,H1(IDr))·e^(H2(IDs,IDr),PKIDr)SKIDs2. If there is no such tuple, B generates it as in previous queries. Then, B randomly chooses sZp* and computes the ciphertext Cw = (C1, C2, C3), where C1=e^(H(k,w),PKCsvr)s and C2 = gs, C3 = hs.
    • Trapdoor Queries: Taking (w, IDr, IDs) as input, B recovers the tuple < (k, w), H(k, w), μk,w > from LH, where k=e^(H1(IDs),SKIDr1)·e^(H2(IDs,IDr),PKIDs)SKIDr2. If there is no such tuple, B generates it as in previous queries. Then, B randomly chooses rZp* and computes trapdoor Tw = (T1, T2), where T1 = H(k, w) ⋅ hr, T2 = gr.
  • Challenge: AII submits two challenge keywords w0*, w1*, the sender’s challenge identity IDs* and the receiver’s challenge identity IDr*. B chooses a random bit b ∈ {0, 1} and recovers the tuple <(k*,wb*),H((k*,wb*),μk*,wb*>, where k*=e^(SKIDs*1,H1(IDr*))·e^(H2(IDs*,IDr*),PKIDr*)SKIDs*2. If there is no such tuple, B generates it as in previous queries. Then, it computes the challenge ciphertext Cwb*=(C1*,C2*,C3*), where C1*=Z·e^(gz,gx)μk*,wb*,C2*=gz,C3*=hz.

  • Phase 2: Simulator B responds as in phase 1.

  • Guess: AII outputs a bit b′; if b′ = b, B outputs η′ = 0, and it outputs 1 otherwise.

If Z=e^(g,g)xyz, then the challenge ciphertext is a correctly distributed verifiable ciphertext, so the view of AII is the same as in real attack, and AII succeeds in Game 2 with probability AdvAIIC+12. If Z is selected from G2 randomly, then C1* is also a random element in G1; hence, AII succeeds in the game with probability at most 12. Therefore, the advantage of B in solving the DBDH problem is

AdvBDBDH=|Pr[η=η|η=1]·Pr[η=1]+Pr[η=η|η=0]·Pr[η=0]12||12·12+12(AdvAIIC(λ)+12)12|=12·AdvAIIC

If AIIC(λ) is not negligible, then AdvBDBDH is not negligible.

Trapdoor indistinguishability of dCLPAEKS

Theorem 2 Our dCLPAEKS scheme satisfies trapdoor indistinguishability under the assumption that DBDH is intractable.

This conclusion is derived from the following two lemmas.

Lemma 4 For any polynomial-time adversary AI, our dCLPAEKS scheme satisfies trapdoor indistinguishability in Game 3 under the random oracle model, assuming DBDH is intractable.

The proof of Lemma 4 is similar to that of Lemma 2. The difference is that the simulator generates a challenge trapdoor in the challenge stage. We omit the proof details here.

Lemma 5 For any polynomial-time adversary AII, our dCLPAEKS scheme satisfies trapdoor indistinguishability in Game 4 under the random oracle model, assuming DBDH is intractable.

Proof 4 Assume that AII is a semi-trusted KGC that tries to break the trapdoor indistinguishability of our scheme. We construct a simulator B to solve the DBDH problem. Given a random challenge (G1,G2,e^,p,g,gx,gy,gz,Z), B interacts with AII as follows:

  • Setup: B selects h from G1 and ν,αZp* randomly and sets params =(G1,G2,e^,p,g,h,mpk=gα) and (PKCsvr, SKCsvr) = (gν, ν). B returns params, PKCsvr and msk = α to AII.

  • Phase 1: B responds to AIIinquiry as follows, assuming that AII does not initiate repeated queries.
    • H Queries: Given a keyword w and an element k, B randomly chooses an element from G1 as the output of H(k, w).
    • H1 Queries: Given an identity ID, B picks a random number from G1 and returns it to AII as the H1(ID) value of ID.
    • H2 Queries: Suppose that AII issues at most qH2 queries. A list is maintained by B, referred to as LH2, which is initially empty. B randomly selects i{1,2,,qH2} and guesses that the two identities in the i-th inquiry are the sender’s challenge identity IDs* and receiver’s challenge identity IDr*, respectively. Taking a pair of identities (IDs, IDr) as input, B responds as follows:
      1. If this is the i-th query, e.g., (IDs,IDr)=(IDs*,IDr*), it returns H2(IDs, IDr) = gz and adds < (IDs, IDr), gz, ⊥ > into LH2.
      2. Otherwise, B randomly chooses μr,sZp*, returns H2(IDs,IDr)=gμr,s and adds <(IDs,IDr),gμr,s,μr,s> into LH2.
    • Secret Key Queries: A list is maintained by B, called LSK. Given an identity ID, B responds as follows:
      1. If ID(IDs*,IDr*), B selects a random number βIDZp* as the secret value of the identity ID and returns the secret key SKID = (H1(ID)a, βID) to AII, then adds < ID, SKID > into LSK.
      2. Otherwise, B outputs a random bit ηand aborts.
    • Public Key Queries: B maintains an initially empty list LPK. Taking an identity ID as input, B returns a value to AII according to the following conditions:
      1. If ID=IDs*, it outputs PKID = (gx)α and adds < ID, (gx)α > into LPK.
      2. If ID=IDr*, it outputs PKID = (gy)α and adds < ID, (gy)α > into LPK.
      3. Otherwise, B retrieves the tuple < ID, H1(ID)a, βID > from LSK and computes the public key PKID=(gα)βID. Then, B returns PKID to AII and adds < ID, PKID > into LPK.
    • Ciphertext Queries: Taking (w, IDr, IDs) as input, B randomly chooses sZp* and computes the ciphertext Cw = (C1, C2, C3) as follows:
      1. If (IDr,IDs)=(IDr*,IDs*) or (IDr,IDs)=(IDs*,IDr*), B computes C1=e^(H(e^(H1(IDs)α,H1(IDr))·Zα),w),PKCsvr)s and C2 = gs, C3 = hs.
      2. Otherwise, at least one of IDr and IDs is not equal to IDr* or IDs*. Without loss of generality, we assume that IDs{IDs*,IDr*}. B recovers <(IDs,IDr),gμr,s,μr,s> from LH2 and <IDs,PKIDs> from LPK, computes k=e^(H1(IDs)α,H1(IDr))·e(gy,PKIDs)μr,s and returns C1=e^(H(k,w),PKCsvr)s, C2 = gs, C3 = hs.
    • Trapdoor Queries: Taking (w, IDr, IDs) as input, B randomly chooses rZp*, and computes the trapdoor Tw = (T1, T2) as follows:
      1. If (IDr,IDs)=(IDr*,IDs*) or (IDr,IDs)=(IDs*,IDr*), B computes T1=H(e^(H1(IDs),H1(IDr)α)·Zα),w)·hr and T2 = gr.
      2. Otherwise, at least one of IDr and IDs is not equal to IDr* or IDs*. Without loss of generality, we assume that IDs{IDs*,IDr*}. B recovers <(IDs,IDr),gμr,s,μr,s> from LH2 and <IDs,PKIDs> from LPK, computes k=e^(H1(IDs),H1(IDr)α)·e(gy,PKIDs)μr,s and returns T1 = H(k, w) ⋅ hr, T2 = gr.
  • Challenge: AII submits two challenge keywords w0*, w1*, the sender’s challenge identity IDs* and the receiver’s challenge identity IDr*. B chooses a random bit b ∈ {0, 1} and an element rZp*, computes ciphertext C1*=e^(H(e^(H1(IDs*)α,H1(IDr*))·Zα),wb*),PKCsvr)s, C2*=gs, C3*=hs and returns ciphertext Cwb*=(C1*,C2*,C2*) to AII.

  • Phase2: B responds as in phase 1.

  • Guess: AI outputs a bit b′ ∈ {0, 1}, and then B outputs η′ = 0 if b′ = b and 1 otherwise.

If B guesses that the challenge identities are incorrect, then B aborts. Denote by abt the event that B aborts. The probability that event abt does not occur is 1qH2.

Assume that B does not abort in the game. If Z=e^(g,g)xyz, the view of AII is the same as in a real attack, and AII succeeds in the game with probability AdvAIIT+12. If Z is chosen from G2 randomly, then k is also a random element in G1; hence, AII would win Game 4 with probability at most 12. Therefore, the advantage of B in solving the DBDH problem is

AdvBDBDH=|Pr[η=η|abt]·Pr[abt]+Pr[η=η|¬abt]·Pr[¬abt]12|=|12(1Pr[¬abt])+Pr[¬abt]·(Pr[η=0|¬abtη=0]·Pr[η=0]+Pr[η=1|¬abtη=1]·Pr[η=1])12||1212·Pr[¬abt]+Pr[¬abt]·(12(AdvAIIT(λ)+12)+12·12)12|=12Pr[¬abt]·AdvAIIT(λ)=12·1qH2·dvAIIT(λ)

If AdvAIIT(λ) is not negligible, then AdvBDBDH(λ).

Theorem 3 Our dCLPAEKS scheme satisfies designated testability under the assumption that DBDH is intractable.

Proof 5 Assume that outside adversary AI tries to break the designated testability of our dCLPAEKS scheme. We build an algorithm B with AI as a subroutine to solve the DBDH problem. Given a DBDH instance (G1,G2,e^,p,g,gx,gy,gz,Z), B interacts with AI as follows:

  • Setup: B selects h from G1 and αZp* randomly and sets params =(G1,G2,e^,p,g,h,mpk=gα) and PKCsvr = gx. Then, B sends params and PKCsvr to AI.

  • Phase 1: B answers AIs inquiries as follows, assuming that AI does not repeat his inquiries.
    • H1 Queries: Given an identity ID, B randomly chooses an element from G1 as the H1(ID) value and returns it to AI.
    • H2 Queries: Given a pair of identities (IDs, IDr), B randomly selects an element from G1 as the H2(IDs, IDr) value, and outputs it.
    • H Queries: A list LH is maintained by B that is initially empty. Taking an element k and a keyword w as input, B randomly chooses μk,wZp*, returns H(k,w)=gygμk,w to AI and adds < (k, w), H(k, w), μk,w > into LH.
    • Secret Key Queries: B maintains a list LSK that is initially empty. Taking an identity ID as input, B selects a random number βIDZp as the secret value of identity ID and returns the secret key SKID = ((H1(ID)α, βID) to AI. Then, B adds < ID, H1(ID)α, βID > into LSK.
    • Public Key Queries: B maintains a list LPK that is initially empty. Given an identity ID, B recovers the tuple < ID, H1(ID)α, βID > from LSK, computes the public key PKID=(gα)βID, and returns it to AI. Then, < ID, PKID > is added to LPK.
  • Challenge: AI submits two different challenge keywords w0*, w1*, the sender’s identity IDs* and the receiver’s identity IDr*. B chooses a random bit b ∈ {0, 1} and recovers the tuple <(k*,wb*),H((k*,wb*),μk*,wb*>, where k*=e^(SKIDs*1,H1(IDr*))·e^(H2(IDs*,IDr*),PKIDr*)SKIDs*2. If there is no such tuple, B generates it as in previous queries. Then, B computes the challenge ciphertext Cwb*=(C1*,C2*), where C1*=Z·e^(gz,gx)μk*,wb*,C2*=gz,C3*=hz.

  • Phase 2: The simulator B responds as in phase 1.

  • Guess: AI outputs a bit b′; if b′ = b, B outputs η′ = 0, otherwise 1. If Z=e^(g,g)xyz, the view of AI is the same as in a real attack, and AI succeeds in Game 5 with probability AdvAID+12. If Z is selected from G2 randomly, then C1* is also a random element in G1; hence, AI succeeds in the game with probability at most 12. Therefore, the advantage of B in solving the DBDH problem is
    AdvBDBDH=|Pr[η=η|η=1]·Pr[η=1]+Pr[η=η|η=0]·Pr[η=0]12|=|12·12+12(AdvAID(λ)+12)12|=12·AdvAID

    If AdvAID(λ) is not negligible, then AdvBDBDH.

Evaluation

In this section, we evaluate the security properties, computational complexity and communication overhead of our scheme, and compare it with the schemes proposed in [17, 43, 44], and [19]. Table 1 shows the comparison between these schemes and our dCLPAEKS scheme in terms of security. As shown by Table 1, our scheme provides security against inside keyword guessing attacks and against outside keyword guessing attacks without requiring a secure channel.

Table 1. Comparison of security.

Scheme Functionalities
C Ind T Ind SCF IKGAs
SCF-MCLPEKS+ [17] × ×
CLPEKS [43] × ×
SCF-MCLPEKS [44] × ×
CL-dPAEKS [19] × ×
Proposed scheme

C Ind: Ciphertext Indistinguishability, T Ind: Trapdoor Indistinguishability, SCF: Secure Channel Free, IKGAs: Security against Inside Keyword Guessing Attacks.

The communication overhead of the five schemes is given in Table 2. According to Table 2, the communication overhead of our dCLPAEKS scheme is almost the same as that of SCF-MCLPEKS+ and CL-dPAEKS.

Table 2. Comparison of communication overhead.

Scheme communication overhead
Size(PK) Size(C) Size(Tw)
SCF-MCLPEKS+ [17] |G1| 2|G1| + |G2| 2|G1|
CLPEKS [43] |G1| |G1| + |Zp| |G1|
SCF-MCLPEKS [44] 2|G1| |G1| + |Zp| |G1|
CL-dPAEKS [19] 2|G1| 2|G1| 2|G1| + |G2|
Proposed scheme |G1| 2|G1| + |G2| 2|G1|

Size(PK): Size of Public Key, Size(C): Size of Ciphertext, Size(Tw): Size of Trapdoor, |G1|: Size of an element in G1, |G2|: Size of an element in G2, |Zp|: Size of an element in Zp.

The comparison of computational complexity is given in Table 3. We compare the computational costs of the PEKS, Trapdoor and Test algorithms of the schemes. The results show that our scheme is comparable with the other schemes.

Table 3. Computational efficiency comparison.

scheme PEKS Trapdoor Test
SCF-MCLPEKS+ [17] 4E+2H+h+2P 3E+h+2A E+2P+h+A+M
CLPEKS [43] 5E+3P+3H+2h 3E+H+h+2A 2E+P+h+4A
SCF-MCLPEKS [44]) 4E+3P+3H+h+A E+H+A E+P+2H+h+2A
CL-dPAEKS [19] 5E+H+2h+3A 7E+H+3h+P+4A 4E+2P+M
Our scheme 3E+3H+3P 3E+3H+2P+M E+2P+M

E: a scalar multiplication operation; P: a bilinear pairing operation; H: a Hash-to-point operation; h: a general hash function operation; A: an addition operation; M: a multiplication operation

We implemented our scheme, the SCF-MCLPEKS+ scheme [17], the CL-dPAEKS scheme [19] and CLPEKS [43] on a laptop with a 3.10-GHz Intel i5 CPU with a 64-GB memory and an Ubuntu Linux operating system. We used the PBC library [48], in which Type-A pairing was chosen. The pairing operation is based on the curve y2 = x3 + x over the field Fp. The parameter set is |G1| = |G2| = 128-bit.

To compare the computational efficiency of the four schemes, including our scheme in more detail, we tested the running time of the ciphertext algorithm and trapdoor algorithm. As shown in Fig 1, the ciphertext generation of our scheme has the highest computational efficiency compared with the other schemes. According to Fig 2, as the number of keywords increases, our scheme outperforms the other two schemes in computational efficiency. Fig 1. Computation cost of ciphertext generation in different schemes. Fig 2. Computation cost of trapdoor generation in different schemes.

Fig 1.

Fig 1

Fig 2.

Fig 2

Conclusions

In a cloud-based IoT environment, protecting the privacy and security of sensitive data stored in the cloud is a major concern. An effective method is certificateless public key searchable encryption (CLPEKS), which both enables search over encrypted data and avoids the problems of certificate management and key escrow. In this paper, we demonstrated that the security reduction for the CLPAEKS scheme proposed by He et al. is incorrect under two types of adversaries, and Ma et al.’s CLPEKS scheme is susceptible to an off-line KGAs. We then proposed a new certificateless public key searchable encryption scheme, which overcomes a limitation of these two schemes—the need for a secure channel—and solves the security defect that the CLPEKS scheme cannot resist a KGAs. In addition, in comparison with the other recently proposed CLPEKS schemes, the performance analysis demonstrates that our scheme is more efficient and has higher security.

Data Availability

All relevant data are within the paper.

Funding Statement

The author(s) received no specific funding for this work.

References

  • 1. Atzori L, Iera A, Morabito G. The Internet of Things: A survey. COMPUT NETW. 2010, 54(15):2787–2805. [Google Scholar]
  • 2. Ray PP A survey on Internet of Things architectures. Journal of King Saud University–Computer and Information Sciences. 2018, 30(3):291–319. [Google Scholar]
  • 3. Ren H, Li H, Dai Y, Yang K, Lin X. Querying in Internet of Things with Privacy Preserving: Challenges, Solutions and Opportunities. IEEE Network. 2018, 32(6):144–151. [Google Scholar]
  • 4. Xu L, He W, Li S. Internet of Things in Industries: A Survey. IEEE Trans. Ind. Infor. 2014, 10(4)2233–2243. [Google Scholar]
  • 5. Doukas C, Pliakas T, Maglogiannis I. Mobile healthcare information management utilizing cloud computing and android OS. In: Proc. IEMBC 2010, LNCS, 2010, 6110:1–23. [DOI] [PubMed] [Google Scholar]
  • 6. Li X, Huang X, Li C, et al. EdgeCare: Leveraging Edge Computing for Collaborative Data Management in Mobile Healthcare Systems. IEEE Access. 2019, 7:22011–22025. [Google Scholar]
  • 7.Dropbox. http://www.dropbox.com/.
  • 8.Windows azure. http://www.microsoft.com/windowsazure/.
  • 9. Babu SM, Lakshmi AJ, Rao BT et al. A study on cloud based Internet of Things: CloudIoT. In: Proc. GCCT 2015. 60–65. [Google Scholar]
  • 10. Conti M, Dehghantanhab A, Frankec K, Watsond S. Internet of Things security and forensics: Challenges and opportunities. Future Generation Computer Systems. 2018, 78:544–546. [Google Scholar]
  • 11. Ojha T, Misra S, Raghuwanshi RN, Poddar H. DVSP: Dynamic Virtual Sensor Provisioning in Sensor–Cloud-Based Internet of Things. IEEE Internet of Things Journal. 2019, 6(3):5265–5272. [Google Scholar]
  • 12. Pan W, Chai C. Structure-aware Mashup service Clustering for cloud-based Internet of Things using genetic algorithm based clustering algorithm. Future Generation Computer Systems. 2018, 87:267–277. [Google Scholar]
  • 13. Meerja KA, Naidu PV, Kalva S R K. Price Versus Performance of Big Data Analysis for Cloud Based Internet of Things Networks. Mobile Netw Appl. 2019, 24:1078–1094. [Google Scholar]
  • 14. Boveiri HR, Khayami R, Elhoseny M et al. An efficient Swarm-Intelligence approach for task scheduling in cloud-based internet of things applications. J Ambient Intell Human Comput. 2019, 10:3469–3479. [Google Scholar]
  • 15. Li H, Yang Y, Dai Y, et al. Achieving Secure and Efficient Dynamic Searchable Symmetric Encryption over Medical Cloud Data. IEEE T CLOUD COMPU. 2018, 1–1. [Google Scholar]
  • 16.Song D, Wagner D, Perrig A. Practical techniques for searches on encrypted data In: Proc. IEEE Symp Secur Privacy, Berkeley, CA, USA, 2000, 44-55.
  • 17. Wu T, Chen C, Wang K. Security Analysis and Enhancement of a Certificateless Searchable Public Key Encryption Scheme for IIoT Environments. IEEE Access. 2019, 7:49232–49239. [Google Scholar]
  • 18. Boneh D, Crescenzo G, Ostrovsky R, Persiano G. Publickey encryption with keyword search. In: Proc. EUROCRYPT 2004. LNCS, 2004, 3027:506–522. [Google Scholar]
  • 19. Wu L, Zhang Y, Ma M, et al. Certificateless searchable public key authenticated encryption with designated tester for cloud-assisted medical Internet of Things. ANN TELECOMMUN. 2019, 74(7-8):423–434. [Google Scholar]
  • 20. Xu P, He S, Wang W, et al. Lightweight Searchable Public-key Encryption for Cloud-assisted Wireless Sensor Networks. IEEE T IND INFORM. 2018, 14(8):3712–3723. [Google Scholar]
  • 21. Khader D. Introduction to attribute based searchable encryption. In: Proc. CMS 2014. LNCS, 2014, 8735:131–135. [Google Scholar]
  • 22. Ning J, Xu J, Liang K, et al. Passive Attacks Against Searchable Encryption. IEEE T INF FOREN SEC. 2018, 14(3):789–802. [Google Scholar]
  • 23. Baek J, Safiavi-Naini R, Susilo W. Public key encryption with keyword search revisited. In: Proc. ICCSA 2008. 2008, 1249–1259. [Google Scholar]
  • 24. Huang Q, Li H. An efficient public-key searchable encryption scheme secure against inside keyword guessing attacks. Inf Sci. 2017, 403–404:1–14. [Google Scholar]
  • 25. Li H, Huang Q, Shen J, et al. Designated-server identity-based authenticated encryption with keyword search for encrypted emails. Inf Sci. 2019, 48:330–343. [Google Scholar]
  • 26. Xie R, Xu C, He C, Zhang X. Lattice-based searchable public-key encryption scheme for secure cloud storage. INT J WEB GRID SERV, 2018, 14(1)3–20. [Google Scholar]
  • 27. Zhang Y, Li Y, Wang Y. Conjunctive and disjunctive keyword search over encrypted mobile cloud data in public key system. MOB INF SYST. 2018, 2018:1–11. [Google Scholar]
  • 28. Zhang X, Tang Y, Wang H, Xu C, et al. Lattice-based proxy-oriented identity-based encryption with keyword search for cloud storage. Inf Sci. 2019, 494:193–207. [Google Scholar]
  • 29. Zhang X, Xu C, Wang H, Zhang Y, et al. FS-PEKS: Lattice-based Forward Secure Public-key Encryption with Keyword Search for Cloud-assisted Industrial Internet of Things. IEEE T DEPEND SECURE. 2019, 1–15. [Google Scholar]
  • 30. Byun JW, Rhee HS, Park HA, et al. Off-line keyword guessing attacks on recent keyword search schemes over encrypted data. In: Proc. SDM 2006. LNCS, 2006, 4165:75–83. [Google Scholar]
  • 31. Yau W C, Heng S H, Goi B M. Off-Line Keyword Guessing Attacks on Recent Public Key Encryption with Keyword Search Schemes. In: Proc. ATC 2008. LNCS, 2008, 5060:100–105. [Google Scholar]
  • 32. Rhee H, Park J, Susilo W, et al. Trapdoor security in a searchable public-key encryption scheme with a designated tester. J SYST SOFTWARE. 2010, 83(5):763–771. [Google Scholar]
  • 33. Sun L, Xu C, Zhang M, Chen K, Li H. Secure searchable public key encryption against insider keyword guessing attacks from indistinguishability obfuscation. Sci China Inf Sci. 2018, 61(3) 038106. [Google Scholar]
  • 34. Xu P, Jin H, Wu Q, Wang W. Public-key encryption with fuzzy keyword search: A provably secure scheme under keyword guessing attack. IEEE T COMPUT. 2013, 62(11):2266–2277. [Google Scholar]
  • 35. Chen R, Mu Y, Yang G, et al. Dual-server public-key encryption with keyword search for secure cloud storage. IEEE T INF FOREN SEC. 2016, 11(4):789–798. [Google Scholar]
  • 36. Lu Y, Wang G, Li J. Keyword guessing attacks on a public key encryption with keyword search scheme without random oracle and its improvement. Inf Sci. 2019, 479:270–276. [Google Scholar]
  • 37. Xie R, He C, Xie D, et al. A secure ciphertext retrieval scheme against Insider KGAs for mobile devices in cloud storage. SECUR COMMUN NETW. 2018, 2018:1–7. [Google Scholar]
  • 38. He D, Ma M, Zeadally S. Certificateless public key authenticated encryption with keyword search for industrial internet of things. IEEE T IND INFORM. 2018, 14(8):3618–3627. [Google Scholar]
  • 39. Ma M, He D, Khan MK, et al. Certificateless searchable public key encryption scheme for mobile healthcare system. COMPUT ELECTR ENG. 2018, 65:413–424. 10.1016/j.compeleceng.2017.05.014 [DOI] [Google Scholar]
  • 40. Liu C, Zhu L, Wang W, Tan Y. pattern leakage in searchable encryption: attacks and new construction. Inf Sci. 2013, 265–188. 10.1016/j.ins.2013.11.021 [DOI] [Google Scholar]
  • 41. Wang B, Chen T, Jeng F. Security improvement against malicious server’s attack for a dPEKS scheme. International Journal of Information and Education Technology. 2011, 1(4):350–353, 2011. [Google Scholar]
  • 42. Al-Riyami S S, Paterso KG. Certificateless public key cryptography. In: Proc. ASIACRYPT 2003. LNCS, 2003, 2894:452–473. [Google Scholar]
  • 43. Peng Y, Cui J, Ying Z. Certificateless public key encryption with keyword search. CHINA COMMUN. 2014, 11(11):100–113. 10.1109/CC.2014.7004528 [DOI] [Google Scholar]
  • 44. Ma M, He D, Kumar N, et al. Certificateless searchable public key encryption scheme for industrial internet of things. IEEE T IND INFORM. 2018, 14(2):759–767. 10.1109/TII.2017.2703922 [DOI] [Google Scholar]
  • 45. Boneh D, Franklin M. Identity-based encryption from the weil pairing. In: Proc. CRYPTO 2001. LNCS, 2001, 2139:213–229. [Google Scholar]
  • 46. Boyen X. The uber-assumption family. In: Proc. Pairing 2008, LNCS, 2008, 5209:39–56. [Google Scholar]
  • 47. He D. Chen Y, Joux JA. A one round protocol for tripartite Diffie-Hellman. In: Proc. ANTS 2000. LNCS, 2000, 1838:385–393. [Google Scholar]
  • 48.Lynn B, et al. Pairing-based crytography library. 2013, (https://crypto.stanford.edu/pbc/).

Decision Letter 0

He Debiao

2 Jan 2020

PONE-D-19-34208

Security Analysis and Secure Channel Free Certificateless Searchable Public Key Authenticated Encryption for cloud-based Internet of Things

PLOS ONE

Dear Dr Wu,

Thank you for submitting your manuscript to PLOS ONE. After careful consideration, we feel that it has merit but does not fully meet PLOS ONE’s publication criteria as it currently stands. Therefore, we invite you to submit a revised version of the manuscript that addresses the points raised during the review process.

We would appreciate receiving your revised manuscript by Feb 16 2020 11:59PM. When you are ready to submit your revision, log on to https://www.editorialmanager.com/pone/ and select the 'Submissions Needing Revision' folder to locate your manuscript file.

If you would like to make changes to your financial disclosure, please include your updated statement in your cover letter.

To enhance the reproducibility of your results, we recommend that if applicable you deposit your laboratory protocols in protocols.io, where a protocol can be assigned its own identifier (DOI) such that it can be cited independently in the future. For instructions see: http://journals.plos.org/plosone/s/submission-guidelines#loc-laboratory-protocols

Please include the following items when submitting your revised manuscript:

  • A rebuttal letter that responds to each point raised by the academic editor and reviewer(s). This letter should be uploaded as separate file and labeled 'Response to Reviewers'.

  • A marked-up copy of your manuscript that highlights changes made to the original version. This file should be uploaded as separate file and labeled 'Revised Manuscript with Track Changes'.

  • An unmarked version of your revised paper without tracked changes. This file should be uploaded as separate file and labeled 'Manuscript'.

Please note while forming your response, if your article is accepted, you may have the opportunity to make the peer review history publicly available. The record will include editor decision letters (with reviews) and your responses to reviewer comments. If eligible, we will contact you to opt in or out.

We look forward to receiving your revised manuscript.

Kind regards,

He Debiao

Academic Editor

PLOS ONE

Journal Requirements:

When submitting your revision, we need you to address these additional requirements.

1. Please ensure that your manuscript meets PLOS ONE's style requirements, including those for file naming. The PLOS ONE style templates can be found at

http://www.journals.plos.org/plosone/s/file?id=wjVg/PLOSOne_formatting_sample_main_body.pdf and http://www.journals.plos.org/plosone/s/file?id=ba62/PLOSOne_formatting_sample_title_authors_affiliations.pdf

2.

We suggest you thoroughly copyedit your manuscript for language usage, spelling, and grammar. If you do not know anyone who can help you do this, you may wish to consider employing a professional scientific editing service.  

Whilst you may use any professional scientific editing service of your choice, PLOS has partnered with both American Journal Experts (AJE) and Editage to provide discounted services to PLOS authors. Both organizations have experience helping authors meet PLOS guidelines and can provide language editing, translation, manuscript formatting, and figure formatting to ensure your manuscript meets our submission guidelines. To take advantage of our partnership with AJE, visit the AJE website (http://learn.aje.com/plos/) for a 15% discount off AJE services. To take advantage of our partnership with Editage, visit the Editage website (www.editage.com) and enter referral code PLOSEDIT for a 15% discount off Editage services.  If the PLOS editorial team finds any language issues in text that either AJE or Editage has edited, the service provider will re-edit the text for free.

Upon resubmission, please provide the following:

  • The name of the colleague or the details of the professional service that edited your manuscript

  • A copy of your manuscript showing your changes by either highlighting them or using track changes (uploaded as a *supporting information* file)

  • A clean copy of the edited manuscript (uploaded as the new *manuscript* file)

3. We note that Figure(s) [1-3] in your submission contain copyrighted images. All PLOS content is published under the Creative Commons Attribution License (CC BY 4.0), which means that the manuscript, images, and Supporting Information files will be freely available online, and any third party is permitted to access, download, copy, distribute, and use these materials in any way, even commercially, with proper attribution. For more information, see our copyright guidelines: http://journals.plos.org/plosone/s/licenses-and-copyright.

We require you to either (1) present written permission from the copyright holder to publish these figures specifically under the CC BY 4.0 license, or (2) remove the figures from your submission:

1.    You may seek permission from the original copyright holder of Figure(s) [1-3] to publish the content specifically under the CC BY 4.0 license.

We recommend that you contact the original copyright holder with the Content Permission Form (http://journals.plos.org/plosone/s/file?id=7c09/content-permission-form.pdf) and the following text:

“I request permission for the open-access journal PLOS ONE to publish XXX under the Creative Commons Attribution License (CCAL) CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Please be aware that this license allows unrestricted use and distribution, even commercially, by third parties. Please reply and provide explicit written permission to publish XXX under a CC BY license and complete the attached form.”

Please upload the completed Content Permission Form or other proof of granted permissions as an "Other" file with your submission.

In the figure caption of the copyrighted figure, please include the following text: “Reprinted from [ref] under a CC BY license, with permission from [name of publisher], original copyright [original copyright year].”

2.    If you are unable to obtain permission from the original copyright holder to publish these figures under the CC BY 4.0 license or if the copyright holder’s requirements are incompatible with the CC BY 4.0 license, please either i) remove the figure or ii) supply a replacement figure that complies with the CC BY 4.0 license. Please check copyright information on all replacement figures and update the figure caption with source information. If applicable, please specify in the figure caption text when a figure is similar but not identical to the original image and is therefore for illustrative purposes only.

4. Please include a separate caption for each figure in your manuscript.

[Note: HTML markup is below. Please do not edit.]

Reviewers' comments:

Reviewer's Responses to Questions

Comments to the Author

1. Is the manuscript technically sound, and do the data support the conclusions?

The manuscript must describe a technically sound piece of scientific research with data that supports the conclusions. Experiments must have been conducted rigorously, with appropriate controls, replication, and sample sizes. The conclusions must be drawn appropriately based on the data presented.

Reviewer #1: Yes

Reviewer #2: Yes

**********

2. Has the statistical analysis been performed appropriately and rigorously?

Reviewer #1: Yes

Reviewer #2: Yes

**********

3. Have the authors made all data underlying the findings in their manuscript fully available?

The PLOS Data policy requires authors to make all data underlying the findings described in their manuscript fully available without restriction, with rare exception (please refer to the Data Availability Statement in the manuscript PDF file). The data should be provided as part of the manuscript or its supporting information, or deposited to a public repository. For example, in addition to summary statistics, the data points behind means, medians and variance measures should be available. If there are restrictions on publicly sharing data—e.g. participant privacy or use of data from a third party—those must be specified.

Reviewer #1: Yes

Reviewer #2: Yes

**********

4. Is the manuscript presented in an intelligible fashion and written in standard English?

PLOS ONE does not copyedit accepted manuscripts, so the language in submitted articles must be clear, correct, and unambiguous. Any typographical or grammatical errors should be corrected at revision, so please note any specific errors here.

Reviewer #1: Yes

Reviewer #2: Yes

**********

5. Review Comments to the Author

Please use the space provided to explain your answers to the questions above. You may also include additional comments for the author, including concerns about dual publication, research ethics, or publication ethics. (Please upload your review as an attachment if it exceeds 20,000 characters)

Reviewer #1: In this paper, the authors have demonstrated that the security reduction for the CLPAEKS scheme proposed by He et al. is incorrect under two types of adversaries, and they have also pointed that Ma et al.’s CLPEKS scheme is susceptible to an offline KGA. Furthermore, they have proposed a new certificateless public key searchable encryption scheme, which overcomes a limitation of these two schemes—the need for a secure channel—and solves the security defect that the CLPEKS scheme cannot resist a KGA. Moreover, in comparison with the other CLPEKS schemes, the performance analysis demonstrates that their scheme has higher security and comparable efficiency

· The English writing should be carefully checked before it can be accepted in the Journal.

· More related work about cloud-based Internet of Things should be cited in the manuscript.

Additional Questions:

Does the paper contribute to the body of knowledge?: Yes. The authors proposed a new certificateless public key searchable encryption scheme which has higher retrieval efficiency and wider retrieval range.

Is the paper technically sound?: Yes. The paper presents the modeling of the solution clearly and the security proof of the specific scheme is given. Besides, the paper presents conducted experimental evaluation with preliminary interesting results.

Is the subject matter presented in a comprehensive manner?: Yes, it is. The paper is well organized: it presents the problem, the proposed and modeling of solution, and finally, an experimental evaluation.

Are the references provided applicable and sufficient?: No. the references should be enhanced.

Reviewer #2: This paper studies certificateless public key searchable encryption schemes (CLPAEKS), which is an interesting and relevant primitive to achieve confidentiality and security in the area of outsourced computing. They give security analysis on two previous proposed CLPAES, and show the security flaws of two previous schemes by He et al (IEEE T IND INFORM. 2018) and Ma et al (COMPUT ELECTR ENG. 2018). They also propose a channel-free certificateless searchable public key authenticated encryption (dCLPAEKS) scheme and prove that it is secure against inside keyword guessing attacks under the enhanced security model.

The paper is clearly written and the proofs and analysis seem correct.

**********

6. PLOS authors have the option to publish the peer review history of their article (what does this mean?). If published, this will include your full peer review and any attached files.

If you choose “no”, your identity will remain anonymous but your review may still be made public.

Do you want your identity to be public for this peer review? For information about this choice, including consent withdrawal, please see our Privacy Policy.

Reviewer #1: No

Reviewer #2: No

[NOTE: If reviewer comments were submitted as an attachment file, they will be attached to this email and accessible via the submission site. Please log into your account, locate the manuscript record, and check for the action link "View Attachments". If this link does not appear, there are no attachment files to be viewed.]

While revising your submission, please upload your figure files to the Preflight Analysis and Conversion Engine (PACE) digital diagnostic tool, https://pacev2.apexcovantage.com/. PACE helps ensure that figures meet PLOS requirements. To use PACE, you must first register as a user. Registration is free. Then, login and navigate to the UPLOAD tab, where you will find detailed instructions on how to use the tool. If you encounter any issues or have any questions when using PACE, please email us at figures@plos.org. Please note that Supporting Information files do not need this step.

PLoS One. 2020 Apr 9;15(4):e0230722. doi: 10.1371/journal.pone.0230722.r002

Author response to Decision Letter 0


28 Feb 2020

Original Manuscript ID: PONE-D-19-34208

Original Article Title: “Security Analysis and Secure Channel Free Certificateless Searchable Public Key Authenticated Encryption for cloud-based Internet of Things ”

To: PLOS ONE Editor

Re: Response to reviewers

Dear Editor,

Thank you for allowing a resubmission of our manuscript, with an opportunity to address the reviewers’ comments.

We are uploading (a) our point-by-point response to the comments (below) (response to reviewers), (b) an updated manuscript with yellow highlighting indicating changes, and (c) a clean updated manuscript without highlights (PDF main document), (d) a certificate issued by American Journal Specialist (AJE) to help us with language editing.

Best regards,

Bin Wu, Caifen Wang, Hailong Yao.

Journal Requirements, Concern # 1:  Please ensure that your manuscript meets PLOS ONE's style requirements, including those for file naming. The PLOS ONE style templates can be found at http://www.journals.plos.org/plosone/s/file?id=wjVg/PLOSOne_formatting_sample_main_body.pdf and http://www.journals.plos.org/plosone/s/file?id=ba62/PLOSOne_formatting_sample_title_authors_affiliations.pdf.

Author response: We have carefully revised our manuscript completely according to the PLOS ONE style templates.

Author action: We carefully modified the non-compliant parts of the manuscript according to the style template of PLOS ONE.

Journal Requirements, Concern # 2: We suggest you thoroughly copyedit your manuscript for language usage, spelling, and grammar. If you do not know anyone who can help you do this, you may wish to consider employing a professional scientific editing service. 

Author response: We have carefully revised our manuscript completely according to the suggestion.

Author action: We have selected American Journal Experts (AJE) to help us with language editing to ensure that our manuscripts meet journal submission guidelines. This certificate was issued on January 23, 2020 and may be verified on the AJE website using the verification code FFB0-56B0-5224-C035-2CB8 .

Journal Requirements, Concern # 3: We note that Figure(s) [1-3] in your submission contain copyrighted images. We require you to either (1) present written permission from the copyright holder to publish these figures specifically under the CC BY 4.0 license, or (2) remove the figures from your submission

Author response: We have carefully revised our manuscript completely according to the suggestion.

Author action: Since the copyright-protected image material contained in our submitted Figures [1-3] was downloaded from the Internet, it was not easy to obtain permission from the original copyright holder to publish these figures under the CC BY 4.0 license. So we use three paragraphs to describe the meaning of Figure [1-3] in detail respectively , thus remove the figure [1-3].

Reviewer#1, Concern # 1: The English writing should be carefully checked before it can be accepted in the Journal.

Author response: We have carefully revised our manuscript completely according to the suggestion.

Author action: We updated the manuscript by modifying the language usage, spelling, and grammar, following the language editing suggestions provided by American Journal Experts (AJE). This certificate was issued on January 23, 2020 and may be verified on the AJE website using the verification code FFB0-56B0-5224-C035-2CB8 .

Reviewer#2, Concern # 2: More related work about cloud-based Internet of Things should be cited in the manuscript.

Author response: We have carefully revised our manuscript completely according to the suggestion.

Author action: We carefully studied the related work in 2017, 2018 and 2019, selected 6 representative works[9]-[14] from them, introduced them in the introduction, and added them into the reference.

REFERENCES:

[9] Babu S M, Lakshmi A J, Rao B T et al. A study on cloud based Internet of Things: CloudIoT. In: Proc. GCCT 2015. 60-65. doi:10.1109/GCCT.2015.7342624.

[10] Conti M, Dehghantanhab A, Frankec K, Watsond S. Internet of Things security and forensics: Challenges and opportunities. Future Generation Computer Systems. 2018, 78:544-546. doi: 10.1016/j.future.2017.07.060.

[11] Ojha T, Misra S, Raghuwanshi R N, Poddar H. DVSP: Dynamic Virtual Sensor Provisioning in Sensor Cloud-Based Internet of Things. IEEE Internet of Things Journal. 2019, 6(3):5265-5272. doi: 10.1109/JIOT.2019.2899949.

[12] Pan W, Chai C. Structure-aware Mashup service Clustering for cloud-based Internet of Things using genetic algorithm based clustering algorithm. Future Generation Computer Systems. 2018, 87:267-277. doi:10.1016/j.future.2018.04.052.

[13] Meerja K A, Naidu P V, Kalva S R K. Price Versus Performance of Big Data Analysis for Cloud Based Internet of Things Networks. Mobile Netw Appl. 2019, 24:1078-1094. doi: 10.1007/s11036-018-1063-6.

[14] Boveiri H R, Khayami R, Elhoseny M et al. An efficient Swarm-Intelligence approach for task scheduling in cloud-based internet of things applications. J Ambient Intell Human Comput. 2019, 10:3469-3479. doi: 10.1007/s12652-018-1071-1.

Attachment

Submitted filename: Response to Reviewers.doc

Decision Letter 1

He Debiao

9 Mar 2020

Security Analysis and Secure Channel Free Certificateless Searchable Public Key Authenticated Encryption for cloud-based Internet of Things

PONE-D-19-34208R1

Dear Dr. Wu,

We are pleased to inform you that your manuscript has been judged scientifically suitable for publication and will be formally accepted for publication once it complies with all outstanding technical requirements.

Within one week, you will receive an e-mail containing information on the amendments required prior to publication. When all required modifications have been addressed, you will receive a formal acceptance letter and your manuscript will proceed to our production department and be scheduled for publication.

Shortly after the formal acceptance letter is sent, an invoice for payment will follow. To ensure an efficient production and billing process, please log into Editorial Manager at https://www.editorialmanager.com/pone/, click the "Update My Information" link at the top of the page, and update your user information. If you have any billing related questions, please contact our Author Billing department directly at authorbilling@plos.org.

If your institution or institutions have a press office, please notify them about your upcoming paper to enable them to help maximize its impact. If they will be preparing press materials for this manuscript, you must inform our press team as soon as possible and no later than 48 hours after receiving the formal acceptance. Your manuscript will remain under strict press embargo until 2 pm Eastern Time on the date of publication. For more information, please contact onepress@plos.org.

With kind regards,

He Debiao

Academic Editor

PLOS ONE

Additional Editor Comments (optional):

Reviewers' comments:

Reviewer's Responses to Questions

Comments to the Author

1. If the authors have adequately addressed your comments raised in a previous round of review and you feel that this manuscript is now acceptable for publication, you may indicate that here to bypass the “Comments to the Author” section, enter your conflict of interest statement in the “Confidential to Editor” section, and submit your "Accept" recommendation.

Reviewer #1: All comments have been addressed

Reviewer #2: All comments have been addressed

**********

2. Is the manuscript technically sound, and do the data support the conclusions?

The manuscript must describe a technically sound piece of scientific research with data that supports the conclusions. Experiments must have been conducted rigorously, with appropriate controls, replication, and sample sizes. The conclusions must be drawn appropriately based on the data presented.

Reviewer #1: Yes

Reviewer #2: Yes

**********

3. Has the statistical analysis been performed appropriately and rigorously?

Reviewer #1: Yes

Reviewer #2: Yes

**********

4. Have the authors made all data underlying the findings in their manuscript fully available?

The PLOS Data policy requires authors to make all data underlying the findings described in their manuscript fully available without restriction, with rare exception (please refer to the Data Availability Statement in the manuscript PDF file). The data should be provided as part of the manuscript or its supporting information, or deposited to a public repository. For example, in addition to summary statistics, the data points behind means, medians and variance measures should be available. If there are restrictions on publicly sharing data—e.g. participant privacy or use of data from a third party—those must be specified.

Reviewer #1: Yes

Reviewer #2: Yes

**********

5. Is the manuscript presented in an intelligible fashion and written in standard English?

PLOS ONE does not copyedit accepted manuscripts, so the language in submitted articles must be clear, correct, and unambiguous. Any typographical or grammatical errors should be corrected at revision, so please note any specific errors here.

Reviewer #1: Yes

Reviewer #2: Yes

**********

6. Review Comments to the Author

Please use the space provided to explain your answers to the questions above. You may also include additional comments for the author, including concerns about dual publication, research ethics, or publication ethics. (Please upload your review as an attachment if it exceeds 20,000 characters)

Reviewer #1: The authors have responded all the comments and I suggest to accept the paper to be of publication in this journal.

Reviewer #2: The authors have revised the paper carefully and my previous comments have been addressed properly and I recommend for acceptance.

**********

7. PLOS authors have the option to publish the peer review history of their article (what does this mean?). If published, this will include your full peer review and any attached files.

If you choose “no”, your identity will remain anonymous but your review may still be made public.

Do you want your identity to be public for this peer review? For information about this choice, including consent withdrawal, please see our Privacy Policy.

Reviewer #1: No

Reviewer #2: No

Acceptance letter

He Debiao

20 Mar 2020

PONE-D-19-34208R1

Security analysis and secure channel-free certificateless searchable public key authenticated encryption for a cloud-based Internet of Things

Dear Dr. Wu:

I am pleased to inform you that your manuscript has been deemed suitable for publication in PLOS ONE. Congratulations! Your manuscript is now with our production department.

If your institution or institutions have a press office, please notify them about your upcoming paper at this point, to enable them to help maximize its impact. If they will be preparing press materials for this manuscript, please inform our press team within the next 48 hours. Your manuscript will remain under strict press embargo until 2 pm Eastern Time on the date of publication. For more information please contact onepress@plos.org.

For any other questions or concerns, please email plosone@plos.org.

Thank you for submitting your work to PLOS ONE.

With kind regards,

PLOS ONE Editorial Office Staff

on behalf of

Dr. He Debiao

Academic Editor

PLOS ONE

Associated Data

    This section collects any data citations, data availability statements, or supplementary materials included in this article.

    Supplementary Materials

    Attachment

    Submitted filename: Response to Reviewers.doc

    Data Availability Statement

    All relevant data are within the paper.


    Articles from PLoS ONE are provided here courtesy of PLOS

    RESOURCES