Next Article in Journal
A Multimodal Feature Fusion-Based Deep Learning Method for Online Fault Diagnosis of Rotating Machinery
Next Article in Special Issue
CS-FCDA: A Compressed Sensing-Based on Fault-Tolerant Data Aggregation in Sensor Networks
Previous Article in Journal
Silicon Photonic Biosensors Using Label-Free Detection
Previous Article in Special Issue
Exploring Risks Transferred from Cloud-Based Information Systems: A Quantitative and Longitudinal Model
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Efficient Privacy-Preserving Access Control Scheme in Electronic Health Records System

School of Information Engineering, Chang’an University, Xi’an 710064, China
*
Author to whom correspondence should be addressed.
Sensors 2018, 18(10), 3520; https://doi.org/10.3390/s18103520
Submission received: 8 September 2018 / Revised: 6 October 2018 / Accepted: 16 October 2018 / Published: 18 October 2018

Abstract

:
The sharing of electronic health records (EHR) in cloud servers is an increasingly important development that can improve the efficiency of medical systems. However, there are several concerns focusing on the issues of security and privacy in EHR system. The EHR data contains the EHR owner’s sensitive personal information, if these data are obtained by a malicious user, it will not only cause the leakage of patient’s privacy, but also affect the doctor’s diagnosis. It is a very challenging problem for the EHR owner fully controls over own EHR data as well as preserves the privacy of himself. In this paper, we propose a new privacy-preserving access control (PPAC) scheme for EHR. To achieve fine-grained access control of the EHR data, we utilize the attribute-based signcryption (ABSC) mechanism to signcrypt data based on the access policy for the linear secret sharing schemes. Employing the cuckoo filter to hide the access policy, it could protect the EHR owner’s privacy information. In addition, the security analysis shows that the proposed scheme is provably secure under the decisional bilinear Diffie-Hellman exponent assumption and the computational Diffie-Hellman exponent assumption in the standard model. Furthermore, the performance analysis indicates that the proposed scheme achieves low costs of communication and computation compared with the related schemes, meanwhile preserves the EHR owner’s privacy. Therefore, the proposed scheme is better suited to EHR system.

1. Introduction

With the speedy growth of new-generation information techniques like the cloud computing and Internet of Things, and the uninterrupted improvement of living standards of people, the concept of smart city has also got more attention. In particular, the electronic health records (EHR) system has been widely applied in smart city since its appearance, and it has gradually been developed and improved [1,2]. However, in face of the tremendous EHR data, a third-party platform is needed to store and manage these data. Cloud computing provides inexpensive distributed computing capabilities through the Internet, which has the characteristics of ultra-large-scale and low-cost. Hence, managing and storing the EHR data in cloud servers has become an inevitable trend. In EHR system, EHR owners generally upload and view their personal information, medical records and medication records from cloud servers. Storing the EHR data in cloud servers which improves the quality of personal medical health management while saving resources and reducing hospital expenses. Only authorized EHR users (such as doctors or nurses) are able to log in the cloud servers and access data.
Although there are many significant advantages when using cloud servers to manage the EHR data, it also brings some concerns, such as the security and privacy of the sensitive data [3,4,5]. If a malicious and unauthorized adversary breaks the EHR system and conducts a series of malicious actions, including leaking patient’s identity information and maliciously tampering with medical records, it will not only result in disclosure of patient personal privacy, but also lead to misdiagnosis by the doctors and brings serious consequences. Hence, it is necessary to put forward the access control requirements to legitimate users who can access the EHR data. Attribute-based encryption (ABE) is employed to supply fined-grained access control of the EHR data. The EHR owner defines the access policy to determine who is capable to obtain the EHR data and uploads them to the cloud servers after encrypting it using the access policy. The ciphertext could be decrypted simply if the attributes of the EHR user meet the access policy that is defined by the EHR owner. Such as, the encryption access policy is “Alice” ∨ “XXX Hospital ∧ Oncologist”. So, the EHR owner named “Alice” or the EHR user who is the “oncologist” in “XXX hospital” has the right to access the EHR data.
Although ABE schemes [6,7,8,9] could provide secure access control for the EHR data in EHR system, they still suffer from a serious problem that the access policy may leak EHR owner’s privacy. Here, the access policy will be send together with the ciphertext to EHR users in decryption phase, which may lead to the adversary gains owner’s related sensitive information from the access policy. This is caused by the construction of access policy is related to the EHR owner’s attributes. For instance, “Oncologist” is the sensitive information in the access policy for EHR owners. If anyone obtains this information, he might suspect that the EHR owner is suffering from oncology, which leads to the privacy leakage of the EHR owner. To achieve privacy-preserving for EHR system, some ABE schemes [10,11,12,13,14,15,16,17] were proposed.
However, all ABE schemes only support data encryption functionality and do not provide authentication capability. Attribute-based signcryption (ABSC) [18] mechanism emerges in integrating the fine-grained access control of data in attribute-based cryptography terminology and the efficient advantage of signcryption technology, which provides confidentiality, unforgeability and public verifiability simultaneously. Therefore, it is more appropriate to design a PPAC scheme for EHR system using the ABSC technology.

1.1. Our Contributions

In this paper, inspired by the ABSC mechanism and the cuckoo filter [19], a novel privacy-preserving access control (PPAC) scheme for EHR system is put forward. The major contributions are summed up as below:
  • Based on the bilinear pairings, the ciphertext-policy attribute-based signcryption (CP-ABSC) scheme for EHR system is proposed. The proposed scheme ensures fined-grained access control of the EHR data, utilizes cuckoo filter to hide the access policy and preserves the privacy of EHR owners.
  • The security analysis indicates that the proposed CP-ABSC scheme achieves the ciphertext indistinguishability and existential unforgeability in the standard model under the decisional bilinear Diffie-Hellman exponent (q-DBDHE) assumption and the computational Diffie-Hellman exponent (q-CDHE) assumption, respectively.
  • The performance evaluation demonstrates that the proposed CP-ABSC scheme is more efficient than the related existing schemes [20,21,22,23] in terms of communication overheads and computation costs, and is right suitable for EHR system.

1.2. Organization

This paper is organized as below. The related work is described in Section 2. The preliminaries are reviewed in Section 3. The system model and security model are described in Section 4. The proposed PPAC scheme is given in Section 5. Section 6 and Section 7 present the security proof and performance analysis, respectively. Finally, this paper is concluded in Section 8.

2. Related Works

Access control is a basic security service in modern computing systems. The access control management ensures that only authorized users are given access to certain resources, which is an effective method to protect data privacy. It is characterized by different access permissions and level of views, and usually constructed according to hierarchical scheme. In particular, Akl and Taylor [24] first proposed the use of cryptography to implement access control in hierarchical structures in 1983. Crampton et al. [25] introduced a novel cryptographic scheme to execute the enforcement of information flow policies. The advantage of this scheme is that no public information is needed to derive the decryption keys. Moreover, when performing a given policy, this tree-based scheme requires fewer keys compared to existing chain-based approaches. Castiglione et al. [26] not only explored the relationship between all the security concepts in the hierarchical key assignment scheme (HKAS), but also proposed a general architecture for HKAS, which provides security for strong key recovery and gives any HKAS that guarantees security for key recovery. According to the security and privacy of outsourced data, a large number of users must create, share, update and delete it dynamically, Castiglione [27] provided some new results on Akl and Taylor’s scheme [24], for flexible and fine-grained access control to support dynamic updates in cloud environments. Alderman [28] designed a space-efficient KAS based on a binary tree, which eliminates public information as well as imposes logarithmic bounds on the number of derivatives required. This scheme performs better than the existing scheme, reduces the storage requirement of user equipment and logarithmically limits the derivation cost.
In 2005, the idea of ABE was proposed by Sahai and Waters [29], which is a one-to-many encryption mechanism. In this scheme, the users encrypt plaintext message based on the certain access control policy and adopt the attributes to identify user’s identities. Afterwards, ABE is divided into ciphertext-policy ABE (CP-ABE) and key-policy ABE (KP-ABE) depending on whether the access structure is associated with the ciphertexts or the sceret keys, respectively. In 2006, the KP-ABE scheme was proposed by Goyal et al. [30], which supports delegation of private keys and provides flexible access policies that enable fine-grained access control. In 2007, Bethencourt et al. [31] constructed the CP-ABE scheme. Even though the storage server is not trusted, this scheme can keep the data confidentiality. In addition, this method could resist collusion attacks. Based on linear secret sharing schemes, Waters [32] firstly put forward a fully expressed CP-ABE scheme in the standard model. The sender of message can formulate an access policy according to its own attributes and define different access policies for different messages in this scheme. The CP-ABE schemes are more appropriate for access control applications, although both KP-ABE and CP-ABE schemes are able to utilize access policies to encrypt message and achieve access control of data. With the development of research, lots of ABE schemes [6,7,8,9,10,11,12,13,14,15,16,17,33,34,35] have been presented.
For guaranteeing the EHR data’s confidentiality in data storage and transmission process, EHR owners must consider the access control of the EHR data with the aim at ensuring merely authorized users can obtain the important information. In 2009, Ibraimi et al. [6] present a novel CP-ABE scheme for safely managing and sharing the EHR data from an un-trusted web server, which is used to force organizational/patient access control policies and protect the data. In 2010, based on cryptographic constructions, Sun et al. [7] proposed a secure EHR system, which combining the mechanisms for revocation and fine-grained access control, and gives support for patient data secure sharing. In 2011, Akinyele et al. [8] designed a self-protecting EHR scheme employing ABE, the main purpose is that the access control policy may be assigned to each encrypted project. In 2013, Li et al. [9] gave a new secure EHR data sharing scheme in cloud computing, which simplified key management for users by using the multi-authorized ABE technique.
Owing to the sensitivity of health relevant data, offering privacy-preserving of EHR owners and access control of the EHR data is the main challenge in nowadays EHR system. Based on public key encryption with keyword search, Narayan et al. [10] proposed an ABE scheme to provide privacy preservation for EHR management system. An attribute-oriented authentication scheme was proposed by Liang et al. [12], which is able to assist an EHR user to establish social relationships and share health information with other trusted users. Lu et al. [13] introduced the user-centric privacy access control scheme and allowed a medical user to determine who may take part in computing to give assistance to the EHR data processing. Liu et al. [14] proposed the online/offline ABE. EHR owners performed most of the encryption calculations during the offline encryption phase. When the access policy and the EHR data were known during the online encryption phase, EHR owners can quickly integrate information to generate the final ciphertext. Zhou et al. [15] presented two anonymous ABE schemes, which can achieve anonymity for personal EHR. On the basis of ABE, a PPAC scheme in mobile healthcare social networks was proposed by Jiang et al. [16]. In this scheme, they adopt bloom filter to hide attributes and efficiently query attributes before decryption. Yang et al. [17] constructed a new attribute bloom filter for the privacy-preserving CP-ABE scheme.
Combining the encryption and digital signature functions in a single step, Zheng [36] firstly proposed the concept of signcryption. And its advantages include that the communication overhead is much smaller than the steps of encryption and signature and it can achieve both confidentiality and authenticity. Combining the idea of ABE and signcryption, attribute-based signcryption (ABSC) has been put forward [18,20,21,22,23,37,38,39,40,41,42,43,44]. In 2010, Gagné et al. [18] proposed the ABSC scheme using the threshold access policy. In which, the users have to determine their access structure in advance in setup phase. In 2011, Wang et al. [20] put forward a ciphertext-policy and claim-predicate ABSC scheme based on bilinear pairings. Its efficiency is much higher than that of the combination of the cipertext policy attribute-based signature (CP-ABS) and CP-ABE. In 2012, the dynamic CP-ABSC scheme was proposed by Emura et al. [21], which allows the signature access structure updating without re-sending the user’s signature key. This is the public verifiability, which permits any intermediary to check the validity of ciphertext before sending it to recipient. In 2013, a novel and security fuzzy attribute-based signcryption scheme was constructed by Hu et al. [22], which enables data encryption, access control, and digital signature for patient medical information in the body area networking. Afterward, based on the bilinear pairings on elliptic curves, Guo et al. [38] realized the concept of ring signcryption in the attribute-based encryption frame and present attributed-based ring singcryption scheme. Wang et al. [39] point that the ABSC scheme [18] is not secure under certain forgery. Han et al. [40] used the inner-product encryption and constructed a threshold ABSC scheme with constant-size ciphertext. In 2014, Wei et al. [41] designed a traceable ABSC scheme. This scheme’s advantage is that the authority could breach anonymity of the signcryption while it is required to trace messages. In 2016, in the light of expressive LSSS access structure, Rao et al. [43] presented an efficient and constant-size ciphertext KP-ABSC scheme. To solve the problem of secure sharing fine-grained access control of the personal health records (PHR) data, Liu et al. [44] proposed a CP-ABSC scheme. Unfortunately, Rao et al. [23] pointed out the problems in scheme [44] and proposed a secure CP-ABSC scheme for the EHR data sharing in cloud.
In summary, the above mentioned ABSC schemes provide the confidentiality and unforegability of the EHR data. However, these schemes cannot specifically solve the problem about the privacy leakage of EHR owners in EHR system. Moreover, the access policies are still in the form of plaintext in these schemes. To a certain extent, the disclosure of the personal privacy information is still a challenging problem in the fine-grained data access control for EHR system.
Besides, now there are many cloud servers supporting two-factor authentication technology. Based on the analysis of the shortcomings of existing two-factor authentication schemes for privacy preserving, Wang et al. [45] proposed an efficient and provably secure two-factor authentication scheme in the random oracle model, which can achieve higher security and privacy without increasing communication or computing costs. In the following study, Wang et al. [46] proposed a two-factor authentication scheme in the random oracle model, which achieves security guarantees beyond the conventional optimal security bound. If an attribute-based authenticated key agreement scheme is constructed on the basis of signcryption technology, it can also provide good security and efficiency in PPAC scheme. In our research, we prefer to design a PPAC solution for EHR system under the standard model. Therefore, in this paper, using the CP-ABSC scheme, we will present the PPAC scheme for the practical and secure EHR system, which prevent the leakage of EHR owner’s personal privacy information from the access policy and may achieve fine-grained access control of EHR data.

