Next Article in Journal
A Deep Learning Model for Correlation Analysis between Electroencephalography Signal and Speech Stimuli
Previous Article in Journal
Infrared Thermography for Real-Time Assessment of the Effectiveness of Scoliosis Braces
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

An Access Control Scheme Based on Blockchain and Ciphertext Policy-Attribute Based Encryption

Department of Electronics and Communication Engineering, Beijing Electronic Science and Technology Institute, Beijing 100070, China
*
Author to whom correspondence should be addressed.
Sensors 2023, 23(19), 8038; https://doi.org/10.3390/s23198038
Submission received: 25 July 2023 / Revised: 8 September 2023 / Accepted: 13 September 2023 / Published: 23 September 2023
(This article belongs to the Section Internet of Things)

Abstract

:
Ciphertext policy–attribute-based encryption (CP-ABE), which provides fine-grained access control and ensures data confidentiality, is widely used in data sharing. However, traditional CP-ABE schemes often choose to outsource data to untrusted third-party cloud service providers for storage or to verify users’ access rights through third parties, which increases the risk of privacy leakage and also suffers from the problem of opaque permission verification. This paper proposes an access control scheme based on blockchain and CP-ABE, which is based on multiple authorization centers and supports policy updating. In addition, blockchain technology’s distributed, decentralized, and tamper-proof features are utilized to solve the trust crisis problem in the data-sharing process. Security analysis and performance evaluation show that the proposed scheme improves the computational efficiency by 18%, 26%, and 68% compared to previous references. The proposed scheme also satisfies the indistinguishability under chosen-plaintext attack (IND-CPA).

1. Introduction

With the advent of the big data era, data have become an important economic asset and a new factor of production permeating all walks of life. With increasing data resource sharing, incidents such as data theft and information leakage have occurred repeatedly. In May 2022, General Motors released a statement saying that some online customers had suspicious logins and that hackers had accessed some of their personal information through an online mobile application, including names, email addresses, mailing addresses, interest collections, search history, etc. In December of the same year, Azalea Motors suffered a server misconfiguration that led to the leakage of millions of user information and was subjected to a ransom demand of USD 2.25 million in Bitcoin equivalent. To prevent incidents like these, data owners often want to keep their data under control after they have been shared. Access control is an effective means to protect data security and control the flow and sharing of data. It explicitly allows or restricts the subject’s access to the object in a certain way, allowing users to access data within their legitimate permissions. If not, their operations are prohibited. Traditional access control cannot cope with the characteristics of a high degree of sharing and fast data circulation in the big data environment, and problems such as a single point of failure, difficulty in meeting the principle of minimum authorization, difficulty in dynamically adapting to changes in the environment, and difficulty in verifying policy authority have brought “shackles” to the development of access control technology.
The emergence of Attribute-Based Encryption (ABE) [1] brings a new solution to the above problem, which was first proposed by Sahai et al. in 2005, and subsequently developed into Key Policy–Attribute-Based Encryption (KP-ABE) [2] and Ciphertext Policy–Attribute-Based Encryption (CP-ABE) [3]. Data owners can customize access policies in CP-ABE and embed them in ciphertext. This approach not only realizes fine-grained and flexible access control but also solves the problems of traditional access control, which is challenging to satisfy the principle of minimum authorization and dynamically adapt to environmental changes. However, traditional CP-ABE schemes still have some drawbacks in practical applications. For example, in most CP-ABE schemes, with the help of a fully trusted attribute authorization authority, a single authorization authority needs to manage all users’ attributes and be responsible for the key generation and distribution process, which is a considerable workload. Moreover, if the single authorization center in these schemes fails or is maliciously attacked, many user attribute data will be exposed, and the whole system will be affected [4].
Blockchain technology [5], a widely emerging distributed-ledger-based technology, has become a reasonable choice for conducting trusted access control due to its decentralization, data tampering, traceability, non-falsification, and programmability. However, blockchain’s open and transparent nature makes the security and regulation of data stored in blockchain face a series of challenges [6,7]. If blockchain technology is combined with CP-ABE, the cryptographic mechanism of CP-ABE can ensure the confidentiality, privacy, and security of the data stored on the blockchain. In contrast, blockchain technology can provide functions like trusted authority verification and effective auditing for the existing CP-ABE-based schemes. For example, the programs in reference [8] achieve privacy protection and support the accountability of historical protocols through CP-ABE and blockchain technology. Reference [9] considers the advantages of CP-ABE and blockchain combined with cloud storage systems to share medical information effectively. Still, cloud servers storing a large amount of data can lead to privacy leakage and access control that policy permissions cannot credibly verify.
The leading platforms for blockchain applications are Bitcoin, Ethereum, and Hyperledger Fabric. Bitcoin is the blockchain technology’s prototype but lacks privacy protection and smart contracts. As a result, it cannot be used in complex situations. Ethereum is the public blockchain. However, any transaction on Ethereum requires payment. The public blockchain also has no restrictions on participants, who usually participate anonymously, making the public chain quite difficult to regulate. Fabric, as a representative of the consortium blockchain, requires participants to have explicit identifiers so that a malicious participant can be found directly. Therefore, Fabric is more secure than Ethereum. In addition, Fabric provides strong flexibility, pluggability, and scalability by modularizing the technologies of rights management, authentication, consensus mechanism, etc. Fabric can be more easily applied to complex scenarios by designing and developing smart contracts to execute various business logic.
Fabric can also design and develop smart contracts to implement different business logic, making it easier to apply to complex environments.
In summary, the existing schemes still have problems in access control, such as data leakage caused by semi-trusted cloud service providers, a non-transparent and untrustworthy verification of access privileges, an over-concentration of risk in single authorization centers, and overloaded computation. To solve the above problems, this paper proposes an access control scheme based on blockchain and CP-ABE, based on the characteristics of blockchain being de-trusted, decentralized, non-tamperable, and non-forgeable. The main contributions of this paper are as follows:
  • A new blockchain-based attribute-based cryptographic access control model is proposed. The introduction of blockchain in this model realizes the auditability of key parameter transmission and the trusted verification of data integrity, decryption correctness, etc., and solves the opaque verification problem of access rights caused by untrusted third parties. The combination of attribute-based encryption and blockchain guarantees that the data owner autonomously and effectively controls the circulation of shared data and protects the security of shared data.
  • An improved CP-ABE algorithm supporting access policy updates is proposed. This algorithm updates the access policy without disclosing the original encrypted data and realizes finer-grained and more flexible one-to-many access control with high efficiency and low overhead.
  • Using the threshold secret sharing algorithm to split the private key parameters of data visitors, the user private key needs to be calculated by multiple authorization centers collaboratively. Therefore, a single authorization center does not have the ability to generate user private keys. This method not only solves the problems of poor security, heavy computational burden, and unguaranteed data integrity of a single authorization organization, but also improves user privacy and key security.

2. Related Works

