Abstract
With the development of digital healthcare, sharing electronic medical record data has become an indispensable part of improving medical conditions. Aiming at the centralized power caused by the single attribute authority in current CP-ABE schemes and the problem that cloud servers are curious and even malicious, we design a revocable CP-ABE EHR sharing scheme with multiple authorities (MA-RABE) in blockchain. In this solution, a group of authorities complete user attribute distribution, key generation and user management through secret sharing and transactions. Besides, we innovatively implemented a distributed one-way anonymous key agreement so that other participants cannot obtain useful information from the fully hidden policy embedded in the ciphertext. Taking into account the computational overhead of a large number of bilinear operations in the decryption process, the solution also supports the cloud server to pre-decrypt the ciphertext, and the data user only needs to perform exponentiation operation once to obtain the plaintext from the pre-decryption result. Theoretical analysis and performance evaluation show that the scheme has reliable security and lower user revocation and ciphertext update overhead.
Keywords: Blockchain, Data sharing, Attribute-based encryption, EHR sharing
Introduction
To better trace the health conditions of patients, Electronic Health Record (EHR) emerged, which greatly improved the level of public healthcare management [1]. Massive studies have shown that analyzing and studying a large amount of timely EHR data can respond to public health emergencies such as the current COVID-19 pandemic [2] and provide a basis for public health decision-making.
When patients go to the hospital, they need to share their health records and medical histories with the doctor. Besides, the patients can contribute their medical data to medical research institutions under their will. Therefore, sharing medical data is an essential step to improve the quality of healthcare providers and make the healthcare system smarter [3]. However, the EHR management systems maintained independently by healthcare providers have led to the lack of interoperability among stakeholders [4], causing a waste of medical resources during hierarchical referrals, sothat patients undoubtedly lose control of their own EHR. Moreover, this EHR management model lacks transparency and is vulnerable to single points of failure, internal leakage and phishing attacks [5].
In addition, the security and privacy of EHR data have also attracted widespread attention and research in academia. Security here mainly refers to confidentiality, because EHR contains a large amount of critical and highly private patient information, including physiological information, medical history and even personal information [6]. Therefore, EHR must not be stored in the third party in plaintext, and only EHR owners and authorized users can access EHR. To achieve privacy protection, even if the EHR is stored in ciphertext, the relevant access policy must not disclose the personal information of participants during the sharing.
Aiming at the security, privacy and interoperability of EHR data, the traditional symmetric encryption technology can protect the confidentiality of EHR data, but it is difficult to meet the requirement for flexibility of EHR data sharing [7]. The novel attribute-based encryption (ABE) technology has better flexibility and fine-graininess and has become a promising solution for sharing EHR [8].
Technically speaking, ABE can be divided into two types: ciphertext policy attribute-based encryption (CP-ABE) and key policy attribute-based encryption (KP-ABE) [9]. KP-ABE embeds the access policy into the decryption key of Data User(DU) and embeds a set of attributes into the ciphertext. In CP-ABE, DU’s decryption key corresponds to a set of attributes, and the ciphertext in the cloud server is associated with an access policy. Only DU, whose attributes satisfy the access structure, can decrypt the ciphertext associated with the access structure. Both ABE schemes implement fine-grained access control through access structure customization and attribute management [10]. However, KP-ABE is more suitable for static access scenarios, such as paid streaming video websites and log encryption management. These scenarios hardly change the attributes associated with ciphertext. In dynamic access scenarios, specially EHR sharing scenarios, the attributes of EHR accessors are generally stable, and the EHR owner needs to change access policies embedded in ciphertext according to the access scenarios. Obviously, CP-ABE can better solve the interoperability problem between stakeholders since it allows Data Owner (DO) to customize a fine-grained access structure for data to decide who can access them. Therefore, CP-ABE is considered to be an ideal solution for securely sharing EHR in the public cloud [11].
However, there are some problems existing in the original CP-ABE [12, 13], the access policy embedded in the ciphertext is publicly accessible. If the data sharing scheme directly utilizes this type of explicit access policy, then the sensitive personal information of DU and DO will be indirectly derived [7]. Moreover, CP-ABE uses massive bilinear calculations in the encryption and decryption process, which consumes expensive time and storage resources and limits the application scenarios of CP-ABE [14, 15].
Besides, in most CP-ABE schemes, a single Attribute Authority (AA) manages the distribution and revocation of all attributes. Such schemes are vulnerable to a single point of failure and further affect the availability of attribute management. Due to the centralized power, the malicious authority even abuses the private key and distributes the attribute key to illegal users, resulting in unauthorized access to data [16, 17]. Although there have been some multi-AA schemes where the attribute universe is divided into multiple management domains, and each AA manages a disjoint attribute set. However, it causes the trust problem between management domains and does not fundamentally solve the single point of failure [18].
Fortunately, the emerging blockchain technology can ensure the integrity and immutability of data, so that operations on the blockchain can be recorded openly and transparently in the form of transactions. Therefore, the blockchain is expected to solve the trust crisis among the stakeholders and effectively improve the interaction and collaboration of the healthcare industry [3]. We can utilize the blockchain to avoid the problem of centralized power in CP-ABE and provide a new paradigm for health information exchange (HIE) [19].
To solve the above challenges faced by CP-ABE, avoid the centralized power caused by single AA, and ensure the reliable authorization of users and the secure sharing of data, we propose a secure Revocable ABE scheme with Multiple Authorities (MA-RABE) in blockchain. Specifically, the main contributions of our proposed scheme MA-RABE are summarized as follows:
Decentralized power. To prevent the abuse of private keys and single points of failure caused by a single AA, we deploy the entire scheme in blockchain. A group of attribute authorities (hereinafter referred to as AAs) through secret sharing jointly collaborate to generate global parameters, distribute keys and manage users.
Fully Hidden policy. The rows of the share-generating matrix are replaced by implicit bilinear mappings about the attributes. Only the attribute recover key owner can calculate which rows of the matrix the attribute corresponds to through the one-way anonymous key agreement. And AAs complete the secret distribution process of the attribute obfuscation key under the decentralized setting.
Efficient user management and key update. The AAs manage the legal users through the user binary tree, and the concrete operations include registration, revocation and rejoining. After the legal user set is changed, the AAs will generate the key update message for the minimum covered node set for the legal user to achieve a low key update overhead. Thus only the user with a node in minimum covered node set on the path to the root node can generate the pre-decryption key.
Pre-decryption of ciphertext. CSP can calculate the pre-decryption key against the node key and KU stored in the blockchain, and pre-decrypt the ciphertext to obtain the intermediate ciphertext. The DU only needs to perform one exponentiation on the intermediate ciphertext to obtain the plaintext.
The rest of the paper is organized as follows. We introduce the work related to the EHR sharing scheme in Sect. 2. We explain some preliminaries about encryption primitives and the technologies used in Sect. 3. Next, we describe the program model, scheme definition and security model in Sect. 4. Section 5 talks about the scheme construction in detail. Security analysis and performance evaluation of the scheme are presented in Sects. 6 and 7 respectively. Finally, we summarize the proposed scheme in Sect. 8.
Related work
CP-ABE is a promising data sharing solution. With the increased requirements in data privacy and application scenario variety, CP-ABE has also been improved to extend more functions, such as user revocation and computation outsourcing. The related work is as follows.
Multiple attribute authorities
The construction of the original multi-AA scheme [12] is still based on a trusted central authority (CA) and a global identifier (GID). The CA in the scheme can even decrypt each ciphertext. Chase and Chow [13] delete the trusted CA and achieve privacy protection by preventing CA from collecting information from specific users. Li et al. [17] implemented a multi-AA CP-ABE scheme TMACS for public cloud storage by using (t, n) threshold secret sharing. Any t AAs can generate the secret key for the legitimate user. And as long as less than t AAs are compromised, TMACS can guarantee security. Unfortunately, the scheme did not implement user revocation and outsourcing computation. Zhong et al. [20] proposed a decentralized multi-authority CP-ABE access control scheme. Each AA can independently publish attributes in its management domain. It realizes user revocation by only distributing version keys to legitimate users. The obfuscated access policy is designed in LSSS to protect the policy privacy. But due to each AA still manages disjoint attribute sets independently, it still cannot overcome the single-point bottleneck. Similarly, Sarma et al. [21] proposed a multi-authority scheme MACFI, in which each AA is an independent organization. Each AA manages a set of disjoint attributes, and the AA assigns the corresponding attributes to the user after verifying the user’s role. To reduce the communication overhead on the user side, Qin et al. [22] proposed a blockchain-based access control scheme BMAC, which leverages consortium blockchain to establish trust between multiple AAs. BMAC also introduces Shamir secret sharing to achieve cross-domain management of attribute tokens. Each attribute is jointly managed by multiple authorities, thus avoiding a single point of failure.
Policy privacy
Given the privacy leakage caused by partially hiding the attribute value in the access policy, Ramu [23] proposed a secure cloud framework by combining a modified CP-ABE and attribute bloom filter (ABF), which realizes the attribute hidden entirely. Similarly, Hao et al. [7] designed a fuzzy attribute positioning mechanism based on the garbled bloom filter to prevent unauthorized users from obtaining valuable attribute information. To avoid the abuse of the private key, Wu et al. [24] utilized blockchain technology to ensure the integrity and non-repudiation of the data and proposed an ABF-based and privacy-preserving traceable CP-ABE scheme. Fan et al. [25] realized the anonymization of attributes by adopting the one-way anonymous key agreement [26], where attributes are verifiable and anonymous. Besides, verifiable outsourcing decryption in edge is introduced to reduce the computing overhead on the user side. By exploiting hidden vector encryption, Zhang et al. [27] achieved complete policy hiding, where DU obtains the minimum authorized sets of instead of the entire . Yang et al. [28] designed an authorization method based on the Private Set Intersection, which can completely hide the policy by calculating the intersection of the user’s attribute set and the policy’s attribute set.
User revocation
To strengthen the system security and meet the application requirements in resource-constrained scenarios, Wei et al. [29] proposed a revocable hierarchical scheme RS-HABE, which expanded user revocation, secret key delegation and ciphertext update to the original ABE. Xiong et al. [30] designed a traceable CP-ABE scheme that employed outsourcing decryption to minimize the computing overhead on the user side. When encrypting data, the data owner needs to embed the user ID set and access policy into ciphertext. Only DU satisfies both two restrictions, the ciphertext can be decrypted, which yet runs counter to fuzzy encryption. Zheng et al. [31] proposed a cloud-assisted user revocation data sharing scheme to protect IoT data. It maintains effective sharing and user revocation but does not take into account the privacy leakage caused by unprocessed policies. Liu et al. [32] proposed a searchable ABE scheme BC-SABE that supports user revocation and outsourcing decryption, in which the blockchain replaces the centralized server. A group of AAs completes the generation of public parameters, key management and user revocation on the blockchain. However, this solution also has the problem of privacy leakage of unprocessed policies. Besides, Guo et al. [33] designed a user revocation mechanism using the chameleon hash function. To resist the collusion attack between the revoked users and the malicious users, Zhang et al. [34] set a group manager to assign a certificate for each user and embed the certificate into the user’s secret key. While implementing revocable user management, the scheme TR-TABE [35] can achieve white-box traceability without maintaining a user list.
In general, the above solutions cannot take into account full policy hiding, thorough decentralization, and efficient outsourcing of pre-decryption. However, our proposed MA-RABE achieves the above functions perfectly. In addition, MA-RABE can implement a complete user management process, including user revocation and rejoining.
Preliminaries
In this section, we give a review of some preliminaries to better understand the proposed scheme.
Bilinear maps
Definition 1
Let and be two multiplicative cyclic groups of prime order p, where g is a generator of . Let be a bilinear map, . And has following three properties:
Bilinearity: and , we have .
Computability: , can be computed in a polynomial time with an efficient algorithm.
Non-degeneracy: , where is the identity of .
Besides, the bilinear map is considered symmetric because it satisfies .
Access structure
Definition 2
Let be the attribute universe. A collection is monotone if for any two attribute sets B and C : if and , then . An access structure (respectively, monotone access structure) is a collection (respectively, monotone collection) of non-empty subsets of , i.e. . The sets in are referred as the authorized sets, and the sets not in are called the unauthorized sets.
Linear secret sharing scheme
Let p be a prime. There is a matrix M with l rows and m columns. The linear secret sharing scheme over the attribute Universe is considered linear if:
the shares of a secret s composes a vector over .
For , there is a function mapping from to . Therefore the of M will be associated with . Given a column vector , where is the secret to be shared and are randomly selected from . are l shares of s based on , so the share belongs to the attribute .
To reconstruct the secret s, the user whose attribute set S satisfy the access policy can find a set of constants in a polynomial time so that , where I denotes the rows which are associated with attributes in S. The the secret s can be recovered by the following formula:
| 1 |
Pedersen secret sharing scheme
Pedersen secret sharing scheme [36], improved from Shamir’s secret sharing scheme [37], is also a kind of (k, n) threshold secret sharing scheme. Shamir’s secret sharing scheme requires a trusted third party to divide the master secret into n sub-secrets through a degree polynomial and distribute them to n participants . Reconstruction of the master secret requires at least k participants. The advantage of Pedersen’s scheme is that it enables n participants to divide the master secret without relying on a third-party CA. The Pedersen secret sharing scheme algorithm is described as follows:
master secret generation: For each of the n participants , to generate a degree polynomial , independently and randomly select k coefficients . Among them, the constant term coefficient is used as its own sub-secret . The master secret for the entire scheme is , in which s is implicit.
master share computation: Then the participant generates n sub-shares and sends to through a secure channel. After receives sub-shares from , calculates its master share .
- master secret reconstruction: To recover the master secret, at least k participants are required. Suppose the set of these participants is , and the master secret s can be reconstructed by using LaGrange interpolation as follow:
For the convenience of subsequent calculations, we set .2
Blockchain
Blockchain is a decentralized distributed ledger technology. There are two types of nodes in the blockchain network: full nodes and light nodes. Full nodes (also known as miner nodes) elect one to pack the next block through the consensus protocol. The elected miner node packs transactions into a block and broadcast it to other nodes [38]. After verifying the validity of the newly generated block, the full nodes will append the received block into the chain structure locally. Therefore, full nodes are required to have higher storage and computing capabilities. On the other hand, light nodes do not participate in the generation of blocks, but they can verify the legitimacy of blocks/transactions with a simple calculation.
All nodes that join the blockchain network can access the data in blockchain. Similarly, they can also call the functions in smart contracts deployed in blockchain. With the help of smart contracts, data sharing intermediaries can provide services to stakeholders in the form of DAPPs [39, 40]. Related operations such as attribute distribution and user management will become open and transparent [41].
User binary tree
In some papers, User Binary Tree (BT) [42, 43] is also called KEY Tree, in which each user is assigned a unique leaf node. If we calculate the update keys for each non-revoked user in the form of a list, the complexity is , where N is the number of users and R is the number of revoked users. In BT, the update keys only need to be calculated for the minimum covered nodes, the complexity is O(NlogN/R) [32]. The KUNode algorithm is as detailed in Algorithm 1, where is a user binary tree, revl is the user revocation list, rejl is the user rejoin list, and and are the left and right child nodes of the node x respectively. Note that non-revoked users in the scheme refer to users who have never been revoked or users who have been rejoined after revoked. The users who have not been rejoined after revoked are called illegal users.
To further describe the KUNode algorithm in MA-RABE, a user binary tree with a depth of 4 and 8 users marked A-H is shown in Fig. 1. The users crossed out by the red line represent illegal users. At the end of the KUNode algorithm, the nodes in set X are marked orange, and the nodes in set Y are marked green. When all users are non-revoked users, the set Y returned by the KUNode algorithm only contains the root node, so the key update needs to be generated for the root node. When users C, G and H are illegal, the key update needs to be generated for nodes 4, 6 and 11.
Fig. 1.

