Next Article in Journal
Structural Health Monitoring with Sensor Data and Cosine Similarity for Multi-Damages
Next Article in Special Issue
An Aggregate Signature Scheme Based on a Trapdoor Hash Function for the Internet of Things
Previous Article in Journal
Smart Water Meter Using Electrical Resistance Tomography
Previous Article in Special Issue
Real-Time Secure/Unsecure Video Latency Measurement/Analysis with FPGA-Based Bump-in-the-Wire Security
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Identity-Based Encryption with Filtered Equality Test for Smart City Applications

School of Information Engineering, Chang’an University, Xi’an 710064, China
*
Author to whom correspondence should be addressed.
Sensors 2019, 19(14), 3046; https://doi.org/10.3390/s19143046
Submission received: 22 May 2019 / Revised: 6 July 2019 / Accepted: 9 July 2019 / Published: 10 July 2019
(This article belongs to the Special Issue Security and Privacy in Internet of Things)

Abstract

:
With the growth of the urban population, the rapid development of smart cities has become the focus of urban regional development. Smart medical care is an indispensable part of smart city construction, which promotes the development of the medical industry. However, the security of data and timely service are the current problems faced by intelligent medical systems. Based on the public key encryption with filtered equality test and identity-based cryptography, an identity-based encryption with the filtered equality test (IBE-FET) is proposed for smart healthcare, in which a data receiver can use the private key and the message set to generate a warrant and send it to the cloud server. A cloud server can verify the equality between ciphertexts without decryption and check whether the encrypted message belongs to the same message set. Furthermore, the security analysis shows that the proposed scheme satisfies one-way security against the chosen identity and ciphertext attack in the random oracle model under the computational bilinear Diffie-Hellman assumption. The performance comparison shows that the scheme is feasible and practical in real life.

1. Introduction

The concept of the smart city (SC) [1] emerges in the context in which the current global power supply and consumption trends are socially, environmentally and economically unsustainable. It refers to an urban transformation which, with the use of the latest information and communications technologies (ICT), improves cities’ efficiency. Currently, more and more people live in cities and every person uses more than five devices to access the Internet. Thus, the various embedded devices are integrated with urban infrastructure to optimize daily life of citizens.
Recently, with the rapid development of the Internet of Things (IoT) [2] and ICT, the applications of the smart city [3] are on the rise, which can enhance the life quality of citizens. Representative smart city applications are given in Figure 1, which benefit the city and people in a variety of aspects: economy, education, healthcare, and living. Meanwhile, the smart city has a new, complete level of effectiveness, sustainability and efficiency.
The main goal of the smart city is to greatly improve quality of life. Nevertheless, the security and privacy problems are of great importance to the users in the smart city [4,5,6]. Progress in the IoT and cloud computing technology is driving the development of smart systems to support and improve healthcare system. However, the current healthcare system is faced with a series of challenges in providing low cost health care services. Besides, it is difficult for patients in some areas to obtain a timely healthcare services due to poor medical conditions. As a result, smart healthcare [7,8] has emerged recently as the key component of a new generation healthcare network. The so-called smart healthcare is to improve the efficiency of biomedical systems and healthcare infrastructures through various entities and technologies, including smart sensors, wearable devices, ICT and more [9].
In the smart healthcare system, patients are paying more and more attention to the security of private information. Zhang et al. [10,11,12,13] has done in-depth research and proposed privacy-preserving access control systems by adopting attribute-based encryption techniques to improve the security of smart healthcare. However, the techniques are complex and unfeasible in practice. To save storage space and protect the user’s privacy, the sensitive information must be stored in the untrusted healthcare cloud servers in an encrypted form. However, given some ciphertexts, no one can distinguish the relationships among the ciphertexts without decryption. Searchable encryption (SE) [14,15,16] is a practical and promising solution to this problem. To provide the capability for searching in the ciphertexts, the public key encryption with keyword search (PKE-KS) schemes [17,18,19,20,21,22] were proposed, which is one practical implementation of SE. However, the PKE-KS schemes have one weakness that the ciphertexts are generated by the same public keys and therefore it is not applicable to some scenarios. To solve this problem, the public key encryption with equality test (PKE-ET) schemes [23,24,25,26,27,28,29,30,31] were put forward, which allowed equality tests made on the ciphertexts by different public keys as well as the same public keys. To alleviate the storage cost of certificates, identity-based encryption with equality test (IBE-ET) schemes [32,33] were proposed. Along with research, to make fine-grained authorization more flexible and inspired by the idea of attribute-based encryption, the attribute-based encryption with equality test (ABE-ET) schemes [34,35,36,37] were presented.
To provide more flexible equality testing to satisfy different requirements, Huang et al. presented the public key encryption with filtered equality test (PKE-FET) schemes [38,39], in which only a few selected message sets can be equality tested. An authorized user can determine not only whether two ciphertexts contain the same plaintext (without decryption) but also whether the plaintext belongs to the message set.
In this paper, we integrate the identity-based cryptography [40] into PKE-FET to propose a new concept of identity-based encryption with the filtered equality test (IBE-FET) for smart healthcare. A practical application scenario using IBE-FET is shown in Figure 2.
In the smart healthcare system, there are three parties: doctors, the healthcare cloud server (HCS) and patients, where the patients are distributed in different areas. To ensure the privacy of patients, the sensitive data is encrypted during transmission. It is desired that the healthcare providers optimize the distribution of family doctors, and thus they need to search for the encrypted information. With the assumption that patients A and B with the same symptoms belong to area 1, A encrypts his privacy information (symptom and area) under the identity I D A and the doctor’s identity I D D , and transmits the tuple { I D A , IBE-FET ( I D D , I D A , symptom , area 1 ) } to HCS. Additionally, A generates a warrant w A and transmits to HCS. B transmits { I D B , IBE-FET ( I D D , I D B , symptom , area 1 ) } and w B to HCS in the same way. Upon obtaining these data, the HCS could determine and search whether A and B are distributed in the same areas and have the same symptom. However, there is no knowledge what the real areas and symptom are. Then, the HCS sends the search result to the patients A and B, respectively, which allows them to share their medical experience with each other. Most important of all, the HCS can investigate the cause of the disease and arrange family doctors reasonably to improve the efficiency of healthcare. The above scenario can be extended to multi-user scenarios. For instance, more patients can get the warrant and send it to the HCS along with the requests and obtain feedback, indicating whether there are any patients belonging to the same area who have the same symptom features.
Besides, the IBE-FET scheme can also be applied to the smart grid system [41,42], which contains electricity suppliers, a power system cloud server and users. To protect the privacy and enhance the power quality of users, the privacy information (e.g., power consumers and location) is generally transmitted in encrypted form. Based on IBE-FET, the power system cloud server can determine and search whether there are any users belonging to the same area that have the same feature (e.g., power flow and peak loading). Then, they send the search result to the electricity suppliers for improvement of the power distribution and optimization of the power flow.

1.1. Our Contributions

This paper proposes an identity-based encryption with the filtered equality test (IBE-FET). The main contributions are summarized as follows:
  • Based on secret sharing and bilinear pairing, an IBE-FET scheme is proposed, which does not use the certificate verification to solve the problems of certificate management.
  • The security analysis indicates that the IBE-FET scheme is one-way secure against the chosen identity and ciphertext attack (OW-ID-CCA) based on the computational bilinear Diffie-Hellman assumption in the random oracle model.
  • The performance analysis shows that the IBE-FET scheme achieves the function of a filtered equality test and a higher efficiency in terms of communication cost than the related scheme [39], and therefore the proposed scheme is more suitable for smart healthcare systems.

1.2. Organization

The organization of this paper is as follows: We will briefly discuss related work in Section 2 and review some preliminaries in Section 3; in Section 4, we introduce the framework of IBE-FET; a concrete IBE-FET scheme is put forward in Section 5; Section 6 proposes a formal security proof; comparison and performance evaluations are described in Section 7; and Section 8 concludes this paper.

2. Related Works

The concept of public key encryption with the keyword search (PKE-KS) was first put forward by Boneh et al. [17]. In PKE-KS, each user can use their private key to generate a token for a keyword and send the token to the tester. Upon receiving the token, the tester can determine the equality of ciphertexts. Then, some interesting extension schemes [18,19,20,21,22] were proposed to satisfy various requirements.
PKE-KS aims at testing the keyword’s equality using a given trapdoor. However, it is not suitable for an equality test on ciphertexts by different public keys. In order to solve this problem, Yang et al. [23] proposed public key encryption with the equality test (PKE-ET). The so-called “equality test (ET)” refers to an authorized user who can verify the equality of two ciphertexts encrypted by different public keys, while the decryption keeps unavailable. However, in the PKE-ET scheme, anyone has the ability to execute the equality test without any authorization. As a fundamental security service, the authorization mechanism becomes increasingly important in modern smart system. The hierarchical key assignment techniques [43,44,45,46] were presented, which can provide fine-grained authentication and access control for the user. In order to mitigate the potential vulnerabilities and protect the user’s privacy, Tang et al. [24] integrated the fine-grained authorization mechanism into PKE-ET. In this scheme, two users require cooperation to generate the token by running the authorization algorithm and send this token to the tester, with the tester authorized to verify the equality between the ciphertexts. In addition, Tang et al. [25] introduced the concept of coarse-grained authorization scheme, in this system, every user independently generates the token by running the authorization algorithm and sends it to the tester, who executes the equality test from their ciphertexts. In 2012, Tang [26] expanded [24] to a two-proxy agents setting, where two proxies require cooperation to perform the equality test. Lu et al. [27] introduced a stronger security model for PKE-ET to meet the different demands. In 2015, the public key encryption with the delegated equality test scheme (PKE-DET) was proposed by Ma et al. [28] and in this scheme every user can generate the delegation token independently for the cloud server. Different from PKE-DET, Huang et al. [29] introduced an efficient public key encryption with the authorized equality test (PKE-AET), a provision of two kinds of warrants (recipient warrants and ciphertext warrants) and allowance of the authorized users to use warrants to execute the equality test on two ciphertexts encrypted by different public keys. To satisfy various requirements, the public key encryption supporting equality test and flexible authorization (PKE-ET-FA) was proposed by Ma et al. [30]. In this scheme, four types of authorization were presented to strengthen the user privacy protection. However, it is inefficient due to using bilinear pairings. In 2016, Lin et al. [31] proposed an efficient PKE-ET-FA scheme without using bilinear pairing, which was more suitable for practice. In order to solve the certificate management problem, the identity-based encryption with equality test (IBE-ET) [32,33] was presented. To determine the equality of two ciphertexts encrypted under different access policies, the attribute-based encryption with equality test schemes (ABE-ET) [34,35,36,37] were put forward.
For making the equality test more flexible, based on bilinear pairing and secret sharing, Huang et al. [38,39] proposed the public key encryption with the filtered equality test (PKE-FET). In these schemes, the receiver selects n messages as a set Ω , and then the receiver can use a private key and Ω to generate the warrant w and sends this warrant to someone, who can execute the equality test without decryption.
The PKE-FET scheme needs certification authority to ensure the authenticity of public keys; however, it is worth noting that the problems of certificate management arise. Accordingly, inspired by the concept of identity-based cryptography [40,47,48], we presented an identity-based encryption with the filtered equality test scheme (IBE-FET), simplifying the certificate management of PKE-FET.

3. Preliminaries

This section introduces some preliminaries, including bilinear pairing, secret sharing and security assumption.

3.1. Bilinear Pairing

Let G 1 , G T be two cyclic groups of prime order q, and g is a generator of G 1 . e : G 1 × G 1 G T is a bilinear pairing if the following three properties hold:
  • Bilinearity: For all u , v G 1 and a , b Z q * , where e ( u a , v b ) = e ( u , v ) a b .
  • Non-degeneracy: e ( g , g ) 1 .
  • Computability: It is an efficient algorithm to compute e ( u , v ) for all u , v G 1 .

3.2. Secret Sharing

The idea of secret sharing is introduced in [49], with a secret value k assigned to n users. A trusted party holds k and randomly picks t 1 numbers r 1 , r 2 , · · · , r t 1 form t points on a 2-dimensional plane, which are { ( 0 , k ) , ( 1 , r 1 ) , · · · , ( t 1 , r t 1 ) } . According to these points, there is only one polynomial function ψ with t 1 degree determined. Then, the trusted party computes the points ( i , ψ ( i ) ) for user i [ t , n ] , in which all the points satisfy y i = ψ ( i ) . By distributing these points, it formalizes a t-out-of-n secret sharing scheme. Therefore, as for any t or more than t users, it can reconstruct the polynomial function ψ and obtain the secret value k by computing k = ψ ( 0 ) , but if less than t users, it cannot rebuild the secret value k.

3.3. Assumption

Computational Bilinear Diffie-Hellman (CBDH) Problem: Let g be the generator of G 1 and a , b , c Z q * be chosen at randomly. Given a tuple ( g , g a , g b , g c ) G 1 , the task of CBDH problem is to compute e ( g , g ) a b c G T .
The probability of the algorithm A in solving the CBDH problem is defined as
A d v A C B D H = Pr [ A ( g , g a , g b , g c ) = e ( g , g ) a b c ] ε .
Computational Bilinear Diffie-Hellman (CBDH) Assumption: The CBDH assumption holds if for any polynomial-time algorithm A solves the CBDH problem with the negligible probability.

4. Framework of IBE-FET

The system model, syntax and security model are described in the following sections.

4.1. System Model

The system model of IBE-FET includes four parts: private key generator (PKG), sender (patient), receiver (doctor) and the cloud server, as illustrated in Figure 3. All ciphertexts are generated by the senders under the receiver’s identity and stored in the cloud server. The PKG’s task is to generate the private keys for the users (senders and receivers) secretly. To compare the ciphertexts, the receiver generates the corresponding warrant using its private key and the message set, sending it to the cloud server; wherein the warrant denotes the trapdoor of authentication. As a result, with the warrant, the cloud server is able to verify the equality between the ciphertexts without decryption and check whether the message belongs to the message set. The work of each part is described in more details below:
  • PKG: It is responsible for generating the master key m s k and the private key s k I D , and then keeps m s k by itself and sends s k I D to the sender and receiver through a secure way.
  • Sender (patient): The sender encrypts their private date under the receiver’s identity I D R to generate the ciphertext C and stores it in the cloud server.
  • Receiver (doctor): Upon receiving the private key s k I D R from PKG, the receiver generates the warrant w and sends it to the cloud server. It is noted that the receiver can use the private key to decrypt the ciphertext at any time.
  • Cloud server: With the warrant, the cloud server is in charge of executing the filtered equality test and returns a query result.
The detail data flow of the filtered equality test (FET) is described in Figure 4.

4.2. Syntax

The IBE-FET scheme consists of the following six algorithms: setup, extract, encrypt, decrypt, authorization and filtered equality test. Let Δ denote message space and Ω Δ denote the message set.
Setup: Taking a security parameter k as input, this algorithm outputs the master key m s k and the system parameters P P .
Extract: Taking the master key m s k and the identity I D as input, this algorithm outputs the private key s k I D .
Encrypt: Taking the system parameters P P , the plaintext m Δ and the identity I D as input, this algorithm outputs the ciphertext C.
Decrypt: Taking the system parameters P P , the ciphertext C and the private key s k I D as input, this algorithm outputs the corresponding plaintext m.
Authorization: Taking the system parameters P P , the identity I D , the private key s k I D and the message set Ω as input, this algorithm outputs the warrant w I D .
Filtered equality test: Taking the system parameters P P , the ciphertexts C A and C B , the warrants w I D A and w I D B as input, this algorithm returns 1 if m A Ω , m B Ω and m A = m B . Otherwise, it returns 0.
For the property of consistency, the following conditions must be satisfied.
Correctness: When s k I D is generated by the Extract algorithm given I D , then, for all m Δ , Pr [ Decrypt ( Encrypt ( I D , m ) , s k I D ) = m ] = 1 .
Perfect consistency: When w I D A and w I D B are generated by the Authorization algorithm given I D A , I D B and Ω , then, for all m A Ω , m B Ω and m A = m B , the filtered equality test algorithm must return 1.
Computational soundness: When w I D A and w I D B are generated by the Authorization algorithm given I D A , I D B and Ω , then, for all m A Ω , m B Ω and m A m B , the probability that the filtered equality test algorithm returns 1 is negligible.

4.3. Security Model

The security of IBE-FET needs to satisfy one-way security against the chosen identity and ciphertext attack (OW-ID-CCA), which is defined by an interactive game between a challenger C and an adversary A .
Setup: C generates the master key m s k and the system parameters P P I B E F E T by running the Setup algorithm. Then C sends P P I B E F E T to A and keeps m s k by itself.
Phase 1: A makes the following queries for polynomial number of times.
  • Hash H queries: A submits a query, then C returns a random value to A .
  • Private key queries: A submits the identity I D j to C , then C runs the Extract algorithm and returns the private key s k I D j to A .
  • Decryption queries: A submits the identity I D j and the ciphertext C j to C , then C runs the Extract algorithm to obtain s k I D j and runs the Decrypt algorithm to return the plaintext m j to A .
  • Authorization queries: A submits the identity I D j and the message set Ω j to C , then C runs the Extract algorithm to obtain s k I D j and runs the Authorization algorithm to return the warrant w I D j to A .
Challenge: A submits a challenge identity I D * to C , where I D * does not appear in private key queries in Phase 1. C randomly chooses a plaintext m * Δ and sets C * be the challenge ciphertext. Finally, C sends C * to A .
Phase 2: Similar to Phase 1.
  • Hash H queries: C responds as in Phase 1.
  • Private key queries: If I D j I D * , C responds as in Phase 1. Otherwise, C returns ⊥.
  • Decryption queries: If ( I D j , C j ) ( I D * , C * ) , C responds as in Phase 1. Otherwise, C returns ⊥.
  • Authorization queries: C responds as in Phase 1.
Guess: A outputs a guess m and wins the above game if m = m * .
The advantage of A winning the above game is defined as
A d v I B E F E T , A O W I D C C A = Pr [ m = m * ] .
Definition 1.
The IBE-FET scheme is OW-ID-CCA security if for any adversaries A , A d v I B E F E T , A O W I D C C A is negligible.
Next, the security of the public key encryption (PKE) scheme (which will be mentioned later) needs to satisfy one-way security against the chosen ciphertext attack (OW-CCA), which is defined by an interactive game between a challenger C and an adversary A .
Setup: C generates the private key s k and the system parameters P P P K E by running the Setup algorithm. Then C sends P P P K E to A and keeps s k by itself.
Phase 1: A makes the following queries for polynomial number of times.
  • Hash H queries: A submits a query, then C returns a random value to A .
  • Decryption queries: A submits the ciphertext C i to C , then C runs the Decrypt algorithm and returns the plaintext m i to A .
