Skip to main content
Sensors (Basel, Switzerland) logoLink to Sensors (Basel, Switzerland)
. 2018 Oct 18;18(10):3520. doi: 10.3390/s18103520

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

Yang Ming 1,*, Tingting Zhang 1
PMCID: PMC6210245  PMID: 30340411

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.

Keywords: electronic health records, privacy preserving, access control, attribute-based signcryption, cuckoo filter

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, GT be two multiplicative cyclic groups of prime order p and g be the generator of G. The bilinear map e:G×GGT satisfies the following three properties:

  1. Bilinearity: For all u,vG and a,bZp, where e(ua,vb)=e(u,v)ab.

  2. Non-degeneracy: e(g,g)1.

  3. Computability: For all u,vG, there exists an efficient algorithm to compute e(u,v) for all u,vG.

3.2. Access Structures

Suppose P={P1,P2,,Pn} is a set of parties. There exists a collection W2P, which is monotone if and only if for any set B and C, if BW and BC then CW. An access structure is a collection W of non-empty subsets of {P1,P2,,Pn}, i.e., W2P{}. 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 Zp if

  1. The shares for each party form a vector over Zp.

  2. 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=(σ,r2,,rn) be a sharing vector, where r2,,rnZp are random values and σZp is the secret value to be shared. Mv is the vector of l shares of σ on Π. Each λi=(Mv)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., SW, let I={i:ρ(i)S}{1,2,,l}. According to Π, if {λi}iI are valid shares for the secret σ, here exists constants {wiZp}iI such that iIwiλi=σ. Let Mi denote i’th row of M, then iIwiMi=(1,0,,0). It is worth noting that the constants {wi} can be obtained in time polynomial in scale of the share-generation matrix M.

Figure 1.

Figure 1

The LSSS access policy.

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 h1(x) and h2(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.

Figure 2.

Figure 2

Cuckoo hashing table. (a) the basic cuckoo hashing table; (b) inserting a new element.

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 i1 and i2 by the following formulas:

i1=H4(x) (1)
i2=i1H4(fingerprint(x)) (2)

where H4 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);
i1=H4(x);
i2=i1H4(x);
If bucket [i1] or bucket [i2] has an empty entry then
add f to that bucket;
return Done;
i = randomly pick i1 or i2;
For n=0; n<MaxMumKicks; n++ do
randomly select an entry e from bucket [i];
swap f and fingerprint stored in entry e;
i=iH4(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);
i1=H4(x);
i2=i1H4(x);
If bucket [i1] or bucket [i2] 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 ya,σ=(g,gσ,ga,ga2,,gaq,gaq+2,,ga2q) in group G and a,σZp are chosen at randomly, the task of q-DBDHE problem is to distinguish e(gaq+1,gσ)GT from a random element RGT.

The advantage of A in solving the q-DBDHE problem is defined as