The nodes need to be generated the key update
The complexity assumption
Let and be two multiplicative cyclic groups of prime order p, where g is a generator of . Let be a bilinear map, . Given four random numbers , three group elements and one random group element . The problem of determining if or is called the decisional Bilinear Diffie Hellman(DBDH) problem.
Definition 3
It is said that DBDH assumption holds on bilinear group if there does not exist a probabilistic polynomial time (PPT) adversary who can solve the above the DBDH problem with a non-negligible advantage .
System overview
This section provides an overview of the proposed model and the security requirements to satisfy. Besides, we introduce the main functions in the scheme and define the security model.
System model
As shown in Fig. 2, there are four kinds of entities in MA-RABE:
Fig. 2.
System model
Data Owner (DO)
The DO has a large amount of EHR data. The DO encrypts the EHR by customizing the LSSS policy, then outsources the ciphertext with the corresponding access policy to the CSP.
Data User (DU)
The DU refers to the research institution and the medical provider, who needs to register its key and attributes in AAs. To access data of DO, DU can initiate a pre-decryption request to CSP, then obtain the symmetric key by performing one exponentiation on the returned pre-decryption result.
Attribute Authority (AA)
AAs manage all users based on a global , revl and rejl. AAs are responsible for distributing Attribute Recovery KEY (ARK), Node Key (NK) and Update Key (UK) for non-revoked DU through PSSS.
Cloud Service Provider (CSP)
The CSP is responsible for storing the ciphertext uploaded by the DO and providing pre-decryption services to all DUs. Note that we assume that CSP is semi-trusted, that is, CSP is honest but curious. Therefore, CSP will actively leak the privacy of the policy embedded in the ciphertext, but it will execute the protocol honestly.
Besides, due to the trust problem of multiple parties involved in a distributed environment, the blockchain is used as the underlying architecture of the solution. The blockchain contains the system smart contract of this solution (hereinafter referred to as the contract). The contract provides AAs with the registration function, the revocation function and the rejoining function. The contract provides interfaces for AAs to call the PSSS protocol, which are used to negotiate and generate keys. The contract also contains a user binary tree and two lists revl and rejl that can store N tuples.
Security requirements
Robustness
The system can tolerate some malicious attribute authorities, and these malicious attribute authorities will not affect the normal operation of the system and will not control the system.
Decentralization
The operation of the system is not under the control of a central entity. Especially in terms of user management and key distribution. In addition, the solution should not be threatened by a single point of failure.
Collusion resistance
Even if the attribute set of colluders satisfies the access policy, they can not decrypt the symmetric key encrypted by LSSS, so they will not get the plaintext further.
Policy privacy
Only the policy constitutors and the attribute owners can reconstruct the mappings from attributes to the rows in the share-generating matrix. In addition, after receiving the pre-decryption request information from the DU, the CSP cannot deduce which attributes the DU has.
Scheme definition
In this section, we provide the formal definition of the scheme MA-RABE.
. AAs execute this function, which takes one random security parameter and the maximum number of users N as input. Then the function outputs the global parameter GP, the initialized DU binary tree and two empty lists revl and rejl, which store the user’s revocation and rejoining time respectively.
. This function takes the public parameters GP, user identifier uid, user’s attribute set and as input and outputs the user’s node key . The node key is a set of calculations of the user public key and attributes in cyclic group, so it can be regarded as the issuance for user attributes.
. The function takes the public parameters GP, the revocation list revl, rejoins the list rejl, and time t as input, and calculates the update key for the non-revoked user at the time t.
. The function takes public parameters GP, user node key , update key and as input. Take the intersection node to compute and output the user’s pre-decryption key , and return False if there is no intersection node.
. The function takes plaintext MSG, a monotonic access structure , public parameters GP and time t as input. Then it outputs ciphertext CT.
. This function inputs the ciphertext CT, the user’s Pre-Decryption Key , node key and update key , then outputs the pre-decryption result .
. This function inputs the pre-decryption result and the user private key , and outputs the plaintext MSG.
Security model
The Indistinguishability security under Chosen-Plaintext Attacks (IND-CPA security) of the MA-RABE is defined by the following game between a PPT adversary and the challenger . Assuming that is the set of AAs with the size of n and the scheme satisfys the security of (k, n) PSSS, that is, there are at most compromised AAs in .
Setup
The adversary specifies a corrupted authority set with the size of . The challenger runs the Setup() to generate the global parameters GP, and the binary tree , as well as two lists revl and rejl that storage user’s revocation and rejoining time respectively.
Query phase 1
The adversary adaptively queries the following oracles:
The user register oracle takes the user identity uid along with its public key , then assigns a leaf node of to store if uid has not been queried in this oracle and returns to .
The node key generation oracle takes the identity identifier uid and the attribute set as input, and then runs the algorithm and returns the running result to .
The update key generation oracle takes the time t as input, then runs the algorithm and returns to .
The user revocation oracle takes the time t and the identity uid as input, then runs UserRev(revl, uid, t) and returns the updated revocation list revj to .
Challenge
The adversary submits a challenge access matrix , the time and two symmetric keys and with the same length to the challenger . Among them, the challenge access matrix and time need to satisfy the following constraints:
For any query such that the attribute set satisfies the challenge matrix, Then uid must have been queried in , where .
For any non-revoked user uid, if its attribute set satisfies the challenge matrix, then uid must be in has not been queried.
Then tosses a coin to determine the value of , then executes and returns the challenge ciphertext to .
Query phase 2
After receiving the challenge ciphertext , continues to query the oracles according to Query Phase 1 adaptively.
Guess
outputs a guess bit for . The winning advantage for the adversary is defined as .
Definition 4
A Revocable Attribute-Based Encryption EHR Sharing Scheme With Multiple Authorities(MA-RABE) in blockchain is selective IND-CPA secure, if the advantages of all (k, n) probabilistic polynomial time adversaries in the above game are negligible.
Construction
System initialization
AAs select the security parameter and the maximum number of users N as input, and execute the algorithm . The algorithm generates two cyclic groups and with a prime p order, where g is the generator of . It also generates bilinear mapping , an anti-collision function and two random group elements h and .
Suppose n is the total number of AAs, and k is the threshold for PSSS. n AAs generate shares about random numbers through PSSS. Then each authority calculates locally and submit to the contract. The contract receives sent by k authorities, and calculates as follows:
| 3 |
| 4 |
Therefore, the global parameter . Then contract generates a binary tree for DU, assigns a random number to each node of and initializes two empty lists revl and rejl that can store N tuples.
User management
Register Each DU generates its own private key , and calculates as its public key.Then DU calls the registration function in the contract and sends his public key. After the registration function collects at least k AAs’ signatures, it will randomly select a leaf node to store .
Revocation AAs calls the revocation function in the contract with the parameter (uid, t). After the revocation function collects at least k AAs’ signatures, it sets to (uid, t) in the list revl.
Rejoining AAs calls the rejoining function in the contract with the parameter (uid, t). After the rejoining function collects at least k AAs’ signatures, it sets to (uid, t) in the list rejl.
Remark
The input time to perform revocation and rejoining is always later than the time of the latest . Otherwise, revocation and rejoining of the user are meaningless. Similarly, when executing the revocation of uid, the input time must be later than the time of uid in rejl. When executing the rejoining of uid, the input time must be later than the time of uid in revl.
Key generation
Attribute recovery key assignment
Attribute recovery key is a part of the one-way anonymous key agreement, used to recover the attributes in the matrix. DU calculates for each owned attribute x. Note that the attribute x here contains both the attribute name and the attribute value. Then DU sends to each authority through a secure channel. To verify the ownership correctness, each authority needs to check:
| 5 |
After checking that it is correct, each attribute authority calculates the share of attribute recovery key token and sends it to the contract. The contract collects at least k shares of the attribute recovery key token to recover attribute recovery key token by interpolation:
| 6 |
DU decrypts with its private key to get the attribute recovery key:
| 7 |
Node key generation
AAs generate the node key for uid based on the user attribute set and runs . The detailed process is as follows:
AAs retrieve and parse the leaf node that stores uid in to get the tuple . For each node in , AAs extract the value .
n AAs leverage (k, n) PSSS to generate shares of random numbers for the user uid.
For each node in : each authority calculates locally and submits , and to the contract.
- The contract receives shares of from at least k authorities, then calculates as follows:
8
For each attribute , it caculates:9 10 11
Therefore, the node key of uid is .
Update key generation
AAs run according to the revocation list, rejoin list and the time mark t to generate the update key at t. The process is as follows:
AAs calculate the minimum covered node set according to the revocation list and the rejoining list.
n AAs leverage (k, n) PSSS to generate shares of random numbers for the user uid.
For each node in : each authority calculates locally and submits and to the contract.
- The contract receives shares of from at least k nodes, then calculates as follows:
12 13
The update key for legal users is . Note that the input t for this algorithm is always the current moment, which is always later than any time in revl and rejl.
Pre-decryption key generation
This process is usually completed by the CSP. uid sends a pre-decryption request to the CSP. Then the CSP retrieves the leaf node corresponding to uid in . If , then the CSP returns rejection. Otherwise, according to the property of the KUNode algorithm, the non-revoked user’s must have an intersection node with . The pre-decryption key of uid is calculated as follow:
| 14 |
Remark
After the and of the user uid are distributed, the relationships between attribute and related keys can be represented by Fig. 3, in which the solid line represents the public relationship disclosed in the contract, and the dotted line represents the relationship known only to uid and AAs. And due to computational difficulties, others cannot deduce the user’s attribute information through the key information.
Fig. 3.

