1,374
Views
0
CrossRef citations to date
0
Altmetric
Research Article

A privacy-preserving and efficient data sharing scheme with trust authentication based on blockchain for mHealth

, ORCID Icon, , , &
Article: 2186316 | Received 04 Dec 2022, Accepted 27 Feb 2023, Published online: 15 Mar 2023

Abstract

The mobile healthcare (mHealth) is a promising and fascinating paradigm, which can dramatically improve the quality of healthcare delivery by providing remote diagnosis and medical record sharing. Now, the mHealth faces serious challenges such as data leakage and unauthorised access currently. Attribute-based encryption (ABE) which has been employed for mHealth is an excellent cryptographic primitive of securing data sharing. However, there are still some security and efficiency issues in the ABE-based data sharing scheme for mHealth. Firstly, the explicit storage of access policy may expose the privacy of users. Secondly, the computation cost is high, especially in the mHealth with IoT devices. Thirdly, the authentication of access rights to shared data is usually performed by the centralised third parties or IoT devices with limited resources. To handle the above issues, this paper presents a privacy-preserving and efficient data sharing scheme. The scheme partially hides access policy to protect user's privacy, and introduces an offline mechanism in key generation and encryption phase to improve efficiency of mHealth. Furthermore, it also provides decentralised and trusted authentication of data access right based on blockchain. The security proofs and the experiment results demonstrate that the presented scheme has better security and efficiency.

1. Introduction

In the technological epoch of the Internet of Everything, the Internet of Things (IoT) (Sicari et al., Citation2015) and 5G (S. Zhang et al., Citation2019) technology came into being. As a typical application of the IoT and 5G technology, mobile health (mHealth) system (J. Hu et al., Citation2022) provides more efficient and convenient services for patients. The mHealth collects medical records (MRs) of patients through wearable devices, then storage it in cloud service provider (CSP). Since the online medical records contain patients' privacy, data owners in the mHealth system want to keep their data confidential, and only allow some specific users to access their data. Therefore, mHealth systems urgently need a solution that can achieve fine-grained access control.

The attribute-based encryption (ABE) scheme presented by Sahai and Waters (Sahai & Waters, Citation2005) can achieve data encryption and one-to-many fine-grained access control simultaneously. So it is one of the effective technical means to the above issue. ABE can be classified into key-policy ABE (KP-ABE) (Goyal et al., Citation2006) and ciphertext-policy ABE (CP-ABE) (Bethencourt et al., Citation2007) by the different objects associated with access policy. In CP-ABE, data owner formulates an access policy with a specific set of attributes to protect the data, and only users who have all the attributes in the access policy have decryption rights. The feature just meets the requirement of mHealth system (Akinyele et al., Citation2011; Ibraimi et al., Citation2009) to protect the data confidentiality.

However, the traditional CP-ABE schemes only encrypt the data at a fine-grained level, and the access policy in it still exists in the form of plaintext. In the mHealth system, the access policy also contains sensitive information of the data owner. Figure  illustrates a simplified mHealth system with conventional CP-ABE, where data owner (DO) encrypts his/her MRs with the access policy (“Hospital: Provincial Hospital” AND “Department: Neurology”) OR (“Disease: Neurology” AND “Gender: Female”). Since the access policy is stored explicitly, anyone can see that the data requester (DR) is a neurologist in a provincial hospital or a female patient who suffering from neurologic diseases. It also can be inferred that the data owner suffers from neurologic diseases and is receiving treatment in a provincial hospital. This will expose the privacy of both the data owner and the data receiver. Therefore, there is an urgent need to hide the explicit access policy.

Figure 1. Data-sharing mHealth system with conventional CP-ABE.

Figure 1. Data-sharing mHealth system with conventional CP-ABE.

If the explicit attribute values in the access policy are hidden, data receiver can only determine whether he/she is authorised by decrypting the ciphertext instead of directly comparing the attribute values. It undoubtedly increases the meaningless computing cost of unauthorised users. To overcome the defect, some schemes add an authentication phase to authenticate the access right of an user before complete decryption. However, the authentication phase of the schemes is performed by the mobile receiver with limited computing resources, or by centralised third parties (Kim et al., Citation2020; Ren et al., Citation2018; Xu et al., Citation2019) that are not completely trusted. The issues of centralisation and opacity exists the authentication phase.

In addition, CP-ABE schemes utilise many expensive modular exponentiation and pairing operations which require computing devices to have sufficient battery capacity and computing resources. However, there are many mobile devices in mHealth with limited computing resources and storage resources, which do not have the capability to frequently perform necessary operations, such as generating or decrypting ciphertext. Moreover, concurrent registration of users in the system will reduce the efficiency of registration phase. Therefore, how to improve the efficiency in each phase is a key problem in mHealth system.

The paper proposes a privacy-preserving and efficient data sharing scheme with trust authentication based on block-chain to solve the mentioned issues, such as user privacy leakage in access policy, low computing efficiency of mobile users, centralised and untrusted authentication of access rights. The following is our specific contributions in this paper.

  • We design a method to transform an explicit access policy into an implicit access policy, which partially hides the access policy by embedding the attribute values in the access policy into the ciphertext. By this means, we can achieve user privacy protection to a greater extent.

  • A method for authentication of access rights is proposed. Only one bilinear pairing operation is needed in the method before full decryption to determine whether the user has the decryption permission, and the authentication phase is executed by the smart contract in the blockchain. The authentication method has high execution efficiency and a transparent process.

  • We introduce an online/offline mechanism in the key generation phase and the encryption phase. Most operations are completed in the offline phase, while only some low-cost operations are required in the online phase, so as to improve the efficiency of user registration and encryption.

  • A verifiable outsourced decryption mechanism is employed in the decryption phase. Most of the operations in the decryption phase are migrated to CSP, while only some low-cost operations are left to users. The verification component in the ciphertext allows the user to verify the results returned by a CSP that is not fully trusted.

The rest sections and contents of this work are arranged as follows. We briefly review related literature in Section 2 and explain the preliminaries involved in Section 3, while the system architecture and security model are exhibited in Section 4. We provide the details of the presented scheme and the security proof in Sections 5 and 6 respectively. The analysis of the experiment is presented in Section 7. Finally, this work is simply summarised in Section 8.

2. Related works

2.1. Attribute-based encryption

The conception of attribute-based encryption (ABE) was initiated by the fuzzy identity-based encryption (IBE) scheme (Sahai & Waters, Citation2005), which achieved one-to-many access control for the first time by hiding the identity of receivers. Goyal et al. (Citation2006) evolved the FIBE to ABE, and proposed the first KP-ABE scheme with the specific structure. Subsequently, Bethencourt et al. (Citation2007) proposed the first CP-ABE scheme with the specific structure. Cheung and Newport (Citation2007) proposed a CP-ABE scheme based on standard mathematical assumption, and provides the security proofs of the scheme under the corresponding model. Waters (Citation2011) also presented a CP-ABE scheme based on standard mathematical assumptions, and the scheme employs Linear Secret Sharing Scheme (LSSS) to achieve any expression formula. In 2013, Rouselakis and Waters (Citation2013) presented a CP-ABE scheme which supports large attribute universe, the attribute universe can be polynomial unbounded. Based on the above basic ABE schemes, many excellent schemes (Ahamad & Khan Pathan, Citation2021; Ji et al., Citation2021) for industrial scenarios have been proposed. However, the above conventional ABE schemes only consider user privacy related to data, but ignore user privacy leakage in access policy and high computational cost.