Currently, some research focuses on using a single authorization center for access control of attribute-based encryption in cloud computing environments. For instance, Li et al. [10] suggested a safe data-sharing system based on attribute encryption for users with restricted resources. By boosting the system’s public parameters and transferring a portion of the encrypted calculations to an offline state, this approach removed the majority of the calculation jobs. However, this scheme’s access strategy was limited to a description of positive and negative characteristics, leaving out the overall access control framework. Since we must completely rely on the single authorization center, if it is attacked, all the attributes will be accessed, thus lowering the security of the data stored in the cloud.
A solution with numerous authorization centers was created on the foundation of the conventional centralized single authorization agency solution in order to address the issues of low efficiency and inadequate security of a single authorization center. By expanding attribute sources and decentralizing the central master key, the attribute-based encryption scheme of the authorization center increased the variety of access tactics and encryption security. Sharma et al. [11] resolved the key escrow problems by using two authorities in the key generation process. Data owners and attribute authorities manage the key-related and user access policy details in a distributed manner. A new CP-ABE technique for multi-authorization agencies was also created by Gao et al. [12], which enhances user privacy and key security while significantly reducing the possibility of a single point of failure. A method called T-DPU-MCP-ABE (Traceable and Dynamic Policy Updating Multiauthority Attribute-based Encryption) was proposed by Ling et al. [13] in 2021. Data owners may frequently need to adjust the ciphertext access policy to meet diverse requirements. Updates to rules give data owners flexibility and enable them to fine-tune their encrypted data access restrictions for more precise control. A multi-authorization attribute-based encryption system with policy updating and concealing was suggested by Zhang et al. [14]. The untrusted issue with single attribute authorization is likewise resolved by multiple attribute authorities. Data owners can also easily and affordably adjust the access control policy. However, the above scenario relies on a fully trusted agent or a third-party central authority in addition to a semi-trusted multi-authorization center. In practical scenarios, fully trusted agents and third-party central organizations do not exist, and semi-trusted third parties bring new privacy issues. The multi-authorization center scheme proposed in this paper does not rely on a third party and can solve the trust problem in practical applications.
Blockchain technology [5] is an evolving technology with the advantage of decentralization, which is based on a distributed ledger. The issue of data in cloud storage that can be tampered with and whose integrity cannot be guaranteed has been resolved with the creation of blockchain technology [15]. Additionally, this technology is ideally suited to address issues related to ABE. Therefore, to better realize the secure and dependable large-scale exchange of vast data, researchers have recently integrated blockchain and attribute-based encryption technology. An independently revised key strategy ABE system was put forth by Guo et al. [16]. In addition, utilizing blockchain and distributed database technology protected the integrity of private healthcare data stored in the public cloud, preventing nefarious users or authorizers from tampering with private data from the internal cloud, thereby reducing misdiagnosis caused by tampered electronic health records. This scheme was managed by multiple attribute authorization centers, which was closer to the actual situation. To accomplish fine-grained access control to data, Zuo et al. [17] integrated blockchain with attribute-based encryption technology, making all user operations on the chain immutable and permanently maintained. In order to enable cloud security sharing without the usage of a trusted third party, blockchain was employed to authenticate user identities and manage their access privileges. This system prevented unauthorized users from accessing the data until user identification verification was complete. To protect data and attribute privacy, Gao et al. [18] introduced the ABE approach to the blockchain. Due to the strategy’s limited applicability to the compound order group, efficiency was low. A decentralized architecture was proposed by Vasishta et al. [19] to validate access requests through numerous authorities in a decentralized way using Hyperledger Fabric and Attribute-Based Access Control (ABAC). Reference [20] suggested putting ABAC into practice for decentralized authorization across numerous entities. Each organization in this implementation has a separate smart contract to add properties. A blockchain-based cloud data access authorization updating mechanism that supports keyword retrieval was proposed by Lei et al. [21]. According to reference [22], an industrial client can also validate the legitimacy of an IoT device’s distributor and manufacturer and grant permission for the IoT device to join their IoT network by issuing a network certificate. In reference [23], a multi-layer strategy uses blockchain technology for IoT device authentication and authorization. Some of the above research solutions use blockchain to solve only the cloud storage problem, and some only use blockchain for authorization, which does not involve whether the data owner can control the users who access the data. The proposed scheme in this paper uses the consortium blockchain fabric to verify the data in a trustworthy way and realizes transparent pre-verification of access rights by deploying smart contracts on the blockchain so that the data owner has the right to decide who can access the data and realizes true data security.

3. Access-Control-Scheme-Based Blockchain and CP-ABE

3.1. Main Parameters and Definitions

The main parameters involved in the scheme of this paper are shown in Table 1.

3.2. System Model

The system model proposed in this paper is shown in Figure 1, which includes four types of entities: Data Owner ( D O ), Data Visitor ( D U ), Attribute Authorization Center ( A A S ), and Blockchain ( B C ).
1. A A s computes the system public key and system master key and distributes the system public key to D O . 2. D U randomly selects the t-value and computes t P a r t i . 3. D U broadcasts the computed t P a r t i to B C nodes. 4. When the data visitor D U needs to obtain its private key, the attribute authorization center A A S obtains t P a r t i from B C . 5. A A S distributes the private key component of D U obtained by substituting t P a r t i to D U . 6. D O generates the ciphertext by specifying a specific access policy. 7. D O then uploads the ciphertext and the hash value of the plaintext to B C . 8. If the access policy needs to be updated, D O sends the updated key to B C . 9. B C updates the ciphertext based on the updated key. 10.1 After D U obtains the key component from A A S , B C pre-verifies whether D U has the access right to the data uploaded by D O . 10.2 If the verification passes, D U can obtain the ciphertext and the hash value of the plaintext from B C . 10.3 D U decrypts the ciphertext with its private key. In the above process, the entities undertake the following tasks (see Figure 1):
  • A A S : Organizations that manage attributes in the system. It manages the respective attributes and generates the master key MSK and system public key PK in step 1. In step 4, it obtains the slice of t, t P a r t i , from the computation nodes in the blockchain and distributes the private key component of D U to the D U in step 5.
  • D U : Users who want to access the data uploaded by the D O . In steps two and three, DU is responsible for computing t P a r t i ( 1 , n ) and broadcasting it to the blockchain. D U obtains the pre-verification result from the blockchain in part 10.1 of step 10. And if the D U has access to the data, the D U obtains the ciphertext and the hash values of the plaintext in part 10.2 of step 10, decrypts them, and verifies the correctness of t using the private key of the D U in part 10.3. If required, D U can verify the correctness of decryption by querying the blockchain transaction.
  • D O : The user who owns the data and specifies the attributes the visitor requires. The data owner encrypts the plaintext data using a symmetric key, specifies the access policy A for the data, encrypts the symmetric key to generate the ciphertext C T in step 6, and uploads the ciphertext and the data digest to the blockchain through a transaction in step 7. Based on the running results of the policy comparison algorithm deployed on the smart contract, D O selects the corresponding update key to send to the blockchain via the transaction in step 8.
  • B C : Consortium blockchain fabric, a platform that ensures that data are stored and shared in a trusted manner. Users can publish and query transactions on the blockchain, providing storage services to secure data ( t P a r t i and ciphertext) and services for trusted authentication. In step 9, the blockchain performs the ciphertext update. The blockchain also does the 10.1 pre-verification part of the decryption phase.