3. Preliminaries

3.1. Bilinear Pairings

Let G , G T be two multiplicative cyclic groups of prime order p and g be the generator of G . The bilinear map e : G × G G T satisfies the following three properties:
  • Bilinearity: For all u , v G and a , b Z p , where e ( u a , v b ) = e ( u , v ) a b .
  • Non-degeneracy: e ( g , g ) 1 .
  • Computability: For all u , v G , there exists an efficient algorithm to compute e ( u , v ) for all u , v G .

3.2. Access Structures

Suppose P = { P 1 , P 2 , , P n } is a set of parties. There exists a collection W 2 P , which is monotone if and only if for any set B and C, if B W and B C then C W . An access structure is a collection W of non-empty subsets of { P 1 , P 2 , , P n } , i.e., W 2 P { } . The sets in W are named as the authorized sets, otherwise which are named as the unauthorized sets.

3.3. Linear Secret Sharing Schemes

A secret sharing scheme Π for access structure W is called the linear secret sharing scheme (LSSS) over a set of parties P in Z p if
  • The shares for each party form a vector over Z p .
  • There exists a share-generating matrix M with l rows and n columns for Π . For all i = [ 1 , l ] , ρ ( i ) maps the i’th row of M to every authorized role attribute, where the function ρ is a function from { 1 , 2 , , l } to P. We find a column vector v = ( σ , r 2 , , r n ) be a sharing vector, where r 2 , , r n Z p are random values and σ Z p is the secret value to be shared. M v is the vector of l shares of σ on Π . Each λ i = ( M v ) i is distributed as secret share value to each attribute ρ ( i ) .
An LSSS to be represented by an access structure W = ( M , ρ ) is shown in Figure 1. Each LSSS has the linear reconstruction property, defined as follows: Let W be the access structure and Π be the LSSS. For any authorized set, i.e., S W , let I = { i : ρ ( i ) S } { 1 , 2 , , l } . According to Π , if { λ i } i I are valid shares for the secret σ , here exists constants { w i Z p } i I such that i I w i λ i = σ . Let M i denote i’th row of M, then i I w i M i = ( 1 , 0 , , 0 ) . It is worth noting that the constants { w i } can be obtained in time polynomial in scale of the share-generation matrix M.

3.4. Cuckoo Filter

The data structure called cuckoo filter [19] is the extended version of bloom filter, which supports adding and removing items dynamically while having lower space overhead, shorter search time and better performance than bloom filter [47]. It also solves the problem of false positive in bloom filter. As a method for testing set membership, cuckoo filter uses cuckoo hashing technique [48] to solve the problem of false positive in bloom filter and check whether an element exists in a set.
Figure 2a shows the basic cuckoo hashing table that includes a series of buckets, and each bucket contains 4 entries. There are two candidate buckets in every item x, which are calculated from the formula and h 1 ( x ) and h 2 ( x ) . The process of inserting a new element into the hash table is displayed as Figure 2b. In Figure 2, the hash table has 8 buckets. When adding a new element into the candidate bucket 1 or 5, if either of the two candidate buckets is empty, we will insert it into the other free bucket.If both buckets have no space the element selects any candidate bucket (such as “1”) and removes the existing element, then this moved element need to re-insert into itself alternative position as shown in Figure 2b. In this case, it will trigger the item “c” that removes from bucket 3 into bucket 6 when removing “a”. We will repeat this operation until we find an empty bucket and the maximum number of times is reached. When no empty bucket is obtained, the cuckoo hashing table will be regard as that it is too filled to insert.
A cuckoo filter algorithm has mainly three functions: the insert function that stores items into the filter, the lookup function that checks whether an item exists in the filter and the delete function that removes the previously inserted items. For each item x, cuckoo filter stores a fingerprint and calculates two candidate buckets i 1 and i 2 by the following formulas:
i 1 = H 4 ( x )
i 2 = i 1 H 4 ( f i n g e r p r i n t ( x ) )
where H 4 is a one-way hash function.
We only adopt the insert and lookup functions of cuckoo filter in our paper. Algorithm 1 and Algorithm 2 illustrate the insert operation and lookup operation, respectively.
In Algorithm 1, cuckoo filter adds new items dynamically through storing fingerprints f of every item x. In Algorithm 2, we can easily check whether an item y belong to cuckoo filter.
Algorithm 1 Insert ( x )
f = fingerprint ( x ) ;
i 1 = H 4 ( x ) ;
i 2 = i 1 H 4 ( x ) ;
If bucket [ i 1 ] or bucket [ i 2 ] has an empty entry then
add f to that bucket;
return Done;
i = randomly pick i 1 or i 2 ;
For n = 0 ; n < MaxMumKicks ; n + + do
randomly select an entry e from bucket [ i ] ;
swap f and fingerprint stored in entry e;
i = i H 4 ( f ) ;
If bucket [ i ] has an empty entry then
add f to bucket [ i ] ;
return done;
return False.
Algorithm 2 Lookup ( y )
f = fingerprint ( y ) ;
i 1 = H 4 ( x ) ;
i 2 = i 1 H 4 ( x ) ;
If bucket [ i 1 ] or bucket [ i 2 ] has f then
return True;
else
return False;
End If.

3.5. Complexity Assumptions

Decisional q-Bilinear Diffie-Hellman Exponent (q-DBDHE) Problem: Given the tuple y a , σ = ( g , g σ , g a , g a 2 , , g a q , g a q + 2 , , g a 2 q ) in group G and a , σ Z p are chosen at randomly, the task of q-DBDHE problem is to distinguish e ( g a q + 1 , g σ ) G T from a random element R G T .
The advantage of A in solving the q-DBDHE problem is defined as
A d v A q - DBDHE = Pr 1 A ( y a , σ , T ) | T = e ( g , g ) a q + 1 σ Pr 1 A ( y a , σ , T ) | T = R ε .
q-DBDHE Assumption: It says that there is no known polynomial-time algorithm A to solve the q-DBDHE problem with advantage at least ε .
Computational q-Diffie-Hellman Exponent (q-CDHE) Problem: Given the tuple y a = ( g , g a , g a 2 , , g a q , g a q + 2 , , g a 2 q ) in group G and a Z p is chosen at randomly, the task of q-CDHE problem is to compute g a q + 1 .
The advantage of in solving the q-CDHE problem is defined as
A d v A q - CDHE = Pr g a q + 1 A ( y a ) ε .
q-CDHE Assumption: It says that there is no known polynomial-time algorithm A to solve the q-CDHE problem with advantage at least ε .

4. Model

In this section, we first give the typical structure of the EHR system model and the specific working stages of the proposed PPAC scheme for the EHR system model. Then, we define a CP-ABSC scheme and its security model, which is the basic method to implement the proposed PPAC scheme.

4.1. System Model

A typical structure of EHR system model is demonstrated in Figure 3.
EHR system comprises four entities: Attribute authority (AA), EHR owner, EHR user and Cloud servers.
  • AA is a trusted party that is responsible for generating and distributing public parameters and private keys for the users, selects attributes from the attribute space and assigns to the users with different rights.
  • EHR owner is the EHR data provider (such as a patient) who formulates the access policy, signcrypts his/her own EHR data and uploads the ciphertext to cloud servers.
  • EHR user is the EHR data receiver (such as a doctor or nurse) who can download the cipgertext from cloud servers and unsigncrypt it.
  • Cloud servers are in charge of storing ciphertext data that sent by the EHR owner and granting access rights to EHR users.
On the basis of the above EHR system model, our paper designs a new PPAC scheme for the EHR system, which includes the following four phases.
  • System initialization phase: AA generates the master key and public systems parameters for EHR system, and then publishes the system parameters to all users (EHR owners and EHR users).
  • Users registration phase: The users submit a registration application to AA. AA verifies the legitimacy of the identity of the user according to the attributes owned by itself and distributes corresponding private key to the user.
  • EHR signcrypt phase: An EHR owner signcrypts the EHR data (such as personal information and medical records) under the access policy, hides the access policy by the cuckoo filter and uploads the ciphertext to cloud servers for data sharing.
  • EHR access phase: An EHR user submits the data access request to the cloud servers, who can download ciphertext from cloud servers and unsigncrypt data to obtain original messages if and only if the attribute set of EHR user that satisfies access policy.

4.2. Security Model

The CP-ABSC scheme is composed of the following five algorithms [23,29]:
Setup: Given a security parameter k, system attribute set S and message universe M , the algorithm outputs the master key MSK and system public parameters PK.
sExtract: Given PK, MSK and the signing attribute set A s S , the algorithm outputs the corresponding signing private key S K A s .
dExtract: Given PK, MSK and the decryption attribute set A d S , the algorithm outputs the corresponding decryption private key S K A d .
Signcrypt: Given PK, the message m M , the signing private key S K A s for A s , the encryption access structure W e = ( M e , ρ e ) , signing access structure W s = ( M s , ρ s ) , where A s W s , and the cuckoo filter, the algorithm outputs the ciphertext CT.
Unsigncrypt: Given PK, the ciphertext CT and the decryption private key S K A d for A d , the algorithm firstly queries the corresponding attributes values by cuckoo filter and reconstructs the access structure W e = ( M e , ρ e ) , and outputs message m if A d W e . Otherwise, the algorithm returns ⊥.
According to [23,32], the security of CP-ABSC needs to satisfy confidentiality and unforgeability.
The confidentiality (indistinguishability against adaptive chosen ciphertext attack (IND-CCA2)) for CP-ABSC is captured by an interactive game between the adversary A and the challenger C as follows.
Initialization: The adversary A chooses an encryption access structure W e for the encryption attribute set A d , which is applied to calculate the challenge ciphertext and provides it to the challenger C .
Setup: C executes the Setup algorithm. C keeps the master key MSK secretly and returns the public parameters PK to A .
Phase 1: A adaptively issues the following polynomial bounded queries.
  • sExtract queries: Given a query on the signing attribute set A s , C executes the sExtract algorithm and returns the corresponding private key S K A s to A .
  • dExtract queries: Given a query on the decryption attribute set A d W e , C executes the dExtract algorithm and returns the corresponding private key S K A d to A .
  • Signcrypt queries: Given a query on the message m M , the decryption attribute set A d , the signing attribute set A s , the encryption access structure W e , the signing access structure W s and cuckoo filter, C executes the sExtract algorithm and obtains the signing private key S K A s . Then C execute the Signcrypt algorithm to generate the ciphertext CT and returns to A .
  • Unsigncrypt queries: Given a query on the ciphertext CT, the decryption attribute set A d and the signing attribute set A s , C firstly queries the corresponding attributes of EHR users that are in cuckoo filter or not and reconstructs the access structure W e = ( M e , ρ e ) . C executes the dExtract algorithm and obtains the decryption private key S K A d . And C executes the Unsigncrypt algorithm to obtain the message m and returns to A .
Challenge: After completing the Phase 1, A outputs two equal length messages m 0 , m 1 and the signing access structure W s . When the signing attribute set A s W s , C gets S K A d by running the dExtract algorithm. C randomly chooses θ { 0 , 1 } and executes the Signcrypt algorithm to generate the ciphertext C T . At last, C sends C T to A as its challenge ciphertext.
Phase 2: A adaptively issues the queries as in Phase 1 except the dExtract queries for any decryption attribute set A d W e and the Unsigncrypt queries for the challenge ciphertext C T for any A d W e .
Guess: A outputs a guess bit θ { 0 , 1 } . If θ = θ , A wins the above game.
The advantage of A that wins the above game is defined to be A d v = | Pr [ θ = θ ] 1 2 | .
Definition 1(Confidentiality). A CP-ABSC scheme is IND-CCA2 security, if there is no polynomial-time adversary who wins the aforementioned game with the non-negligible advantage.
The unforgeability (existential unforgeability against adaptive chosen message attack (EUF-CMA)) for CP-ABSC is captured by an interactive game between the adversary A and the challenger C as follows.
Initialization: The adversary A provides the challenge signing access structure W s to the challenger C .
Setup: C executes the Setup algorithm. Then C keeps the master key MSK secretly and returns the public parameters PK to A .
Query phase: A performs a polynomial bounded number of queries adaptively.
  • sExtract queries: Give a query on the signing attributes set A s W s , C executes the sExtract algorithm and returns the corresponding private key S K A s to A .
  • dExtract queries: Give a query on the decryption attributes set A d , C executes the sExtract algorithm and returns the corresponding private key S K A d to A .
  • Signcrypt queries: Same as the Signcrypt queries in the confidentiality game.
  • Unsigncrypt queries: Same as the Unsigncrypt queries in the confidentiality game.
Forgery: A outputs the forgery ciphertext C T on ( m , W s , W e ) .
A wins above game if C T is valid and A never makes the Signcrypt queries on ( m , W s , W e ) .
The advantage of A that wins the above game is defined as the probability that it wins the unforgeability game.
Definition 2(Unforgeability). A CP-ABSC scheme is EUF-CMA security, if there is no polynomial-time adversary who wins the aforementioned game with the non-negligible advantage.

5. The Proposed Scheme

The construction of PPAC scheme for EHR system is based on the CP-ABSC scheme and the concrete CP-ABSC scheme is given based on the bilinear pairing, supporting the linear secret sharing schemes. Employing the cuckoo filter to hide the access policy, it could protect the EHR owner’s privacy information. The proposed scheme meets the requirements of PPAC in this section, by using CP-ABSC mechanism to signcrypt plaintext messages can satisfy the confidentiality and unforegability of the EHR data. At the same time, the use of cuckoo filter achieves the purpose of privacy preserving. Specifically, our proposed CP-ABSC scheme includes four phases: system initialization, user registration phase, EHR signcrypt phase and EHR access phase. The detail steps are as follows.

5.1. System Initialization

AA generates the master key MSK and public parameters PK for EHR system through executing the Setup algorithm.
  • Setup: Given the security parameter k, message universe M : { 0 , 1 } and attribute set S that includes the EHR owner’s attributes and EHR user’s attributes. AA picks three collision resistant cryptographic hash functions: H 1 : { 0 , 1 } { 0 , 1 } l , H 2 : G Z p , H 3 : { 0 , 1 } Z p . Besides, AA chooses a one-way hash function H 4 : { 0 , 1 } Z p , which will be used to hash all ρ ( i ) for i { 1 , 2 , , l } in the access policy W = ( M , ρ ) associated with the EHR owners’ attributes. Then, AA randomly chooses a , α Z p , δ 1 , δ 2 , y 0 , y 1 , , y l G and sets Y = e ( g , g ) α . For each attribute x S , AA samples h x G .
The system parameters are P K = { M , S , H 1 , H 2 , H 3 , H 4 , g a , δ 1 , δ 2 , y 0 , { y i } i [ 1 , l ] , Y , { h x } x S } and the master key is M S K = { g α } .

5.2. User Registration Phase

According to the attributes of the EHR owner and the EHR user, AA generates the corresponding private keys through executing the sExtract and dExtract algorithms.
  • sExtract: Given PK, MSK and the signing attribute set A s S , AA randomly selects r s Z p and outputs the EHR owner’s signing private key S K A s : K s = g α g a r s , L s = g r s , { K s , x = h x r s } x A s .
  • dExtract: Given PK, MSK and the decryption attribute set A d S , AA randomly picks r d Z p and outputs the EHR user’s decryption private key S K A d : K d = g α g a r d , L d = g r d , { K d , x = h x r d } x A d .

5.3. EHR Signcrypt Phase

The EHR owner signcrypts his/her own EHR data and uses cuckoo filter to hide the access policy W associated with attributes through executing the Signcrypt algorithm.
  • Signcrypt: Given the message m M , the signing private key S K A s , and the encryption access policy W e = ( M e , ρ e ) and the signing access policy W s = ( M s , ρ s ) that are formulated by the EHR owner. The EHR owner performs the following steps.
    -
    The EHR owner selects a vector v = ( σ , v 2 , , v n ) Z p calculates λ i = v · M i for i = 1 , 2 , , l , where M i is the i’th row of matrix M. And the EHR owner randomly chooses φ i Z p and generators a vector φ = ( φ 1 , φ 2 , , φ l ) such that φ · M s = 1 n , that is i = 1 l φ i · M s , i = 1 n , and φ i = 0 for all i where ρ s ( i ) A s , where M s , i is the i’th row of matrix M s .
    -
    The EHR owner picks ξ Z p and computes
    C = m Y σ , C = g σ , μ = H 2 ( C ) , C = ( δ 1 μ δ 2 ) σ , { C i = g a λ i h ρ e ( i ) σ } i [ 1 , l ] ,
    S 1 = L s = g r s , H 1 ( S 1 , W e , W s ) = ( j 1 , j 2 , , j l ) ,
    H 3 ( W e , W s , C , C , C , { C i = g a λ i h ρ e ( i ) σ } i [ 1 , l ] ) = β
    S 2 = K s · i [ 1 , l ] ( K s , ρ s ) φ i · ( y 0 i [ 1 , l ] y i j i ) σ · ( C ) β ξ .
    -
    The EHR owner uses the cuckoo filter to hide the access policy W e = ( M e , ρ e ) . In order to derive the alternative position of an item based on its fingerprint, it needs to utilize the partial-key cuckoo hashing [19]. That can ensure the EHR owner inserts new items to cuckoo filter dynamically. For each valid attribute a i S , where the attribute a i = ρ e ( i ) maps the i’th row of access matrix M, let item x = a i . The EHR owner dynamically inserts a new item x into the cuckoo filter by using the insert operation as shown in Algorithm 1 and constructs the cuckoo filter data structure CF. Finally, the EHR owner uploads the ciphertext C T = { C , C , C , { C i } i [ 1 , l ] , S 1 , S 2 , C F } to the cloud server.

5.4. EHR Access Phase

In this phase, the EHR user downloads the ciphertext CT from the cloud servers, then gets message m through running the Unsigncrypt algorithm.
  • Unsigncrypt: Given the ciphertext CT, the EHR user performs the following steps.
    -
    Suppose that S is the attribute set of the EHR user. For every attribute a i S , let an item y = a i . The EHR user first checks the attributes are in the access policy or not by using using the lookup operation of the cuckoo filter as shown in Algorithm 2. If the item y is in cuckoo filter, it means that the attribute a i exists in the access policy. Lastly, the EHR user generates the reconstructed attribute map ρ e ( i ) = a i and obtains the access policy W e = ( M e , ρ e ) .
    -
    The EHR user computes μ = H 2 ( C ) , H 1 ( S 1 , W e , W s ) = ( j 1 , j 2 , , j l ) , β = H 3 ( W e , W s , C , C , C , { C i = g a λ i h ρ e ( i ) σ } i [ 1 , l ] ) and verifies
    Y = e ( S 2 , g ) e ( g a · i [ 1 , l ] h ρ s ( i ) φ i , S 1 ) · e ( y 0 i [ 1 , l ] y i j i · ( δ 1 μ δ 2 ) β ξ , C )
    -
    If it is invalid, returns ⊥; Otherwise, when the decryption attribute set A d S satisfies ( M e , ρ e ) , the EHR user finds the constants { ω i Z p } i I such that λ i are valid shares of secret value σ based on M e , i I ω i λ i = σ , where I = { i : ρ e ( i ) S } .
    The EHR user computes
    Y σ = e ( C , K d ) i I e ( C i , L d ) · e ( C , K d , ρ e ) ω i
    and recovers the message m from m = C Y σ .
Correctness:
S 2 = K s · i [ 1 , l ] ( K s , ρ s ) φ i · ( y 0 i [ 1 , l ] y i j i ) σ · ( C ) β ξ = g α g a r s · i [ 1 , l ] ( h ρ s ( i ) r s ) φ i · ( y 0 i [ 1 , l ] y i j i ) σ · ( C ) β ξ ,
e ( S 2 , g ) = e ( g α g a r s , g ) · e ( i [ 1 , l ] ( h ρ s ( i ) r s ) φ i , g ) · e ( ( y 0 i [ 1 , l ] y i j i ) σ , g ) · e ( ( δ 1 μ δ 2 ) σ β ξ , g ) = e ( g , g ) α · e ( g a , g r s ) · e ( i [ 1 , l ] ( h ρ s ( i ) ) φ i , g r s ) · e ( y 0 i [ 1 , l ] y i j i , g σ ) · e ( ( δ 1 μ δ 2 ) β ξ , g σ ) = Y · e ( g a i [ 1 , l ] h ρ s ( i ) φ i , S 1 ) · e ( y 0 i [ 1 , l ] y i j i · ( δ 1 μ δ 2 ) β ξ , C ) ,
e ( C , K d ) i I ( e ( C i , L d ) · e ( C , K d , ρ e ) ) ω i = e ( g σ , g α g a r d ) i I ( e ( g a λ i h ρ e ( i ) σ , g r d ) · e ( g σ , h ρ e ( i ) r d ) ) ω i = e ( g , g ) α σ · e ( g , g ) a σ r d i I e ( g , g ) a r d λ i ω i = e ( g , g ) α σ = Y σ .

6. Security Proof

6.1. Confidentiality

Theorem 1.
Assuming there is the adversary A who is capable of breaking the IND-CCA2 security of CP-ABSC scheme with a non-negligible probability ε, then we we can construct an algorithm B that solves the q-DBDHE problem with the probability at least ε = ε q u s p , where q u s is the maximum number of the Unsigncrypt queries issued by A .
Proof. 
The algorithm B receives an instance y a , σ = ( g , g σ , g a , g a 2 , , g a q , g a q + 2 , , g a 2 q ) of the q-DBDHE problem, where g i = g a i , a , σ Z p and g is a generator of G . The goal of B is to decide whether T = e ( g , g ) a q + 1 σ or T = R , where R is a random element in G T . If T = e ( g , g ) a q + 1 σ , B outputs 1; Otherwise outputs 0. Then B chooses three collision-resistant hash functions H 1 : { 0 , 1 } { 0 , 1 } l , H 2 : G Z p , H 3 : { 0 , 1 } Z p and a one-way hash function H 3 : { 0 , 1 } Z p . The algorithm B simulates the challenger in IND-CCA2 security game and interacts with the adversary A as below. □
Initialization: A submits the message space M : { 0 , 1 } and the challenge encryption access structure W e = ( M e , ρ e ) to B , where M e is a matrix of l × n with the labeling function ρ e . Let M i = ( M i , 1 , M i , 2 , , M i , n ) be the i’th row of M e .
Setup: B chooses a random α Z p and calculates α = α + a q + 1 , Y = e ( g , g ) α = e ( g a , g a q ) · e ( g , g ) α . B randomly chooses ς Z p , η 0 , η 1 , , η l Z p and sets C = g σ , μ = H 2 ( C ) , δ 1 = g q 1 μ , δ 2 = g ς g q 1 , y 0 = g η 0 , y 1 = g η 1 , , y l = g η l .
Finally, for each attribute x S , let X denote the set of indices i such that ρ e ( i ) = x . If X , B selects a random parameter f x Z p and defines h x = g f x · g a M i , 1 · g a 2 M i , 2 g a n M i , n . If X = , then h x = g f x .
B returns the public parameters P K = { S , M , H 1 , H 2 , H 3 , H 4 , Y , δ 1 , δ 2 , y 0 , { y i } i [ 1 , l ] , Y , { h x } x S } to A .
Phase 1: A adaptively makes a number of queries as follows.
  • sExtract queries: When A issues a query on the signing attribute set A s , B randomly chooses r ^ Z p , sets r s = r ^ a q and computes L s = g r ^ g q 1 , K s = g α g 1 r ^ , K s , x = h x r ^ g q f x for any x A s . Then B returns the signing private key S K A s = { L s , K s , { K s , x } x A s } to A .
    Correctness:
    L s = g r ^ g q 1 = g r ^ g a q = g r s ,
    K s = g α g 1 r ^ = g α g q + 1 g 1 r ^ g q + 1 1 = g α + a q + 1 g a r ^ a q + 1 = g α g a r s ,
    K s , x = h x r ^ g q f x = h x r ^ ( h x ) a q = h x r s .
  • dExtract queries: When A issues a query on the decryption attributes set A d W e , B randomly chooses a vector γ = ( γ 1 , γ 2 , , γ n ) Z p n where γ 1 = 1 , γ · M e , i = 0 for all i where ρ e ( i ) A d . B randomly selects r ^ Z p , implicitly defines r d = r ^ + γ 1 a q + γ 2 a q 1 + + γ n a q n + 1 and computes L d = g r ^ i = 1 n ( g a q + 1 i ) γ i , K d = g α g a r ^ i = 2 n ( g a q + 2 i ) γ i and K d , x = L d f x j = 1 n ( g a j · r ^ o = 1 , , n o j ( g a q + 1 + j o ) γ o ) M i , j for any x A d . For any i [ 1 , l e ] , if there is no ρ e ( i ) = x , then B simply sets K d , x = L d f x . Then B returns the decryption key S K A d = { L d , K d , { K d , x } x A d } .
    Correctness:
    L d = g r ^ i = 1 n ( g a q + 1 i ) γ i = g r d ,
    K d = g α g a r ^ i = 2 n ( g a q + 2 i ) γ i = g α g a q + 1 · g a r ^ · g a q + 1 i = 2 n ( g a q + 2 i ) γ i = g α g a r ^ i = 1 n ( g a q + 2 i ) γ i = g α ( g a ) r ^ + i = 1 n ( g a q + 1 i ) γ i = g α g a r d ,
    K d , x = L d f x · j = 1 n ( g a j · r ^ o = 1 , , n o j ( g a q + 1 + j o ) γ o ) M i , j = g r ^ f x i = 1 n ( g a q + 1 i ) γ i f x · j = 1 n ( g a j ) r ^ · M i , j = ( g f x j = 1 n ( g a j ) M i , j ) r ^ · i = 1 n ( g a q + 1 i ) γ i f x = h x r ^ · i = 1 n ( h x a q + 1 i ) γ i = h x r d .
  • Signcrypt queries: When A issues a query on ( m , W e , W s , A d , A s ) and the cuckoo filter, if signing attribute set A s W s , B runs the sExtract queries and gets the private key S K A s , then B executes the Signcrypt algorithm, generates ciphertext C T = { C , C , C , { C i } i [ 1 , l ] , S 1 , S 2 , C F } . Finally, B returns CT to A .
  • Unsigncrypt queries: When A issues a query on the ciphertext CT, B checks whether C = C . If C = C , B aborts. (Since C = g σ is random, the probability is at most 1 / p ). Otherwise, B first checks the corresponding attributes of EHR user are in cuckoo filter or not and reconstructs the encryption access policy W e = ( M e , ρ e ) .
    -
    If A d W e , B generates the private key S K A d through executing the dExtract queries and returns the results of the Unsigncrypt algorithm to A .
    -
    If A d W e , B first checks the validity of ciphertext CT based on Equation (3). If it is not valid, then B outputs ⊥; Otherwise computes Y σ = e ( C / C ς , g 1 ) μ μ 1 1 · e ( C , g α ) . Finally, B returns the message m = C Y σ to A .
    Correctness:
    e ( C / C ς , g 1 ) μ μ 1 1 · e ( C , g α ) = e ( ( δ 1 μ δ 2 ) σ / g σ ς , g 1 ) μ μ 1 1 · e ( C , g α ) = ( ( ( g q 1 μ ) μ · g ς g q 1 ) σ / g σ ς , g 1 ) μ μ 1 1 · e ( C , g α ) = e ( g q σ , g 1 ) · e ( C , g α ) = e ( C , g a n + 1 ) · e ( C , g α ) = e ( C , g α ) .
    Since Equation (3) is valid, it has e ( g a r d , C ) = i I e ( g a r d , g ) λ i ω i . Therefore,
    e ( C / C ς , g 1 ) μ μ 1 1 · e ( C , g α ) = e ( C , g α ) · e ( g a r d , C ) i I e ( g a r d , g ) λ i ω i = e ( C , g α g a r d ) i I ( e ( g a λ i h ρ e ( i ) σ , g r d ) · e ( g σ , h ρ e ( i ) r d ) ) ω i = e ( C , K d ) i I ( e ( C i , L d ) · e ( C , K d , x ) ) ω i = Y σ .