Challenge: C randomly chooses a challenge plaintext m * Δ and runs the Encrypt algorithm to obtain the challenge ciphertext C * . Finally, C sends C * to A .
Phase 2: Similar to Phase 1.
  • Hash H queries: C responds as in Phase 1.
  • Decryption queries: If C i C * , C responds as in Phase 1. Otherwise, C returns ⊥.
Guess: A outputs a guess m and wins the above game if m = m * .
The advantage of A wining the above game is defined as
A d v P K E , A O W C C A = Pr [ m = m * ] .
Definition 2.
The PKE scheme is OW-CCA security if, for any adversaries A , A d v P K E , A O W C C A is negligible.

5. The Proposed Scheme

In this section, a detailed construction of IBE-FET is proposed.
  • Setup: Given a security parameter k, the PKG executes as follows:
    (1)
    Chooses a bilinear pairing: e : G 1 × G 1 G T , where G 1 and G T are two cyclic groups with prime order q, g is a generator of G 1 .
    (2)
    Randomly picks u , s 0 , s 1 , · · · , s n Z q * and computes U = g u , S 0 = g s 0 , S 1 = g s 1 , · · · , S n = g s n .
    (3)
    Chooses four one-way hash functions H 1 : { 0 , 1 } * G 1 , H 2 : { 0 , 1 } l 1 Z q * , H 3 : G T { 0 , 1 } l 1 + l 2 , H 4 : { 0 , 1 } l 1 G T , where l 1 is the length of the message and l 2 is the length of Z q * .
    The system parameters are P P I B E F E T = { e , q , G 1 , G T , g , U , S 0 , S 1 , · · · , S n , H 1 , H 2 , H 3 , H 4 } and the master key are m s k = { u , s 0 , s 1 , · · · , s n } .
  • Extract: Given the identity I D and the master key u , s 0 , s 1 , · · · , s n , PKG computes h I D = H 1 ( I D ) and the private key s k I D = { h I D u , h I D s 0 , h I D s 1 , · · · , h I D s n } .
  • Encrypt: Given the message m and the identity I D , the sender executes as follows:
    (1)
    Randomly chooses r , t Z q * .
    (2)
    Computes h I D = H 1 ( I D ) , h = H 2 ( m ) , S = i = 0 n S i r h i ,
    C 1 = { C 1 , 0 = g r , C 1 , 1 = g r h , · · · , C 1 , n = g r h n } ,
    C 2 = g t ,
    C 3 = ( m | | r ) H 3 ( e ( h I D , U ) t ) ,
    C 4 = e ( h I D , S ) · H 4 ( m ) .
    The ciphertext is C = { C 1 , C 2 , C 3 , C 4 } , where C 1 = ( C 1 , 0 , C 1 , 1 , · · · , C 1 , n ) .
  • Decrypt: Given the ciphertext C and the private key s k I D , the receiver executes as follows:
    (1)
    Computes C 3 H 3 ( e ( h I D u , C 2 ) ) = m | | r and h = H 2 ( m ) .
    (2)
    Verifies
    C 1 , i = g r h i   and   C 4 = i = 0 n e ( h I D s i , C 1 , i ) · H 4 ( m )
    for all i [ 0 , n ] . If holds, it outputs m. Otherwise, it outputs ⊥.
  • Authorization: Given the message set Ω = { m 1 , m 2 , · · · , m n } and the private key s k I D = { h I D s 0 , h I D s 1 , · · · , h I D s n } , the receiver performs the following steps:
    (1)
    Computes a n-degree polynomial function f ( x ) = i = 1 n ( x H 2 ( m i ) ) = i = 0 n a i x i and obtains the coefficient a 0 , a 1 , · · · , a n .
    (2)
    Computes w I D , i = h I D s i · h I D a i for all i [ 0 , n ] and sends the warrant w I D = { w I D , 0 , w I D , 1 , · · · , w I D , n } to the cloud server.
  • Filtered equality test: Given two ciphertexts C A = { C A , 1 = ( C A , 1 , 0 , C A , 1 , 1 , · · · , C A , 1 , n ) , C A , 2 , C A , 3 , C A , 4 } and C B = { C B , 1 = ( C B , 1 , 0 , C B , 1 , 1 , · · · , C B , 1 , n ) , C B , 2 , C B , 3 , C B , 4 } , two warrants w I D A = { w I D A , 0 , w I D A , 1 , · · · , w I D A , n } and w I D B = { w I D B , 0 , w I D B , 1 , · · · , w I D B , n } , the cloud server executes as follows:
    (1)
    Computes z A = C A , 4 i = 0 n e ( C A , 1 , i , w I D A , i ) and z B = C B , 4 i = 0 n e ( C B , 1 , i , w I D B , i ) .
    (2)
    Checks whether z A = z B or not. It outputs 1 if z A = z B , which means m A Ω , m B Ω and m A = m B . Otherwise, it outputs 0.
Correctness: The decryption algorithm computes
C 3 H 3 ( e ( h I D u , C 2 ) ) = ( m | | r ) H 3 ( e ( h I D , U ) t ) H 3 ( e ( h I D u , g t ) ) = ( m | | r ) H 3 ( e ( h I D , g u ) t ) H 3 ( e ( h I D u , g t ) ) = m | | r
Then, let h = H 2 ( m ) , it checks both C 1 , i = g r h i and C 4 = i = 0 n e ( h I D s i , C 1 , i ) · H 4 ( m ) = i = 0 n e ( h I D s i , g r h i ) · H 4 ( m ) = e ( h I D , g ) r i = 0 n s i h i · H 4 ( m ) = e ( h I D , S ) · H 4 ( m ) for all i [ 0 , n ] . It is straightforward that the correctness holds along with the decryption algorithm.
Perfect consistency: On input ( C A , w I D A ) and ( C B , w I D B ) , the filtered equality test algorithm obtains z A by computing
z A = C A , 4 i = 0 n e ( C A , 1 , i , w I D A , i ) = i = 0 n e ( h I D A , S i ) r h i · H 4 ( m A ) i = 0 n e ( g r h i , h I D A ( s i + a i ) ) = e ( h I D A , g ) r i = 0 n s i h i · H 4 ( m A ) e ( g , h I D A ) r i = 0 n ( s i h i + a i h i ) = e ( h I D A , g ) r i = 0 n s i h i · H 4 ( m A ) e ( g , h I D A ) r i = 0 n s i h i + r f ( H 2 ( m A ) ) .
If m A Ω , we have f ( H 2 ( m A ) ) = i = 0 n a i H 2 ( m A ) i = 0 , therefore z A = e ( h I D A , g ) r i = 0 n s i h i · H 4 ( m A ) e ( g , h I D A ) r i = 0 n s i h i = H 4 ( m A ) . Similarly, if m B Ω , we can obtain z B = H 4 ( m B ) . If m A = m B , then z A = z B . The filtered equality test algorithm outputs 1.
Computational soundness: For any m A Ω and m B Ω , by the inference of consistency, z A and z B will be computed as z A = H 4 ( m A ) and z B = H 4 ( m B ) , respectively. If m A m B , then z A z B , this is because H 4 ( m ) is a collision resistant function. Hence the probability that the filtered equality test algorithm returns 1 is negligible. The computational soundness holds.

6. Security Proof

In this section, based on CBDH assumption, the proposed IBE-FET scheme is proved to be OW-ID-CCA security in the random oracle model. The detail of security proof is shown in Figure 5. Using the same method [32,33,40], we prove the security of the proposed scheme in two steps. We first show that an OW-ID-CCA attack on IBE-FET can be converted to an OW-CCA attack on PKE, then, we show that PKE is OW-CCA secure if the DBDH assumption holds.
Theorem 1.
Supposing there is an OW-ID-CCA adversary A that is able to break the proposed scheme with a non-negligible probability ε, then there exists an algorithm B that solves the CBDH problem with the probability at least ε = ε e ( q s k + q a u t + q d + 1 ) ( q H 3 + 1 ) q H 3 · q d 2 l 1 + l 2 ( q H 3 + 1 ) , where q s k is the number of the private key queries, q a u t is the number of the authorization queries, q d is the number of the decryption queries and q H 3 is the number of H 3 queries, l 1 is the length of the message and l 2 is the length of Z q * .
Proof. 
Theorem 1 is proved based on the following Theorem 2 and Theorem 3.  □
To prove Theorem 1, we must convert the OW-ID-CCA attack on an IBE-FET scheme to an OW-CCA attack on a PKE scheme. A related PKE scheme is described below.
  • Setup: Given a security parameter k, the system executes as follows:
    (1)
    Chooses a bilinear pairing: e : G 1 × G 1 G T , where G 1 and G T are two cyclic groups with prime order q, g is a generator of G 1 .
    (2)
    Randomly picks h I D G 1 , u , s 0 , s 1 , · · · , s n Z q * and computes U = g u , S 0 = g s 0 , S 1 = g s 1 , · · · , S n = g s n .
    (3)
    Chooses three one-way hash functions: H 2 : { 0 , 1 } l 1 Z q * , H 3 : G T { 0 , 1 } l 1 + l 2 , H 4 : { 0 , 1 } l 1 G T , where l 1 is the length of the message and l 2 is the length of Z q * .
    The system parameters are P P P K E = { e , G 1 , G T , q , g , U , S 0 , S 1 , · · · , S n , h I D , H 2 , H 3 , H 4 } and the pravate key are s k I D = { h I D u , h I D s 0 , h I D s 1 , · · · , h I D s n } .
  • Encrypt: Given the message m, the sender executes as follows:
    (1)
    Randomly chooses r , t Z q * .
    (2)
    Computes h = H 2 ( m ) , S = i = 0 n S i r h i , C 1 = { C 1 , 0 = g r , C 1 , 1 = g r h , · · · , C 1 , n = g r h n } , C 2 = g t , C 3 = ( m | | r ) H 3 ( e ( h I D , U ) t ) , C 4 = e ( h I D , S ) · H 4 ( m ) .
    The ciphertext is C = { C 1 , C 2 , C 3 , C 4 } , where C 1 = ( C 1 , 0 , C 1 , 1 , · · · , C 1 , n ) .
  • Decrypt: Given the ciphertexts C and the private key s k I D , the receiver works as follows:
    (1)
    Computes C 3 H 3 ( e ( h I D u , C 2 ) ) = m | | r and h = H 2 ( m ) .
    (2)
    Verifies
    C 1 , i = g r h i   and   C 4 = i = 0 n e ( h I D s i , C 1 , i ) · H 4 ( m )
    for all i [ 0 , n ] . If holds, it outputs m. Otherwise, it outputs ⊥.
Theorem 2.
Supposing there is an OW-ID-CCA adversary A 1 that is able to break the proposed IBE-FET scheme with a non-negligible probability ε 1 , then there exists an OW-CCA adversary B 1 that can break the PKE scheme with the probability at least ε 1 = ε 1 e ( q s k + q a u t + q d + 1 ) , where q s k is the number of the private key queries, q a u t is the number of the authorization queries and q d is the number of the decryption queries.
Proof. 
In order to convert an OW-ID-CCA attack on IBE-FET to an OW-CCA attack on PKE, we can construct a simulator C 1 to execute the game between A 1 and B 1 .  □
Initialization: C 1 runs the Setup algorithm of PKE and returns the system parameters P P P K E = { q , e , G 1 , G T , g , U , S 0 , S 1 , · · · , S n , h I D , H 2 , H 3 , H 4 } to B 1 . A 1 interacts with B 1 as follows.
Setup: B 1 chooses a hash function H 1 and returns the system parameters P P I B E F E T = { q , e , G 1 , G T , g , U , S 0 , S 1 , · · · , S n , H 1 , H 2 , H 3 , H 4 } to A 1 . For the quickly respond and consistency, B 1 maintains an initially empty list H 1 l i s t of tuples ( I D j , h 1 , j , x j , c j ) .
Phase 1: A 1 makes the following queries.
  • Hash H 1 queries: A 1 submits a query on I D j , B 1 checks the list H 1 l i s t and performs as below:
    -
    If H 1 l i s t contains ( I D j , h 1 , j , x j , c j ) , B 1 responds with previous value h 1 , j to A 1 .
    -
    If H 1 l i s t doesn’t contain ( I D j , h 1 , j , x j , c j ) , based on the Coron’s technology [50], B 1 tosses a coin c j { 0 , 1 } that yield 0 with probability δ and 1 with probability 1 δ . B 1 randomly chooses x j Z q * . If c j = 0 , B 1 computes h 1 , j = g x j . If c j = 1 , B 1 computes h 1 , j = h I D x j . Finally, B 1 adds the tuple ( I D j , h 1 , j , x j , c j ) to the list H 1 l i s t and returns h 1 , j to A 1 .
  • Private key queries: A 1 submits a private key query on I D j , B 1 makes the hash H 1 query on I D j to obtain the corresponding tuple ( I D j , h 1 , j , x j , c j ) .
    -
    If c j = 0 , B 1 returns s k I D j = { U x j , S 0 x j , S 1 x j , · · · , S n x j } to A 1 .
    -
    If c j = 1 , B 1 returns ⊥.
  • Decryption queries: A 1 submits a decryption query on I D j and C = { C 1 , C 2 , C 3 , C 4 } , B 1 makes the hash H 1 query on I D j to obtain the corresponding tuple ( I D j , h 1 , j , x j , c j ) .
    -
    If c j = 0 , B 1 obtains s k I D j = { U x j , S 0 x j , · · · , S n x j } and decrypts C using s k I D j .
    -
    If c j = 1 , B 1 obtains h 1 , j = h I D x j and computes s k I D j = { ( h I D x j ) u , ( h I D x j ) s 0 , ( h I D x j ) s 1 , · · · , ( h I D x j ) s n } . Then B 1 sets C = { C 1 x j = ( C 1 , 0 x j , C 1 , 1 x j , · · · , C 1 , n x j ) , C 2 x j , C 3 , C 4 } . Note that the IBE-FET decryption of C using s k I D j = { ( h I D x j ) u , ( h I D x j ) s 0 , ( h I D x j ) s 1 , · · · , ( h I D x j ) s n } is the same as the PKE decryption of C using s k I D j = { h I D u , h I D s 0 , h I D s 1 , · · · , h I D s n } because e ( ( h I D x j ) u , C 2 ) = e ( h I D u , C 2 x j ) and e ( ( h I D x j ) s i , C 1 , i ) = e ( h I D s i , C 1 , i x j ) for any i [ 0 , n ] . B 1 makes the decryption query on C to C 1 and returns the response of C 1 to A 1 .
  • Authorization queries: A 1 submits an authorization query on I D j and the message set Ω j , B 1 makes the private key query on I D j to obtain s k I D j . Then B 1 runs the authorization algorithm and returns the warrant w I D j to A 1 .
Challenge: A 1 chooses the challenge identity I D * and returns it to B 1 . Here, I D * does not appear in the private key queries of Phase 1. Then B 1 makes the hash H 1 query on I D * to get the tuple ( I D * , h 1 , j * , x j * , c j * ) and executes as follows:
  • If c j * = 0 , B 1 returns ⊥.
  • If c j * = 1 , C 1 randomly chooses m * and returns a PKE challenge ciphertext C * = { C 1 * = ( C 1 , 0 * , C 1 , 1 * , · · · , C 1 , n * ) , C 2 * , C 3 * , C 4 * } on m * to B 1 . Then B 1 returns C * = { C 1 * ( x j * ) 1 = ( C 1 , 0 * ( x j * ) 1 , C 1 , 1 * ( x j * ) 1 · · · , C 1 , n * ( x j * ) 1 ) , C 2 * ( x j * ) 1 , C 3 * , C 4 * } to A 1 .
Phase 2: A 1 makes queries as done in Phase 1.
  • Private key queries: If I D * I D j , B 1 responds as in Phase 1. Otherwise, B 1 returns ⊥.
  • Decryption queries: If ( I D * , C * ) ( I D j , C j ) , B 1 responds as in Phase 1. Otherwise, B 1 returns ⊥.
  • Authorization queries: B 1 responds as in Phase 1.
Guess: A 1 outputs a guess m for m * . B 1 outputs a guess m for m * .
We define the following three events:
  • ζ 1 : B 1 aborts in the private key query during Phase 1 or Phase 2.
  • ζ 2 : B 1 aborts in the challenge phase.
  • ζ 3 : B 1 aborts in the decryption query in Phase 2.
Thus, we have
Pr [ ¬ ζ 1 ¬ ζ 2 ¬ ζ 3 ] ( 1 δ ) δ ( q s k + q a u t + q d ) .
Clearly, ( 1 δ ) δ ( q s k + q a u t + q d ) can obtain the maximized when δ = 1 1 ( q s k + q a u t + q d + 1 ) . The probability that B 1 does not abort is at least 1 ( q s k + q a u t + q d + 1 ) . Therefore, the advantage of B 1 is at least ε 1 e ( q s k + q a u t + q d + 1 ) .
Theorem 3.
Supposing there is an OW-CCA adversary A 2 that is able to break the PKE scheme with a non-negligible probability ε 2 , then there exists an algorithm B 2 that solves the CBDH problem with the probability at least ε 2 = ε 2 q H 3 + 1 q H 3 · q d ( q H 3 + 1 ) · 2 l 1 + l 2 , where q H 3 is the number of H 3 queries and q d is the number of the decryption queries, l 1 is the length of the message and l 2 is the length of Z q * .
Proof. 
Let ε 2 = A d v P K E , A 2 O W C C A represent the advantage of A 2 in the OW-CCA security game. According to schemes [23,24,25,26,27,28,29,30,31], this theorem is proved by performing a series of games. Let Q i denote the event that m = m * in Game i ( i = 0 , 1 , 2 ) . We define the Game 0 to be the real security game against the adversary in Definition 2. Then, we can modify the last game in an indistinguishable way to obtain the next game. The adversary has no advantage unconditionally in last game, thus he can make the queries many times, then the event will happen in the next game. Since each game is indistinguishable from the next, to prove the real security game, we can show that the probability of an event is negligible if the DBDH assumption holds. The detailed process is shown as follows.  □
Game 0:
1. Initial phase: B 2 generates u , s 0 , s 1 , · · · , s n Z q * and h I D G 1 by running the Setup algorithm, then computes U = g u , S 0 = g s 0 , S 1 = g s 1 , · · · , S n = g s n . Finally, B 2 returns the system parameters P P P K E = { q , e , G 1 , G T , g , U , S 0 , S 1 , · · · , S n , h I D , H 2 , H 3 , H 4 } to A 2 . For the quickly respond and consistency, B 2 maintains an initially empty list H 3 l i s t of tuples ( Φ i , h 3 , i ) .
2. Query phase: B 2 works as follows:
  • Hash H 3 queries: A 2 makes a hash H 3 query on Φ i , B 2 checks the list H 3 l i s t and performs as follows.
    -
    If H 3 l i s t includes ( Φ i , h 3 , i ) , B 2 returns h 3 , i to A 2 .
    -
    If H 3 l i s t doesn’t include ( Φ i , h 3 , i ) , B 2 selects a random sting h 3 , i { 0 , 1 } l 1 + l 2 and returns h 3 , i to A 2 .
  • Decryption queries: A 2 makes a decryption query on C, B 2 returns m to A 2 by running the decryption algorithm using the private key.