3.3. Security Model

Choice Plaintext Attack (CPA) means that the attacker can select a plaintext message in addition to knowing the encryption algorithm to obtain the encrypted ciphertext, i.e., the attacker knows the chosen plaintext and the encrypted ciphertext. Still, they cannot directly break the key. Proof of security is performed by choosing a game of indistinguishability under a plaintext attack, and a game between an adversary and a challenger describes this game.
  • Initialization phase. Challenger C runs the system initialization algorithm, inputs the security parameter λ , outputs the system public key PK and sends it to adversary A , and saves the system master key MSK. Adversary A selects the old access policy ( A , ρ ) and the new access policy ( A , ρ ) that it wishes to attack.
  • Querying private key phase 1. Adversary A adaptively submits a series of attribute sets U = ( u 1 , u 2 , u 3 , u l ) that do not satisfy the old and new access policies to challenger C . C runs the key generation algorithm to generate the corresponding key SK to sends it to adversary A .
  • Challenge phase. Adversary A submits two equal-length messages m 0 and m 1 to challenger C . C randomly selects b ϵ ( 0 , 1 ) and runs a cryptographic algorithm to encrypt m b under the old access policy P ; challenger C performs a dynamic update of the access policy and generates an updated ciphertext based on the determination result of the old and the new access policies; C sends the updated ciphertext to adversary A .
  • Querying private key phase 2. Similar to Phase 1, adversary A continues to submit attribute u l to challenger C for querying other attribute keys, with the stipulation that u l still does not satisfy the access policy P .
  • Guessing phase. Adversary A gives a guess b for b . The adversary wins the game if b = b , since any inactive adversary A can win this game with a probability 1 2 by making a random guess on b . A ’s advantage in this game is defined as
    A d v A = | P r b = b 1 2 |
The goal of the adversary is to guess the value of b with a probability greater than 1 2 . If the above A d v A can be ignored, this cryptosystem is considered indistinguishable under a chosen-plaintext attack and is called IND-CPA secure.

3.4. Operation Flow

The operation flow of the data access control scheme based on blockchain and attribute-based encryption is shown in Figure 2, and the specific implementation details of this scheme are as follows.

3.5. Scheme Construction

3.5.1. Initialization Stage

A A s executes the algorithm. The algorithm inputs the security parameter λ and outputs the system public key P K = ( G , G 1 , g , H , e g , g , α r , g α , α β ) and the system master key M S K = ( r , α , β ) with randomly chosen r , α , β Z p . The bilinear mapping e : G × G G 1 , where G and G 1 are cyclic groups of primes order p , and g is the generator of G . The hash function H maps an attribute in the system to an element in G . S denotes the set of attributes managed by the A A s .

3.5.2. t P a r t i Generation Stage

The algorithm is executed by D U . The D U inputs random numbers ( m , n ) and t Z p , and uses the threshold secret sharing algorithm to divide t into n slices of t ,  t P a r t i ( 1 , n ) .
f x = t + a 1 x + + a m x m
t P a r t i = f x i
D U broadcasts the slices of t to the blockchain via the t P a r t i storage transaction, and nodes in the blockchain verify the transaction.

3.5.3. T x t P a r t i _ s t o r a g e Generation Stage

When Fabric processes each transaction, each link needs to verify the authority of the transaction information, and the application client invokes the certificate C A service through the S D K for registration and enrollment and obtains the identity certificate. So, D U , D O , and A A s also have their public–private key pairs in Fabric.
After generating the t P a r t i storage transaction shown in Algorithm 1,  D U broadcasts the transaction to other nodes in the blockchain to verify it.
Algorithm 1  T x t P a r t i _ s t o r a g e generation transaction.
Input: transaction i d , t P a r t i , public key P K A A s of A A s in the blockchain, the address of nodes a d r e s s C o m N o d e s , private key S K D U of D U in the blockchain
Output: T x t P a r t i _ s t o r a g e transaction
f o r   1 i n
   d o
    /* A A s encrypt _ t P a r t i with their public keys P K A A s in the blockchain*/
     E t P a r t i = E n c P K A A s ( t P a r t i )
    /* D U compute the hash value of the transaction i d , E t P a r t i and the address of the nodes a d r e s s C o m N o d e s .*/
     s t P a r t i = h a s h i d , E t P a r t i , a d r e s s C o m N o d e s
    /* D U sign s t P a r t i with their private keys S K D U in the blockchain*/
     s i g n = s i g n S K D U ( s t P a r t i )
     T x t P a r t i _ s t o r a g e = i d , E t P a r t i , a d r e s s C o m N o d e s , s i g n
   r e t u r n   T x t P a r t i _ s t o r a g e

3.5.4. T x t P a r t i _ s t o r a g e Verification Stage

Each node receives the T x t P a r t i _ s t o r a g e transaction; obtains the transaction i d , E t P a r t i , and a d r e s s C o m N o d e s from it; and compares it with the D U signed digest s t P a r t i by computing the hash value s t P a r t i of the three, as shown in Algorithm 2. If it returns t r u e , it means the verification passes, and nodes in the blockchain will obtain E t P a r t i from the T x t P a r t i _ s t o r a g e transaction to keep it on behalf of the A A s .
Algorithm 2  T x t P a r t i _ s t o r a g e verification transaction.
Input: T x t P a r t i _ s t o r a g e , public key P K D U of D U in the blockchain
Output: verification results
f o r   1 i n
   d o
    /*Nodes compute the hash value of the transaction i d , E t P a r t i and the address of the nodes a d r e s s C o m N o d e s .*/
     s t P a r t i = h a s h i d , E t P a r t i , a d r e s s C o m N o d e s
    /*Countersign*/
     s t P a r t i = C o m p u t e P K D U s i g n
     i f   s t P a r t i = s t P a r t i
       r e t u r n   t r u e
     e l s e
       r e t u r n   f a l s e

3.5.5. T x t P a r t i _ s h a r i n g generation Stage