The relationships between attribute x and related keys
Encryption
As shown in Fig. 4, MA-RABE adopts a combination of symmetric and asymmetric hybrid encryption. The DO encrypts the data to share with the AES symmetric key and then encrypts the symmetric key by LSSS. The workflow of Encryption is shown in Fig. 4. The detailed process is as follows:
Fig. 4.

The workflow of Encryption. There are three entities involved in Encryption, DO means Data Owner, SC means Smart Contract, and DU means Data User
Symmetric encryption
DO generates AES key and encrypts data by .
Asymmetric encryption
DO customizes an access policy AP, where J is the number of attributes in AP. Then DO converts AP into the share-generating matrix and the mapping function over the related attributes.
Then DO obfuscates the mapping function to fully hide the related attributes and protect the privacy of the data-sharing parties by the following three steps:
DO randomly selects a number and calculates for , where is an attribute in the access policy.
DO computes the matrix confusion key , which is used to recover part of the mapping function for DU later.
DO replaces the previous mapping function with for .
Thus the access policy AP is eventually converted into the LSSS scheme on the related attributes.
Next, DO runs to encrypt the AES key KEY as the following steps:
DO obtains the time t of the latest from the contract, then computes and .
DO randomly selects to form a vector .
For , DO calculates , where is the row of matrix M.
- DO randomly selects , then compute the ramaining chiphertext as follows for :
Finally, DO uploads the outsourced ciphertext to the cloud server CSP.
Pre-decryption
To alleviate the computational pressure caused by bilinear maps, CSP can pre-decrypt for DU without leaking privacy and return the pre-decrypted result . The workflow of Pre-Decryption is shown in Fig. 5. CSP performs pre-decryption by executing the following steps:
DU obtains the of CT from CSP, then computes , where S is the number of the attribute set .
DU computes the set of rows . This means that the DU recovers part of the mapping function and knows which rows in the matrix M correspond to the attributes it has. Then DU sends the set I and the corresponding to CSP.
If the attribute set of uid satisfies the access policy, then must be a full-rank matrix. Therefore, the CSP can find a set of constants in a polynomial time such that .
- Then CSP runs . It trys to compute the pre-decryption key against and stored in blockchain. If the calculation of the pre-decryption key fails, the rejection is returned to DU. Otherwise, the CSP finds that corresponds to as shown in Fig. 3 and computes:
and further returns to DU.15
Fig. 5.

The workflow of Pre-Decryption. There are three entities involved in Pre-Decryption, DO means Data Owner, SC means Smart Contract, and DU means Data User
User decryption
DU runs locally after receiving .
- DU uses its own private key to perform one exponentiation on the received to obtain the symmetric key KEY:
16 Then, DU uses KEY to perform AES decryption on by .
Ciphertext update
When the set of non-revoked users in the system changes (that is, user revocation or rejoining occurs), AAs will generate a key update message about the latest moment. DO needs to update the in the CT according to the time of , so that users who are non-revoked at can obtain the plaintext.
| 17 |
Security Analysis
Correctness
The correctness proof of Eqs. (15) and (16) is presented in Appendix A.
Security proof
Theorem 1
The MA-RABE scheme is IND-CPA secure if the DBDH problem is hard to break and (k, n) PSSS is IND-CPA secure.
Proof
Assume that there is a PPT adversary who can break the MA-RABE scheme in selective security model defined in IV.D with a non-negligible advantage . Given an instance of the DBDH problem where needs to decide or . And z is randomly selected from . There are two types of adversary who will query oracles and return the decision to the challenger .
is a legal user. cannot query the node key about , but can obtain the update key of the challenge time .
is a illegal user. can query the node key about and obtain the update key of the challenge of . But all users whose attribute sets satisfy the challenge matrix are revoked at or before .
Init
The challenger runs the adversary . chooses the challenge matrix and sends it to .
Setup
The adversary specifies a corrupted authority set with the size of so that the challenger can generate the global parameters . The hash function H is abstracted into . Then returns GP to , where is implicitly defined for .
Query phase 1
queries the following oracles adaptively.
: The adversary submits the identity uid along with the corresponding . The challenger picks an unsigned leaf node from and stores in .
: The adversary submits the identity uid and the attribute set . The challenger answers the query as follows:
Case 1
If uid is a non-revoked user, and the attribute set satisfies the challenge matrix , then cannot be queried.
Case 2
If uid is a revoked user, and the attribute set does not satisfy the challenge matrix , then the challenger runs and returns the to .
: The adversary submits the identity uid and a time mark t to query the update key. Then the challenger runs and returns the to .
: The adversary submits a time mark t and the identity uid to revoke uid. Then challenger runs revocation function with (uid, t) and returns the updated revl. Note that the input time in this oracle must be later than the time of uid in rejl.
Challenge
submits two symmetric keys and with the same length and the challenge time . Then tosses a coin to determine the value of and computes , and . For each row of , computes
Therefore, . Finally, returns the challenge ciphertext to .
Query phase 2
After receiving the challenge ciphertext , continues to query the oracles according to Query Phase 1 adaptively.
Guess
outputs to guess the value of . returns 1 if which denotes . Otherwise, returns 0 which denotes Z is a random number in group . When , the challenge ciphertext is hard to break, . When , . Therefore, the probability of to solve DBDH problem .
Since the probability for any PPT adversary to break DBDH problem is negligible. The probability of to solve DBDH problem is also negligible. We can derive that the advantage of to win the game is negligible. So the scheme MA-RABE achieves chosen-plaintext security.
Robustness
Since the scheme MA-RABE uses PSSS (k, n) to distribute user keys and manage users, so its robustness is affected by the threshold k and the total number of AAs n. We assume that the attacker can make some AAs in MA-RABE go down. We suppose the probability that a single AA goes down is d. When the attack further expands, until the number of AAs work is less than k, it will make the system crashed directly. So the probability of system crash satisfies the Bernoulli distribution . Figure 6a, b show the probability of system crash versus the threshold of PSSS k and the probability of a single AA crash d when n is 5 and 10 respectively.
Fig. 6.
The probability of system crash varies with the probability of a single authority crash
Next, we consider another situation. If the attacker controls at least k AAs in MA-RABE through some means and thus controls the entire system. We assume that the probability of a single AA being controlled is c, then the probability of system being controlled also satisfies the Bernoulli distribution . Figure 7a, b show the probability of the system being controlled versus the threshold of PSSS k and the probability of a single AA being controlled c when n is 5 and 10 respectively.
Fig. 7.
The probability of system being controlled varies with the probability of one single authority being controlled
From the analysis of Figs. 6 and 7, we can see that compared to a system based on a single AA, the MA-RABE has better robustness. The closer that k gets to n in the scheme, the more chance the system crashes, and the probability of the system being compromised gets smaller. On the contrary, the less k is than n, the less chance the system crashes, and the probability of the system being controlled will be higher. On the other hand, when k is larger, the computational overhead of reconstructing the secret will increase. Therefore, choosing appropriate k and n can simultaneously ensure low computational overhead and strong security, such as (3,5), (5,10), (6,10).
Decentralization
The AAs in MA-RABE adopts PSSS protocol to negotiate to generate keys and manage users. This process requires at least k authorities. Any single authority cannot affect the security of the protocol, nor will it affect the security of the system. Therefore, there is no central entity in the application layer of the system. In addition, the user’s status and key information are stored in the smart contract, and the correctness of the operation result of the smart contract is verified by all full nodes of the blockchain. Therefore, there is no central entity in the code layer of the system. In summary, MA-RABE achieves decentralization and effectively resists single points of failure.
Collusion resistance
According to the decryption process in Appendix A, if the colluders want to decrypt the ciphertext with their attributes, they need to specify the private key of the mastercolluder. Therefore, it is necessary to use a PDK containing the mastercolluder’s private key. The in is the same as the in PDK, and it belongs to the same user under the same node. Therefore, this process also needs to fix the mastercolluder’s . In addition, , , , , and are also need to be fixed.
Recall the generation process of . For the same node, the for different users are different. Therefore, when the colluders share their , the in the numerator cannot be eliminated by the in the denominator.
Policy privacy
In the process of encrypting the AES key, DO uses the one-way anonymous key to replace the explicit mapping function between the rows of the matrix and attributes with : . In order to recover the rows of the matrix to attributes, the decryptor has two methods:
The decryptor needs to know the value of r. However, the discrete logarithm problem in cyclic groups is difficult to solve. The decryptor cannot derive the value of r from the public .
According to the bilinearity of Bilinear Maps: . This process requires and . The matrix confusion key is part of the ciphertext and is public. is the of DU. So only the decryptor with the can recover the rows of the matrix to attributes.
In addition, recall that the CSP will receive the pre-decryption request information the set of rows I and the corresponding from DU. Among them, is the of DU, which is public in the contract and is associated with . CSP cannot derive attribute information.
Therefore, our scheme MA-RABE realizes policy privacy protection.
Performance evaluation
This section compares the proposed scheme MA-RABE with other CP-ABE schemes in terms of function implementation, storage and computational overhead.
Security and functionality comparison
We make a comparison between previous CP-ABE schemes and our scheme in Table 1 in terms of the attribute authority working mechanism, the underlying blockchain architecture, user rejoining, user revocation, hidden policy, and outsourcing decryption. The scheme of [44] has an assumed credible CA and thus has the problem of centralized power. In the scheme of [20], each AA manages one attribute set which is non-intersecting to others, so the breakdown of any AA will affect the availability of attribute management. In other schemes, the attribute Universe is jointly managed by a group of attribute authorities, which can prevent single points of failure and enhance system security. In addition, the proposed scheme MA-RABE has richer user management functions and supports hidden policy and outsourcing pre-decryption, which can greatly reduce the computing overhead on the user side without leaking user privacy.
Table 1.
The Comparison of Functionality
| Schemes | Authority working mechanism | Blockchain | User rejoining | User revocation | Hidden policy | Outsourcing Pre-decryption |
|---|---|---|---|---|---|---|
| [44] | Single, Centralization | |||||
| [17] | Multiple, Jointly collaborating | |||||
| [20] | Multiple, Exclusive Sets | |||||
| [32] | Multiple, Jointly collaborating | |||||
| MA-RABE | Multiple, Jointly collaborating |
“Single, Centralization” means that there is only one Central Authority in the scheme
“Multiple, Exclusive Sets” means that there are multiple Attribute Authorities that each manage a disjoint attribute set in the scheme
“Multiple, Jointly collaborating” means that there are multiple Attribute Authorities that jointly manage the Attribute Universe in the scheme
indicates the existence of the functionality in the scheme
The storage overhead
In this section, we compare the proposed MA-RABE with other schemes in terms of the storage overhead. The used notions in comparison are listed in Table 2. N and n respectively denote the number of users and AA in the scheme.
Table 2.
Notations
| Symbol | Meaning |
|---|---|
| size of the element of group | |
| / | size of the element of group / |
| size of the ciphertext encrypted by AES | |
| number of attributes in scheme | |
| number of attributes owned by DU | |
| number of attributes of LSSS matrix | |
| number of attributes of DU’s minimum authorized set | |
| P | one pairing operation of |
| E/ | one exponentiation in / |
| AES Encryption computation | |
| AES Decryption computation |
From the Table 3, we can see that the central authority appears in the schemes [44] and [17], where the CA key of [44] is a constant size and the CA key of [44] is positively correlated with the number of AA, the number of users and the number of attributes. The other three schemes [20, 32] and MA-RABE do not involve the central authority, so there is no need to consider the CA storage burden caused by the scheme’s scale and complexity.
Table 3.
The comparison of storage performance
In addition, we can see that the scheme [32] has the lowest storage overhead on the DU side. This is because the scheme [32] does not process the LSSS matrix for privacy protection, and the DU only needs to store the user private key used to decrypt the symmetric key with the size of . Since the proposed MA-RABE adopts the one-way anonymous key agreement, which requires additional storage of the corresponding attribute recovery key for each attribute. Therefore, the storage overhead on DU sied in this solution is + .
In terms of ciphertext storage overhead, since all schemes use AES symmetric encryption and ABE asymmetric encryption, the symmetrically encrypted ciphertexts in these schemes all require -sized space. In addition, the storage overhead of the ciphertext is related to the number of parameters set. It is reasonable that the ciphertext storage overhead of MA-RABE is slightly more than other schemes under the condition of ensuring privacy and realizing ciphertext pre-decryption. Finally, in terms of updating ciphertext, only the scheme [20] and MA-RABE realize the ciphertext update function. When MA-RABE updates the ciphertext, the ciphertext size that CSP needs to update only needs , which is much smaller than scheme [20].
The computaional overhead
In this section, we compare the proposed MA-RABE with other schemes in terms of the computaional overhead. The used notions in comparison are listed in Table 2. We assume that R is the number of revoked users and k is the secret sharing threshold in the multi-AA scheme.
Table 4 compares the computational overhead in detail, focusing on the most time-consuming operations: bilinear pairing operation and exponentiation operation.
Table 4.
The comparison of computational performance
From Table 4 we can know that when encrypting data on the DO side, the scheme [20] has fewer exponentiation operations in and more exponentiation operations in than scheme [32]. While the MA-RABE performs more exponentiation operations in are used than scheme [32].
In terms of DU-side decryption, since the scheme [32] and MA-RABE both adopt outsourcing pre-decryption, the decryption overhead of these two schemes is lower than the scheme [20].
In terms of the cost of updating the key, the scheme [20] needs to update the decryption key for each non-revoked user. Besides, the scheme [32] needs to update the attribute key for each non-revoked user, so it has the most computational overhead. In contrast, MA-RABE has the lowest key update overhead, which is unrelated to the number of user attributes.
In terms of the cost of updating ciphertext, the scheme [20] and MA-RABE implement the ciphertext update function, and we can clearly see that MA-RABE has a lower and constant computational cost for updating ciphertext.
To further evaluate the actual performance of the schemes, we performed the simulation on a Ubuntu system with AMD R5 4600H CPU 3.0 GHz and 16 GB RAM. The cyclic group in the experiment adopts the curve group of the PBC library based on Python. The smart contracts are deployed on Hyperledger Fabric. The experimental data are an average of 50 simulation results.
Figure 8a contains the simulation results of encrypting the symmetric key on the DO side. The horizontal axis is the number of attributes in the access policy, i.e., the number of rows of the access matrix; the vertical axis is the time spent on encryption. Since the scheme [20] has more exponentiation operations, encryption takes significantly more time than the other two schemes. However, when encrypting the symmetric key, the scheme [32] performs fewer exponentiation operations in by the number of attributes than MA-RABE, so it takes slightly less time than MA-RABE.
Fig. 8.
The simulation results of computational overhead compared with the Zhong et al. [20] and Liu et al. [32]
Figure 8b presents the decryption overhead of the symmetric key on the DU side. The horizontal axis is the number of rows in the access matrix corresponding to the minimum attribute set of the DU that satisfies the access policy; the vertical axis is the decryption time. Assuming that before decryption, DU has calculated the of attributes required for decryption against the matrix confusion key . For the same , the only needs to be calculated once forever. As shown in Figure 8b, since the pre-decryption in MA-RABE is outsourced to the CSP, DU only needs to perform one exponentiation operation to obtain the symmetric key, which has extremely high decryption efficiency.
Figure 8c shows the calculation results of the ciphertext update on the DO side. The horizontal axis is the number of attributes in the access policy; the vertical axis is the time spent in the calculation. The overhead of the scheme [20] has a linear relationship with the number of attributes. Since MA-RABE only needs to perform an exponentiation operation on updating the ciphertext, it has a constant ciphertext update overhead, which is obviously better than the former.
In general, the scheme has slightly more encryption calculation overhead on the DO side than the scheme [32]. But compared with the schemes [20] and [32], MA-RABE has sufficient advantages in other aspects.
Conclusion
In this article, we propose a secure revocable ABE scheme with multiple authorities MA-RABE based on blockchain. This solution can well solve the problem of privacy leakage and computational burden in the EHR sharing process. First, multiple authorities leverage PSSS (k,n) to manage users and distribute keys to prevent centralized power and achieve strong security robustness. Besides, MA-RABE supports any LSSS policy hiding through the novel decentralized one-way anonymous key agreement, which effectively protects the privacy of data owners and data users. The MA-RABE also achieves key update through the BT with low overhead. Considering that the EHR sharing scenario involves devices with limited computing resources, outsourcing decryption is introduced into MA-RABE. Theoretical analysis and experimental simulation show that the MA-RABE can implement more complex functions and meet the requirements of low storage overhead and low user decryption overhead. The future work for MA-RABE is to implement verifiable outsourcing decryption to prevent the CSP from dishonestly executing the protocol and returning to DU the wrong intermediate decryption ciphertext.
Biographies
Xiaohui Yang
is a Professor at the School of Cyber Security and Computer, Hebei University, China. He received his PhD degree from the University of Science and Technology of China in 2010. He has published several research papers in reputed international journals and conferences. His primary research interests include distributed computing, information security and trusted computing.