3. Challenge phase: For any m * , B 2 randomly chooses r , t Z q * and computes h = H 2 ( m * ) , S = i = 0 n S i r h i and defines the challenge ciphertexts
C * = { C 1 * = ( C 1 , 0 * , C 1 , 1 * , · · · , C 1 , n * ) , C 2 * , C 3 * , C 4 * }
as follows:
C 1 * = { C 1 , 0 * = g r , C 1 , 1 * = g r h , · · · , C 1 , n * = g r h n } ,
C 2 * = g t ,
C 3 * = ( m * | | r ) H 3 ( e ( h I D , U ) t ) ,
C 4 * = e ( h I D , S ) · H 4 ( m * ) .
4. Output phase: A 2 outputs a guess m for m * .
Thus, the advantage of A 2 winning in Game 0 is
A d v P K E , A 2 O W C C A = P r [ Q 0 ] .
Game 1:
1. Initial phase: B 2 responds as in Game 0.
2. Query phase: B 2 works as follows:
  • Hash H 3 queries: A 2 makes a hash H 3 query on Φ i , B 2 checks the list H 3 l i s t and performs as follows.
    -
    If H 3 l i s t includes ( Φ i , h 3 , i ) . When Φ i = e ( h I D , U ) t , B 2 defines ω 1 * = H 3 ( e ( h I D , U ) t ) as h 3 , i and returns ω 1 * to A 2 ; otherwise, B 2 returns h 3 , i to A 2 .
    -
    If H 3 l i s t doesn’t include ( Φ i , h 3 , i ) , B 2 selects a random sting h 3 , i { 0 , 1 } l 1 + l 2 and returns h 3 , i to A 2 .
  • Decryption queries: B 2 responds a decryption query as in Game 0.
3. Challenge phase: For any m * , B 2 randomly chooses r , t Z q * , ω 1 * { 0 , 1 } l 1 + l 2 and computes h = H 2 ( m * ) , S = i = 0 n S i r h i and defines the challenge ciphertexts
C * = { C 1 * = ( C 1 , 0 * , C 1 , 1 * , · · · , C 1 , n * ) , C 2 * , C 3 * , C 4 * }
as follows:
C 1 * = { C 1 , 0 * = g r , C 1 , 1 * = g r h , · · · , C 1 , n * = g r h n } ,
C 2 * = g t ,
C 3 * = ( m * | | r ) ω 1 * ,
C 4 * = e ( h I D , S ) · H 4 ( m * ) .
4. Update phase: B 2 adds the tuple ( e ( h I D , U ) t , ω 1 * ) to the list H 3 l i s t .
5. Output phase: A 2 outputs a guess m for m * .
Compared to Game 0, the value of H 3 is replaced by a random value ω 1 * in Game 1. According to the random oracle model, the advantage of A 2 winning in Game 1 is identical to Game 0. Thus
A d v P K E , A 2 O W C C A = P r [ Q 0 ] = P r [ Q 1 ] .
Game 2:
1. Initial phase: B 2 responds as in Game 1.
2. Query phase: B 2 works as follows:
  • Hash H 3 queries: A 2 makes a hash H 3 query on Φ i , B 2 checks the list H 3 l i s t and performs as follows.
    -
    If H 3 l i s t includes ( Φ i , h 3 , i ) . When Φ i = e ( h I D , U ) t , B 2 returns ⊥. Define this event as E 1 ; otherwise, B 2 returns h 3 , i to A 2 .
    -
    If H 3 l i s t does not include ( Φ i , h 3 , i ) , B 2 selects a random sting h 3 , i { 0 , 1 } l 1 + l 2 and returns h 3 , i to A 2 .
  • Decryption queries: A 2 makes a decryption query on C. If C is equal to the challenge ciphertext C * except C 3 , B 2 returns ⊥. Otherwise, B 2 responds as in Game 1.
3. Challenge phase: For any m * , B 2 randomly chooses r , t Z q * , ω 2 * { 0 , 1 } l 1 + l 2 and computes h = H 2 ( m * ) , S = i = 0 n S i r h i and defines the challenge ciphertexts
C * = { C 1 * = ( C 1 , 0 * , C 1 , 1 * , · · · , C 1 , n * ) , C 2 * , C 3 * , C 4 * }
as follows:
C 1 * = { C 1 , 0 * = g r , C 1 , 1 * = g r h , · · · , C 1 , n * = g r h n } ,
C 2 * = g t ,
C 3 * = ω 2 * ,
C 4 * = e ( h I D , S ) · H 4 ( m * ) .
4. Update phase: B 2 adds the tuple ( e ( h I D , U ) t , ω 2 * ( m * | | r ) ) to the list H 3 l i s t .
5. Output phase: A 2 outputs a guess m for m * .
Compared to Game 1, the value of C 3 * is replaced by a random value ω 2 * in Game 2. According to the random oracle model, if the event E 1 does not occur, Game 2 is the same as Game 1. Therefore
| Pr [ Q 2 ] | | Pr [ Q 1 ] | Pr [ E 1 ] .
Now, we proof the event E 1 occurs with negligible probability
Pr [ E 1 ] A d v P 1 C B D H · q H 3 + q d · q H 3 2 l 1 + l 2 .
Claim 1.
Event E 1 occurs with negligible probability Pr [ E 1 ] in Game 2 if the CBDH problem is intractable.
Proof. 
Assume the event E 1 occurs in Game 2 with a non-negligible probability Pr [ E 1 ] , we can construct an algorithm P 1 that can compute e ( g , g ) x y z with a non-negligible probability when receiving a random CBDH problem instance ( g , g x , g y , g z ) .  □
P 1 randomly selects r , s 0 , s 1 , · · · , s n Z q * , m * Δ , ν 1 * { 0 , 1 } l 1 + l 2 and computes h = H 2 ( m * ) . The system parameters are { h I D = g x , U = g y , S 0 = g s 0 , S 1 = g s 1 , · · · , S n = g s n , S = i = 0 n S i r h i = g r i = 0 n s i h i }. Then, P 1 calculates C 1 * = { C 1 , 0 * = g r , C 1 , 1 * = g r h , · · · , C 1 , n * = g r h n } , C 2 * = g z , C 3 * = ν 1 * and C 4 * = e ( h I D , S ) · H 4 ( m * ) as the challenge ciphertexts and adds ( , ν 1 * ( m * | | r ) ) into the list H 3 l i s t . Finally, P 1 returns P P P K E = { q , e , G 1 , G T , g , U , S 0 , S 1 , · · · , S n , S , h I D , H 2 , H 3 , H 4 } and the challenge ciphertexts C * = { C 1 * , C 2 * , C 3 * , C 4 * } to A 2 . A 2 makes the following queries:
  • Hash H 3 queries: P 1 responds as in Game 2.
  • Decryption queries: A 2 makes a decryption query on C. If C 1 = C 1 * , C 2 = C 2 * , C 3 C 3 * , C 4 = C 4 * , P 1 returns ⊥. Otherwise, P 1 searches the list H 3 l i s t to get h 3 , i and computes m * | | r = h 3 , i C 3 * , h = H 2 ( m * ) . If C 1 , i * = g r h i and C 4 * = i = 0 n e ( h I D , C 1 , i * ) s i · H 4 ( m * ) are hold for all i [ 0 , n ] , P 1 returns m * to A 2 .
If the following two cases holds, P 1 can solve the CBDH problem:
  • A 2 has never made a hash H 3 query on e ( h I D , C 2 ) y before a decryption query on C = { C 1 , C 2 , C 3 , C 4 } . In this case, P 1 returns ⊥. If C is a valid ciphertext, it means A 2 guesses the value of h 3 , i correctly. Thus the probability is 1 2 l 1 + l 2 .
  • The event E 1 occurs in the hash H 3 queries. It means that the list H 3 l i s t includes the tuple ( e ( h I D , C 2 ) y , ) . The probability is Pr [ E 1 ] q H 3 .