In Algorithm 3, A A s obtains E t P a r t i through the T x t P a r t i _ s h a r i n g = i d , E t P a r t i , a d r e s s A A s , s i g n transaction and decrypts E t P a r t i with its own private key S K A A s to obtain t P a r t i . The above three transactions coordinate with transferring t P a r t i from D U to A A s and, at the same time, record the transmission process of the actual key parameter t P a r t i on the blockchain. It reduces the security risks faced by t P a r t i in the process and realizes the traceability of key parameters.
Algorithm 3   T x t P a r t i _ s h a r i n g generation transaction.
Input: transaction i d , E t P a r t i , the address of the A A s   a d r e s s A A s , private key S K C o m N o d e s of the nodes in the blockchain
Output: T x t P a r t i _ s h a r i n g transaction
f o r   1 i n
   d o
    /*Nodes in the blockchain compute hash value*/
     s h t P a r t i = h a s h i d , E t P a r t i , a d r e s s A A s
    /*Nodes sign s h t P a r t i with their private keys S K C o m N o d e s in the blockchain*/
     s i g n = s i g n S K C o m N o d e s ( s h t P a r t i )
     T x t P a r t i _ s h a r i n g = i d , E t P a r t i , a d r e s s A A s , s i g n
   r e t u r n   T x t P a r t i _ s h a r i n g

3.5.6. Key Generation Stage

The algorithm is executed by the A A s that keep the t P a r t i . The algorithm takes the set of user attributes U = ( u 1 , u 2 , u 3 , u l ) , t P a r t i , P K , and M S K as inputs, and outputs the user’s private key S K . The A A s firstly reconstructs the value t secretly, and for each u i U , the respective attribute authorization center computes the private key component D i , 1 .
g x = i = 1 m x x j x i x j
t = i = 1 m t P a r t i · g x i
u i U , S K = D i , 1 , D 2 , D 3 , D 4 = D i , 1 = H u i r t , D 2 = g 1 β , D 3 = g α t , D 4 = g r
The user combines the above four key components to obtain S K = D i , 1 , D 2 , D 3 , D 4 . The above private key generation stage has at least threshold value m attribute authorization centers for collaborative computation to secretly reconstruct the value t . Therefore, a single A A i does not have the ability to generate D U key components. When a single authorization center suffers from the attack, the security of the whole system will not be affected, which ensures that the D U private key will not be leaked.

3.5.7. Encryption Stage

The encryption phase is performed by D O . This paper adopts the linear secret sharing schemes (LSSS) access structure. The algorithm takes P K , plaintext M , and k × l access matrix A as inputs, where ρ maps each row of the matrix to an attribute. The output is the ciphertext C T associated with the access structure A . The algorithm chooses the random vector v = ( s , v 2 , v l ) Z p l , v 2 , v l for sharing the secret s . λ x = A x v T is calculated. The random vector ω = ( 0 , ω 2 , ω l ) Z p l is chosen and ω x = A x ω T is chosen, where A x represents the vector corresponding to the xth row of matrix A . L x = x | ρ ( x ) S is defined, z x Z p is chosen at random, and the following is computed:
C M = M e g , g s r
x 1 , k , C T = C T i v , C T v = ( C x , 1 , C x , 2 ) x 1 , k , ( C x , 3 , C x , 4 , C M ) x 1 , k = C x , 1 = H ρ x r z x , C x , 2 = g α z x g α , C x , 3 = H ρ x α β g ω x , C x , 4 = g λ x , C M = M e g , g s r
In this paper, the shared data are subjected to a blockchain-based decentralized trusted verification of access rights and encryption/decryption correctness, and the ciphertext C T components are classified into two categories: pre-verification ciphertext C T i v and decryption ciphertext C T v . The ciphertext C T is uploaded to the blockchain and verified through the T x C T i v _ s t o r a g e generation transaction. In the encryption phase, D O also needs to calculate the hash value h a s h m of the plaintext M , upload it to the blockchain through the T x h a s h m _ s t o r a g e transaction, and verify it. The T x C T v _ s t o r a g e generation transaction and T x h a s h m _ s t o r a g e generation transaction are similar to the T x t P a r t i _ s t o r a g e generation transaction and T x C T v _ s t o r a g e verification transaction, respectively; and the T x h a s h m _ s t o r a g e verification transaction is similar to the T x t P a r t i _ s t o r a g e verification transaction.

3.5.8. Policy Comparison Stage

In Algorithm 4, if the D O needs to update the access policy, the D O invokes the policy comparison algorithm deployed in the smart contract, and this algorithm outputs the results R 1 , R 2 , and R 3 by determining the type of the new policy attribute ρ j .
Algorithm 4 Policy comparison algorithm.
Input: old policy ( A , ρ ) , new policy ( A , ρ )
Output :   R x ( 1 , 2 , 3 )
f o r   j [ 1 , k ]   d o
   i f   ρ ( j ) exist in A   t h e n
     i f   L x and x L x , ρ ( x ) = ρ j
      add ( j , x ) into R 1
      delete x from L x
    else
       x [ 1 , k ] , ρ ( x ) = ρ j
      add ( j , x ) into R 2
  else
    add ( j , 0 ) into R 3

3.5.9. Updated Key Generation Stage

At the updated key generation stage, D O inputs P K , selects the updated key U K x ( A , B , C ) according to the output of the policy comparison algorithm, and constructs new random vectors v Z p l and ω Z p l , where the first terms are s and 0 , respectively. D O computes λ j = A j v T and ω j = A j ω T . The generated policy updated key U K m is sent to the blockchain and verified by the T x U p K e y g e n _ s t o r a g e transaction, which is similar to the T x t P a r t i _ s t o r a g e transaction.
j 1 , k , j , x R 1 : U K 1 = U K 1 , A = g ω j ω x , U K 1 , B = g λ j λ x j 1 , k , j , x R 2 : U K 2 = a j , U K 2 , A = g ω j a j ω x , U K 2 , B = g λ j a j λ x ,
where r j = r x a j , α j = α x a j and
j [ 1 , k ] , ( j , x ) R 3 : U K 3 = U K 3 , A = H ρ j r j z j , U K 3 , B = g α j z j g α j , U K 3 , C = H ρ j α j β j g ω j , U K 3 , D = g λ j

3.5.10. Updated Ciphertext Generation Stage

After receiving the policy updated key U K x ϵ ( 1 , 2 , 3 ) , the blockchain inputs the P K and the old ciphertext C T and updates the ciphertext as follows.
  • If U K 1 ,
C j , 1 = C x , 1 = H ρ j r j z j C j , 2 = C x , 2 = g α j z j g α j C j , 3 = C x , 3 · U K 1 , A = H ρ ( x ) α x β x g ω x g ω j ω x = H ρ j α j β j g ω j C j , 4 = C x , 4 = g λ x · U K 1 , B = g λ x g λ j λ x = g λ j
  • If U K 2 ,
C j , 1 = ( C x , 1 ) a j = H ρ x a j r x z x = H ρ j r j z j C j , 2 = ( C x , 2 ) a j = g α x z x a j g α x a j = g α j z j g α j C j , 3 = ( C x , 3 ) a j · U K 2 , A = H ρ x a j α x β x g a j ω x · g ω j a j ω x = H ρ j α j β j C j , 4 = ( C x , 4 ) a j U K 2 , B = g a j λ x g λ j a j λ x = g λ j ,
where r j = a j r x and α j = α x a j .
  • If U K 3 ,