Challenge: A outputs two equal length messages m 0 , m 1 M and the signing access policy W s to B . B chooses t 1 = 0 , r ˜ , t 2 , t 3 , , t n Z p and sets r s = r ˜ a q , v = ( σ + t 1 , σ a + t 2 , σ a 2 + t 3 , , σ a n 1 + t n ) = σ ( 1 , a , a 2 , , a n 1 ) + ( 0 , t 2 , t 3 , , t n ) . Then B selects θ { 0 , 1 } and outputs the challenge ciphertext C T = ( C , C , C , { C i } i [ 1 , l ] , S 1 , S 2 ) as follows:
  • C = m θ T · e ( g σ , g a ) ,
  • C = g σ ,
  • C = ( g σ ) ς , where μ = H 2 ( C ) ,
  • C i = ( j = 1 n ( g a ) M i , j · t j ) · ( g σ ) f ρ e ( i ) for i [ 1 , l ] ,
  • S 1 = g r ˜ g q 1 ,
  • S 2 = ( g α g a r ˜ ) · ( h ρ s i r g q f ρ s ( i ) ) φ i · ( g s ) η 0 + i = 1 l j i η i + ς ξ β , where H 1 ( S 1 , W e , W s ) = ( j 1 , j 2 , , j l ) , H 3 ( W e , W s , C , C , C , { C i } i [ 1 , l ] ) = β .
If T = e ( g σ , g a q + 1 ) , C T is a valid challenge ciphertext.
Correctness:
T · e ( g σ , g α ) = e ( g σ , g a q + 1 ) · e ( g σ , g α ) = e ( g , g ) σ α = Y σ .
C = m θ · T · e ( g σ , g a ) = m θ · Y σ .
C = ( g σ ) ς = ( g ς g q 1 g q ) σ = ( ( g q 1 μ ) μ · g ς g q 1 ) σ = ( δ 1 μ δ 2 ) σ .
For j = 1 , 2 , , n , λ i = v · M i = ( σ ( 1 , a , a 2 , , a n 1 ) + ( 0 , t 2 , t 3 , , t n ) ) · M i = a σ j = 1 n a j 1 M i , j + j = 2 n t j M i , j ,
C i = ( j = 1 n ( g a ) M i , j · t j ) · ( g σ ) f ρ e ( i ) = g σ j = 1 n a j M i , j · ( j = 1 n ( g a ) M i , j · t j ) · ( g σ ) f ρ e ( i ) · g σ j = 1 n a j M i , j = ( ( g a ) σ j = 1 n a j 1 M i , j ) · ( j = 1 n ( g a ) M i , j · t j ) · ( g f ρ e ( i ) ) σ · g σ j = 1 n a j M i , j = g a λ i · ( g f ρ e ( i ) g j = 1 n a j M i , j ) σ = g a λ i h ρ e ( i ) σ .
S 1 = g r ˜ g q 1 = g r ˜ g a q = g r s = L s .
S 2 = ( g α g a r ˜ ) · ( h ρ s ( i ) r g q f ρ s ( i ) ) φ i · ( g s ) η 0 + i = 1 l j i η i + ς ξ β = g α g a q + 1 g a r ˜ g a q + 1 h ρ s ( i ) r ˜ h ρ s ( i ) a q φ i · ( g η 0 + i = 1 l j i η i ) σ · ( g σ ) ς β ξ = g α g a r s · h ρ s ( i ) φ i · y 0 i = 1 l y i j i σ · ( C ) β ξ = K s · K s , x φ i · y 0 i = 1 l y i j i σ · ( C ) β ξ .
Phase 2: A performs a series of queries as Phase 1 except the dExtract queries on any decryption attribute set A d W e and the Unsigncrypt queries on the challenge ciphertext C T for any A d W e .
Guess: A outputs a guess bit θ { 0 , 1 } . If θ = θ , B outputs 1 ( T = e ( g , g ) a q + 1 σ ); Otherwise B outputs 0 ( T = R ).
B can’t successfully simulate with aborting the game when the ciphertext satisfies C = C in the Unsigncrypt queries, the probability of this aborting event is at most q u s p . If B doesn’t abort and T = e ( g , g ) a q + 1 σ , the probability of the successful simulation for B is at least 1 2 + ε q u s p . If T = R , the probability of A does not get any information about m θ is 1 2 . Therefore, the advantage of B can solve the q-DBDHE problem is at least ε = Pr | B ( y , T = e ( g , g ) a q + 1 σ ) = 0 | Pr | B y , T = R = 0 | = ε q u s p .

6.2. Unforgeability

Theorem 2.
Assuming there is the adversary A who is capable of breaking the EUF-CMA security of CP-ABSC scheme with the non-negligible probability ε , then we can construct an algorithm B that can solve q-CDHE problem with the probability ε = ε k ( l + 1 ) , where k is the security parameter and l is the outputs length of hash function H 1 .
Proof. 
B receives an instance y a = ( g , g a , g a 2 , , g a q , g a q + 2 , , g a 2 q ) of the q-CDHE problem, where a Z p , g is a generator of G and g i = g a i . The goal of the algorithm B is to calculate g a q + 1 . B chooses three collision-resistant hash functions H 1 : { 0 , 1 } { 0 , 1 } l , H 2 : G Z p , H 3 : { 0 , 1 } Z p and a one-way hash function H 4 : { 0 , 1 } Z p . B simulates the challenger in EUF-CMA security game and interacts with A as below. □
Initialization: A submits the challenge signing access policy W s = ( M s , ρ s ) to B , where M s is a matrix of l × n with the labeling function ρ s . Let M i = ( M i , 1 , M i , 2 , , M i , n ) be the i’th row of M s .
Setup: B randomly picks α Z p , d , d Z p and defines α = α + a q + 1 , Y = e ( g , g ) α = e ( g a , g a q ) · e ( g , g ) α , δ 1 = g d , δ 2 = g d . B randomly chooses ( z 0 , z 1 , , z l ) Z p l + 1 , η = k and η ( l + 1 ) < p , where k is a security parameter. B also randomly selects 0 π l and ( b 0 , b 1 , , b l ) Z η l + 1 sets y 0 = g q p η π + b 0 , y i = g q b i g z i for all i [ 1 , l ] . For each vector j = ( j 1 , j 2 , , j l ) { 0 , 1 } l , B defines two functions F 1 ( j ) = p η π + b 0 + i = 1 l j i b i and F 2 ( j ) = z 0 + i = 1 l j i z i , which means that y 0 i = 1 l y i j i = g q F 1 ( j ) g F 2 ( j ) . B defines the function F : { 0 , 1 } l { 0 , 1 } by F ( j ) = 0 , if b 0 + i = 1 l j i b i = 0 mod η , 1 , otherwise . . It can be seen that, if F ( j ) = 1 , then F 1 ( j ) 0 mod p .
Finally, for each attribute x S , let X denote the set of indices i, such that ρ s ( i ) = x . If X , B selects a random f x Z p and defines h x = g f x · g a M i , 1 · g a 2 M i , 2 g a n M i , n . If X = , then h x = g f x .
B returns the public parameters P K = { S , M , H 1 , H 2 , H 3 , H 4 , Y , δ 1 , δ 2 , y 0 , { y i } i [ 1 , l ] , Y , { h x } x S } to A .
Query phase: A adaptively performs a number of polynomial bounded queries as follows.
  • sExtract queries: When A issues a query on the signing attribute set A s , if A s W s , B randomly selects r ^ Z p and calculates the vector γ = ( γ 1 , γ 2 , , γ n ) Z p n where γ 1 = 1 such that γ · M i = 0 for all i where ρ s ( i ) A s . B implicitly defines r s = r ^ + γ 1 a q + γ 2 a q 1 + + γ n a q n + 1 and computes L s = g r ^ i = 1 n ( g a q + 1 i ) γ i , K s = g α g a r ^ i = 2 n ( g a q + 2 i ) γ i and K s , x = L s f x j = 1 n ( g a j · r ^ o = 1 , , n o j ( g a q + 1 + j o ) γ o ) M i , j for any x A s . If ρ s ( i ) x for all i, B simply sets K s , x = L s f x . Then B returns the signing key S K A s = { L s , K s , { K s , x } x A s } to A .
    Correctness:
    L s = g r ^ i = 1 n ( g a q + 1 i ) γ i = g r s ,
    K s = g α g a r ^ i = 2 n ( g a q + 2 i ) γ i = g α g a q + 1 · g a r ^ · g a q + 1 i = 2 n ( g a q + 2 i ) γ i = g α g a r ^ i = 1 n ( g a q + 2 i ) γ i = g α ( g a ) r ^ + i = 1 n ( g a q + 1 i ) γ i = g α g a r s ,
    K s , x = L s f x · j = 1 n ( g a j · r ^ o = 1 , , n k j ( g a q + 1 + j o ) γ o ) M i , j = g r ^ f x i = 1 n ( g a q + 1 i ) γ i f x · j = 1 n ( g a j ) r ^ · M i , j = ( g f x j = 1 n ( g a j ) M i , j ) r ^ · i = 1 n ( g a q + 1 i ) γ i f x = h x r ^ · i = 1 n ( h x a q + 1 i ) γ i = h x r s .
  • dExtract queries: When A issues a query on the decryption attribute set A d , B randomly picks r ^ Z p , sets r d = r ^ a q and computes L d = g r ^ g q 1 , K d = g α g 1 r ^ and K d , x = h x r ^ g q f x for any x A d . Then B returns the decryption private key S K A d = { L d , K d , { K d , x } x A d } to A .
    Correctness:
    L d = g r ^ g q 1 = g r ^ g a q = g r d ,
    K d = g α g 1 r ^ = g α g q + 1 g 1 r ^ g q + 1 1 = g α + a q + 1 g a r ^ a q + 1 = g α g a r d ,
    K d , x = h x r ^ g q f x = h x r ^ ( h x ) a q = h x r d .
  • Signcrypt queries: When A issues a query on ( m , W e , W s , A d , A s ) and the cuckoo filter,
    -
    If A s W s , B gets the private key S K A s by running the sExtract queries. Then B generates ciphertext CT by executing the Signcrypt algorithm and returns to A .
    -
    If A s W s , B performs the following steps: B randomly chooses φ i Z p l and generates a vector φ = φ 1 , φ 2 , , φ l such that φ · M s = 1 n , that is i = 1 l φ i · M s , i = 1 n , and φ i = 0 for all i [ 1 , l ] , where ρ s ( i ) A s . B sets C = m Y σ , S 1 = g r s and computes j = ( j 1 , j 2 , , j l ) = H 1 ( S 1 , W e , W s ) . If F ( j ) = 0 , B aborts; Otherwise, B chooses a random number σ Z p , sets σ = σ a F 1 ( j ) and computes C = g σ g 1 1 / F 1 ( j ) , C = g ( d μ + d ) σ g 1 ( μ d + d ) / F 1 ( j ) , where μ = H 2 ( C ) . B randomly chooses v 2 , , v n Z p and defines v = ( σ a F 1 ( j ) , v 2 , , v n ) and λ i = v · M i = ( σ a F 1 ( j ) ) M i , 1 + i = 2 l v i M i , n for all i [ 1 , n ] . B sets C i = g 1 ( σ M i , 1 + i = 2 l v i M i , n ) · g 2 M i , 1 / F 1 ( j ) · h ρ ( i ) σ · g 1 f ρ e ( i ) / F 1 ( j ) for i [ 1 , l ] , S 2 = g α g a r s ( i = 1 l ( h ρ s ( i ) r s ) φ i ) · ( g q F 1 ( j ) g F 2 ( j ) ) σ · ( g 1 F 2 ( j ) / F 1 ( j ) ) · ( C ) β ξ , where β = H 3 ( W e , W s , C , C , C , { C i } i [ 1 , l ] ) . Finally, B returns the ciphertext C T = { C , C , C , { C i } i [ 1 , l ] , S 1 , S 2 , C F } to A .
    Correctness:
    C = g σ g 1 1 / F 1 ( j ) = g σ a / F 1 ( j ) = g σ ,
    C i = g 1 ( σ M i , 1 + i = 2 l v i M i , n ) · g 2 M i , 1 / F 1 ( j ) · h ρ e ( i ) σ · g 1 f ρ e ( i ) / F 1 ( j ) = g a ( σ M i , 1 + i = 2 l v i M i , n ) · ( g a ) a M i , 1 / F 1 ( j ) · h ρ e i σ a / F 1 ( j ) = g a λ i h ρ e i σ ,
    S 2 = g α g a r s ( i = 1 l ( h ρ s ( i ) r s ) φ i ) · ( g q F 1 ( j ) g F 2 ( j ) ) σ · ( g 1 F 2 ( j ) / F 1 ( j ) ) · ( C ) β ξ = g α g a q + 1 g a r s · ( g q F 1 ( j ) g F 2 ( j ) ) σ · g a q + 1 · ( g 1 F 2 ( j ) / F 1 ( j ) ) · ( C ) β ξ = ( g α g a r s ) · ( i = 1 l ( h ρ s ( i ) r s ) φ i ) · ( g q F 1 ( j ) g F 2 ( j ) ) σ · ( g q F 1 ( j ) g F 2 ( j ) ) a / F 1 ( j ) · ( C ) β ξ = K s · ( K s , x ) φ i · ( y 0 i = 1 l y i j i ) σ · ( C ) β ξ .
  • Unsigncrypt queries: When A issues a query on the ciphertext CT, B computes the decryption private key S K A d by executing the dExtract queries. Then B generates the message m by executing the Unsigncrypt algorithm and returns to A .
Forgery: A outputs the valid forgery ciphertext C T = { C , C , C , { C i } i [ 1 , l ] , S 1 , S 2 , C F } on ( m , W e , W s ) . C T satisfies the following two conditions:
  • Since A d W e , the result of the Unsigncrypt algorithm is m ;
  • A never issues the Signcrypt queries on ( m , W e , W s ) .
Now, B could provide the methods to solve the q-CDHE problem as follows.
Firstly, B computes j = ( j 1 , j 2 , , j l ) = H 1 ( S 1 , W e , W s ) . If b 0 + i = 1 l j i b i η π , then B aborts. Otherwise, F 1 ( j ) = 0 mod p , B computes C = m Y σ , C = g σ , C = g ( d μ + d ) σ , { C i = g a λ i h ρ e ( i ) σ } i [ 1 , l ] , S 1 = g r s , S 2 = g α g a r s ( i = 1 l ( h ρ s ( i ) r s ) φ i ) ( y 0 i [ 1 . l ] y i j i ) σ · ( g ( d μ + d ) ) σ ξ β , where μ = H 2 ( C ) , β = H 3 ( W e , W s , C , C , C , { C i = g a λ i h ρ e ( i ) σ } i [ 1 , l ] ) and the vector φ = ( φ 1 , φ 2 , , φ l ) satisfies i = 1 l φ · M s , i = 1 n .
Then B can calculate S 2 g α ( i = 1 l ( S 1 ) f ρ s ( i ) ) ( C ) F 2 ( j ) + ( d μ + d ) ξ β = g a q + 1 .
Correctness: i = 1 l φ i · M s , i = 1 n implies i = 1 l φ i · M i , j = 1 , j = 1 ; 0 , i f 2 j n , so i = 1 l j = 1 l a j M i , j φ i r s = a r s .
S 2 g α ( i = 1 l ( S 1 ) f ρ s ( i ) ) ( C ) F 2 ( j ) + ( d μ + d ) ξ β = g α g a r s · ( i = 1 l h ρ s ( i ) r s φ i ) ( y 0 i [ 1 , l ] y i j i ) σ · ( g ( d μ + d ) ) σ ξ β g α · ( i = 1 l ( S 1 ) φ i f ρ s ( i ) ) · ( C ) F 2 ( j ) + ( d μ + d ) ξ β = g α + a q + 1 g a r s · ( i = 1 l ( g f ρ s ( i ) j = 1 n g a j M i , j ) φ i r s ) · ( g q F 1 ( j ) g F 2 ( j ) ) σ · ( g σ ) ( d + u d ) ξ β g α · ( i = 1 l ( S 1 ) φ i f ρ s ( i ) ) · ( C ) F 2 ( j ) + ( d μ + d ) ξ β = g α g a q + 1 g a r s · ( i = 1 l ( g r s ) φ i f ρ s ( i ) ) · ( i = 1 l j = 1 n g a j M i , j φ i r s ) · ( g σ ) F 2 ( j ) + ( d μ + d ) ξ β g α · ( i = 1 l ( S 1 ) φ i f ρ s ( i ) ) · ( C ) F 2 ( j ) + ( d μ + d ) ξ β = g α g a q + 1 g a r s · ( i = 1 l ( g r s ) φ i f ρ s ( i ) ) · g a r s · ( C ) F 2 ( j ) + ( d μ + d ) ξ β g α ( i = 1 l ( S 1 ) φ i f ρ s ( i ) ) · ( C ) F 2 ( j ) + ( d μ + d ) ξ β = g a q + 1 .
In the Forgery phase, B can successfully simulate without aborting if b 0 + j [ 1 , l ] m j b j = η π . The probability of this simulation is not abort is 1 η 1 l + 1 = 1 k ( l + 1 ) . Therefore, the success probability of B for solving the q-CDHE problem is at least ε = ε / k ( l + 1 ) .

7. Performance Analysis

The functionality, computation and communication costs of the proposed CP-ABSC scheme are evaluated in this section. We also compare them with other related schemes [20,21,22,23].

7.1. Functionality Comparison

The functionality comparisons between the proposed CP-ABSC scheme and other related schemes [20,21,22,23] are presented. Let MC be the message confidentiality, CU be the ciphertext unforgeability, CPA be the chosen plaintext attacks, CCA be the chosen ciphertext attack, CMA be the chosen message attack, ROM be the random model and SM be the standard model. Table 1 summarizes the functionality comparison results.
It is clear from Table 1 that only the scheme [22] adopts the threshold policy as access policy which only supports simple predicates. Although the schemes [20,21] support monotone tree policy which can transform into LSSS access policy, the construction of this type of access structure is quite complicated. The scheme [23] and our proposed scheme support LSSS access structure that has the simpler construction process. In addition, our scheme and the schemes [21,23] can satisfy public verifiability. All schemes realize CCA security and CMA security in the standard model except [20]. In particular, none of these schemes [20,21,22,23] could provide the property of privacy-preserving, only our scheme protects the personal privacy of EHR owners.

7.2. Computation Cost

We analyze the computation cost of the proposed CP-ABSC scheme and compare it with that of other related schemes [20,21,22,23]. For computation complexity estimation, we define the following time cost for performing the cryptographic operations required in all schemes. Let T p be the time for performance a pairing, T m be the time for performance a scale multiplication in G , T m t be the time for performance a scale multiplication in G T . Other lightweight operations (the arithmetic operation in Z p , one-way hash function)are not taken into account.
To offer the security level to 80-bit, we adopt the symmetric bilinear pairing e : G × G G T , where G be the multiplicative cyclic group by p, p is 512-bit prime number. The simulation experiment is based on the C++ Pairing-Based Cryptography (PBC) library MIRACL and runs on Intel Core i5-4590, 3.3 GHz CPU, 8 gigabytes memory with Windows 7 environment.
In this paper, we execute the experiment on a common PC, if the experiment were to run in a practical cloud environment, such as EC2 cloud computing service [49], it would actually run faster. The average execution times of T p , T m and T m t are listed in Table 2.
Let l be the number of attributes in attribute space. We summarize the computation costs of the proposed scheme, Wang et al.’s scheme [20], Emura et al.’s scheme [21], Hu et al.’s scheme [22] and Rao et al.’s scheme [23] in Table 3.
In terms of the Signcrypt phase, for the computation costs of l attributes, Wang et al.’s scheme [20] requires to execute ( 4 l + 3 ) scalar multiplication operations in G , two scalar multiplication operations in G T and one bilinear pairing operation. Therefore, the total signcryption time is 7.554 l + 23.5863 ms. Emura et al.’s scheme [21] needs to execute ( 6 l + 2 ) scalar multiplication operations in G and one scalar multiplication operation in G T . Therefore, the total signcryption time is 15.108 l + 22.2587 ms. Hu et al.’s scheme [22] needs to execute ( 4 l + 2 ) scalar multiplication operations in G and one scalar multiplication operation in G T . Therefore, the total signcryption time is 22.662 l + 23.5683 ms. Rao et al.’s scheme [23] needs to execute ( 5 l + 7 ) scalar multiplication operations in G and one scalar multiplication operation in G T . Therefore, the total signcryption time is 15.108 l + 8.4783 ms. The proposed scheme needs to execute ( 2 l + 6 ) scalar multiplication operations in G and one scalar multiplication operation in G T . Therefore, the total signcryption time is 18.885 l + 27.3633 ms.
In terms of the Unsigncrypt phase, for the computation costs of l attributes, Wang et al.’s scheme [20] needs to execute ( 2 l + 1 ) scalar multiplication operations in G T and ( 4 l + 4 ) bilinear pairing operations. Therefore, the total unsigncryption time is 38.165 l + 37.2407 ms. Emura et al.’s scheme [21] needs to execute ( 6 l + 3 ) bilinear pairing operations. Therefore, the total unsigncryption time is 54.4746 l + 27.2373 ms. Hu et al.’s scheme [22] needs to execute 2 l scalar multiplication operations in G T and 5 l bilinear pairing operations. Therefore, the total unsigncryption time is 47.2441 l ms. Rao et al.’s scheme [23] needs to execute ( 3 l + 2 ) scalar multiplication operations in G and ( l + 5 ) bilinear pairing operations. Therefore, the total unsigncryption time is 20.4101 l + 52.9495 ms. The proposed scheme needs to execute four scalar multiplication operations in G , l scalar multiplication operations in G T and ( 2 l + 4 ) bilinear pairing operations. Therefore, the total unsigncryption time is 19.0825 l + 51.4244 ms.
Figure 4 and Figure 5 clearly illustrate the computation cost of the signcrypt and unsigncrypt phases with increasing number of attributes l, respectively.
From Figure 4 and Figure 5, the computation costs in both the signcrypt and unsigncrypt phases rise linearly with the number of attributes in all the schemes. It can be easily see that the proposed scheme’s slope is the lowest.
In Figure 4, for l = 10 , the computation cost of signcrypt is equal to 173.3387, 250.1883, 159.5583, 216.2133 and 99.1263 ms when the schemes [20,21,22,23] and the proposed scheme are adopted, respectively. For l = 30 , the computation cost of signcrypt is equal to 475.4987, 703.4283, 461.7183, 593.9133 and 250.2063 ms when the schemes [20,21,22,23] and the proposed scheme are adopted, respectively.
In Figure 5, for l = 10 , the computation costs of unsigncrypt is equal to 418.8907, 571.9833, 472.441, 257.0505 and 242.2494 ms when the schemes [20,21,22,23] and the proposed scheme are adopted, respectively. For l = 30 , the computation cost of unsigncrypt is equal to 1182.1907, 1661.4753, 1417.323, 665.2525 and 623.8994 ms when the schemes [20,21,22,23] and the proposed scheme are adopted, respectively.
According to Figure 4 and Figure 5, we intuitively obtain that the proposed scheme achieves the lowest computation cost with the increase of the number of attributes, especially after adding the cuckoo filter, without increasing extra computation costs in. Therefore, our proposed CP-ABSC scheme is efficient in both the signcrypt and unsigncrypt phase, which has much more advantages than the previous schemes [20,21,22,23].

7.3. Communication Cost

We discuss the communication cost of the proposed CP-ABSC scheme with other related schemes [20,21,22,23]. Let l be the number of attributes in attribute space, | G | be the element’s length in group G and | G T | be the element’s length in group G T . Since the size of p is 512 bits (64 bytes), therefore the element’s size in group G and G T is 512 bits (64 bytes) and 3072 bits (384 bytes), respectively. We also take into account the communication costs of using cuckoo filter. Assume that we use the one-way hash function in cuckoo filter, and its outputs length is 160 bits (20 bytes). When the number of EHR owner’s attributes is l, the comparison results on communication cost of these schemes are listed in Table 4.
For the communication costs of l attributes, Wang et al.’s scheme [20] includes ( 4 l + 3 ) the element’s length in G and one the element’s length in G T . Therefore, the total communication cost is 256 l + 576 bytes. Emura et al.’s scheme [21] includes ( 3 l + 2 ) the element’s length in G and one the element’s length in G T . Therefore, the total communication cost is 192 l + 51 2 bytes. Hu et al.’s scheme [22] includes ( 2 l + 3 ) the element’s length in G and one the element’s length in G T . Therefore, the total communication cost is 128 l + 576 bytes. Rao et al.’s scheme [23] includes ( 2 l + 4 ) the element’s length in G and one the element’s length in G T . Therefore, the total communication cost is 128 l + 640 bytes. The proposed scheme includes ( l + 4 ) the element’s length in G , one the element’s length in G T and the outputs length of one-way hash function in cuckoo filter. Therefore, the total communication cost is 84 l + 640 bytes.
Figure 6 demonstrates the relationship between the communication cost and the number of attributes.
From Figure 6, the growth of the ciphertext size is linear when the number of attributes increases in all schemes. We could intuitively find out that the communication cost of our proposed scheme is much less than that for other schemes. On the other hand, as Figure 6 shows, when the amount of attributes reaches 30, the communication cost of Wang et al.’s scheme [20], Emura et al.’s scheme [21], Hu et al.’s scheme [22] and Rao et al.’s scheme [23] and the proposed scheme is 7956, 6272, 4416, 4480 and 3100 bytes, respectively. Then the proposed scheme is compared with these schemes [20,21,22,23], which can save 61.7 % , 57.6 % , 28.5 % , 29.5 % of bandwidth, respectively.
Obviously, although the cuckoo filter is used to hide access policy in this paper, it does not increase communication overhead compared with other schemes. Also, our scheme has the best performance in terms of communication cost in the all five schemes.
In summary, the proposed CP-ABSC scheme achieves low computation and communication cost, which is comparatively more suited to the EHR system.

8. Conclusions

The proposed scheme provides the secure access control of the EHR data as well as prevents the personal privacy information of EHR owners will not be leaked from the LSSS access policy. We show that the proposed scheme is provably security in the standard model under the q-DBDHE assumption and q-CDHE assumption. Detailed performance analysis results indicate that the proposed scheme has lower computation costs and communication overheads than the related schemes. In addition, the proposed scheme protects the EHR owners’ sensitive privacy information and is more suitable for EHR system. In the future, we would like to focus on how to design another scheme, such as security and efficient of PPAC scheme without bilinear pairing in EHR system.

Author Contributions

Y.M. and T.Z. conceived of the work, designed the concrete scheme and wrote the paper.

Acknowledgments

This work was supported by the Natural Science Foundation of Shanxi Province (2018JM6081) and the Project of science and technology of Xi’an City (2017088CG/RC051(CADX002)).

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Ball, M.; Smith, C.; Bakalar, R.S. Personal health records: Empowering consumers. J. Healthc. Manag. 2006, 21, 76–86. [Google Scholar]
  2. Hoerbst, A.; Ammenwerth, E. Electronic health records. Methods Inf. Med. 2010, 49, 320–336. [Google Scholar] [CrossRef] [PubMed]
  3. Badve, O.P.; Gupta, B.B.; Yamaguchi, S. DDoS detection and filtering technique in cloud environment using GARCH model. In Proceedings of the Global Conference on Consumer Electronics (GCCE), Osaka, Japan, 27–30 October 2015; pp. 584–586. [Google Scholar]
  4. Liu, F.; Shu, P.; Jin, H. Gearing resource-poor mobile devices with powerful clouds: architectures, challenges, and applications. IEEE Wirel. Commun. 2013, 20, 14–22. [Google Scholar]
  5. Alsmirat, M.A.; Jararweh, Y.; Obaidat, I. Internet of surveillance: A cloud supported large-scale wireless surveillance system. IEEE Wirel. Commun. 2017, 73, 973–992. [Google Scholar] [CrossRef]
  6. Ibraimi, L.; Asim, M.; Petkovi, M. Secure management of personal health records by applying attribute-based encryption. In Proceedings of the International Workshop on Wearable Micro and Nano Technologies for Personalized Health (pHealth), Oslo, Norway, 24–26 June 2009; pp. 71–74. [Google Scholar]
  7. Sun, J.; Fang, Y. Cross-domain data sharing in distributed electronic health record systems. IEEE Trans. Parallel Distrib. Syst. 2009, 6, 754–764. [Google Scholar]
  8. Akinyele, J.A.; Pagano, M.W.; Green, M.D. Securing electronic medical records using attribute-based encryption on mobile devices. In Proceedings of the ACM Workshop on Security and Privacy in Smartphones and Mobile Devices, Chicago, IL, USA, 17 October 2011; pp. 75–86. [Google Scholar]
  9. Li, M.; Yu, S.; Zheng, Y. Scalable and secure sharing of personal health records in cloud computing using attribute-based encryption. IEEE Trans. Parallel Distrib. Syst. 2013, 24, 131–143. [Google Scholar] [CrossRef]
  10. Narayan, S.; Gagné, M.; Safavi-Naini, R. Privacy preserving EHR system using attribute-based infrastructure. In Proceedings of the ACM Cloud Computing Security Workshop, Chicago, IL, USA, 8 October 2010; pp. 47–52. [Google Scholar]
  11. Lai, J.; Deng, R.H.; Li, Y. Fully secure cipertext-policy hiding CP-ABE. In Proceedings of the International Conference on Information Security Practice and Experience, Guangzhou, China, 30 May–1 June 2011; pp. 24–39. [Google Scholar]
  12. Liang, X.; Barua, M.; Lu, R. HealthShare: Achieving secure and privacy-preserving health information sharing through health social networks. Comput. Commun. 2012, 35, 1910–1920. [Google Scholar] [CrossRef]
  13. Lu, R.; Lin, X.; Shen, X. SPOC: A secure and privacy-preserving opportunistic computing framework for mobile-healthcare emergency. IEEE Trans. Parallel Distrib. Syst. 2013, 24, 614–624. [Google Scholar] [CrossRef]
  14. Liu, Y.; Zhang, Y.; Ling, J. Secure and fine-grained access control on e-healthcare records in mobile cloud computing. Future Gener. Comp. Syst. 2018, 78, 1020–1026. [Google Scholar] [CrossRef]
  15. Zhou, X.; Liu, J.; Wu, Q. Privacy preservation for outsourced medical data with flexible access control. IEEE Access. 2018, 6, 14827–14841. [Google Scholar] [CrossRef]
  16. Jiang, S.; Zhu, X.; Wang, L. EPPS: Efficient and privacy-preserving personal health information sharing in mobile healthcare social networks. Sensors 2015, 15, 22419–22438. [Google Scholar] [CrossRef] [PubMed]
  17. Yang, K.; Han, Q.; Li, H. An efficient and fine-grained big data access control scheme with privacy-preserving policy. IEEE Internet Things J. 2017, 4, 563–571. [Google Scholar] [CrossRef]
  18. Gagné, M.; Narayan, S.; Safavi-Naini, R. Threshold attribute-based signcryption. In Proceedings of the International Conference on Security and Cryptography for Networks, Amalfi, Italy, 13–15 September 2010; pp. 154–171. [Google Scholar]
  19. Fan, B.; Andersen, D.G.; Kaminsky, M. Cuckoo filter: Practically better than bloom. In Proceedings of the ACM International Conference on Emerging Networking Experiments and Technologies, Sydney, Australia, 2–5 December 2014; pp. 75–88. [Google Scholar]
  20. Wang, C.; Huang, J. Attribute-based signcryption with ciphertext-policy and claim-predicate mechanism. In Proceedings of the International Conference on Computational Intelligence and Security (CIS), Sanya, Hainan, China, 3–4 December 2011; pp. 905–909. [Google Scholar]
  21. Emura, K.; Miyaji, A.; Rahman, M.S. Dynamic attribute-based signcryption without random oracles. Int. J. Appl. Cryptogr. 2012, 2, 199–211. [Google Scholar] [CrossRef]
  22. Hu, C.; Zhang, N.; Li, H. Body area network security: A fuzzy attribute-based signcryption scheme. IEEE J. Sel. Areas Commun. 2013, 31, 37–46. [Google Scholar] [CrossRef]
  23. Rao, Y.S. A secure and efficient ciphertext-policy attribute-based signcryption for personal health records sharing in cloud computing. Future Gener. Comp. Syst. 2017, 67, 133–151. [Google Scholar] [CrossRef]
  24. Akl, S.G.; Taylor, P.D. Cryptographic solution to a problem of access control in a hierarchy. ACM Trans. Comput. Syst. 1983, 1, 239–248. [Google Scholar] [CrossRef]
  25. Crampton, J.; Farley, N.; Gutin, G. Cryptographic enforcement of information flow policies without public information. In Proceedings of the International Conference on Applied Cryptography and Network Security, New York, NY, USA, 2–5 June 2015; pp. 389–408. [Google Scholar]
  26. 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]
  27. 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]
  28. Alderman, J.; Farley, N.; Crampton, J. Tree-Based Cryptographic Access Control. In Proceedings of the European Symposium on Research in Computer Security, Oslo, Norway, 11–15 September 2017; pp. 47–64. [Google Scholar]
  29. Sahai, A.; Waters, B. Fuzzy identity-based encryption. In Proceedings of the Annual International Conference on the Theory and Applications of Cryptographic Techniques, Aarhus, Denmark, 22–26 May 2005; pp. 457–473. [Google Scholar]
  30. Goyal, V.; Pandey, O.; Sahai, A. Attribute-based encryption for fine-grained access control of encrypted data. In Proceedings of the ACM conference on Computer and Communications Security, Alexandria, VA, USA, 30 October–3 November 2006; pp. 89–98. [Google Scholar]
  31. Bethencourt, J.; Sahai, A.; Waters, B. Ciphertext-policy attribute-based encryption. In Proceedings of the IEEE Symposium on Security and Privacy, Oakland, CA, USA, 20–23 May 2007; pp. 321–334. [Google Scholar]
  32. Waters, B. Ciphertext-policy attribute-based encryption: An expressive, efficient, and provably secure realization. In Proceedings of the International Workshop on Public Key Cryptography, Taormina, Italy, 6–9 March 2011; pp. 53–70. [Google Scholar]
  33. Li, J.; Ren, K.; Zhu, B. Privacy-aware attribute-based encryption with user accountability. In Proceedings of the International Conference on Information Security, Pisa, Italy, 7–9 September 2009; pp. 347–362. [Google Scholar]
  34. Zhang, Y.; Chen, X.; Li, J. Anonymous attribute-based encryption supporting efficient decryption test. In Proceedings of the ACM SIGSAC symposium on Information, computer and communications security, Hangzhou, China, 8–10 May 2013; pp. 511–516. [Google Scholar]
  35. Li, J.; Chen, X.; Li, J. Fine-grained access control system based on outsourced attribute-based encryption. In Proceedings of the European Symposium on Research in Computer Security, Egham, UK, 9–13 September 2013; pp. 592–609. [Google Scholar]
  36. Zheng, Y. Digital signcryption or how to achieve cost (signature & encryption) ≪ cost (signature)+ cost (encryption). In Proceedings of the Annual International Cryptology Conference, Santa Barbara, CA, USA, 17–21 August 1997; pp. 165–179. [Google Scholar]
  37. Chen, C.; Chen, J.; Lim, H.W. Combined public-key schemes: the case of ABE and ABS. In Proceedings of the International Conference on Provable Security, Chengdu, China, 26–28 September 2012; pp. 53–69. [Google Scholar]
  38. Guo, Z.; Li, M.; Fan, X. Attribute-based ring signcryption scheme. Secur. Commun. Netw. 2013, 6, 790–796. [Google Scholar] [CrossRef]
  39. Wang, C.J.; Huang, J.S.; Lin, W.L. Security analysis of Gagne et al. In ’s threshold attribute-based signcryption scheme. In Proceedings of the International Conference on Intelligent Networking and Collaborative Systems (INCoS), Xi’an, China, 9–11 September 2013; pp. 103–108. [Google Scholar]
  40. Han, Y.; Lu, W.; Yang, X. Attribute-based signcryption scheme with non-monotonic access structure. In Proceedings of the International Conference on Intelligent Networking and Collaborative Systems (INCoS), Xi’an, China, 9–11 September 2013; pp. 796–802. [Google Scholar]
  41. Wei, J.; Hu, X.; Liu, W. Traceable attribute-based signcryption. Secur. Commun. Netw. 2014, 7, 2302–2317. [Google Scholar] [CrossRef]
  42. Pandit, T.; Pandey, S.K.; Barua, R. Attribute-based signcryption: Signer privacy, strong unforgeability and ind-cca2 security in adaptive-predicates attack. In Proceedings of the International Conference on Provable Security, Hong Kong, China, 9–10 October 2014; pp. 274–290. [Google Scholar]
  43. Rao, Y.S.; Dutta, R. Efficient attribute-based signature and signcryption realizing expressive access structures. Int. J. Inf. Secur. 2016, 15, 81–109. [Google Scholar] [CrossRef]
  44. Liu, J.; Huang, X.; Liu, J.K. Secure sharing of personal health records in cloud computing: Ciphertext-policy attribute-based signcryption. Future Gener. Comp. Syst. 2015, 52, 67–76. [Google Scholar] [CrossRef]
  45. Wang, D.; Wang, N.; Wang, P. Preserving privacy for free: Efficient and provably secure two-factor authentication scheme with user anonymity. Inf. Sci. 2015, 321, 162–178. [Google Scholar] [CrossRef]
  46. Wang, D.; Wang, P. Two birds with one stone: Two-factor authentication with security beyond conventional bound. IEEE Trans. Dependable Secur. Comput. 2018, 1, 708–722. [Google Scholar] [CrossRef]
  47. Bloom, B.H. Space/time trade-offs in hash coding with allowable errors. Commun. ACM 1970, 13, 422–426. [Google Scholar] [CrossRef] [Green Version]
  48. Pagh, R.; Rodler, F.F. Cuckoo hashing. J. Algorithms 2004, 51, 122–144. [Google Scholar] [CrossRef]
  49. Wang, D.; Gu, Q.; Cheng, H. The request for better measurement: A comparative evaluation of two-factor authentication schemes. In Proceedings of the ACM on Asia Conference on Computer and Communications Security, Xi’an, China, 30 May–3 June 2016; pp. 475–486. [Google Scholar]
Figure 1. The LSSS access policy.
Figure 1. The LSSS access policy.
Sensors 18 03520 g001
Figure 2. Cuckoo hashing table. (a) the basic cuckoo hashing table; (b) inserting a new element.
Figure 2. Cuckoo hashing table. (a) the basic cuckoo hashing table; (b) inserting a new element.
Sensors 18 03520 g002
Figure 3. A framework of the EHR system.
Figure 3. A framework of the EHR system.
Sensors 18 03520 g003
Figure 4. Signcrypt cost with the number of attributes.
Figure 4. Signcrypt cost with the number of attributes.
Sensors 18 03520 g004
Figure 5. Unsigncrypt cost with the number of attributes.
Figure 5. Unsigncrypt cost with the number of attributes.
Sensors 18 03520 g005
Figure 6. Unsigncrypt cost with the number of attributes.
Figure 6. Unsigncrypt cost with the number of attributes.
Sensors 18 03520 g006
Table 1. Comparison of computation cost.
Table 1. Comparison of computation cost.
SchemeKP/CPAccess StructurePublic VerifiabilityMCCUSecurity ModelPrivacy-Preserving
[20]CPMonotone treeNoCPACMAROMNo
[21]CPMonotone treeYesCCACMASMNo
[22]KPThreshold policyNoCCACMASMNo
[23]CPLSSSYesCCACMASMNo
ourCPLSSSYesCCACMASMYes
Table 2. Time cost of cryptographic operation.
Table 2. Time cost of cryptographic operation.
Cryptographic OperationExecution Time
Bilinear pairing T p 9.0791
Scalar multiplication in G T m 3.7770
Scalar multiplication in G T T m t 0.9243
Table 3. Comparison of computation cost.
Table 3. Comparison of computation cost.
SchemeSigncryptUnsigncrypt
[20] 7.554 l + 23.5863 ms 38.165 l + 37.2407 ms
[21] 15.108 l + 22.2587 ms 54.4746 l + 27.2373 ms
[22] 22.662 l + 23.5683 ms 47.2441 l ms
[23] 15.108 l + 8.4783 ms 20.4101 l + 52.9495 ms
The proposed scheme 18.885 l + 27.3633 ms 19.0825 l + 51.4244 ms
Table 4. Comparison of communication costs.
Table 4. Comparison of communication costs.
Schemel Attributes
[20] 256 l + 576 bytes
[21] 192 l + 512 bytes
[22] 128 l + 576 bytes
[23] 128 l + 640 bytes
The proposed scheme 84 l + 640 bytes

Share and Cite

MDPI and ACS Style

Ming, Y.; Zhang, T. Efficient Privacy-Preserving Access Control Scheme in Electronic Health Records System. Sensors 2018, 18, 3520. https://doi.org/10.3390/s18103520

AMA Style

Ming Y, Zhang T. Efficient Privacy-Preserving Access Control Scheme in Electronic Health Records System. Sensors. 2018; 18(10):3520. https://doi.org/10.3390/s18103520

Chicago/Turabian Style

Ming, Yang, and Tingting Zhang. 2018. "Efficient Privacy-Preserving Access Control Scheme in Electronic Health Records System" Sensors 18, no. 10: 3520. https://doi.org/10.3390/s18103520

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