2.2. Partially hidden-policy CP-ABE

To solve the issue that the explicit access policy may leaking the privacy of users, many relevant policy-hiding schemes have been proposed. According to the granularity of hiding, policy hiding comes in two flavours known Fully-Hidden Policy CP-ABE (FHP-CP-ABE) and Partially-Hidden Policy CP-ABE (PHP-CP-ABE). In the FHP-CP-ABE schemes (Belguith et al., Citation2018; Chen et al., Citation2019; Phuong et al., Citation2015) based on Inner-product Predicate Encryption (IPE) directly or indirectly, there may exists “superpolynomial blowup” problem. To balance the security of access policy and the efficiency of decryption, PHP-CP-ABE is more popular among researchers. In 2008, Nishide et al. (Citation2008) presented a PHP-CP-ABE scheme based on multi-valued AND gates and wildcards, in which each attribute name in the access policy has sets of candidate values, an attribute name corresponds to an attribute value and wildcards match any candidate value. PHP-CP-ABE schemes were presented in L. Zhang et al. (Citation2016) and Y. Zhang et al. (Citation2013) with AND gate, but these schemes do not authenticate access right of user before decryption, which increase meaningless decryption overhead for unauthorised users. To solve the issue, some PHP-CP-ABE schemes (J. Li et al., Citation2016; S. Qiu et al., Citation2017) which based on AND gate and supporting access authentication was proposed. However, the above schemes are all on the basis of the AND gate access structure, which has weak expression ability and reduces the flexibility of the schemes.

In 2012, Lai et al. (Citation2012) presented a PHP-CP-ABE scheme which achieves full security and supported access authentication. The scheme applied PHP-CP-ABE scheme which can only be constructed in AND gate to linear secret sharing structure for the first time. However, the scheme does not achieves large universe. Moreover, the computational overhead of the authentication phase is close to that of the complete decryption phase, thus losing the significance of authentication. The same issue exists in the scheme (L. Liu et al., Citation2016). In 2018, Y. Zhang (Citation2018) achieved the large universe by eliminating attribute-related components in the public parameters. The scheme also reduces the number of pairing operations which is linearly related to the scale of access policy in Lai et al. (Citation2012) to a constant level, it can greatly decrease the computational cost of the authentication phase. However, due to the complexity of composite order groups, the computational efficiency of the above schemes is much lower than that of the schemes based on prime-order groups with the same length. The PHP-CP-ABE schemes (Q. Li et al., Citation2020; Zeng et al., Citation2021; L. Zhang et al., Citation2019) utilising same group type also have the same issue of low efficiency.

To achieve the same correctness and security as the scheme which utilises composite-order groups, Cui et al. (Citation2018Citation2016) presented the first PHP-CP-ABE scheme based on LSSS and bilinear groups of prime-order. However, the scheme selects many random numbers and contains many exponentiation and pairing operations, which increases the storage and computing cost of the scheme. Some PHP-CP-ABE schemes (Ba et al., Citation2021; Gan et al., Citation2021; J. Zhang et al., Citation2021) are proposed based on prime groups and LSSS for some specific scenarios. However, these schemes lack an authentication phase before decryption, which increases meaningless computational overhead for unauthorised users. G. Hu et al. (Citation2020) presented a PHP-CP-ABE scheme with the authentication in prime bilinear groups, but the authentication in the scheme may leak the privacy of users. W. Zhang et al. (Citation2022) introduced a PHP-CP-ABE scheme which can achieves privacy protection in authentication, it can avoid the privacy disclosure issue in G. Hu et al. (Citation2020). However, the authentication phase of the above scheme is performed by data requesters with limited computing resources. Z. Zhang et al. (Citation2021) migrates the authentication phase to the CSP. However, centralised CSP is neither entirely trusted nor immune to single point of failure. It is worth noting that the above schemes only consider the privacy leakage of users, but ignore the high encryption computation overhead of users, which is not suitable for CA-IoMT systems with many lightweight devices.

2.3. Efficient computing

To accomplish more computing tasks in limited battery and computing capacity, online/offline mechanism is employed. The online/offline encryption mechanism is adopted for the first time to design an online/offline signature scheme by Even et al. (Citation1989), which divided the signature into offline and online phases. Most operations of the scheme are pre-calculated in the offline phase, and the signature are quickly completed in the online phase. To improve the efficiency of ABE scheme, Hohenberger and Waters (Citation2014) employed the online/offline conception in ABE scheme, and presented the concrete structures of offline KP-ABE and offline CP-ABE. In 2018, Y. Liu et al. (Citation2018) presented a more efficient online/offline CP-ABE scheme for the mHealth system. However, because of the explicit storage of access policy, all above schemes have the issue of privacy disclosure. Subsequently, Y. Zhang et al. (Citation2018) and Yan et al. (Citation2020) presented online/offline CP-ABE schemes supporting policy hiding respectively. In the schemes, both the key generation and the ciphertext generation phase employ the online/offline conception. The entities accomplish most of the pre-calculations in the offline phase, and quickly assemble the required components in the online phase. However, these schemes have low efficiency because of the bilinear groups of composite order. Moreover, the access policy in their scheme is completely transparent to users and CSP in system, it is easy to reveal privacy of users.

The decryption outsourcing mechanism is utilised in some schemes to migrate the computational burden of the users to CSP. In 2011, Green et al. (Citation2011) presented the first CP-ABE scheme for decryption outsourcing. In the scheme, all the intensive calculations in the decryption phase are handed to the CSP, and users only need one exponentiation to recover the message. But the CSP is not always trusted. In 2013, Lai et al. (Citation2013) added a redundancy verification component to the ciphertext, which enable users to verify whether the decryption result of the CSP is correct. However, the ciphertext length of this scheme is twice that of Green et al. (Citation2011), and the storage and computing overhead of this scheme are doubled. Some efficient outsourcing decryption CP-ABE schemes that supports verifying the decryption results are presented in Lin et al. (Citation2015), Mao et al. (Citation2015) and B. Qin et al. (Citation2015). All the above schemes only focus on improving the efficiency of decryption phase, but neglect the efficiency of encryption phase. Moreover, their scheme as well as ignore the importance of user privacy.

3. Preliminaries

3.1. Access structure

Let U be a set of attribute parties. A collection A2U is considered monotones if B,C when BA and C2U then CA. A monotone access structure of U is a monotone collection A without the empty set, which can be represented as A2U{}.

3.2. Bilinear pairings

Let both G and GT represent two cyclic multiplicative groups with the prime order p. An operation e:G×GGT is known as bilinear mapping if it owns the properties as follows:

  • Bilinear: e(ga,wb)=e(g,w)ab for any g,wG and a,bZp.

  • Nondegenerate: There exists wG, has e(w,w)1.

  • Computable: The operations in G and GT and e : G×GGT are all computable in polynomial time.

3.3. Linear secret sharing scheme (LSSS)

Let U represents the attribute universe of the system. Each attribute in U can be described together by the attribute name and the corresponding value. Any monotone access formula on U can be converted into LSSS access structure with the unchanged meaning. There exists a matrix Al×n and a function ρ, where Al×n represents the shared generation matrix of l rows and n columns generated by the access formula, ρ maps a row in the matrix to an attribute name index in the system: ρ(i)i[1,l]atti(atti[1,n]). A LSSS scheme comprises two algorithms as below.

  • Sharing: In the algorithm, a secret value sZp is shared by the shared generation matrix A. The algorithm {v2,v3,,vn}R Zp to forms a n-dimensional column vector v=(s,v2,v3,,vn) together with the secret value s. Then, the algorithm calculates the shared component λi=Aiv which is held by each row vector in the matrix A.

  • Reconstruction: In the algorithm, the secret value s can be recovered from the shared components that satisfy the requirement. Assuming that P is an authorised attribute set satisfying the access structure, define an index set I={i|ρ(i)P}{1,2,,l} of attribute name indexs. The constant set w={wiZp}iI can be found by the equation iIwiAi=(1,0,,0) in polynomial time. Finally, the secret value s is calculated by the equation iIwiλi=s.

If I satisfies the access structure (A,ρ), and there is no set satisfies this condition for any IsubI, we called I={i|ρ(i)P}{1,2,,l} is the minimum authorised attribute set of (A,ρ). We represent the specified access structure as A=(A,ρ,τ), where τ=(tρ(1),,tρ(l)) indicates a set of attribute values corresponding to (A,ρ). Let S=(IS,LS) be an attribute set of a user, where IS indicates the set of attribute name index and LS indicates the set of corresponding attribute value. If and only if I={i|ρ(i)P}IS and sρ(i)=tρ(i)(iI), we can say that the attribute set matches the specified access structure A.

3.4. Decisional linear assumption

The Decisional Linear assumption is constructed by the algorithm as below.

  • Initialisation: The algorithm chooses {g,g1,g2}R G and {a1,a2}R Zp, where g,g1,g2 are the generators of cyclic multiplicative group G.

  • Calculate: The algorithm calculates and outputs the tuple p=(g,g1,g2,ga1,g1a2) by the selected parameters.

  • Challenge: The challenger throws a random coin ψR{0,1}, and selects the item sent to the adversary. By the value of the random coin, the adversary can get item (p,T=g2a1+a2) or (p,T=R), where R is an element chosen from GT randomly. Then, any adversary with probabilistic polynomial-time (PPT) can give the guess ψ{0,1} to distinguish T=g2a1+a2 or T = R.

3.5. Blockchain

The conception of blockchain originates from Bitcoin. The block structure comprises block header and block body. As shown in Figure , the header of each block records the hash value of the previous block and the feature information of the current block such as the root of the Merkle tree, and the block body stores the real transaction information, in which the merkle tree can prevent the transactions in blocks are tampered with. Blocks are linked in one direction according to the time sequence, and form a distributed ledger.

Figure 2. Blockchain structure.

Figure 2. Blockchain structure.

Smart contract is a digitised protocol, the rules and data defined in the protocol are open and transparent. Blockchain provides a distributed and trusted execution environment for smart contract. When creating a contract, someone can predefine the conditions for the contract to be automatically executed. After the contract is created, the contract creator submits the contract to the blockchain network in the form of a transaction for broadcasting to reach a consensus, and then the block where the contract is located is added to the blockchain network. Once the contract is triggered, it will automatically self-validate and execute automatically without human intervention (Delmolino et al., Citation2016), and the execution results of the smart contract are recorded in the blockchain.

4. System model and threat model

4.1. System model

As illustrated in Figure , this subsection presented the system model which comprises five entities trust authority (TA), cloud service provider (CSP), consortium blockchain (CB), data owner (DO) and data requester (DR).

  • TA: TA is a trust authority that is fully trusted by all entities in the system. TA is in charge of the registration for users.

  • CSP: CSP are some semi-trusted cloud servers, which are comprised of many storage servers and computing servers. Among them, the storage server is utilised to store ciphertext for data owner, and the computing server is employed to partially decrypting for data requester who has limited computing resources.

  • CB: CB is a distributed trusted platform that allows users to create and query transactions on it. In this paper, the blockchain is utilised to store authentication ciphertext and access policy. Furthermore, as the carrier of smart contract, it can conduct distributed and trusted authentication for data requester.

  • DO: DO is an entity who is in charge of generating ciphertext and uploading ciphertext to CSP. DO first generates the offline ciphertext in spare time, then generates the final ciphertext after the message and access policy is specified. To achieve secure and trust data sharing, DO sends the ciphertext address, authentication ciphertext and access policy to the blockchain in the form of storage transaction Txstorage.

  • DR: DR is an entity who has a specific set of attributes and wants access to the shared data. Before decryption, the DR invokes the smart contract to authenticate whether it is authorised.

Figure 3. System model.

Figure 3. System model.

4.2. Overview of proposed scheme

There are ten algorithms in the proposed scheme.

  • Setup(1λ)(PK,MSK): Given a security parameter λ as the unique input, TA generates the system public parameter PK and the master secret key MSK as the outputs.

  • Offline.KeyGen(PK,MSK)SKoff: Given the PK and the MSK as the inputs, TA generates the offline key SKoff as the output.

  • Online.KeyGen(PK,SKoff,S=(IS,LS))(SKS,SKAuth): Given the PK, the SKoff and the attribute set S=(IS,LS) as the inputs, TA returns the secret key tuple (SKS,SKAuth) as the outputs, where SKS is the decryption key and SKAuth is the authentication key.

  • Offline.Enc(PK)CToff: Given the PK as the input, DO generates the offline ciphertext CToff as the output.

  • Online.Enc(CToff,M,A=(A,ρ,τ))(CTA,CTAuth): Given a message M, the access structure A=(A,ρ,τ) and the CToff as inputs, DO returns the ciphertext tuple (CTA,CTAuth) as the outputs, where CTA is the ciphertext and CTAuth is the authentication ciphertext.

  • Authen((A,ρ),S=(IS,LS),CTA,CTAuth,SKAuth)True or False: This phase authenticates the access rights of user. If the algorithm outputs Flase, it indicates that the attribute set S does not match the specified access structure A. Otherwise, it indicates that the user can continues the decryption phase.

  • TKGenout(PK,SKS)(TKouts,UK): Given the PK and the SKS as the inputs, DR generates the outsourced transformation key TKouts and the user decryption key UK as the outputs.

  • Transformout(PK,CTA,TKouts)CTout: Given the PK, the CTA and the TKouts as the inputs, CSP returns the transformed ciphertext CTout as the output.

  • DecryptDR(PK,CTout,UK)M or : Given the PK, the CTout and the UK, DR recovers the message M or ⊥ as the output.

  • MVerify(PK,CTA,M)TorF: Given the PK, the CTA and the M as the inputs, if the commitment value of M is equal to the commitment value of M in CTA, the algorithm outputs T. Otherwise, the algorithm outputs F.

4.3. Security model

The presented scheme ought to satisfy selective indistinguishability under chosen-plaintext attacks (IND-CPA) and anonymity. The selective CPA security model is formalised for the presented scheme through security games between the adversary A and challenger C as follows.

  • Initialisation: Adversary A commits two challenge access structure A0=(A,ρ,τ0) and A1=(A,ρ,τ1) to challenger C.

  • Setup: Challenger C obtains the master secret key MSK that requires to be kept secretly and the public parameter PK that requires to be sent to the adversary A from run the setup algorithm.

  • Key query phase 1 and phase 2: In phase 1, challenger C makes responses to the key query of users by the KeyGen algorithm. The phase 2 is the same as the phase 1. The two phases requires that all the attributes set submitted by the user cannot match the challenge access policy A0=(A,ρ,τ0) and A1=(A,ρ,τ1).

  • Challenge: Adversary A sends two specified messages m0 and m1 of equal length to challenger C. Challenger C throws a random coin ψ{0,1}, and encrypts mψ with encryption algorithm to acquire the ciphertext CTψ, then sends the ciphertext to adversary A.

  • Guess: Adversary A generates a guess of ψ{0,1}. Adversary A wins the game with a negligible advantage, if and only ψ=ψ.

Definition

Define a negligible advantage as ϵ=|Pr[ψ=ψ]12|. The presented scheme is selective IND-CPA security, if for any PPT adversary can only break the mentioned security game with the most advantages ϵ

5. Design details of proposed system and scheme

This section describes the presented scheme in detail. There are five phases in the mHealth system: (1) System initialisation; (2) User registration; (3) Privacy-preserving MRs Sharing; (4) Privacy-preserving Data Access and (5) Decryption outsourcing. We will covers the details of the algorithms involved in the above five phases.

5.1. System initialisation

TA derives the terms T=(G,GT,p,g,e(g,g)) from the security parameter λ, and sets the attribute universe as U=Zp. It then performs the setup algorithm as below.

  • Setup: TA chooses α,η,cRZp,g,g1,g2,u,w,h,vRG, and sets a collision-resistant hash function H, which maps an attribute value or element in group GT to element in Zp. Then TA calculates u=gc,Y=e(g,g)α,Q=e(g1,g2), and publishes the system public parameters and master secret key as: PK=(g,g2,g2η,c,u,w,h,v,Y,Q,H),MSK=(α,η,g1).

5.2. User registration

Before obtaining an attribute set of users, TA executes the first algorithm as below to generate the offline secret key. After obtaining an attribute set S=(IS,LS) submitted by users, TA executes the second algorithm as below to generate the final secret key.

  • Offline.KeyGen: TA chooses random elements ϵ,ϵi,LˆiRZp, where i[1,U], and generates the offline key for all users in the system as SKoff=(K0,K1,{K2,i,K3,i,K4,i,K5,i}i[1,U]),where K0=g1αwϵ,K1=gϵ, K2,i=gϵi, K3,i=gϵi/η, K4,i=(uLˆih)ϵi/ηvϵ, K5,i=(uLˆih)ϵi(vϵ)η.

  • Online.KeyGen: After obtaining offline key SKoff and attribute set S=(IS,LS) submitted by a user, where ISZN and LS={Li}i|IS|, TA generates the final secret key as SKS=(K0,K1,{K2,i,K3,i,K4,i,K5,i,K6,i}iIS),SKAuth=({Ki}iIS),where K6,i=H(Li)Liˆ,Ki=g11/H(Li). The SKAuth is used for authentication of user access rights.

5.3. Privacy-preserving MRs sharing

Before specifying the access policy and the message, DO carries out the first algorithm as below to generate the offline ciphertext. After obtaining the relevant components, DO carries out the second algorithm as below to generate the final ciphertext.

  • Offline.Enc: DO chooses random elements s,sRZp and dj,kj,λjˆ,tjˆR Zp, where j[1,U]. DO sets the offline ciphertext as CToff=(C0ˆ,C0,C1,{C2,j,C3,j,C4,j,C5,j}j[1,l]),where C0ˆ=Ys,C0=Qds,C1=gs,C2,j=g2dj,C3,j=(g2η)djgkj,C4,j=wλjˆvkj,C5,j=(utjˆh)kj.

  • Online.Enc: DO firstly specifies the access structure A=(A,ρ,τ) and the message MGT, then DO chooses random elements d,δ,v2,v3,,vn,v2,v3,,vnRZp and constructs two n-dimensional column vectors represent as v=(s,v2,v3,,vn), v=(s,v2,v3,,vn), then computes λj=Ajv,λj=Ajv and sets the final ciphertext as CTA=(Φ,C0,C0,C1,{C2,j,C3,j,C4,j,C5,j,C6,j,C7,j}j[1,l]),CTAuth=({Cj}j[1,l]),where C0=MC0ˆ,C6,j=λjλˆj,C7,j=kj(tjˆH(tρ(j))), Cj=(g2λjH(tρ(j)))d, Φ=gH(M)g2H(δ). The CTAuth is used for authentication of user access rights.

After the phase, DO stores the ciphertext CTA in CSP, and the CSP returns the storage address ctAddress. Then, DO sends the address and the ciphertext containing the hidden access policy to the blockchain through a storage transaction TXstorage as shown in algorithm 1. Afterwards, the transaction is broadcasted to other nodes in the blockchain for verification of its validity with Algorithm 2. If the verification is passed, the transaction can be packaged into a consensus block.

5.4. Privacy-preserving data access

The authentication phase is utilised to determine whether a user is authorised. Only authorised users need to continue the decryption phase.

  • Authen: Before decryption, the data requester calls the authentication contract to authenticate whether he/she has the right to access the data as shown in the Algorithm 3. If the user is authorised, the algorithm outputs True, it means the user can continue the decryption phase. Otherwise, the algorithm outputs Flase.

5.5. Decryption outsourcing

The decryption phase is comprises three steps. First, DR generates transformation key and user decryption key. Then CSP transforms the ciphertext with the transformation key. Finally, the DR obtains the message from the ciphertext and verifies the transformation result returned by the CSP.

  • {TKGen}{out}: The algorithm is performed by the data requester. DR rRZp, and sets the user decryption key as UK = r, and transformation key as TKoutS=(TK0,TK1,{TK2,i,TK3,i,TK4,i}i[1,|IS|]),where TK0=K01/r,TK1=K11/r,TK2,i=K2,i1/r, TK3,i=K3,i1/r,TK4,i=K4,i1/r,TK5,i=K5,i1/r.

  • {Transform}{out}: The algorithm is performed by the CSP as below. D=e(C1,TK0)iI(e(C4,iwC6,j,TK1)e(C5,iuC7,i,TK3,i))wi1iI(e(C3,i,TK4,iTK3,icTK6,i)e(C2,i,TK5,iTK2,icTK6,i))wi

  • {Decrypt}{DR}: The algorithm is executed by the data requester who calculates as below M=C0DUK=Me(g,g1)αse(g,g1)αs/rr.

6. Proof of security

Theorem 6.1

If the DL assumption holds, then any PPT adversary can selectively break the presented scheme with negligible advantages at most in terms of selective indistinguishability and anonymity.

Proof.

We describe the proving process through many related IND games. First, we sets the challenge ciphertext as CT=(C0,C0,C1,{C2,j,C3,j,C4,j,C5,j,C6,j,C7,j,Cj}j[1,l]).Let R is an element which is chosen randomly from the group G, and {Rj,0,Rj,1,Rj,2}j[1,l] are elements chosen randomly from the group GT. Define a groups of games Game0,,Gamel,,Gamel+1,,Game2l to distinguish the challenge ciphertext sent by the challenger to the adversary. The details are given as below:

  • Game0: In the real game, the challenge ciphertext is obtained by carrying out the encryption algorithm of the presented scheme.

  • Gamex: We utilise the set Gamexx[1,l] to represents Game1,,Gamel. For any game in Gamexx[1,l], we replaces the {C2,j,C3,j}j[1,l] in the challenge ciphertext with {Rx,0,Rx,1}j[1,l]. The rest of the ciphertext components remains unchanged.

  • Gamex: We utilise the {Gamex+l}x[1,l] to represents the Gamel+1,,Game2l. For any interact game in {Gamex+l}x[1,l], the sets {C3,j,C4,j}j[1,l] in the challenge ciphertext are replaced by the specified sets {Rx,1,Rx,2}x[1,l], and the rest of the ciphertext components remains unchanged.

Lemma 6.1

If the D-Linear assumption holds, then any PPT adversary can differentiate Gamex from Gamex+1 with a negligible advantage at most, where x[1,l].

Proof.

Assume there exists a PPT adversary A who can differentiate Gamex from Gamex+1 with a non-negligible advantage ϵ=AdvA in the selective security interactive game. We can employ the decisional D-Linear assumption to construct a challenger C who has the same advantage as adversary A. Then we can prove that the challenger C can break the decisional D-Linear assumption with a non-negligible advantage ϵ=AdvA.

Initialisation: Before the interactive game, the adversary sends an access policy  A=(A,ρ,τ) to the challenger C, where A is a matrix of l×n  (l,nq).

Setup: Challenger C {t1,t2,w~,α~,η~,h~,v~}RZp, g,g1RG, and implicitly sets some public key components as: g=g,g2=gt2,w=gw~,u=gt1α~,v=gv~,h=gt1αH(Li)gh~.Then public parameters can be set as PK=(g,g2,g2η~,w,u,h,v,e(g,g1)α).Key challenge phase 1 and 2: These two phases serve the same purpose. Adversary A submits a series of attribute sets S=S1,S2,,Sm to the challenger C for key querying. These two phases both require that all attribute sets in S cannot satisfy the challenge access policy A=(A,ρ,τ). Challenger C {ϵ,ϵ1,ϵ2,ϵ|IL|}RZpand implicitly sets: ϵ~=ϵα/(t1+h~),ϵi=ϵi~(αt1(H(Lρ(i))H(Lρ(l)))+h~)+v~ϵ~α(H(Lρ(i))H(Lρ(l))).The challenger computes challenge key as below: K0=g1αK1w~=g1α(gϵ~)w~=g1αwϵ~,K1=(gϵ)α/(t1+h~)=gϵ~,Ki=g1α/H(Li),K1,i=g1ϵi~/η~,K2,i=gαϵi(H(Lρ(i))H(Lρ(l)))=(uH(Lρ(i))h)ϵi~/η~vϵ~,K3,i=K2,iη~=(uH(Lρ(i))h)ϵi~(vϵ~)η.Challenge phase: Adversary A submits two challenge messages M0,M1GT with equal bit length to challenger C. Challenger C responds to the action by throwing a random coin ψR{0,1}, then chooses a message Mψ and sends ciphertext CTψ to adversary A. Challenger C implicitly sets two column vectors v=(s,v2,v3,,vn) and v=(s,v2,v3,,vn), and computes λi=j[n]Ajvj~, λi=j[n]Ajvj~. Challenger C {t,k1,,kl,z1,,zl}RZp. If y = l, Challenger C implicitly sets zl=a1/t2,kl=t2(a1+a2),

and computes challenge ciphertext as below.

When y = l: C0=mbe(g,g1)αs,C0=e(g,g1)tαs,C1=gs,C0,y=(ga1)=(gt2)zl=g2zl,C1,j=(ga1)ηR=(g2η)zlgkl,C2,j=wλlRv~=wλlRv~=wλlvklC2,j=(gλyH(Lρ(i)))t,C3,j=Rh~=(gh~)t2(a1+a2)=(uH(Lρ(l))h)kl.When yl: C0,y=g2zi,C1,j=(g2η)zigki,C2,j=wλifki,C2,j=(gλjH(Lρ(i)))t,C3,j=(uH(Lρ(i))h)ki.Guess phase: After interactive game of the above four phases, adversary A outputs a guess ψ on the random coin value ψ. If ψ=ψ, it outputs 0 and guesses T=g2(a1+a2)=gt2(a1+a2). Otherwise, it outputs 1 and guesses T=R, where RRGT. If T=g2(a1+a2), the adversary considers that the interactive game he participated is the real game for the presented scheme. Then the adversary can break the scheme with a non-negligible advantage according the supposition, and the challenger can also break the DL assumption by utilise the same advantage. Pr[b=b]=12+AdvA,Pr[C(p,T=g2(a1+a2))=0]=12+AdvA.From above, it has: Pr[C(p,T=g2a1+a2)=0]Pr[C(p,T=R)=0]=AdvA.

Therefore, if A can differentiate game Gamex from game Gamex+1 by a non-negligible advantage AdvA, then A can break the assumptions made in Lemma 6.1 by the same advantage.

Lemma 6.2

If the D-Linear assumption holds, then any PPT adversary can differentiate Gamex from Gamex+1 by utilise a negligible advantage at most, where x[l,2l1].

Proof.

The proof of this lemma is similar to the proof of Lemma 6.1, except that the term changed in the simulation is A.

Theorem 6.2

If the verifiable outsourcing scheme of Lai et al. (Citation2013) can achieve CPA security, then the verifiable outsourcing part in presented scheme also achieves CPA security.

Proof.

The proving process of the theorem is the similar to that of Lai et al. (Citation2013).

7. Performance evaluation

In this section, we provide the performance analysis of the presented scheme and some existing PHP-CP-ABE schemes in functions and computing overhead.

7.1. Functional comparison

Firstly, we provide the comparison of the presented scheme with some other PHP-CP-ABE schemes based on LSSS structure in terms of functions. As illustrated in Table , the presented scheme is compared with seven other PHP-CP-ABE schemes in large universe, online/offline key generation and encryption, access authentication, outsourced decryption and group order. From Table , we can see that schemes (Lai et al., Citation2012; L. Liu et al., Citation2016; Y. Zhang et al., Citation2018) do not achieve large universe, and the schemes (Cui et al., Citation2016; L. Liu et al., Citation2016; Y. Zhang et al., Citation2018) have no access authentication phase. Additionally, the authentication phase of schemes (G. Hu et al., Citation2020; Lai et al., Citation2012; Y. Zhang, Citation2018) is performed by the mobile users with limited resources, while that of the scheme (Z. Zhang et al., Citation2021) is performed by a centralised and incompletely trusted third party. Only the presented scheme supports blockchain-based distributed and trusted access authentication, the blockchain nodes that perform the authentication phase have certain computing power, and the results recorded in blockchain cannot be tamper. We can also see that only (Y. Zhang et al., Citation2018) as well as the presented scheme can achieve online/offline key generation and encryption, and only (G. Hu et al., Citation2020) and the presented scheme provide outsourcing decryption. Furthermore, schemes (Cui et al., Citation2016; G. Hu et al., Citation2020; Z. Zhang et al., Citation2021) and the presented scheme is utilise prime bilinear groups, while schemes (Lai et al., Citation2012; Y. Zhang, Citation2018; Y. Zhang et al., Citation2018) utilise composite bilinear group. By the above comparison, it can be concluded that the presented scheme is the only PHP-CP-ABE scheme which employs prime bilinear group construction with the following five properties: large universe, online/offline key generation and encryption, trusted access authentication based on blockchain and decryption outsourcing.

Table 1. Function comparison.

7.2. Comparison of computing overhead

Secondly, we provide the comparison of computing overhead of the mentioned schemes, Table  gives the definitions of the notations, Table  give the comparison result in computing cost. As illustrated in Table , the overhead of key generation, encryption, access authentication and decryption in all the above schemes linearly positive correlate with the scale of attributes in user or access matrix. The presented scheme moves most of the precomputation to the offline phase, so the overhead of online key generation and online encryption is much lower than schemes (Cui et al., Citation2016; G. Hu et al., Citation2020; Y. Zhang, Citation2018). We can also see that the scheme (G. Hu et al., Citation2020) and this one have constant decryption overhead since they outsource most decryption operations to CSP. Moreover, the authentication phase of the presented scheme has no computational overhead on the user side because the authentication phase of the presented scheme is performed by blockchain nodes with computing power. While that of the schemes (G. Hu et al., Citation2020; Y. Zhang, Citation2018) are linearly positive correlate with the scale of access matrix.

Table 2. Notations and Meaning.

Table 3. A comparative result in computing overhead.

7.3. The experiment results

The efficiency of the proposed scheme is mainly affected by the performance of the relevant ABE algorithms and the blockchain. We evaluate the proposed scheme through experiments, including the evaluation of the ABE algorithm and the performance of the blockchain.

(1) ABE algorithms: To evaluate the actual performance of the proposed scheme and other excellent PHP-CP-ABE schemes on PCs and mobile IoT devices, we first deploy the Java pairing-based cryptography library version 2.0.0, which is a dual Linearly paired cryptographic library with good portability. Considering the entities in the system perform different computing tasks, we adopt two types of devices with different computing power to do simulation. We utilise a personal computer (Windows 11 with AMD Ryzen r7-5800H CPU @3.20 GHz, 16-GB RAM) to simulate trust authority, and utilise an Android Smartphone (Android 11 with 8-core CPU, 12-GB RAM) to replace a user. And we employ the Type A pairing established on the elliptic curve E(Fq):y2=x3+x mod q. Next, we implement the online key generation algorithm on the PC, and implement the online encryption, authentication of access rights, and user decryption algorithms on the IoT device. Table  gives the computation cost of a single operation in PC and IoT devices. For each access policy and user attribute list, we simulate the trials 30 times and take the average as the experimental result.

Table 4. Running time for each operation (MS).

Figure (a–d) visually show the experimental results of involved schemes in terms of computation overhead. From Figure (a,b), the cost of online key generation and online encryption in schemes (Cui et al., Citation2016; G. Hu et al., Citation2020) increase dramatically with the scale of attributes in user or access matrix, while that in the presented scheme increases very slowly, and this gap increases significantly with the scale of attributes. From Figure (c), we can see that the overhead of authentication in scheme (Y. Zhang, Citation2018) is evidently higher than that in scheme (G. Hu et al., Citation2020) and the presented scheme, and the overhead of authentication in scheme (G. Hu et al., Citation2020) linearly positive correlate with the scale of attributes, while it in the presented scheme is always constant. From Figure (d), the overhead of decryption in scheme (Cui et al., Citation2016) is linearly positive correlate with the scale of user attributes, while the presented scheme has the smallest computation cost under the same conditions. In conclusion, the presented scheme is evidently superior to Cui et al. (Citation2016) and G. Hu et al. (Citation2020) in every respect, which means that the presented scheme is more practical for mHealth system with many mobile devices.

(2) Blockchain: The experimental environment is 64-bit Ubuntu18.04 operating system with AMD Ryzen r7-5800H CPU @3.20 GHz processor, and Hyperledger Fabric 2.4 version which is deployed based on Docker 20.10.7 version. In Fabric, client nodes generate transactions through smart contracts, peer nodes execute contracts and achieve consensus with other peer nodes on the blockchain by a consensus mechanism. What we need to measure is the time required for a transaction to be confirmed on the blockchain, that is, the consensus time of the nodes on the transaction. We set the number of transactions to 0–1000 in the above environment, and test the response time of the blockchain at different numbers of transactions. We simulate each stage 10 times and take the average value as the experimental result. As shown in Figure , the response time of the blockchain is positively correlated with the number of transactions.

Figure 4. The average time cost of: (a) Computation overhead in Online keyGen; (b) Computation overhead in Online encryption; (c) Computation overhead in authentication and (d) Computation overhead in user decryption.

Figure 4. The average time cost of: (a) Computation overhead in Online keyGen; (b) Computation overhead in Online encryption; (c) Computation overhead in authentication and (d) Computation overhead in user decryption.

Figure 5. The response time of transaction.

Figure 5. The response time of transaction.

8. Conclusion

The proposed scheme can not only provide fine-grained access control for mHealth scenarios, but also hide attributes in access policy to further protect user privacy. Blockchain-based authentication of access rights also provides undeniable authentication results. In addition, the efficient encryption and decryption algorithms are also very friendly to IoT device users in mHealth. Furthermore, we present concreted proofs that the scheme is selectively secure under the given assumptions. The results of theory and experiment analysis certificate that the scheme has better practicality and efficiency. In a word, this scheme has broad application prospects in mHealth scenarios.

In real application scenarios, there may be malicious users abusing keys in user groups with the same attributes. Therefore, how to trace and revoke malicious users in the mHealth system is the potential future research direction.

Disclosure statement

No potential conflict of interest was reported by the author(s).

Additional information

Funding

This work was supported by Shandong Provincial Key Research and Development Program [grant numbers 2021CXGC010107,2020CXGC010107] and the Shandong Provincial Natural Science Foundation of China [grant number ZR2020KF035] and National Natural Science Foundation of China [grant number 62102209] and National Key Research.

References

  • Ahamad, S. S., & Khan Pathan, A. (2021). A formally verified authentication protocol in secure framework for mobile healthcare during COVID-19-like pandemic. Connection Science, 33(3), 532–554. https://doi.org/10.1080/09540091.2020.1854180
  • Akinyele, J. A., Pagano, M. W., Green, M. D., Lehmann, C. U., Peterson, Z. N., & A. D. Rubin. (2011). Securing electronic medical records using attribute-based encryption on mobile devices, In: Proceedings of the 1st ACM Workshop on Security and Privacy in Smartphones and Mobile Devices (pp. 75–86). ACM.
  • Ba, Y., Hu, X., Chen, Y., Hao, Z., Li, X., & Yan, X. (2021). A blockchain-based CP-ABE scheme with partially hidden access structures. Security and Communication Networks, 2021(1), 1–16. https://doi.org/10.1155/2021/4132597
  • Belguith, S., Kaaniche, N., Laurent, M., Jemai, A., & Attia, R. (2018). Phoabe: Securely outsourcing multi-authority attribute based encryption with policy hidden for cloud assisted iot. Computer Networks, 133(Mar.14), 141–156. https://doi.org/10.1016/j.comnet.2018.01.036
  • Bethencourt, J., Sahai, A., & Waters, B. (2007). Ciphertext-policy attribute-based encryption. In: 2007 IEEE Symposium on Security and Privacy (sp'07) (pp. 321–334). IEEE.
  • Chen, Y., Li, W., Gao, F., Yin, W., Liang, K., Zhang, H., & Wen, Q. (2019). Efficient attribute-based data sharing scheme with hidden access structures. The Computer Journal, 62(12), 1748–1760. https://doi.org/10.1093/comjnl/bxz052
  • Cheung, L., & Newport, C. (2007). Provably secure ciphertext policy ABE. In: Proceedings of the 14th ACM Conference on Computer and Communications Security (pp. 456–465). ACM.
  • Cui, H., Deng, R. H., Lai, J., Yi, X., & Nepal, S. (2018). An efficient and expressive ciphertext-policy attribute-based encryption scheme with partially hidden access structures, revisited. Computer Networks, 133(Mar.14), 157–165. https://doi.org/10.1016/j.comnet.2018.01.034.
  • Cui, H., Deng, R. H., Wu, G., & Lai, J. (2016). An efficient and expressive ciphertext-policy attribute-based encryption scheme with partially hidden access structures. In: International Conference on Provable Security (pp. 19–38). Springer.
  • Delmolino, K., Arnett, M., Kosba, A., Miller, A., & Shi, E. (2016). Step by step towards creating a safe smart contract: Lessons and insights from a cryptocurrency lab. In: International Conference on Financial Cryptography and Data Security (pp. 79–94). Springer.
  • Even, S., Goldreich, O., & Micali, S. (1989). On-line/off-line digital signatures. In: Conference on the Theory and Application of Cryptology (pp. 263–275). Springer.
  • Gan, T., Liao, Y., Liang, Y., Zhou, Z., & Zhang, G. (2021). Partial policy hiding attribute-based encryption in vehicular fog computing. Soft Computing, 25(16), 10543–10559. https://doi.org/10.1007/s00500-021-05996-8
  • Goyal, V., Pandey, O., Sahai, A., & Waters, B. (2006). Attribute-based encryption for fine-grained access control of encrypted data. In: Proceedings of the 13th ACM Conference on Computer and Communications Security (pp. 89–98). ACM.
  • Green, M., Hohenberger, S., & Waters, B. (2011). Outsourcing the decryption of ABE ciphertexts. In: 20th USENIX Security Symposium (USENIX Security 11). USENIX Association.
  • Hohenberger, S., & Waters, B. (2014). Online/offline attribute-based encryption. In: International Workshop on Public Key Cryptography (pp. 293–310). Springer.
  • Hu, G., Zhang, L., Mu, Y., & Gao, X. (2020). An expressive ‘Test-Decrypt-Verify’ attribute-based encryption scheme with hidden policy for smart medical cloud. IEEE Systems Journal, 15(1), 365–376. https://doi.org/10.1109/JSYST.2020.2996216
  • Hu, J., Liang, W., Hosam, O., Hsieh, M., & Su, X. (2022). 5GSS: A framework for 5G-secure-smart healthcare monitoring. Connection Science, 34(1), 139–161. https://doi.org/10.1080/09540091.2021.1977243
  • Ibraimi, L., Asim, M., & Petković, M. (2009). Secure management of personal health records by applying attribute-based encryption. In: Proceedings of the 6th International Workshop on Wearable, Micro, and Nano Technologies for Personalized Health (pp. 71–74). IEEE.
  • Ji, H., Zhang, H., Shao, L., He, D., & Luo, M. (2021). An efficient attribute-based encryption scheme based on SM9 encryption algorithm for dispatching and control cloud. Connection Science, 33(4), 1094–1115. https://doi.org/10.1080/09540091.2020.1858757
  • Kim, I., Susilo, W., Baek, J., & Kim, J. (2020). Harnessing policy authenticity for hidden ciphertext policy attribute based encryption. IEEE Transactions on Dependable and Secure Computing, 19(3), 1856–1870. https://doi.org/10.1109/TDSC.2020.3040712
  • Lai, J., Deng, R. H., Guan, C., & Weng, J. (2013). Attribute-based encryption with verifiable outsourced decryption. IEEE Transactions on Information Forensics and Security, 8(8), 1343–1354. https://doi.org/10.1109/TIFS.2013.2271848
  • Lai, J., Deng, R. H., & Li, Y. (2012). Expressive CP-ABE with partially hidden access structures. In: Proceedings of the 7th ACM Symposium on Information, Computer and Communications Security (pp. 18–19). ACM.
  • Li, J., Wang, H., Zhang, Y., & Shen, J. (2016). Ciphertext-policy attribute-based encryption with hidden access policy and testing. KSII Transactions on Internet and Information Systems (TIIS), 10(7), 3339–3352. https://doi.org/10.3837/tiis.2016.07.026
  • Li, Q., Zhang, Y., Zhang, T., Huang, H., He, Y., & Xiong, J. (2020). HTAC: Fine-grained policy-hiding and traceable access control in mHealth. IEEE Access, 8, 123430–123439. https://doi.org/10.1109/Access.6287639
  • Lin, S., Zhang, R., Ma, H., & Wang, M. (2015). Revisiting attribute-based encryption with verifiable outsourced decryption. IEEE Transactions on Information Forensics and Security, 10(10), 2119–2130. https://doi.org/10.1109/TIFS.2015.2449264
  • Liu, L., Lai, J., Deng, R. H., & Li, Y. (2016). Ciphertext-policy attribute-based encryption with partially hidden access structure and its application to privacy-preserving electronic medical record system in cloud environment. Security and Communication Networks, 9(18), 4897–4913. https://doi.org/10.1002/sec.v9.18
  • Liu, Y., Zhang, Y., Ling, J., & Liu, Z. (2018). Secure and fine-grained access control on e-healthcare records in mobile cloud computing. Future Generation Computer Systems, 78(3), 1020–1026. https://doi.org/10.1016/j.future.2016.12.027.
  • Mao, X., Lai, J., Mei, Q., Chen, K., & Weng, J. (2015). Generic and efficient constructions of attribute-based encryption with verifiable outsourced decryption. IEEE Transactions on Dependable and Secure Computing, 13(5), 533–546. https://doi.org/10.1109/TDSC.2015.2423669
  • Nishide, T., Yoneyama, K., & Ohta, K. (2008). Attribute-based encryption with partially hidden encryptorspecified access structures. International Conference on Applied Cryptography and Network Security (pp. 111–129). Springer.
  • Phuong, T. V. X., Yang, G., & Susilo, W. (2015). Hidden ciphertext policy attribute-based encryption under standard assumptions. IEEE Transactions on Information Forensics and Security, 11(1), 35–45. https://doi.org/10.1109/TIFS.2015.2475723
  • Qin, B., Deng, R. H., Liu, S., & Ma, S. (2015). Attribute-based encryption with efficient verifiable outsourced decryption. IEEE Transactions on Information Forensics and Security, 10(7), 1384–1393. https://doi.org/10.1109/TIFS.2015.2410137
  • Qiu, S., Liu, J., Shi, Y., & Zhang, R. (2017). Hidden policy ciphertext-policy attribute-based encryption with keyword search against keyword guessing attack. Science China Information Sciences, 60(5), 1–12. https://doi.org/10.1007/s11432-015-5449-9
  • Ren, H., Li, H., Dai, Y., Yang, K., & Lin, X. (2018). Querying in internet of things with privacy preserving: Challenges, solutions and opportunities. IEEE Network, 32(6), 144–151. https://doi.org/10.1109/MNET.2018.1700374
  • Rouselakis, Y., & Waters, B. (2013). Practical constructions and new proof methods for large universe attribute-based encryption. In: Proceedings of the 2013 ACM SIGSAC Conference on Computer & Communications Security (pp. 463–474). ACM.
  • Sahai, A., & Waters, B. (2005). Fuzzy identity-based encryption. In: Annual International Conference on the Theory and Applications of Cryptographic Techniques (pp. 457–473). Springer.
  • Sicari, S., Rizzardi, A., Grieco, L. A., & Coen-Porisini, A. (2015). Security, privacy and trust in internet of things: The road ahead. Computer Networks, 76(Jan.15), 146–164. https://doi.org/10.1016/j.comnet.2014.11.008.
  • Waters, B. (2011). Ciphertext-policy attribute-based encryption: An expressive, efficient, and provably secure realization. In: International Workshop on Public Key Cryptography (pp. 53–70). Springer.
  • Xu, G., Li, H., Dai, Y., Yang, K., & Lin, X. (2019). Enabling efficient and geometric range query with access control over encrypted spatial data. IEEE Transactions on Information Forensics and Security, 14(4), 870–885. 10.1109/TIFS.2018.2868162
  • Yan, X., He, G., Yu, J., Tang, Y., & Zhao, M. (2020). Offline/online outsourced attribute-based encryption with partial policy hidden for the internet of things. Journal of Sensors , 2020(1), 1–11. https://doi.org/10.1155/2020/8861114
  • Zeng, P., Zhang, Z., Lu, R., & Choo, K. K. R. (2021). Efficient policy-hiding and large universe attribute-based encryption with public traceability for internet of medical things. IEEE Internet of Things Journal, 8(13), 10963–10972. https://doi.org/10.1109/JIOT.2021.3051362
  • Zhang, J., Cheng, Z., Cheng, X., & Chen, B. (2021). OAC-HAS: outsourced access control with hidden access structures in fog-enhanced IoT systems. Connection Science, 33(4), 1060–1076. https://doi.org/10.1080/09540091.2020.1841096
  • Zhang, L., Hu, G., Mu, Y., & Rezaeibagha, F. (2019). Hidden ciphertext policy attribute-based encryption with fast decryption for personal health record system. IEEE Access, 7, 33202–33213. https://doi.org/10.1109/ACCESS.2019.2902040
  • Zhang, L., Wu, Q., Mu, Y., & Zhang, J. (2016). Privacy-preserving and secure sharing of PHR in the cloud. Journal of Medical Systems, 40(12), 1–13. https://doi.org/10.1007/s10916-016-0595-1
  • Zhang, S., Wang, Y., & Zhou, W. (2019). Towards secure 5G networks: A survey. Computer Networks, 162(Oct.24), 106871.1–106871.22. https://doi.org/10.1016/j.comnet.2019.106871.
  • Zhang, W., Zhang, Z., Xiong, H., & Qin, Z. (2022). PHAS-HEKR-CP-ABE: partially policy-hidden CP-ABE with highly efficient key revocation in cloud data sharing system. Journal of Ambient Intelligence and Humanized Computing, 13(1), 613–627. https://doi.org/10.1007/s12652-021-02922-6
  • Zhang, Y. (2018). Security and privacy in smart health: Efficient policy-hiding attribute-based access control. IEEE Internet of Things Journal, 5(3), 2130–2145. https://doi.org/10.1109/JIOT.2018.2825289
  • Zhang, Y., Chen, X., Li, J., Wong, D. S., & Li, H. (2013). Anonymous attribute-based encryption supporting efficient decryption test. In: Proceedings of the 8th ACM SIGSAC Symposium on Information, Computer and Communications Security (pp. 511–516). ACM.
  • Zhang, Y., Wu, A., & Zheng, D. (2018). Efficient and privacy-aware attribute-based data sharing in mobile cloud computing. Journal of Ambient Intelligence and Humanized Computing, 9(4), 1039–1048. https://doi.org/10.1007/s12652-017-0509-1
  • Zhang, Z., Zhang, W., & Qin, Z. (2021). A partially hidden policy CP-ABE scheme against attribute values guessing attacks with online privacy-protective decryption testing in IoT assisted cloud computing. Future Generation Computer Systems, 123, 181–195. https://doi.org/10.1016/j.future.2021.04.022.