AdvAq-DBDHE=Pr1A(ya,σ,T)|T=e(g,g)aq+1σPr1A(ya,σ,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 ya=(g,ga,ga2,,gaq,gaq+2,,ga2q) in group G and aZp is chosen at randomly, the task of q-CDHE problem is to compute gaq+1.

The advantage of in solving the q-CDHE problem is defined as

AdvAq-CDHE=Prgaq+1A(ya)ε.

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.

Figure 3.

Figure 3

A framework of the EHR system.

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 AsS, the algorithm outputs the corresponding signing private key SKAs.

dExtract: Given PK, MSK and the decryption attribute set AdS, the algorithm outputs the corresponding decryption private key SKAd.

Signcrypt: Given PK, the message mM, the signing private key SKAs for As, the encryption access structure We=(Me,ρe), signing access structure Ws=(Ms,ρs), where AsWs, and the cuckoo filter, the algorithm outputs the ciphertext CT.

Unsigncrypt: Given PK, the ciphertext CT and the decryption private key SKAd for Ad, the algorithm firstly queries the corresponding attributes values by cuckoo filter and reconstructs the access structure We=(Me,ρe), and outputs message m if AdWe. 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 We for the encryption attribute set Ad, 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 As, C executes the sExtract algorithm and returns the corresponding private key SKAs to A.

  • dExtract queries: Given a query on the decryption attribute set AdWe, C executes the dExtract algorithm and returns the corresponding private key SKAd to A.

  • Signcrypt queries: Given a query on the message mM, the decryption attribute set Ad, the signing attribute set As, the encryption access structure We, the signing access structure Ws and cuckoo filter, C executes the sExtract algorithm and obtains the signing private key SKAs. 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 Ad and the signing attribute set As, C firstly queries the corresponding attributes of EHR users that are in cuckoo filter or not and reconstructs the access structure We=(Me,ρe). C executes the dExtract algorithm and obtains the decryption private key SKAd. 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 m0,m1 and the signing access structure Ws. When the signing attribute set AsWs, C gets SKAd by running the dExtract algorithm. C randomly chooses θ{0,1} and executes the Signcrypt algorithm to generate the ciphertext CT. At last, C sends CT 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 AdWe and the Unsigncrypt queries for the challenge ciphertext CT for any AdWe.

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 Adv=|Pr[θ=θ]12|.

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 Ws 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 AsWs, C executes the sExtract algorithm and returns the corresponding private key SKAs to A.

  • dExtract queries: Give a query on the decryption attributes set Ad, C executes the sExtract algorithm and returns the corresponding private key SKAd 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 CT on (m,Ws,We).

A wins above game if CT is valid and A never makes the Signcrypt queries on (m,Ws,We).

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: H1:{0,1}{0,1}l, H2:GZp, H3:{0,1}Zp. Besides, AA chooses a one-way hash function H4:{0,1}Zp, 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,αZp, δ1,δ2,y0,y1,,ylG and sets Y=e(g,g)α. For each attribute xS, AA samples hxG.

The system parameters are PK={M,S,H1,H2,H3,H4,ga,δ1,δ2,y0,{yi}i[1,l],Y,{hx}xS} and the master key is MSK={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 AsS, AA randomly selects rsZp and outputs the EHR owner’s signing private key SKAs:Ks=gαgars, Ls=grs, {Ks,x=hxrs}xAs.

  • dExtract: Given PK, MSK and the decryption attribute set AdS, AA randomly picks rdZp and outputs the EHR user’s decryption private key SKAd:Kd=gαgard, Ld=grd, {Kd,x=hxrd}xAd.

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 mM, the signing private key SKAs, and the encryption access policy We=(Me,ρe) and the signing access policy Ws=(Ms,ρs) that are formulated by the EHR owner. The EHR owner performs the following steps.
    • -
      The EHR owner selects a vector v=(σ,v2,,vn)Zp calculates λi=v·Mi for i=1,2,,l, where Mi is the i’th row of matrix M. And the EHR owner randomly chooses φiZp and generators a vector φ=(φ1,φ2,,φl) such that φ·Ms=1n, that is i=1lφi·Ms,i=1n, and φi=0 for all i where ρs(i)As, where Ms,i is the i’th row of matrix Ms.
    • -
      The EHR owner picks ξZp and computes
      C=mYσ,C=gσ,μ=H2(C),C=(δ1μδ2)σ,{Ci=gaλihρe(i)σ}i[1,l],
      S1=Ls=grs,H1(S1,We,Ws)=(j1,j2,,jl),
      H3(We,Ws,C,C,C,{Ci=gaλihρe(i)σ}i[1,l])=β
      S2=Ks·i[1,l](Ks,ρs)φi·(y0i[1,l]yiji)σ·(C)βξ.
    • -
      The EHR owner uses the cuckoo filter to hide the access policy We=(Me,ρ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 aiS, where the attribute ai=ρe(i) maps the i’th row of access matrix M, let item x=ai. 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 CT={C,C,C,{Ci}i[1,l],S1,S2,CF} 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 aiS, let an item y=ai. 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 ai exists in the access policy. Lastly, the EHR user generates the reconstructed attribute map ρe(i)=ai and obtains the access policy We=(Me,ρe).
    • -
      The EHR user computes μ=H2(C), H1(S1,We,Ws)=(j1,j2,,jl), β=H3(We,Ws,C,C,C,{Ci=gaλihρe(i)σ}i[1,l]) and verifies
      Y=e(S2,g)e(ga·i[1,l]hρs(i)φi,S1)·e(y0i[1,l]yiji·(δ1μδ2)βξ,C) (3)
    • -
      If it is invalid, returns ⊥; Otherwise, when the decryption attribute set AdS satisfies (Me,ρe), the EHR user finds the constants {ωiZp}iI such that λi are valid shares of secret value σ based on Me, iIωiλi=σ, where I={i:ρe(i)S}.
      The EHR user computes
      Yσ=e(C,Kd)iIe(Ci,Ld)·e(C,Kd,ρe)ωi (4)
      and recovers the message m from m=CYσ.

Correctness:

S2=Ks·i[1,l](Ks,ρs)φi·(y0i[1,l]yiji)σ·(C)βξ=gαgars·i[1,l](hρs(i)rs)φi·(y0i[1,l]yiji)σ·(C)βξ,
e(S2,g)=e(gαgars,g)·e(i[1,l](hρs(i)rs)φi,g)·e((y0i[1,l]yiji)σ,g)·e((δ1μδ2)σβξ,g)=e(g,g)α·e(ga,grs)·e(i[1,l](hρs(i))φi,grs)·e(y0i[1,l]yiji,gσ)·e((δ1μδ2)βξ,gσ)=Y·e(gai[1,l]hρs(i)φi,S1)·e(y0i[1,l]yiji·(δ1μδ2)βξ,C),
e(C,Kd)iI(e(Ci,Ld)·e(C,Kd,ρe))ωi=e(gσ,gαgard)iI(e(gaλihρe(i)σ,grd)·e(gσ,hρe(i)rd))ωi=e(g,g)ασ·e(g,g)aσrdiIe(g,g)ardλ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 ε=εqusp, where qus is the maximum number of the Unsigncrypt queries issued by A.

Proof. 

The algorithm B receives an instance ya,σ=(g,gσ,ga,ga2,,gaq,gaq+2,,ga2q) of the q-DBDHE problem, where gi=gai, a,σZp and g is a generator of G. The goal of B is to decide whether T=e(g,g)aq+1σ or T=R, where R is a random element in GT. If T=e(g,g)aq+1σ, B outputs 1; Otherwise outputs 0. Then B chooses three collision-resistant hash functions H1:{0,1}{0,1}l, H2:GZp, H3:{0,1}Zp and a one-way hash function H3:{0,1}Zp. 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 We=(Me,ρe) to B, where Me is a matrix of l×n with the labeling function ρe. Let Mi=(Mi,1,Mi,2,,Mi,n) be the i’th row of Me.

Setup: B chooses a random αZp and calculates α=α+aq+1, Y=e(g,g)α=e(ga,gaq)·e(g,g)α. B randomly chooses ςZp, η0,η1,,ηlZp and sets C=gσ, μ=H2(C), δ1=gq1μ, δ2=gςgq1, y0=gη0, y1=gη1,,yl=gηl.

Finally, for each attribute xS, let X denote the set of indices i such that ρe(i)=x. If X, B selects a random parameter fxZp and defines hx=gfx·gaMi,1·ga2Mi,2ganMi,n. If X=, then hx=gfx.

B returns the public parameters PK={S,M,H1,H2,H3,H4,Y,δ1,δ2,y0,{yi}i[1,l],Y,{hx}xS} 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 As, B randomly chooses r^Zp, sets rs=r^aq and computes Ls=gr^gq1, Ks=gαg1r^, Ks,x=hxr^gqfx for any xAs. Then B returns the signing private key SKAs={Ls,Ks,{Ks,x}xAs} to A.

    Correctness:
    Ls=gr^gq1=gr^gaq=grs,
    Ks=gαg1r^=gαgq+1g1r^gq+11=gα+aq+1gar^aq+1=gαgars,
    Ks,x=hxr^gqfx=hxr^(hx)aq=hxrs.
  • dExtract queries: When A issues a query on the decryption attributes set AdWe, B randomly chooses a vector γ=(γ1,γ2,,γn)Zpn where γ1=1, γ·Me,i=0 for all i where ρe(i)Ad. B randomly selects r^Zp, implicitly defines rd=r^+γ1aq+γ2aq1++γnaqn+1 and computes Ld=gr^i=1n(gaq+1i)γi, Kd=gαgar^i=2n(gaq+2i)γi and Kd,x=Ldfxj=1n(gaj·r^o=1,,noj(gaq+1+jo)γo)Mi,j for any xAd. For any i[1,le], if there is no ρe(i)=x, then B simply sets Kd,x=Ldfx. Then B returns the decryption key SKAd={Ld,Kd,{Kd,x}xAd}.

    Correctness:
    Ld=gr^i=1n(gaq+1i)γi=grd,
    Kd=gαgar^i=2n(gaq+2i)γi=gαgaq+1·gar^·gaq+1i=2n(gaq+2i)γi=gαgar^i=1n(gaq+2i)γi=gα(ga)r^+i=1n(gaq+1i)γi=gαgard,
    Kd,x=Ldfx·j=1n(gaj·r^o=1,,noj(gaq+1+jo)γo)Mi,j=gr^fxi=1n(gaq+1i)γifx·j=1n(gaj)r^·Mi,j=(gfxj=1n(gaj)Mi,j)r^·i=1n(gaq+1i)γifx=hxr^·i=1n(hxaq+1i)γi=hxrd.
  • Signcrypt queries: When A issues a query on (m,We,Ws,Ad,As) and the cuckoo filter, if signing attribute set AsWs, B runs the sExtract queries and gets the private key SKAs, then B executes the Signcrypt algorithm, generates ciphertext CT={C,C,C,{Ci}i[1,l],S1,S2,CF}. 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 We=(Me,ρe).
    • -
      If AdWe, B generates the private key SKAd through executing the dExtract queries and returns the results of the Unsigncrypt algorithm to A.
    • -
      If AdWe, 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ς,g1)μμ11·e(C,gα). Finally, B returns the message m=CYσ to A.
    Correctness:
    e(C/Cς,g1)μμ11·e(C,gα)=e((δ1μδ2)σ/gσς,g1)μμ11·e(C,gα)=(((gq1μ)μ·gςgq1)σ/gσς,g1)μμ11·e(C,gα)=e(gqσ,g1)·e(C,gα)=e(C,gan+1)·e(C,gα)=e(C,gα).
    Since Equation (3) is valid, it has e(gard,C)=iIe(gard,g)λiωi. Therefore,
    e(C/Cς,g1)μμ11·e(C,gα)=e(C,gα)·e(gard,C)iIe(gard,g)λiωi=e(C,gαgard)iI(e(gaλihρe(i)σ,grd)·e(gσ,hρe(i)rd))ωi=e(C,Kd)iI(e(Ci,Ld)·e(C,Kd,x))ωi=Yσ.

Challenge: A outputs two equal length messages m0,m1M and the signing access policy Ws to B. B chooses t1=0, r˜,t2,t3,,tnZp and sets rs=r˜aq, v=(σ+t1,σa+t2,σa2+t3,,σan1+tn)=σ(1,a,a2,,an1)+(0,t2,t3,,tn). Then B selects θ{0,1} and outputs the challenge ciphertext CT=(C,C,C,{Ci}i[1,l],S1,S2) as follows:

  • C=mθT·e(gσ,ga),

  • C=gσ,

  • C=(gσ)ς, where μ=H2(C),

  • Ci=(j=1n(ga)Mi,j·tj)·(gσ)fρe(i) for i[1,l],

  • S1=gr˜gq1,

  • S2=(gαgar˜)·(hρsirgqfρs(i))φi·(gs)η0+i=1ljiηi+ςξβ, where H1(S1,We,Ws)=(j1,j2,,jl), H3(We,Ws,C,C,C,{Ci}i[1,l])=β.

If T=e(gσ,gaq+1), CT is a valid challenge ciphertext.

Correctness:

T·e(gσ,gα)=e(gσ,gaq+1)·e(gσ,gα)=e(g,g)σα=Yσ.
C=mθ·T·e(gσ,ga)=mθ·Yσ.
C=(gσ)ς=(gςgq1gq)σ=((gq1μ)μ·gςgq1)σ=(δ1μδ2)σ.

For j=1,2,,n, λi=v·Mi=(σ(1,a,a2,,an1)+(0,t2,t3,,tn))·Mi=aσj=1naj1Mi,j+j=2ntjMi,j,

Ci=(j=1n(ga)Mi,j·tj)·(gσ)fρe(i)=gσj=1najMi,j·(j=1n(ga)Mi,j·tj)·(gσ)fρe(i)·gσj=1najMi,j=((ga)σj=1naj1Mi,j)·(j=1n(ga)Mi,j·tj)·(gfρe(i))σ·gσj=1najMi,j=gaλi·(gfρe(i)gj=1najMi,j)σ=gaλihρe(i)σ.

S1=gr˜gq1=gr˜gaq=grs=Ls.

S2=(gαgar˜)·(hρs(i)rgqfρs(i))φi·(gs)η0+i=1ljiηi+ςξβ=gαgaq+1gar˜gaq+1hρs(i)r˜hρs(i)aqφi·(gη0+i=1ljiηi)σ·(gσ)ςβξ=gαgars·hρs(i)φi·y0i=1lyijiσ·(C)βξ=Ks·Ks,xφi·y0i=1lyijiσ·(C)βξ.

Phase 2: A performs a series of queries as Phase 1 except the dExtract queries on any decryption attribute set AdWe and the Unsigncrypt queries on the challenge ciphertext CT for any AdWe.

Guess: A outputs a guess bit θ{0,1}. If θ=θ, B outputs 1 (T=e(g,g)aq+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 qusp. If B doesn’t abort and T=e(g,g)aq+1σ, the probability of the successful simulation for B is at least 12+εqusp. If T=R, the probability of A does not get any information about mθ is 12. Therefore, the advantage of B can solve the q-DBDHE problem is at least ε=Pr|B(y,T=e(g,g)aq+1σ)=0|Pr|By,T=R=0|=εqusp.

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 H1.

Proof. 

B receives an instance ya=(g,ga,ga2,,gaq,gaq+2,,ga2q) of the q-CDHE problem, where aZp, g is a generator of G and gi=gai. The goal of the algorithm B is to calculate gaq+1. B chooses three collision-resistant hash functions H1:{0,1}{0,1}l, H2:GZp, H3:{0,1}Zp and a one-way hash function H4:{0,1}Zp. B simulates the challenger in EUF-CMA security game and interacts with A as below. □

Initialization: A submits the challenge signing access policy Ws=(Ms,ρs) to B, where Ms is a matrix of l×n with the labeling function ρs. Let Mi=(Mi,1,Mi,2,,Mi,n) be the i’th row of Ms.

Setup: B randomly picks αZp, d,dZp and defines α=α+aq+1, Y=e(g,g)α=e(ga,gaq)·e(g,g)α, δ1=gd, δ2=gd. B randomly chooses (z0,z1,,zl)Zpl+1, η=k and η(l+1)<p, where k is a security parameter. B also randomly selects 0πl and (b0,b1,,bl)Zηl+1 sets y0=gqpηπ+b0, yi=gqbigzi for all i[1,l]. For each vector j=(j1,j2,,jl){0,1}l, B defines two functions F1(j)=pηπ+b0+i=1ljibi and F2(j)=z0+i=1ljizi, which means that y0i=1lyiji=gqF1(j)gF2(j). B defines the function F:{0,1}l{0,1} by F(j)=0,ifb0+i=1ljibi=0modη,1,otherwise.. It can be seen that, if F(j)=1, then F1(j)0modp.

Finally, for each attribute xS, let X denote the set of indices i, such that ρs(i)=x. If X, B selects a random fxZp and defines hx=gfx·gaMi,1·ga2Mi,2ganMi,n. If X=, then hx=gfx.

B returns the public parameters PK={S,M,H1,H2,H3,H4,Y,δ1,δ2,y0,{yi}i[1,l],Y,{hx}xS} 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 As, if AsWs, B randomly selects r^Zp and calculates the vector γ=(γ1,γ2,,γn)Zpn where γ1=1 such that γ·Mi=0 for all i where ρs(i)As. B implicitly defines rs=r^+γ1aq+γ2aq1++γnaqn+1 and computes Ls=gr^i=1n(gaq+1i)γi, Ks=gαgar^i=2n(gaq+2i)γi and Ks,x=Lsfxj=1n(gaj·r^o=1,,noj(gaq+1+jo)γo)Mi,j for any xAs. If ρs(i)x for all i, B simply sets Ks,x=Lsfx. Then B returns the signing key SKAs={Ls,Ks,{Ks,x}xAs} to A.

    Correctness:
    Ls=gr^i=1n(gaq+1i)γi=grs,
    Ks=gαgar^i=2n(gaq+2i)γi=gαgaq+1·gar^·gaq+1i=2n(gaq+2i)γi=gαgar^i=1n(gaq+2i)γi=gα(ga)r^+i=1n(gaq+1i)γi=gαgars,
    Ks,x=Lsfx·j=1n(gaj·r^o=1,,nkj(gaq+1+jo)γo)Mi,j=gr^fxi=1n(gaq+1i)γifx·j=1n(gaj)r^·Mi,j=(gfxj=1n(gaj)Mi,j)r^·i=1n(gaq+1i)γifx=hxr^·i=1n(hxaq+1i)γi=hxrs.
  • dExtract queries: When A issues a query on the decryption attribute set Ad, B randomly picks r^Zp, sets rd=r^aq and computes Ld=gr^gq1, Kd=gαg1r^ and Kd,x=hxr^gqfx for any xAd. Then B returns the decryption private key SKAd={Ld,Kd,{Kd,x}xAd} to A.

    Correctness:
    Ld=gr^gq1=gr^gaq=grd,
    Kd=gαg1r^=gαgq+1g1r^gq+11=gα+aq+1gar^aq+1=gαgard,
    Kd,x=hxr^gqfx=hxr^(hx)aq=hxrd.
  • Signcrypt queries: When A issues a query on (m,We,Ws,Ad,As) and the cuckoo filter,
    • -
      If AsWs, B gets the private key SKAs by running the sExtract queries. Then B generates ciphertext CT by executing the Signcrypt algorithm and returns to A.
    • -
      If AsWs, B performs the following steps: B randomly chooses φiZpl and generates a vector φ=φ1,φ2,,φl such that φ·Ms=1n, that is i=1lφi·Ms,i=1n, and φi=0 for all i[1,l], where ρs(i)As. B sets C=mYσ, S1=grs and computes j=(j1,j2,,jl)=H1(S1,We,Ws). If F(j)=0, B aborts; Otherwise, B chooses a random number σZp, sets σ=σaF1(j) and computes C=gσg11/F1(j), C=g(dμ+d)σg1(μd+d)/F1(j), where μ=H2(C). B randomly chooses v2,,vnZp and defines v=(σaF1(j),v2,,vn) and λi=v·Mi=(σaF1(j))Mi,1+i=2lviMi,n for all i[1,n]. B sets Ci=g1(σMi,1+i=2lviMi,n)·g2Mi,1/F1(j)·hρ(i)σ·g1fρe(i)/F1(j) for i[1,l], S2=gαgars(i=1l(hρs(i)rs)φi)·(gqF1(j)gF2(j))σ·(g1F2(j)/F1(j))·(C)βξ, where β=H3(We,Ws,C,C,C,{Ci}i[1,l]). Finally, B returns the ciphertext CT={C,C,C,{Ci}i[1,l],S1,S2,CF} to A.
    Correctness:
    C=gσg11/F1(j)=gσa/F1(j)=gσ,
    Ci=g1(σMi,1+i=2lviMi,n)·g2Mi,1/F1(j)·hρe(i)σ·g1fρe(i)/F1(j)=ga(σMi,1+i=2lviMi,n)·(ga)aMi,1/F1(j)·hρeiσa/F1(j)=gaλihρeiσ,
    S2=gαgars(i=1l(hρs(i)rs)φi)·(gqF1(j)gF2(j))σ·(g1F2(j)/F1(j))·(C)βξ=gαgaq+1gars·(gqF1(j)gF2(j))σ·gaq+1·(g1F2(j)/F1(j))·(C)βξ=(gαgars)·(i=1l(hρs(i)rs)φi)·(gqF1(j)gF2(j))σ·(gqF1(j)gF2(j))a/F1(j)·(C)βξ=Ks·(Ks,x)φi·(y0i=1lyiji)σ·(C)βξ.
  • Unsigncrypt queries: When A issues a query on the ciphertext CT, B computes the decryption private key SKAd 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 CT={C,C,C,{Ci}i[1,l],S1,S2,CF} on (m,We,Ws). CT satisfies the following two conditions:

  1. Since AdWe, the result of the Unsigncrypt algorithm is m;

  2. A never issues the Signcrypt queries on (m,We,Ws).

Now, B could provide the methods to solve the q-CDHE problem as follows.

Firstly, B computes j=(j1,j2,,jl)=H1(S1,We,Ws). If b0+i=1ljibiηπ, then B aborts. Otherwise, F1(j)=0modp, B computes C=mYσ, C=gσ, C=g(dμ+d)σ, {Ci=gaλihρe(i)σ}i[1,l], S1=grs, S2=gαgars(i=1l(hρs(i)rs)φi)(y0i[1.l]yiji)σ·(g(dμ+d))σξβ, where μ=H2(C), β=H3(We,Ws,C,C,C,{Ci=gaλihρe(i)σ}i[1,l]) and the vector φ=(φ1,φ2,,φl) satisfies i=1lφ·Ms,i=1n.

Then B can calculate S2gα(i=1l(S1)fρs(i))(C)F2(j)+(dμ+d)ξβ=gaq+1.

Correctness:i=1lφi·Ms,i=1n implies i=1lφi·Mi,j=1,j=1;0,if2jn, so i=1lj=1lajMi,jφirs=ars.

S2gα(i=1l(S1)fρs(i))(C)F2(j)+(dμ+d)ξβ=gαgars·(i=1lhρs(i)rsφi)(y0i[1,l]yiji)σ·(g(dμ+d))σξβgα·(i=1l(S1)φifρs(i))·(C)F2(j)+(dμ+d)ξβ=gα+aq+1gars·(i=1l(gfρs(i)j=1ngajMi,j)φirs)·(gqF1(j)gF2(j))σ·(gσ)(d+ud)ξβgα·(i=1l(S1)φifρs(i))·(C)F2(j)+(dμ+d)ξβ=gαgaq+1gars·(i=1l(grs)φifρs(i))·(i=1lj=1ngajMi,jφirs)·(gσ)F2(j)+(dμ+d)ξβgα·(i=1l(S1)φifρs(i))·(C)F2(j)+(dμ+d)ξβ=gαgaq+1gars·(i=1l(grs)φifρs(i))·gars·(C)F2(j)+(dμ+d)ξβgα(i=1l(S1)φifρs(i))·(C)F2(j)+(dμ+d)ξβ=gaq+1.

In the Forgery phase, B can successfully simulate without aborting if b0+j[1,l]mjbj=ηπ. The probability of this simulation is not abort is 1η1l+1=1k(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.

Table 1.

Comparison of computation cost.

Scheme KP/CP Access Structure Public Verifiability MC CU Security Model Privacy-Preserving
[20] CP Monotone tree No CPA CMA ROM No
[21] CP Monotone tree Yes CCA CMA SM No
[22] KP Threshold policy No CCA CMA SM No
[23] CP LSSS Yes CCA CMA SM No
our CP LSSS Yes CCA CMA SM Yes

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 Tp be the time for performance a pairing, Tm be the time for performance a scale multiplication in G, Tmt be the time for performance a scale multiplication in GT. Other lightweight operations (the arithmetic operation in Zp, 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×GGT, 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 Tp, Tm and Tmt are listed in Table 2.

Table 2.

Time cost of cryptographic operation.

Cryptographic Operation Execution Time
Bilinear pairing Tp 9.0791
Scalar multiplication in G Tm 3.7770
Scalar multiplication in GT Tmt 0.9243

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.

Table 3.

Comparison of computation cost.

Scheme Signcrypt Unsigncrypt
[20] 7.554l+23.5863 ms 38.165l+37.2407 ms
[21] 15.108l+22.2587 ms 54.4746l+27.2373 ms
[22] 22.662l+23.5683 ms 47.2441l ms
[23] 15.108l+8.4783 ms 20.4101l+52.9495 ms
The proposed scheme 18.885l+27.3633 ms 19.0825l+51.4244 ms

In terms of the Signcrypt phase, for the computation costs of l attributes, Wang et al.’s scheme [20] requires to execute (4l+3) scalar multiplication operations in G, two scalar multiplication operations in GT and one bilinear pairing operation. Therefore, the total signcryption time is 7.554l+23.5863 ms. Emura et al.’s scheme [21] needs to execute (6l+2) scalar multiplication operations in G and one scalar multiplication operation in GT. Therefore, the total signcryption time is 15.108l+22.2587 ms. Hu et al.’s scheme [22] needs to execute (4l+2) scalar multiplication operations in G and one scalar multiplication operation in GT. Therefore, the total signcryption time is 22.662l+23.5683 ms. Rao et al.’s scheme [23] needs to execute (5l+7) scalar multiplication operations in G and one scalar multiplication operation in GT. Therefore, the total signcryption time is 15.108l+8.4783 ms. The proposed scheme needs to execute (2l+6) scalar multiplication operations in G and one scalar multiplication operation in GT. Therefore, the total signcryption time is 18.885l+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 (2l+1) scalar multiplication operations in GT and (4l+4) bilinear pairing operations. Therefore, the total unsigncryption time is 38.165l+37.2407 ms. Emura et al.’s scheme [21] needs to execute (6l+3) bilinear pairing operations. Therefore, the total unsigncryption time is 54.4746l+27.2373 ms. Hu et al.’s scheme [22] needs to execute 2l scalar multiplication operations in GT and 5l bilinear pairing operations. Therefore, the total unsigncryption time is 47.2441l ms. Rao et al.’s scheme [23] needs to execute (3l+2) scalar multiplication operations in G and (l+5) bilinear pairing operations. Therefore, the total unsigncryption time is 20.4101l+52.9495 ms. The proposed scheme needs to execute four scalar multiplication operations in G, l scalar multiplication operations in GT and (2l+4) bilinear pairing operations. Therefore, the total unsigncryption time is 19.0825l+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.

Figure 4.

Figure 4

Signcrypt cost with the number of attributes.

Figure 5.

Figure 5

Unsigncrypt cost with the number of attributes.

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 |GT| be the element’s length in group GT. Since the size of p is 512 bits (64 bytes), therefore the element’s size in group G and GT 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.

Table 4.

Comparison of communication costs.

Scheme l Attributes
[20] 256l+576 bytes
[21] 192l+512 bytes
[22] 128l+576 bytes
[23] 128l+640 bytes
The proposed scheme 84l+640 bytes

For the communication costs of l attributes, Wang et al.’s scheme [20] includes (4l+3) the element’s length in G and one the element’s length in GT. Therefore, the total communication cost is 256l+576 bytes. Emura et al.’s scheme [21] includes (3l+2) the element’s length in G and one the element’s length in GT. Therefore, the total communication cost is 192l+512 bytes. Hu et al.’s scheme [22] includes (2l+3) the element’s length in G and one the element’s length in GT. Therefore, the total communication cost is 128l+576 bytes. Rao et al.’s scheme [23] includes (2l+4) the element’s length in G and one the element’s length in GT. Therefore, the total communication cost is 128l+640 bytes. The proposed scheme includes (l+4) the element’s length in G, one the element’s length in GT and the outputs length of one-way hash function in cuckoo filter. Therefore, the total communication cost is 84l+640 bytes.

Figure 6 demonstrates the relationship between the communication cost and the number of attributes.

Figure 6.

Figure 6

Unsigncrypt cost with 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.

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)).

Author Contributions

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

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. [PubMed] [Google Scholar]
  • 2.Hoerbst A., Ammenwerth E. Electronic health records. Methods Inf. Med. 2010;49:320–336. doi: 10.3414/ME10-01-0038. [DOI] [PubMed] [Google Scholar]
  • 3.Badve O.P., Gupta B.B., Yamaguchi S. DDoS detection and filtering technique in cloud environment using GARCH model; 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. doi: 10.1007/s11227-016-1857-x. [DOI] [Google Scholar]
  • 6.Ibraimi L., Asim M., Petkovi M. Secure management of personal health records by applying attribute-based encryption; 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; 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. doi: 10.1109/TPDS.2012.97. [DOI] [Google Scholar]
  • 10.Narayan S., Gagné M., Safavi-Naini R. Privacy preserving EHR system using attribute-based infrastructure; 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; 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. doi: 10.1016/j.comcom.2012.01.009. [DOI] [Google Scholar]
  • 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. doi: 10.1109/TPDS.2012.146. [DOI] [Google Scholar]
  • 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. doi: 10.1016/j.future.2016.12.027. [DOI] [Google Scholar]
  • 15.Zhou X., Liu J., Wu Q. Privacy preservation for outsourced medical data with flexible access control. IEEE Access. 2018;6:14827–14841. doi: 10.1109/ACCESS.2018.2810243. [DOI] [Google Scholar]
  • 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. doi: 10.3390/s150922419. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 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. doi: 10.1109/JIOT.2016.2571718. [DOI] [Google Scholar]
  • 18.Gagné M., Narayan S., Safavi-Naini R. Threshold attribute-based signcryption; 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; 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; 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. doi: 10.1504/IJACT.2012.045589. [DOI] [Google Scholar]
  • 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. doi: 10.1109/JSAC.2013.SUP.0513004. [DOI] [Google Scholar]
  • 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. doi: 10.1016/j.future.2016.07.019. [DOI] [Google Scholar]
  • 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. doi: 10.1145/357369.357372. [DOI] [Google Scholar]
  • 25.Crampton J., Farley N., Gutin G. Cryptographic enforcement of information flow policies without public information; 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. doi: 10.1109/TDSC.2015.2413415. [DOI] [Google Scholar]
  • 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. doi: 10.1016/j.ins.2016.08.093. [DOI] [Google Scholar]
  • 28.Alderman J., Farley N., Crampton J. Tree-Based Cryptographic Access Control; 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; 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; 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; 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; 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; 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; 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; 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); 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; 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. doi: 10.1002/sec.614. [DOI] [Google Scholar]
  • 39.Wang C.J., Huang J.S., Lin W.L. Security analysis of Gagne et al; ’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; 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. doi: 10.1002/sec.940. [DOI] [Google Scholar]
  • 42.Pandit T., Pandey S.K., Barua R. Attribute-based signcryption: Signer privacy, strong unforgeability and ind-cca2 security in adaptive-predicates attack; 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. doi: 10.1007/s10207-015-0289-6. [DOI] [Google Scholar]
  • 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. doi: 10.1016/j.future.2014.10.014. [DOI] [Google Scholar]
  • 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. doi: 10.1016/j.ins.2015.03.070. [DOI] [Google Scholar]
  • 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. doi: 10.1109/TDSC.2016.2605087. [DOI] [Google Scholar]
  • 47.Bloom B.H. Space/time trade-offs in hash coding with allowable errors. Commun. ACM. 1970;13:422–426. doi: 10.1145/362686.362692. [DOI] [Google Scholar]
  • 48.Pagh R., Rodler F.F. Cuckoo hashing. J. Algorithms. 2004;51:122–144. doi: 10.1016/j.jalgor.2003.12.002. [DOI] [Google Scholar]
  • 49.Wang D., Gu Q., Cheng H. The request for better measurement: A comparative evaluation of two-factor authentication schemes; 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]

Articles from Sensors (Basel, Switzerland) are provided here courtesy of Multidisciplinary Digital Publishing Institute (MDPI)

RESOURCES