Wenjie Li
received his M.S. degree from the School of Cyber Security and Computer, Hebei University of China in 2021. Currently, he is a Ph.D. student at the School of Cyber Engineering, Xidian University, China. He is working on Cryptography and Blockchain technology novel applications, such as blockchain-based systems, decentralized applications, smart contracts programming and security and software development. His major research interests include information security, peer-to-peer networks, cryptocurrencies and blockchains.
Kai Fan
received the B.S., M.S., and Ph.D. degrees in telecommunication engineering, cryptography and telecommunication and information system from Xidian University, Xi’an, China, in 2002, 2005, and 2007, respectively. He is currently an Associate Professor with the State Key Laboratory of Integrated Service Networks, Xidian University. He has authored/co-authored over 70 papers in journals and conferences. He has received nine Chinese patents. He has managed five national research projects. His research interests include IoT security and information security.
Appendix A. The correctness proof of equations
The CSP pre-decrypts the ciphertext for DU as Eq. (15). The correctness proof of the Eq. (15) is presented here.
The DU decrypts the pre-decryption result locally as Eq. (16). The correctness of Eq. (16) is presented as follows.
Funding
This work is supported by the National Key R&D Program of China under Grant 2017YFB0802300 and the Natural Science Foundation of Hebei Province under Grant F2021201052.
Declarations
Conflict of interest
The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.
Footnotes
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Contributor Information
Xiaohui Yang, Email: yxh@hbu.edu.cn.
Wenjie Li, Email: tom643190686@gmail.com.
Kai Fan, Email: kfan@mail.xidian.edu.cn.
References
- 1.Shi S, He D, Li L, Kumar N, Khan MK, Choo KKR. Applications of blockchain in ensuring the security and privacy of electronic health record systems: a survey. Comput Secur. 2020;97:101966. doi: 10.1016/j.cose.2020.101966. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 2.Madhavan S, Bastarache L, Brown JS, Butte AJ, Dorr DA, Embi PJ, Friedman CP, Johnson KB, Moore JH, Kohane IS, et al. Use of electronic health records to support a public health response to the covid-19 pandemic in the united states: a perspective from 15 academic medical centers. J Am Med Inform Assoc. 2021;28(2):393–401. doi: 10.1093/jamia/ocaa287. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 3.Khezr S, Moniruzzaman M, Yassine A, Benlamri R. Blockchain technology in healthcare: a comprehensive review and directions for future research. Appl Sci. 2019;9(9):1736. doi: 10.3390/app9091736. [DOI] [Google Scholar]
- 4.Donawa A, Orukari I, Baker CE (2019) Scaling blockchains to support electronic health records for hospital systems. In: 2019 IEEE 10th Annual Ubiquitous Computing, Electronics & Mobile Communication Conference (UEMCON), IEEE, pp 0550–0556. 10.1109/UEMCON47517.2019.8993101
- 5.Chukwu E, Garg L. A systematic review of blockchain in healthcare: Frameworks, prototypes, and implementations. IEEE Access. 2020;8:21196–21214. doi: 10.1109/ACCESS.2020.2969881. [DOI] [Google Scholar]
- 6.Zhang J, Yang Y, Liu X, Ma J (2022c) An efficient blockchain-based hierarchical data sharing for healthcare internet of things. IEEE Transactions on Industrial Informatics, pp 1–1. 10.1109/TII.2022.3145851
- 7.Hao J, Huang C, Ni J, Rong H, Xian M, Shen XS. Fine-grained data access control with attribute-hiding policy for cloud-based iot. Comput Netw. 2019;153:1–10. doi: 10.1016/j.comnet.2019.02.008. [DOI] [Google Scholar]
- 8.Xiang X, Zhao X. Blockchain-assisted searchable attribute-based encryption for E-health systems. J Syst Archit. 2022;124:102417. doi: 10.1016/j.sysarc.2022.102417. [DOI] [Google Scholar]
- 9.Sun P. Security and privacy protection in cloud computing: Discussions and challenges. J Netw Comput Appl. 2020;160:102642. doi: 10.1016/j.jnca.2020.102642. [DOI] [Google Scholar]
- 10.Zhang G, Chen X, Feng B, Guo X, Hao X, Ren H, Dong C, Zhang Y. BCST-APTS: Blockchain and CP-ABE empowered data supervision, sharing, and privacy protection scheme for secure and trusted agricultural product traceability system. Secur Commun Netw. 2022;2022:2958963. doi: 10.1155/2022/2958963. [DOI] [Google Scholar]
- 11.Aghili SF, Sedaghat M, Singelée D, Gupta M. MLS-ABAC: Efficient multi-level security attribute-based access control scheme. Futur Gener Comput Syst. 2022;131:75–90. doi: 10.1016/j.future.2022.01.003. [DOI] [Google Scholar]
- 12.Chase M (2007) Multi-authority attribute based encryption. In: Theory of cryptography conference, Springer, pp 515–534. 10.1007/978-3-540-70936-7_28
- 13.Chase M, Chow SS (2009) Improving privacy and security in multi-authority attribute-based encryption. In: Proceedings of the 16th ACM conference on Computer and communications security, pp 121–130. 10.1145/1653662.1653678
- 14.Li Q, Zhang Q, Huang H, Zhang W, Chen W, Wang H (2022) Secure, efficient and weighted access control for cloud-assisted industrial IoT. IEEE Internet Things J 1–1. 10.1109/JIOT.2022.3146197
- 15.Zhang Y, Deng RH, Xu S, Sun J, Li Q, Zheng D. Attribute-based encryption for cloud computing access control: a survey. ACM Comput Surv (CSUR) 2020;53(4):1–41. doi: 10.1145/3398036. [DOI] [Google Scholar]
- 16.Li J, Chen X, Chow SS, Huang Q, Wong DS, Liu Z. Multi-authority fine-grained access control with accountability and its application in cloud. J Netw Comput Appl. 2018;112:89–96. doi: 10.1016/j.jnca.2018.03.006. [DOI] [Google Scholar]
- 17.Li W, Xue K, Xue Y, Hong J. TMACS: a robust and verifiable threshold multi-authority access control system in public cloud storage. IEEE Trans Parallel Distrib Syst. 2015;27(5):1484–1496. doi: 10.1109/TPDS.2015.2448095. [DOI] [Google Scholar]
- 18.Liu Q, Liu Y, Luo M, He D, Wang H, Choo KKR (2022) The security of blockchain-based medical systems: Research challenges and opportunities. IEEE Syst J 1–12. 10.1109/JSYST.2022.3155156
- 19.Mayer AH, da Costa CA, Righi RDR. Electronic health records in a blockchain: a systematic review. Health Inform J. 2020;26(2):1273–1288. doi: 10.1177/1460458219866350. [DOI] [PubMed] [Google Scholar]
- 20.Zhong H, Zhu W, Xu Y, Cui J. Multi-authority attribute-based encryption access control scheme with policy hidden for cloud storage. Soft Comput. 2018;22(1):243–251. doi: 10.1007/s00500-016-2330-8. [DOI] [Google Scholar]
- 21.Sarma R, Kumar C, Barbhuiya FA. Macfi: a multi-authority access control scheme with efficient ciphertext and secret key size for fog-enhanced IoT. J Syst Archit. 2022;123:102347. doi: 10.1016/j.sysarc.2021.102347. [DOI] [Google Scholar]
- 22.Qin X, Huang Y, Yang Z, Li X. A blockchain-based access control scheme with multiple attribute authorities for secure cloud data sharing. J Syst Archit. 2021;112:101854. doi: 10.1016/j.sysarc.2020.101854. [DOI] [Google Scholar]
- 23.Ramu G. A secure cloud framework to share EHRs using modified CP-ABE and the attribute bloom filter. Educ Inf Technol. 2018;23(5):2213–2233. doi: 10.1007/s10639-018-9713-7. [DOI] [Google Scholar]
- 24.Wu A, Zhang Y, Zheng X, Guo R, Zhao Q, Zheng D. Efficient and privacy-preserving traceable attribute-based encryption in blockchain. Ann Telecommun. 2019;74(7):401–411. doi: 10.1007/s12243-018-00699-y. [DOI] [Google Scholar]
- 25.Fan K, Xu H, Gao L, Li H, Yang Y. Efficient and privacy preserving access control scheme for fog-enabled iot. Futur Gener Comput Syst. 2019;99:134–142. doi: 10.1016/j.future.2019.04.003. [DOI] [Google Scholar]
- 26.Beimel A et al (1996) Secure schemes for secret sharing and key distribution. https://www.cs.bgu.ac.il/~beimel/Papers/thesis.pdf
- 27.Zhang Z, Zhang J, Yuan Y, Li Z (2021) An expressive fully policy-hidden ciphertext policy attribute-based encryption scheme with credible verification based on blockchain. IEEE Internet Things J 1–1. 10.1109/JIOT.2021.3117378
- 28.Yang L, Li C, Cheng Y, Yu S, Ma J. Achieving privacy-preserving sensitive attributes for large universe based on private set intersection. Inform Sci. 2022;582:529–546. doi: 10.1016/j.ins.2021.09.034. [DOI] [Google Scholar]
- 29.Wei J, Chen X, Huang X, Hu X, Susilo W. RS-HABE: Revocable-storage and hierarchical attribute-based access scheme for secure sharing of e-health records in public cloud. IEEE Trans Dependable Secure Comput. 2021;18(5):2301–2315. doi: 10.1109/TDSC.2019.2947920. [DOI] [Google Scholar]
- 30.Xiong H, Zhao Y, Peng L, Zhang H, Yeh KH. Partially policy-hidden attribute-based broadcast encryption with secure delegation in edge computing. Futur Gener Comput Syst. 2019;97:453–461. doi: 10.1016/j.future.2019.03.008. [DOI] [Google Scholar]
- 31.Zheng D, Qin B, Li Y, Tian A. Cloud-assisted attribute-based data sharing with efficient user revocation in the internet of things. IEEE Wirel Commun. 2020;27(3):18–23. doi: 10.1109/MWC.001.1900433. [DOI] [Google Scholar]
- 32.Liu S, Yu J, Xiao Y, Wan Z, Wang S, Yan B. BC-SABE: Blockchain-aided searchable attribute-based encryption for cloud-IoT. IEEE Internet Things J. 2020;7(9):7851–7867. doi: 10.1109/JIOT.2020.2993231. [DOI] [Google Scholar]
- 33.Guo R, Yang G, Shi H, Zhang Y, Zheng D. O 3-R-CP-ABE: an efficient and revocable attribute-based encryption scheme in the cloud-assisted ioMT system. IEEE Internet Things J. 2021;8(11):8949–8963. doi: 10.1109/JIOT.2021.3055541. [DOI] [Google Scholar]
- 34.Zhang R, Li J, Lu Y, Han J, Zhang Y. Key escrow-free attribute based encryption with user revocation. Inform Sci. 2022;600:59–72. doi: 10.1016/j.ins.2022.03.081. [DOI] [Google Scholar]
- 35.Zhang J, Li T, Jiang Q. Ma J (2022b) Enabling efficient traceable and revocable time-based data sharing in smart city. EURASIP J Wirel Commun Netw. 2022;1:3. doi: 10.1186/s13638-021-02072-5. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 36.Pedersen TP (1991) A threshold cryptosystem without a trusted party. In: Workshop on the Theory and Application of of Cryptographic Techniques, Springer, pp 522–526. 10.1007/3-540-46416-6_47
- 37.Shamir A. How to share a secret. Commun ACM. 1979;22(11):612–613. doi: 10.1145/359168.359176. [DOI] [Google Scholar]
- 38.Deepa N, Pham QV, Nguyen DC, Bhattacharya S, Prabadevi B, Gadekallu TR, Maddikunta PKR, Fang F, Pathirana PN. A survey on blockchain for big data: Approaches, opportunities, and future directions. Futur Gener Comput Syst. 2022;131:209–226. doi: 10.1016/j.future.2022.01.017. [DOI] [Google Scholar]
- 39.Lin SY, Zhang L, Li J, Ll Ji, Sun Y. A survey of application research based on blockchain smart contract. Wireless Netw. 2022;28(2):635–690. doi: 10.1007/s11276-021-02874-x. [DOI] [Google Scholar]
- 40.Zou J, He D, Zeadally S, Kumar N, Wang H, Choo KR (2021) Integrated blockchain and cloud computing systems: a systematic survey, solutions, and challenges. 54(8). 10.1145/3456628
- 41.Yang X, Li W. A zero-knowledge-proof-based digital identity management scheme in blockchain. Comput Secur. 2020;99:102050. doi: 10.1016/j.cose.2020.102050. [DOI] [Google Scholar]
- 42.Han D, Pan N, Li KC. A traceable and revocable ciphertext-policy attribute-based encryption scheme based on privacy protection. IEEE Trans Dependable Secure Comput. 2022;19(1):316–327. doi: 10.1109/TDSC.2020.2977646. [DOI] [Google Scholar]
- 43.Rasori M, La Manna M, Perazzo P, Dini G (2022) A survey on attribute-based encryption schemes suitable for the internet of things. IEEE Internet Things J 1–1. 10.1109/JIOT.2022.3154039
- 44.Waters B (2011) Ciphertext-policy attribute-based encryption: an expressive, efficient, and provably secure realization. In: International Workshop on Public Key Cryptography, Springer, pp 53–70. 10.1007/978-3-642-19379-8_4