Let X 1 to be event that the ciphertext is valid when P 1 returns ⊥ in the case 1. Then we have
Pr [ X 1 ] q d 2 l 1 + l 2 .
Let X 2 to be event in case 2 that P 1 obtains e ( g , g ) x y z as a solution of the CBDH problem. If X 1 does not occur and ( e ( h I D , C 2 ) y , ) appears in the list H 3 l i s t with the probability at least Pr [ E 1 ] . So
Pr [ X 2 ¬ X 1 ] = Pr [ E 1 ] q H 3 .
Then
Pr [ X 2 ] = Pr [ X 2 X 1 ] Pr [ X 1 ] + Pr [ X 2 ¬ X 1 ] Pr [ ¬ X 1 ] Pr [ X 2 ¬ X 1 ] Pr [ ¬ X 1 ] = Pr [ X 2 ¬ X 1 ] ( 1 Pr [ X 1 ] ) = Pr [ X 2 ¬ X 1 ] Pr [ X 2 ¬ X 1 ] Pr [ X 1 ] Pr [ X 2 ¬ X 1 ] Pr [ X 1 ] = Pr [ X 1 ] q H 3 q d 2 l 1 + l 2 .
So, we obtain
A d v P 1 C B D H Pr [ E 1 ] q H 3 q d 2 l 1 + l 2 .
According to the assumption, if Pr [ E 1 ] is non-negligible, the advantage A d v P 1 C B D H is non-negligible. The proof of Claim 1 is completed.
Claim 2.
Event Q 2 occurs with negligible probability Pr [ Q 2 ] in Game 2 if the CBDH problem is intractable.
Proof. 
Assume the event Q 2 occurs in Game 2 with a non-negligible probability Pr [ Q 2 ] , we can construct an algorithm P 2 that can compute e ( g , g ) x y z with a non-negligible probability when receiving a random CBDH problem instance ( g , g x , g y , g z ) .  □
P 2 randomly selects t , s 1 , s 2 , · · · , s n Z q * , ν 1 * { 0 , 1 } l 1 + l 2 , ν 2 * G T , m * Δ and computes h = H 2 ( m * ) . The system parameters are { h I D = g x , S 0 = g y , S 1 = g s 1 , S 2 = g s 2 , · · · , S n = g s n }. Then, P 2 calculates C 1 * = { C 1 , 0 * = g z , C 1 , 1 * = g z h , C 1 , 2 * = g z h 2 , · · · , C 1 , n * = g z h n , C 2 * = g t , C 3 * = ν 1 * and C 4 * = ν 2 * · H 4 ( m * ) as the challenge ciphertexts and adds ( , ν 1 * ( m * | | r ) ) into the list H 3 l i s t . And P 2 returns P P P K E = { q , e , G 1 , G T , g , U , S 0 , S 1 , S 2 , · · · , S n , h I D , H 2 , H 3 , H 4 } and the challenge ciphertexts C * = { C 1 * , C 2 * , C 3 * , C 4 * } to A 2 .
A 2 interacts with P 2 as Game 2.
Finally, P 2 obtains e ( g , g ) x y z by computing
e ( h I D , C 1 , 0 * ) y = C 4 * H 4 ( m * ) · i = 1 n e ( h I D , C 1 , i * ) s i .
Therefore, we have
Pr [ Q 2 ] A d v P 2 C B D H .
According to the assumption, if Pr [ Q 2 ] is non-negligible, the advantage A d v P 2 C B D H is non-negligible. The proof of Claim 2 is completed.
Owing to the Equations (1)–(8), we can claim that
A d v P K E , A 2 O W C C A = Pr [ Q 0 ] = Pr [ Q 1 ] Pr [ Q 2 ] + A d v C B D H · q H 3 + q H 3 · q d 2 l 1 + l 2 ( q H 3 + 1 ) · A d v C B D H + q H 3 · q d 2 l 1 + l 2 .
So, Theorem 3 has been proved.
According to Theorem 2 and Theorem 3, we can show that the proposed IBE-FET scheme satisfies OW-ID-CCA security. Assume an OW-ID-CCA adversary A is able to against IBE-FET with the probability ε , then there the algorithm B can solve the CBDH problem with the probability at least ε = ε e ( q d k + q A u t + q d + 1 ) ( q H 3 + 1 ) q H 3 · q d ( 2 l 1 + l 2 ) ( q H 3 + 1 ) .

7. Comparison and Performance Evaluation

In this section, we present the comparisons between the proposed IBE-FET scheme and the existing related schemes [23,24,25,30,32,33,39].

7.1. Comparison

The comparison for the proposed IBE-FET scheme and the related schemes [23,24,25,30,32,33,39] is given in Table 1. Let ET be the quality test, FET be the filtered quality test, ID be the identity-based and ROM be the random oracle model. Let ✓ denote “satisfy” and ✗ denote “not satisfy”.
From Table 1, it is clearly observed that scheme [39] and the proposed scheme support the filtered equality test while other schemes only provide the equality test. Schemes [32,33] and the proposed scheme adopt the identity-based cryptography which can avoid the certificate management problem, while other schemes adopt public key cryptography. With regard to security, all schemes are provably secure based on basic assumptions in the random oracle except scheme [39]. However, none of the schemes [23,24,25,30,32,33,39] could satisfy both the properties of the filtered equality test and of the identity-based one, only our scheme can do it.

7.2. Computation Cost

For computation complexity estimation, the time cost for performing the cryptographic operations is defined as follows. Let T E and T P denote the time of a scale multiplication operation and a bilinear pairing operation, respectively. The time of a map-to-point hash function operation is denoted as T H . Other lightweight operations (point addition, one way hash function operation) are not taken into account.
To offer the security level of 80-bit, we adopt the symmetric bilinear pairing e : G 1 × G 1 G T , here G 1 is the cyclic group generated by a generator g with the order q on a super singular elliptic curve E : y 2 = x 3 + x mod p with embedding degree 2. p is 512-bit prime number and q is 160-bit Solinas prime number, which satisfy q · 12 · r = p + 1 . Using the MIRACL Crypto SDK [51], the running time of the cryptographic operations are quantified. The experiment is run on an Intel Core i5-4590, 3.3GHz CPU, 8 gigabytes memory with Windows 7 environment. Table 2 lists the average execution times of cryptographic operations T E , T P , and T H .
Based on the experimental results, the computation cost of the proposed IBE-FET scheme and the related schemes [23,24,25,30,32,33,39] are summarized in Table 3.
In the encryption phase, the proposed scheme needs to execute n + 3 scalar multiplication operations, two bilinear pairing operations and two map-to-point hash operations; therefore, the total encryption time is ( n + 3 ) T E + 2 T P + 2 T H = 3.7770 n + 48.8996 ms. In the decryption phase, the proposed scheme needs to execute n + 1 scalar multiplication operations, n + 2 bilinear pairing operations and one map-to-point hash operation; therefore, the total decryption time is ( n + 1 ) T E + ( n + 2 ) T P + 1 T H = 12.8561 n + 31.6404 ms. In the authorization phase, the proposed scheme needs to execute n + 1 scalar multiplication operations; therefore, the total authorization time is ( n + 1 ) T E = 3.7770 n + 3.7770 ms. In the test phase, the proposed scheme needs to execute n + 1 bilinear pairing operations; therefore, the total test time is ( n + 1 ) T P = 9.0791 n + 9.0791 ms. From Table 3, we can arrive at the fact that the computational cost of the proposed scheme is higher than those of other schemes [23,24,25,30,32,33,39] in both encryption and decryption phases. In terms of authorization and test phases, the proposed scheme has the same computational cost as scheme [39], which is more than those of other schemes [23,24,25,30,32,33,39].
Figure 6 describes the relationship between the computational cost of the proposed scheme and the number of message n. As shown in Figure 6, the total computational cost increases linearly with the number of message in all phases. The computational cost is equal to 67.7496, 95.9209, 22.6270 and 54.4746 ms when n = 5 , that is equal to 162.2096, 417.3234, 117.0870 and 281.4521 ms when n = 30 , in encryption, decryption, authorization, and equation test phase of the proposed scheme, respectively. Based on the above analysis, the computational cost of the proposed scheme is feasible.

7.3. Communication Cost

We compare the communication cost of the proposed IBE-FET and those of the related schemes [23,24,25,30,32,33,39] in this section. The communication cost is represented by the size of message transmitted. The sender transmits the ciphertext to the cloud server for storing and a warrant is transmitted from the receiver to the cloud server in order to perform the filter equality test. Therefore, the communication cost is generated as a result of the communication between the sender and the cloud server and between the receiver and the cloud server. Let | P K | , | C T | , | W T | denote the sizes of the public key, ciphertext and warrant, respectively. Let | G 1 | be the length of the element in group G 1 , | G T | be the length of the element in group G T , | Z q | be the element’s length of Z q . Since the size of q is 512 bits (64 bytes), therefore the sizes of the elements in group G 1 and G T are 512 bits (64 bytes) and 3072 bits (384 bytes) respectively. The length of Z q is 512 bits (64 bytes). Based on the above analysis, in the proposed scheme, the ciphertext C = { C 1 = ( C 1 , 0 , C 1 , 1 , · · · , C 1 , n ) , C 2 , C 3 , C 4 } is sent from the sender to the cloud server, where C 1 , i G 1 , C 2 G 1 , C 3 G T , C 4 Z q . Therefore, the communication cost is ( n + 2 ) G 1 + G T + Z q = 64 n + 576 b y t e s . The warrant w I D = { w I D , 0 , w I D , 1 , · · · , w I D , n } is sent from the receiver to the cloud server, where w I D , i G 1 . Therefore, the communication cost is ( n + 1 ) G 1 = 64 n + 64 b y t e s . The results of the comparison are listed in Table 4.
From Table 4, we can see that the communication cost of schemes [23,24,25,30,32,33,39] is a fixed value, while that of the proposed scheme and scheme [39] increases linearly with the number of message n. From the above analysis, we find that when the message n is constant, the public key’s size of the proposed scheme is smaller than those of scheme [39]. As for the size of ciphertext and warrant, the communication cost of the proposed scheme is equal to that of scheme [39]. Thus, the communication cost of the proposed IBE-FET scheme is lower than that of scheme [39].

8. Conclusions

In this paper, based on bilinear pairing and secret sharing, we have presented an identity-based encryption with the filtered equality test (IBE-FET) scheme. The security analysis demonstrated that the proposed IBE-FET is OW-ID-CCA secure under the CBDH assumptions in the random oracle model. The performance evaluation and comparison indicate that the proposed IBE-FET achieves greater functionality than most previous schemes and adopts identity-based cryptography which avoids the certificate management issue effectively. In addition, the total computational cost increases linearly with the number of message n in all phases. Besides, in terms of communication cost, the proposed scheme is efficient. Therefore, the proposed IBE-FET scheme is more practical.

Author Contributions

Y.M. and E.W. conceived of the work, designed the concrete scheme and wrote the paper.

Acknowledgments

This work was supported in part by the Natural Science Foundation of Shaanxi Province under Grant 2018JM6081, in part by the Project of Science and Technology of Xi’an City under Grant 2017088CG/RC051(CADX002), and in part by the Fundamental Research Funds for the Central Universities, CHD, under Grant 300102249204.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Nam, T.; Pardo, T.A. Conceptualizing smart city with dimensions of technology, people, and institutions. In Proceedings of the 12th Annual International Digital Government Research Conference on Digital Government Innovation in Challenging Times, College Park, MD, USA, 12–15 June 2011; pp. 282–291. [Google Scholar]
  2. Yu, Y.; Li, Y.; Tian, J. Blockchain-based solutions to security and privacy issues in the Internet of Things. IEEE Wirel. Commun. 2018, 25, 12–18. [Google Scholar] [CrossRef]
  3. Su, K.; Jie, L.; Hongbo, F. Smart city and the applications. In Proceedings of the International Conference on Electronics, Communications and Control (ICECC), Ningbo, China, 9–11 September 2011; pp. 1028–1031. [Google Scholar]
  4. Ferraz, F.S.; Ferraz, C.A.G. Smart city security issues: Depicting information security issues in the role of an urban environment. In Proceedings of the 7th International Conference on Utility and Cloud Computing (UCC), London, UK, 8–11 December 2014; pp. 842–847. [Google Scholar]
  5. Zheng, D.; Wu, A.; Zhang, Y.; Zhao, Q. Efficient and privacy-preserving medical data sharing in Internet of Things with limited computing power. IEEE Access 2018, 6, 28019–28027. [Google Scholar] [CrossRef]
  6. Zhang, Y.; Yang, M.; Zheng, D.; Lang, P.; Wu, A.; Chen, C. Efficient and secure big data storage system with leakage resilience in cloud computing. Soft Comput. 2018, 22, 7763–7772. [Google Scholar] [CrossRef]
  7. Catarinucci, L.; De Donno, D.; Mainetti, L. An IoT-aware architecture for smart healthcare systems. IEEE Internet Things J. 2015, 2, 515–526. [Google Scholar] [CrossRef]
  8. Demirkan, H. A smart healthcare systems framework. IT Prof. 2013, 15, 38–45. [Google Scholar] [CrossRef]
  9. Acampora, G.; Cook, D.J.; Rashidi, P. A survey on ambient intelligence in healthcare. Proc. IEEE 2013, 101, 2470–2494. [Google Scholar] [CrossRef] [PubMed]
  10. Zhang, Y.; Zheng, D.; Deng, R.H. Security and privacy in smart health: Efficient policy-hiding attribute-based access control. IEEE Internet Things J. 2018, 5, 2130–2145. [Google Scholar] [CrossRef]
  11. Zhang, Y.; Lang, P.; Zheng, D.; Yang, M.; Guo, R. A secure and privacy-aware smart health system with secret key leakage resilience. Secur. Commun. Netw. 2018, 2018, 1–13. [Google Scholar] [CrossRef]
  12. Zhang, Y.; Deng, R.H.; Han, G. Secure smart health with privacy-aware aggregate authentication and access control in Internet of Things. J. Netw. Comput. Appl. 2018, 123, 89–100. [Google Scholar] [CrossRef]
  13. Zhang, Y.; Zheng, D.; Guo, R.; Lan, Q. Fine-grained access control systems suitable for resource-constrained users in cloud computing. Comput. Inf. 2018, 37, 327–348. [Google Scholar] [CrossRef]
  14. Abdalla, M.; Bellare, M.; Catalano, D. Searchable encryption revisited: Consistency properties, relation to anonymous IBE, and extensions. In Proceedings of the Advances in Cryptology-Crypto’05, Santa Barbara, CA, USA, 14–18 August 2005; pp. 205–222. [Google Scholar]
  15. Bellare, M.; Boldyreva, A.; O’Neill, A. Deterministic and efficiently searchable encryption. In Proceedings of the Advances in Cryptology-Crypto’07, Santa Barbara, CA, USA, 19–23 August 2007; pp. 535–552. [Google Scholar]
  16. Fuhr, T.; Paillier, P. Decryptable searchable encryption. In Proceedings of the International Conference on Provable Security, Wollongong, Australia, 1–2 November 2007; pp. 228–236. [Google Scholar]
  17. Boneh, D.; Di Crescenzo, G.; Ostrovsky, R. Public key encryption with keyword search. In Proceedings of the Advances in Cryptology-Crypto’04, Interlaken, Switzerland, 2–6 May 2004; pp. 506–522. [Google Scholar]
  18. Yau, W.C.; Heng, S.H.; Goi, B.M. Off-line keyword guessing attacks on recent public key encryption with keyword search schemes. In Proceedings of the International Conference on Autonomic and Trusted Computing (ATC), Oslo, Norway, 23–25 June 2008; pp. 100–105. [Google Scholar]
  19. Ibraimi, L.; Nikova, S.; Hartel, P. Public-key encryption with delegated search. In Proceedings of the International Conference on Applied Cryptography and Network Security (ACNS), Nerja, Spain, 7–10 June 2011; pp. 532–549. [Google Scholar]
  20. Fang, L.; Susilo, W.; Ge, C. Public key encryption with keyword search secure against keyword guessing attacks without random oracle. Inform. Sci. 2013, 238, 221–241. [Google Scholar] [CrossRef] [Green Version]
  21. Baek, J.; Safavi-Naini, R.; Susilo, W. Public key encryption with keyword search revisited. In Proceedings of the International Conference on Computational Science and Its Applications (ICCSA), Perugia, Italy, 30 June–3 July 2008; pp. 1249–1259. [Google Scholar]
  22. Chen, R.; Mu, Y.; Yang, G. A new general framework for secure public key encryption with keyword search. In Proceedings of the Australasian Conference on Information Security and Privacy (ACISP), Brisbane, QLD, Australia, 29 June–1 July 2015; pp. 59–76. [Google Scholar]
  23. Yang, G.; Tan, C.H.; Huang, Q. Probabilistic public key encryption with equality test. In Proceedings of the Cryptographers’ Track at the RSA Conference (CT-RSA), San Francisco, CA, USA, 1–5 March 2010; pp. 119–131. [Google Scholar]
  24. Tang, Q. Towards public key encryption scheme supporting equality test with fine-grained authorization. In Proceedings of the Australasian Conference on Information Security and Privacy (ACISP), Melbourne, VIC, Australia, 11–13 July 2011; pp. 389–406. [Google Scholar]
  25. Tang, Q. Public key encryption supporting plaintext equality test and user-specified authorization. Secur. Commun. Netw. 2012, 5, 1351–1362. [Google Scholar] [CrossRef] [Green Version]
  26. Tang, Q. Public key encryption schemes supporting equality test with authorization of different granularity. Int. J. Appl. Cryptogr. 2012, 2, 304–321. [Google Scholar] [CrossRef]
  27. Lu, Y.; Zhang, R.; Lin, D. Stronger security model for public-key encryption with equality test. In Proceedings of the International Conference on Pairing-Based Cryptography, Cologne, Germany, 16–18 May 2012; pp. 65–82. [Google Scholar]
  28. Ma, S.; Zhang, M.; Huang, Q. Public key encryption with delegated equality test in a multi-user setting. Comput. J. 2014, 58, 986–1002. [Google Scholar] [CrossRef]
  29. Huang, K.; Tso, R.; Chen, Y.C. Pke-aet: Public key encryption with authorized equality test. Comput. J. 2015, 58, 2686–2697. [Google Scholar] [CrossRef]
  30. Ma, S.; Huang, Q.; Zhang, M. Efficient public key encryption with equality test supporting flexible authorization. IEEE Trans. Inf. Forensics Secur. 2015, 10, 458–470. [Google Scholar] [CrossRef]
  31. Lin, X.J.; Qu, H.; Zhang, X. Public Key Encryption Supporting Equality Test and Flexible Authorization Without Bilinear Pairings. Cryptology ePrint Archive. 2016. Available online: http://eprint.iacr.org/2016/277 (accessed on 1 July 2019).
  32. Ma, S. Identity-based encryption with outsourced equality test in cloud computing. Inf. Sci. 2016, 328, 389–402. [Google Scholar] [CrossRef]
  33. Wu, L.; Zhang, Y.; Choo, K.R. Efficient and secure identity-based encryption scheme with equality test in cloud computing. Future Gener. Comput. Syst. 2017, 73, 22–31. [Google Scholar] [CrossRef]
  34. Zhu, H.; Wang, L.; Ahmad, H.; Niu, X. Key-policy attribute-based encryption with equality test in cloud computing. IEEE Access 2017, 5, 20428–20439. [Google Scholar] [CrossRef]
  35. Wang, Q.; Peng, L.; Xiong, H.; Sun, J. Ciphertext-policy attribute-based encryption with delegated equality test in cloud computing. IEEE Access 2017, 6, 760–771. [Google Scholar] [CrossRef]
  36. Liao, Y.; Chen, H.; Li, F.; Jiang, S.; Zhou, S.; Mohammed, R. Insecurity of a key-policy attribute based encryption scheme with equality test. IEEE Access 2018, 6, 10189–10196. [Google Scholar] [CrossRef]
  37. Sun, J.; Bao, Y.; Nie, X.; Xiong, H. Attribute-hiding predicate encryption with equality test in cloud computing. IEEE Access 2018, 6, 31621–31629. [Google Scholar] [CrossRef]
  38. Huang, K.; Chen, Y.C.; Tso, R. Semantic secure public key encryption with filtered equality test pke-fet. In Proceedings of the 12th International Joint Conference on E-Business and Telecommunications (ICETE), Colmar, France, 20–22 July 2015; pp. 327–334. [Google Scholar]
  39. Huang, K.; Tso, R.; Chen, Y.C. Somewhat semantic secure public key encryption with filtered-equality-test in the standard model and its extension to searchable encryption. J. Comput. Syst. Sci. 2017, 89, 400–409. [Google Scholar] [CrossRef]
  40. Boneh, D.; Franklin, M. Identity-based encryption from the Weil pairing. In Proceedings of the Advances in Cryptology-Crypto’01, Santa Barbara, CA, USA, 19–23 August 2001; pp. 213–229. [Google Scholar]
  41. Amin, S.M.; Wollenberg, B.F. Toward a smart grid: Power delivery for the 21st century. IEEE Power Energy Mag. 2005, 3, 34–41. [Google Scholar] [CrossRef]
  42. Heydt, G.T. The next generation of power distribution systems. IEEE Trans. Smart Grid. 2010, 1, 225–235. [Google Scholar] [CrossRef]
  43. Alderman, J.; Farley, N.; Crampton, J. Tree-based cryptographic access control. In Proceedings of the 22nd European Symposium on Research in Computer Security (ESORICS), Oslo, Norway, 11–15 September 2017; pp. 47–64. [Google Scholar]
  44. Alderman, J.; Crampton, J.; Farley, N. A framework for the cryptographic enforcement of information flow policies. In Proceedings of the 22nd ACM on Symposium on Access Control Models and Technologies (SACMAT), Indianapolis, IN, USA, 21–23 June 2017; pp. 143–154. [Google Scholar]
  45. Castiglione, A.; De Santis, A.; Masucci, B. Supporting dynamic updates in storage clouds with the Akl-Taylor scheme. Inf. Sci. 2017, 387, 56–74. [Google Scholar] [CrossRef]
  46. Castiglione, A.; De Santis, A.; Masucci, B. Key indistinguishability versus strong key indistinguishability for hierarchical key assignment schemes. IEEE Trans. Dependable Secur. Comput. 2016, 13, 451–460. [Google Scholar] [CrossRef]
  47. Yu, Y.; Ho Au, M.; Ateniese, G.; Huang, X.; Susilo, W.; Dai, Y.; Min, G. Identity-based remote data integrity checking with perfect data privacy preserving for cloud storage. IEEE Trans. Inf. Forensics Sec. 2017, 12, 767–778. [Google Scholar] [CrossRef]
  48. Li, Y.; Yu, Y.; Susilo, W.; Min, G.; Ni, J.; Choo, R. Fuzzy identity-based data integrity auditing for reliable cloud storage systems. IEEE Trans. Dependable Secur. Comput. 2019, 16, 72–83. [Google Scholar] [CrossRef]
  49. Shamir, A. How to share a secret. Commun. ACM 1979, 22, 612–613. [Google Scholar] [CrossRef]
  50. Coron, J.S. On the exact security of full domain hash. In Proceedings of the Advances in Cryptology-Crypto’00, Santa Barbara, CA, USA, 20–24 August 2000; pp. 229–235. [Google Scholar]
  51. Ltd, S.S. Multi Precision Integer and Rational Arithmetic Cryptographic Library (MIRACL). 2019. Available online: http://www.certivox.com/miracl/ (accessed on 1 July 2019).
Figure 1. Representative smart city applications.
Figure 1. Representative smart city applications.
Sensors 19 03046 g001
Figure 2. A practical application scenario of identity-based encryption with filtered equality test (IBE-FET).
Figure 2. A practical application scenario of identity-based encryption with filtered equality test (IBE-FET).
Sensors 19 03046 g002
Figure 3. System model for IBE-FET.
Figure 3. System model for IBE-FET.
Sensors 19 03046 g003
Figure 4. Flow chart of FET.
Figure 4. Flow chart of FET.
Sensors 19 03046 g004
Figure 5. The security proof of IBE-FET.
Figure 5. The security proof of IBE-FET.
Sensors 19 03046 g005
Figure 6. Computational cost with different number of messages.
Figure 6. Computational cost with different number of messages.
Sensors 19 03046 g006
Table 1. Comparison.
Table 1. Comparison.
SchemesETFETIDROMSecurityAssumption
[23]OW-CCACDH
[24]OW-CCA,IND-CCACDH,DDH
[25]OW-CCA,IND-CCACDH
[30]OW-CCA,IND-CCACONF,CDH
[32]OW-ID-CCACDH
[33]OW-ID-CCACBDH
[39]IND-CCASXDH
The proposed schemeOW-ID-CCACBDH
Table 2. Execution time of cryptographic operation.
Table 2. Execution time of cryptographic operation.
Cryptographic OperationExecution Time
Scalar multiplication T E 3.7770
Bilinear pairing T P 9.0791
Map-to-point hash function T H 9.7052
Table 3. Computation costs.
Table 3. Computation costs.
SchemesEncryptionDecryptionAuthorizationEquality Test
[23] 3 T E 3 T E 2 T P
[24] 4 T E 2 T E 3 T E 4 T P
[25] 5 T E 2 T E 4 T P
[30] 6 T E 5 T E 2 T E + 2 T P
[32] 6 T E + 2 T P + 2 T H 2 T E + 2 T P + 1 T H 1 T E 4 T P + 2 T H
[33] 2 T E + 1 T H 2 T P + 1 T H 1 T H 2 T E + 4 T P + 2 T H
[39] ( n + 4 ) T E + 1 T H ( n + 3 ) T E + 1 T P + 1 T H ( n + 1 ) T E ( n + 1 ) T P
The proposed scheme ( n + 3 ) T E + 2 T H + 2 T P ( n + 1 ) T E + 1 T H + ( n + 2 ) T P ( n + 1 ) T E ( n + 1 ) T P
Table 4. Communication costs.
Table 4. Communication costs.
Schemes | PK | | CT | | WT |
[23] 1 | G 1 | = 64 bytes 3 | G 1 | + 1 | Z q | = 256 bytes
[24] 2 | G 1 | = 128 bytes 3 | G 1 | + 1 | Z q | = 256 bytes 3 | G 1 | = 192 bytes
[25] 2 | G 1 | = 128 bytes 3 | G 1 | + 1 | Z q | = 256 bytes1 | Z q | = 64 bytes
[30] 2 | G 1 | = 128 bytes 5 | G 1 | + 1 | Z q | = 384 bytes
[32] 2 | G 1 | = 128 bytes 5 | G 1 | + 1 | Z q | = 384 bytes1 | G 1 | = 64 bytes
[33] 2 | G 1 | = 128 bytes 2 | G 1 | + 2 | Z q | = 256 bytes1 | G 1 | = 64 bytes
[39] ( n + 2 ) | G 1 | + 1 | G T | = 64 n + 512 bytes ( n + 2 ) | G 1 | + 1 | G T | = 64 n + 576 bytes ( n + 1 ) | G 1 | = 64 n + 64 bytes
The proposed scheme ( n + 2 ) | G 1 | = 64 n + 128 bytes ( n + 2 ) | G 1 | + 1 | G T | + 1 | Z q | = 64 n + 576 bytes ( n + 1 ) | G 1 | = 64 n + 64 bytes

Share and Cite

MDPI and ACS Style

Ming, Y.; Wang, E. Identity-Based Encryption with Filtered Equality Test for Smart City Applications. Sensors 2019, 19, 3046. https://doi.org/10.3390/s19143046

AMA Style

Ming Y, Wang E. Identity-Based Encryption with Filtered Equality Test for Smart City Applications. Sensors. 2019; 19(14):3046. https://doi.org/10.3390/s19143046

Chicago/Turabian Style

Ming, Yang, and Erxiu Wang. 2019. "Identity-Based Encryption with Filtered Equality Test for Smart City Applications" Sensors 19, no. 14: 3046. https://doi.org/10.3390/s19143046

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