C j , 1 = U K 3 , A = H ρ j r j z j C j , 2 = U K 3 , B = g α j z j g α j C j , 3 = U K 3 , C = H ρ j α j β j g ω j C j , 4 = U K 3 , D = g λ j
The blockchain is authorized to re-encrypt the ciphertext, and the policy updated key only reveals the relationship between the old and new access policies. It does not disclose any information about the encrypted data.

3.5.11. Decryption Stage

The decryption phase consists of two parts: pre-verification and decryption. Pre-verification verifies whether the D U has access rights to the data, and the D U invokes the smart contract through the contract generation transaction T x c o n t r a c t and obtains the partial ciphertext before decryption to verify the access rights. If the D U attribute sets satisfy the access policy, the algorithm will output the correct result. Otherwise, it will output , as shown in Algorithm 5.
Algorithm 5 Pre-verification algorithm.
Input :   C T i v D i , 1 D 3 P K
Output :   r e s u l t or
f o r   1 i n
   d o
     e C x , 2 , D i , 1 = e g α z x g α , H u i r t = e ( g , H u i ) α z x r t · e ( g , H u i ) α r t
     e g α , D i , 1 = e g α , H u i r t = e ( g , H u i ) α r t
     e C x , 1 , D 3 = e H ρ ( x ) r z x , g α t = e ( H ( ρ ( x ) , g ) r z x α t
     i f   e C x , 2 , D i , 1 e C x , 1 , D 3 · e C x , 1 , D 3 = 1
       r e s u l t = e C x , 2 , D i , 1 , e C x , 1 , D 3
       r e t u r n   r e s u l t
     e l s e
       r e t u r n  
After verifying the access rights, the fully trusted D U receives the r e s u l t , obtains the decrypted ciphertext C T v from the blockchain through the T x C T v _ s h a r i n g transaction, and decrypts it with the private key. In the decryption phase, D U inputs P K , D U ’s private key S K , and value t . If the value of t is the same as the value of t after collaborative computation by m attribute authorization centers in K e y g e n phase, the following computation is performed:
e C x , 4 , D 4 = e g λ x , g r = e g , g λ x r
e C x , 3 , D i , 2 r t = e H ρ x α β g ω x , g 1 β r t = e ( H ( ρ ( x ) , g ) α r t · e g , g r t ω x β
C ~ = e C x , 2 , D i , 1 · e g , g λ x r e ( H ( ρ ( x ) , g ) α r t · e g , g r t ω x β · e C x , 1 , D 3
In the above process, t = t proves that m semi-trusted attribute authorizations correctly compute the value t , and the legitimate D U obtains the correct key component. If C ~ = e ( g , g ) λ x r e ( g , g ) r t ω x β ), then D U chooses the constant c x Z p that satisfies c x A x = ( 1,0 , , 0 ) and computes
C M C ~ c x = M
This process generates plaintext M . The user D U encrypts the plaintext M obtained from the decryption algorithm with the help of the SHA256 algorithm and compares its hash value h a s h m with the h a s h m obtained through the blockchain T x h a s h m _ s h a r i n g transaction. If h a s h m = h a s h m , then the decryption is correct and the data are complete.

4. Proof of Security

Definition 1.
(The Decisional q-Parallel Bilinear Diffie–Hellman Exponent problem): Choose a group  G  of prime order p according to the security parameter. Let  a , s , b 1 , , b q ϵ Z q  be chosen at random and  g  be a generator of  G . If an adversary is given,  y =
g , g s , g a , , g a q , g a q + 2 , , g a 2 q 1 j q g s · b j ,   g a b j , , g a q b j , g a q + 2 b j , , g a 2 q b j 1 j , k q , k j g a s b k b j , , g a q s b k b j
It must remain difficult to distinguish e ( g , g ) a q + 1 s ϵ G T from a random element in G T . An algorithm B that outputs z ϵ ( 0 , 1 ) has an advantage ε in solving the decisional q-parallel BDHE in G if
P r B y , T = e ( g , g ) a q + 1 s = 0 P r B y , T = R = 0 ε
We say that the (decision) q parallel-BDHE assumption holds if no polytime algorithm has a non-negligible advantage in solving the decisional q-parallel BDHE problem.
Theorem 1.
Suppose an adversary  A  can attack this scheme with a non-negligible advantage ε; in probabilistic polynomial time. Then, a challenger  C  can solve the q-Parallel BDHE hypothesis with an advantage of  ε / 2 .
Proof of Theorem 1.
The challenger picks two multiplicative cyclic groups  G and G T , the generator g , and the bilinear mapping e : G × G G T . Set a q-Parallel BDHE challenge with randomly chosen b ϵ 0 , 1 , R ϵ G T , and take Z = e ( g , g ) a q + 1 s if b = 0 ; otherwise, take T = R .
  • Initialization phase.
The challenger C obtains the access structure ( A * , ρ * ) that the adversary A wishes to challenge, and A * is a k * × l * matrix. C chooses the random number α Z p such that e g α , g a q e ( g , g ) α = e ( g , g ) α , with the implication that α = α + a q + 1 .
For each x in A x , C chooses m x at random. Let X be the set of x satisfying ρ * x = x . It can be sought that
H A x = g m x x X g a A x , 1 * b i · g a 2 A x , 1 * b i · · g a l * A x , l * b i
The above expression g m x is randomly distributed, so H A x is also randomly distributed. If X = , H A x = g m x .
  • Querying private key phase 1.
Adversary A adaptively submits a set of attributes U not satisfying ( A * , ρ * ) to ask for the private key. Challenger C chooses the random number r Z p and finds the vector ω = ( ω 1 , ω 2 , ω l ) Z p l * with the first term ω 1 = 1 , ω · A x * = 0 for ρ * ( x ) U . Define K = g r x = 1 l * ( g a q + 1 x ) ω x = g t , where t = r + ω 1 a q + ω 2 a q 1 + + ω l a q l * + 1 .
Challenger C cannot model the unknown term g a q + 1 b i , so it must be ensured that the K x expression does not contain a term of the form g a q + 1 b i . Challenger C computes K = g α g a r x = 2 l * ( g a q + 2 x ) ω x .
If x U and there is no x such that ρ * i = x , one can make K x = K m x .
If x U , there is more than one x such that ρ * i = x , and all equations of the form g a q + 1 b i can be cancelled out by ω · A x * = 0 . Let X be the set of x satisfying ρ * x = x . C constructs K x according to the following equation:
K x = K m x i X j = 1 l * ( g a j b i ) r u = 1 , l * u j ( g a q + 1 + j n b i ) ω u A i , j *
  • Challenge phase.
The adversary A submits two equal-length challenge messages m 0 and m 1 to the challenger C . C chooses at random b ( 1,0 ) and the random numbers y 2 , , y l * and uses v for secret sharing on s .
v = ( s , s a + y 2 , s a 2 + y 3 , , s a l 1 + y l * ) Z p l *
In addition, C randomly selects z 1 , , z l to generate the challenge ciphertext C T * as follows:
C M = m b · Z · e g s , g α C x , 1 = H r z l ρ ( x ) ,   C x , 2 = g α z l g α ,   C x , 3 = g α β g ω x ,   C x , 4 = g λ x
  • Querying private key phase 2.
Similar to Phase 1.
  • Guessing phase.
The adversary A outputs a guess b for b . If b = b , challenger C outputs μ = 0 , denoting Z = e ( g , g ) a q + 1 s ; otherwise, challenger C outputs μ = 1 , denoting Z = R . A ’s advantage in that game is defined as ε .
If μ = 0 , A obtains a valid ciphertext and P r b = b | μ = 0 = 1 2 + ε ;
C guesses that b = b when μ = 0 and P r μ = μ | μ = 0 = 1 2 + ε ;
If μ = 1 , A obtains invalid information and P r b b | μ = 1 = 1 2 ;
C guesses that b b when μ = 1 and P r μ = μ | μ = 1 = 1 2 .
Thus, the advantage of C in solving the deterministic hypothesis q-Parallel BDHE problem is
A d v A = P r b = b 1 2 = 1 2 P r μ = μ | μ = 0 + 1 2 P r μ = μ | μ = 1 1 2 = 1 2 1 2 + ε + 1 2 × 1 2 1 2 = ε 2        
Based on the q-Parallel BDHE hypothesis, the challenger has a non-negligible advantage, proving that the scheme proposed in this paper is IND-CPA-safe under the q-Parallel BDHE hypothesis.

5. Performance Analysis

5.1. Functional Comparison

This section presents a comparative analysis of the schemes of reference [3,14,24] and this paper in terms of six aspects: access structure, multiple authorization centers, policy update, pre-validation, correctness verification, and blockchain, as shown in Table 2. The symbols × and √ represent whether the scheme has the function. Table 2 shows that reference [14] implements decryption correctness verification, and this paper and reference [24] implement decentralized trusted verification based on blockchain, which implements a pre-verification of access rights and verification of decryption correctness, respectively. Among these three schemes, reference [24] has only one authorization center to manage all users’ attributes and key distribution, which is a heavy workload and faces trust crises. Zhang et al. [14] and the scheme proposed in this paper also implement the access policy update function under the premise of multiple authorization centers. However, the access structure of reference [14] adopts a simple AND gate, which supports only the AND form when expressing the access policy and cannot express access policies with more complex logical structures, and is also limited in realizing fine-grained access control. Meanwhile, the multi-authorization center in the system designed in reference [14] needs a fully trusted third-party central authority to distribute global parameters for it, but in some application scenarios, the fully trusted third party does not exist, in which case the semi-trusted multi-authorization center may distribute incorrect private keys to legitimate data visitors, and the practical application scenarios of reference [14] are greatly limited. This is the reason why this paper designs the data visitor to provide the t-value in advance, which ensures that the semi-trusted multi-authorization center still generates the correct private key for the legitimate user in the absence of a third-party fully trusted central authority. In addition, the blockchain introduced in this paper’s scheme also guarantees that the data delivered under the de-trusted condition are not tampered with. In summary, the scheme in this paper realizes the above essential features simultaneously, solves the trust problem of access control systems in practical application scenarios, and is functionally superior to other schemes.

5.2. Comparison of Computation

Table 3 demonstrates the computational overhead of [3,14,24] and this paper, where n u and n p represent the number of attributes and the number of policies, respectively; e x p G and e x p G 1 represent the exponential operation in G and G 1 , respectively; and e is the bilinear operation. Table 3 shows that this paper’s scheme has the lowest total computational overhead in key generation, encryption, and decryption.

5.3. Efficiency Analysis

This experiment is based on Ubuntu 22.04.2 LTS and the Charm-crypto library, running on a computer (Intel(R) Core(TM) i5-7300HQ CPU @ 2.50 GHz,8.00 GB RAM). In this paper, we use a 160-bit group of elliptic curves in hyper-singular curve y = x 3 + x over a 512-bit finite field. The experimental data are taken as the average value of the data obtained from 20 runs. This section compares this scheme with the existing schemes mainly in key generation time, encryption time, and decryption time.
Figure 3 shows the variation in key generation time with the number of attributes in [3,14,24] and the proposed scheme in this paper. Since reference [24] needs to create the vector y for decryption, it has the highest computational overhead and the longest key generation time. The key generation time of this paper’s scheme is very low and basically does not vary with the number of attributes, which is close to that of reference [3]. However, the key generation process in reference [3] is managed by only one authorization center, which is inefficient and less secure.
Figure 4 illustrates the variation in encryption time with the number of attributes in [3,14,24] and the proposed scheme in this paper. All the results are linearly related to the number of attributes. Reference [14] is based on the AND gate access structure; its scheme sacrifices more fine-grained access policies for a lower cost encryption time. Reference [3] does not support the policy update function that facilitates the data owner to perform access control. However, in the actual access process, to dynamically adapt to changes in the environment and keep the shared data in a controllable range, the data owner must be able to formulate and update the access policy according to the demand dynamically and flexibly. This paper uses the linear secret sharing scheme, which is practical in that it can be implemented in any monotonic access structure despite the slightly higher encryption cost and can be used for policy updates without compromising user privacy.
Compared with the existing schemes, this paper, in order to ensure that legitimate users will not obtain the wrong key components provided by the semi-trusted attribute authorization centers, chooses to verify the correctness of the t computed by the m attribute authorization centers by the value t provided by the D U in the decryption phase, increasing the e x p G operation and making the decryption stage slightly more computationally intensive than in reference [14] and reference [24], as shown in Figure 5. However, in reference [14], only linear operations are required for decryption because this scheme supports only AND gate structures. Reference [24], on the other hand, outsources most of the decryption computation to the blockchain, which significantly increases the cost of using the blockchain.
In order to comprehensively and holistically compare the performance of the four schemes, this paper finds the sum of the key generation time, the encryption, and the decryption time of each scheme, as shown in Figure 6. Figure 6 shows that this paper’s scheme spends the lowest sum of time in the key generation, encryption, and decryption stages, consistent with each scheme’s theoretical and computational overhead results demonstrated in Table 3.

5.4. Blockchain Network Simulation

In the blockchain simulation experiment, this paper builds the Fabric consortium blockchain based on Ubuntu 22.04.2 LTS, which uses the PBFT consensus algorithm. The chaincode used in the scheme is developed with the Golang language. In this paper, the Caliper tool measures the transaction throughput and latency of the generation and verification transactions under different numbers of transactions. The test object of this experiment is a randomly selected node from the blockchain network, and the test content is the generation transaction and the verification transaction with a concurrency of 100–1000.
Throughput is the speed at which the blockchain ledger receives transactions, measured by the number of transactions executed per second. Figure 7 shows the throughput of two types of transactions for different transaction numbers in the blockchain. From Figure 7, as the number of transactions increases, the throughput of a single node remains near 120, indicating that the scheme proposed in this paper has good scalability.
Figure 8 shows the variation in transaction latency with the number of transactions in the proposed scheme. The results show that the latency of both types of transactions increases linearly with the number of transactions because increasing the number of transactions causes the waiting queue to become longer. Nonetheless, the generation transaction and verification transaction time remain within 10 s with a concurrency of 100–1000. Each node has a faster transaction speed, which provides a high-performance service.

6. Conclusions

This paper proposes a multi-authorization access control scheme based on blockchain and CP-ABE, adopting a matrix access structure and supporting policy update functions to realize flexible and fine-grained access control. In this paper, blockchain is combined with attribute-based encryption, where the data owner embeds the access policy into the ciphertext data through attribute-based encryption and later uploads it to the blockchain. The blockchain records the transmission process of the data visitor’s private key to pre-verify the data visitor’s access rights. The combination of the two not only ensures the confidentiality and security of the data on the blockchain, but also realizes the auditable and highly transparent access process, which solves the problems of traditional access control, such as single-point failure, difficulty in meeting the principle of minimum authorization, difficulty in dynamically adapting to changes in the environment, and difficulty in verifying the access rights of the policy.

Author Contributions

Conceptualization, R.H. and Z.M.; data curation, J.W.; funding acquisition, R.H.; investigation, S.L.; methodology, X.L.; software, P.Z.; validation, L.L.; writing—original draft, Z.M.; writing—review and editing, R.H. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the Fundamental Research Funds for the Central Universities (Grant Numbers: 328202251, 3282023017). The APC was funded by the Fundamental Research Funds for the Central Universities (Grant Numbers: 328202251, 3282023017).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Data sharing is not applicable to this article.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Sahai, A.; Waters, B. Fuzzy identity-based encryption. In Proceedings of the Advances in Cryptology—EUROCRYPT 2005: 24th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Aarhus, Denmark, 22–26 May 2005; Springer: Berlin/Heidelberg, Germany, 2005; pp. 457–473. [Google Scholar]
  2. Goyal, V.; Pandey, O.; Sahai, A.; Waters, B. Attribute-based encryption for fine-grained access control of encrypted data. In Proceedings of the 13th ACM Conference on Computer and Communications Security, Alexandria, VA, USA, 30 October–3 November 2006; pp. 89–98. [Google Scholar]
  3. Waters, B. Ciphertext-policy attribute-based encryption: An expressive, efficient, and provably secure realization. In Proceedings of the International Workshop on Public Key Cryptography, Taormina, Italy, 6–9 March 2011; Springer: Berlin/Heidelberg, Germany, 2011; pp. 53–70. [Google Scholar]
  4. Feng, T.; Kong, F.; Liu, C.; Lu, Y. Multi-Authorization Attribute-Based Verifiable Encryption Scheme Based on Blockchain. Mob. Netw. Appl. 2023, 1–8. [Google Scholar] [CrossRef]
  5. Nakamoto, S. Bitcoin: A peer-to-peer electronic cash system. Decentralized Bus. Rev. 2008, 1–9. [Google Scholar]
  6. Li, T.; Wang, Z.; Chen, Y.; Li, C.; Jia, Y.; Yang, Y. Is semi-selfish mining available without being detected? Int. J. Intell. Syst. 2022, 37, 10576–10597. [Google Scholar] [CrossRef]
  7. Li, T.; Wang, Z.; Yang, G.; Cui, Y.; Chen, Y.; Yu, X. Semi-selfish mining based on hidden Markov decision process. Int. J. Intell. Syst. 2021, 36, 3596–3612. [Google Scholar] [CrossRef]
  8. Cheng, L.; Liu, J.; Xu, G.; Zhang, Z.; Wang, H.; Dai, H.-N.; Wu, Y.; Wang, W. SCTSC: A semicentralized traffic signal control mode with attribute-based blockchain in IoVs. IEEE Trans. Comput. Soc. Syst. 2019, 6, 1373–1385. [Google Scholar] [CrossRef]
  9. Pournaghi, S.M.; Bayat, M.; Farjami, Y. MedSBA: A novel and secure scheme to share medical data based on blockchain technology and attribute-based encryption. J. Ambient Intell. Humaniz. Comput. 2020, 11, 4613–4641. [Google Scholar] [CrossRef]
  10. Li, J.; Zhang, Y.; Chen, X.; Xiang, Y. Secure attribute-based data sharing for resource-limited users in cloud computing. Comput. Secur. 2018, 72, 1–12. [Google Scholar] [CrossRef]
  11. Sharma, P.; Jindal, R.; Borah, M.D. Blockchain-based cloud storage system with CP-ABE-based access control and revocation process. J. Supercomput. 2022, 78, 7700–7728. [Google Scholar] [CrossRef]
  12. Gao, J.; Yu, H.; Zhu, X.; Li, X. Blockchain-based digital rights management scheme via multiauthority ciphertext-policy attribute-based encryption and proxy re-encryption. IEEE Syst. J. 2021, 15, 5233–5244. [Google Scholar] [CrossRef]
  13. Ling, J.; Chen, J.; Chen, J.; Gan, W. Multiauthority attribute-based encryption with traceable and dynamic policy updating. Secur. Commun. Netw. 2021, 2021, 1–13. [Google Scholar] [CrossRef]
  14. Zhang, J.; Gong, Q.; Wei, Z.; Wang, X.; Yan, X.; Zhang, X. Efficient Multi-Authority Attribute-Based Encryption with Policy Hiding and Updating. In Proceedings of the 2022 IEEE 10th International Conference on Computer Science and Network Technology (ICCSNT), Dalian, China, 22–23 October 2022; IEEE: Piscataway, NJ, USA, 2022; pp. 34–38. [Google Scholar]
  15. Gupta, B.B.; Li, K.-C.; Leung, V.C.; Psannis, K.E.; Yamaguchi, S. Blockchain-assisted secure fine-grained searchable encryption for a cloud-based healthcare cyber-physical system. IEEE/CAA J. Autom. Sin. 2021, 8, 1877–1890. [Google Scholar]
  16. Guo, R.; Shi, H.; Zheng, D.; Jing, C.; Zhuang, C.; Wang, Z. Flexible and efficient blockchain-based ABE scheme with multi-authority for medical on demand in telemedicine system. IEEE Access 2019, 7, 88012–88025. [Google Scholar] [CrossRef]
  17. Zuo, Y.; Kang, Z.; Xu, J.; Chen, Z. BCAS: A blockchain-based ciphertext-policy attribute-based encryption scheme for cloud data security sharing. Int. J. Distrib. Sens. Netw. 2021, 17, 1550147721999616. [Google Scholar] [CrossRef]
  18. Gao, S.; Piao, G.; Zhu, J.; Ma, X.; Ma, J. Trustaccess: A trustworthy secure ciphertext-policy and attribute hiding access control scheme based on blockchain. IEEE Trans. Veh. Technol. 2020, 69, 5784–5798. [Google Scholar] [CrossRef]
  19. Vasishta, M.V.A.; Palanisamy, B.; Sural, S. Decentralized Authorization using Hyperledger Fabric. In Proceedings of the 2022 IEEE International Conference on Blockchain (Blockchain), Espoo, Finland, 22–25 August 2022; IEEE: Piscataway, NJ, USA, 2022; pp. 238–243. [Google Scholar]
  20. Varun, M.; Vasishta, M.V.A.; Palanisamy, B.; Sural, S. Decentralized Authorization in Web Services Using Public Blockchain. In Proceedings of the International Conference on Blockchain, Online, 10–14 December 2021; Springer: Cham, Switzerland, 2021; pp. 27–42. [Google Scholar]
  21. Lei, Y.; Jia, Z.; Yang, Y.; Cheng, Y.; Fu, J. A cloud data access authorization update scheme based on blockchain. In Proceedings of the 3rd International Conference on Smart BlockChain (SmartBlock), Zhengzhou, China, 20–25 October 2020; IEEE: Piscataway, NJ, USA, 2020; pp. 33–38. [Google Scholar]
  22. Singh, R.; Sturley, S.; Sharma, B.; Dhaou, I.B. Blockchain-enabled Device Authentication and Authorisation for Internet of Things. In Proceedings of the 2023 1st International Conference on Advanced Innovations in Smart Cities (ICAISC), Jeddah, Saudi Arabia, 23–25 January 2023; IEEE: Piscataway, NJ, USA, 2023; pp. 1–6. [Google Scholar]
  23. Honar Pajooh, H.; Rashid, M.; Alam, F.; Demidenko, S. Multi-Layer Blockchain-Based Security Architecture for Internet of Things. Sensors 2021, 21, 772. [Google Scholar] [CrossRef] [PubMed]
  24. Zhang, Z.; Zhang, J.; Yuan, Y.; Li, Z. An expressive fully policy-hidden ciphertext policy attribute-based encryption scheme with credible verification based on blockchain. IEEE Internet Things J. 2021, 9, 8681–8692. [Google Scholar] [CrossRef]
Figure 1. System model.
Figure 1. System model.
Sensors 23 08038 g001
Figure 2. Scheme operation flow.
Figure 2. Scheme operation flow.
Sensors 23 08038 g002
Figure 3. Key generation time for references [3,14,24] and this paper.
Figure 3. Key generation time for references [3,14,24] and this paper.
Sensors 23 08038 g003
Figure 4. Encryption time for references [3,14,24] and this paper.
Figure 4. Encryption time for references [3,14,24] and this paper.
Sensors 23 08038 g004
Figure 5. Decryption time for references [3,14,24] and this paper.
Figure 5. Decryption time for references [3,14,24] and this paper.
Sensors 23 08038 g005
Figure 6. Time of key generation + encryption + decryption for references [3,14,24] and this papers.
Figure 6. Time of key generation + encryption + decryption for references [3,14,24] and this papers.
Sensors 23 08038 g006
Figure 7. Throughput of the generation and verification transaction under different transaction numbers.
Figure 7. Throughput of the generation and verification transaction under different transaction numbers.
Sensors 23 08038 g007
Figure 8. Latency of the generation and verification transaction under different transaction numbers.
Figure 8. Latency of the generation and verification transaction under different transaction numbers.
Sensors 23 08038 g008
Table 1. Main parameters and definitions.
Table 1. Main parameters and definitions.
ParametersDefinitions
A A s Multiple attribute authorization centers
A A i Single attribute authorization center
D U Data visitors
D O Data owners
P K system public key
M S K System Master Key
S K user private key
S Attribute sets managed by the Attribute Authorization Center
e ( ) bilinear mapping
G , G 1 prime cyclic group
t P a r t i ( 1 , n ) Users secretly share key shares
T x X Transactions about X in the blockchain
a d r e s s X Address of X in the blockchain
P K X Public key of X in the blockchain
S K X Private key of X in the blockchain
E n c P K X ( Y ) Encrypt Y with the public key of X in the blockchain
h a s h Y Hash operation on Y
s i g n S K X ( Y ) Sign Y with the private key of X in the blockchain
C o m p u t e P K X Y Countersign Y with the public key of X in the blockchain
M Plaintext
C T Ciphertext
C T i v Pre-verification ciphertext
C T v Decrypted ciphertext
L x Policy Index Set
h a s h m plaintext hash
A x The vector corresponding to the xth row of matrix A
ρ j Attribute in line j of the policy
R x ( 1 , 2 , 3 ) Policy Comparison Determination Results
U K x ϵ ( 1 , 2 , 3 ) Policy Updated Key
Table 2. Comparison of the performance of different schemes.
Table 2. Comparison of the performance of different schemes.
SchemeBlockchainPre-VerificationCorrectness VerificationMulti-Authorization CenterPolicy UpdateAccess Structure
[3]×××××LSSS
[14]××AND
[24]××LSSS
Scheme of this paperLSSS
Table 3. The computational overhead of different schemes.
Table 3. The computational overhead of different schemes.
Scheme K e y g e n E n c D e c K e y g e n + E n c + D e c
[3] n u + 2 e x p G 3 n p + 1 e x p G + e x p G 1 n p e x p G 1 + ( 2 n p + 1 ) e n u + 3 n p + 3 e x p G + n p + 1 e x p G 1 + ( 2 n p + 1 ) e
[14] 3 n u + 2 e x p G n p + 3 e x p G + n p e x p G 1 4 e 3 n u + n p + 5 e x p G + n p e x p G 1 + 4 e
[24] 5 n u e x p G 5 n p + 2 e x p G + 2 e x p G 1 e x p G + ( n p + 1 ) e 5 n u + 5 n p + 3 e x p G + 2 e x p G 1 + ( n p + 1 ) e
Scheme of this paper n u + 3 e x p G 5 n p e x p G + e x p G 1 e x p G + 2 n p e n u + 5 n p + 4 e x p G + e x p G 1 + 2 n p e
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Hu, R.; Ma, Z.; Li, L.; Zuo, P.; Li, X.; Wei, J.; Liu, S. An Access Control Scheme Based on Blockchain and Ciphertext Policy-Attribute Based Encryption. Sensors 2023, 23, 8038. https://doi.org/10.3390/s23198038

AMA Style

Hu R, Ma Z, Li L, Zuo P, Li X, Wei J, Liu S. An Access Control Scheme Based on Blockchain and Ciphertext Policy-Attribute Based Encryption. Sensors. 2023; 23(19):8038. https://doi.org/10.3390/s23198038

Chicago/Turabian Style

Hu, Ronglei, Ziwei Ma, Li Li, Peiliang Zuo, Xiuying Li, Jiaxin Wei, and Sihui Liu. 2023. "An Access Control Scheme Based on Blockchain and Ciphertext Policy-Attribute Based Encryption" Sensors 23, no. 19: 8038. https://doi.org/10.3390/s23198038

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop