Next Article in Journal
MF-Match: A Semi-Supervised Model for Human Action Recognition
Previous Article in Journal
Spatial Localization of Transformer Inspection Robot Based on Adaptive Denoising and SCOT-β Generalized Cross-Correlation
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Weighted Attribute-Based Proxy Re-Encryption Scheme with Distributed Multi-Authority Attributes

1
School of Software, Jiangxi Agricultural University, Nanchang 330045, China
2
Faculty of Computer Science and Technology, Saint Petersburg Electrotechnical University “LETI”, Saint Petersburg 197022, Russia
3
Institute of Applied Physics, Jiangxi Academy of Sciences, Nanchang 330096, China
*
Author to whom correspondence should be addressed.
Sensors 2024, 24(15), 4939; https://doi.org/10.3390/s24154939
Submission received: 28 June 2024 / Revised: 27 July 2024 / Accepted: 29 July 2024 / Published: 30 July 2024
(This article belongs to the Section Internet of Things)

Abstract

:
Existing attribute-based proxy re-encryption schemes suffer from issues like complex access policies, large ciphertext storage space consumption, and an excessive authority of the authorization center, leading to weak security and controllability of data sharing in cloud storage. This study proposes a Weighted Attribute Authority Multi-Authority Proxy Re-Encryption (WAMA-PRE) scheme that introduces attribute weights to elevate the expression of access policies from binary to multi-valued, simplifying policies and reducing ciphertext storage space. Simultaneously, the multiple attribute authorities and the authorization center construct a joint key, reducing reliance on a single authorization center. The proposed distributed attribute authority network enhances the anti-attack capability of cloud storage. Experimental results show that introducing attribute weights can reduce ciphertext storage space by 50%, proxy re-encryption saves 63% time compared to repeated encryption, and the joint key construction time is only 1% of the benchmark scheme. Security analysis proves that WAMA-PRE achieves CPA security under the decisional q-parallel BDHE assumption in the random oracle model. This study provides an effective solution for secure data sharing in cloud storage.

1. Introduction

With technological advancements, internet services are becoming increasingly personalized, open, intelligent, and transparent. Under the driving forces of new technologies like cloud computing, big data, the Internet of Things, and artificial intelligence, user information is exhibiting explosive growth [1]. In an open, transparent, and interconnected environment, information security, integrity, confidentiality, availability, and ownership are critical [2]. However, traditional computer information storage and sharing methods impose high hardware and software requirements and cause many inconveniences due to low storage efficiency and cumbersome management. To meet the demand for large-capacity storage and sharing, more and more users are opting for cloud storage service platforms based on data centers [3]. Nevertheless, cloud storage may face security risks such as information leakage, and it is challenging to ensure the integrity, accuracy, and confidentiality of information [4,5,6]. The application of attribute-based encryption technology effectively resolves the limitation of traditional public key encryption in data sharing, where access is either fully authorized or completely prohibited, enabling the development of finer-grained access control [7]. Fine-grained access control ensures secure data sharing in multi-user and big-data scenarios. By specifying access policies, it allows only users with specific attributes to gain data access privileges. As illustrated in Figure 1, in a cloud storage system incorporating attribute-based encryption (ABE), the data owner encrypts the data file (File) using an encryption algorithm based on a specific access policy, generating ciphertext (Ct1, Ct2) with the access policy embedded within it. Subsequently, the data owner signs the ciphertext and transmits it in encrypted form for storage with the cloud service provider (CSP). The CSP maintains a table (ciphertext table) containing ciphertext identifiers (Id1, Id2) to facilitate user searches. Users retrieve the corresponding ciphertext from the CSP and attempt decryption using private keys generated by the Attribute Authority (AA). Decryption is successful if the user’s attributes (Attr) satisfy the access policy embedded in the ciphertext; otherwise, decryption fails.
Currently, most cloud storage sharing systems adopt a centralized management model, where the cloud service provider (CSP) centrally manages all data. If the CSP encounters hardware or software malfunctions or is attacked, it could lead to information loss, leakage, or service interruption. In contrast, blockchain, as a decentralized, immutable, and unforgeable distributed ledger technology, provides a new option for information security [8]. Blockchain ensures information integrity, non-repudiation, privacy, and tamper-resistance through decentralized storage, P2P transmission, smart contracts, consensus mechanisms, and encryption techniques. It packages information into blocks, chains them chronologically using a specific data structure, validates and stores the information through a consensus mechanism, and uses encryption algorithms to ensure secure information transmission and interaction. Smart contracts can automatically control system execution, reducing intermediaries and increasing operational transparency. Blockchain technology meets the modern demands for sharing, openness, fair competition, authenticity, integrity, security, and reliability [9]. Based on the differences in participants and consensus mechanisms, blockchain can be categorized into public, consortium, and private chains [10]. Public chains are open blockchains, where anyone can participate in network transactions and the consensus process. Public chains typically employ consensus mechanisms such as Proof of Work (PoW), which require substantial mining efforts to validate transactions and generate new blocks. Consortium chains are blockchains jointly managed by multiple pre-selected institutions or organizations. Only authorized nodes can participate in the consensus process. Consortium chains generally utilize the Raft algorithm or other lightweight consensus algorithms, eliminating the need for computationally intensive mining operations. Consortium chains balance performance and security, making them suitable for cross-organizational data sharing and collaboration. Private chains are blockchains entirely controlled by a single organization or institution.
Many scholars have achieved data access control in various scenarios by combining attribute-based encryption and blockchain technologies [11,12,13,14,15,16]. However, existing schemes have the following issues: implementing traditional ciphertext-policy attribute-based encryption, which does not allow for the modification of access policies, necessitates data owners to re-encrypt and re-store information on the blockchain, resulting in the accumulation of multiple encryptions and redundant data on the chain; relying on a centralized server for access control and authorization, which is prone to single-point failure; the limited expressiveness of access policies represent only the “satisfaction” or “non-satisfaction” of single attributes, resulting in complex access policies, large ciphertext sizes, and high encryption time costs as the number of attributes in the access policy increases. This study proposes a Weighted Attribute Authority Multi-Authority Proxy Re-Encryption (WAMA-PRE) with the following main contributions:
  • Incorporating blockchain and attribute-based proxy re-encryption achieves fine-grained data access control and storage segregation, transferring access control from the centralized CSP to a decentralized blockchain for enhanced data security.
  • It improves traditional algorithms by proposing a joint key generation algorithm involving multiple authorities and authorization centers, mitigating a single authorization center’s single-point failure.
  • It proposes weighted attribute representation for access policies, addressing the single attribute “satisfaction/non-satisfaction” limitation, simplifying policies, reducing ciphertext space, and improving encryption speed.
  • Experimental validation of the WAMA-PRE scheme’s storage and time efficiency performance. The scheme’s robust security against chosen-plaintext attacks is also verified under the random oracle model.
This paper comprises six sections. The Section 1, the Introduction, presents the research background, articulates the research issue, and outlines the study’s contributions. The Section 2, Related Work, reviews the current state of ABE research and its optimization schemes, identifying areas requiring further investigation. The Section 3, the Method, describes the proposed model design, algorithm design, and operational procedures. The Section 4, the Results, describes the experimental environment and presents the experimental outcomes of the proposed model. The Section 5, the Discussion, offers a quantitative analysis of the proposed model’s performance and provides a security proof. The Section 6, Conclusions, summarizes the research and presents future research prospects.

2. Related Work

Sahai et al. [17] adopted a fuzzy identity-based encryption approach and first proposed the concept of ABE, which has since seen substantial development and produced many critical solutions. Current attribute-based encryption schemes are mainly divided into two categories: one is Key-Policy Attribute-Based Encryption (KP-ABE) [18], and the other is ciphertext-policy attribute-based encryption (CP-ABE) [19]. Compared to KP-ABE, CP-ABE allows data owners to define flexible access policies, better meeting the data sharing needs in cloud storage, thus promoting the proposal of various CP-ABE schemes.
Wang et al. [20] proposed a file hierarchy attribute-based encryption scheme that utilizes an integrated access structure to encrypt hierarchical files, achieving secure access control for hierarchical shared data. Li et al. [21] proposed a searchable CP-ABE scheme with attribute revocation, preventing receivers from extracting sensitive information from the ciphertext by partially hiding the access structure while realizing attribute revocation and key updates. Feng et al. [22] introduced searchable encryption into attribute-based encryption, proposing a scheme supporting direct user revocation, where a central authority controls access to avoid the security risks of submitting private keys and access structures to the cloud server. Ge et al. [23] introduced data integrity protection into revocable attribute-based encryption and verified its confidentiality and integrity. This line of work shifts security risks to the central authority, raising the issue of how to verify the security of the central authority. To address this, Yang et al. [24] proposed a revocable CP-ABE scheme that delegates ciphertext updates and re-encryption to a semi-trusted third party, such as a cloud service provider, providing backward and forward secrecy. Zhang et al. [25] proposed a CP-ABE scheme supporting partial access structure hiding and key revocation, constructing the access structure using linear secret sharing and supporting “AND” and “OR” gate operations for access policies, making encryption and decryption control more flexible.
These attribute-based encryption schemes address the fine-grained access control and transmission confidentiality of cloud storage data to some extent. However, they still need to improve on their low efficiency, inflexible data sharing and delegation operations, inability to update permissions in real-time, and data availability issues. To solve these problems, researchers introduced proxy re-encryption techniques [26], which allow data owners to delegate data access rights to a proxy, enabling more flexible permission management without sharing decryption keys. It makes secure data sharing possible in distributed environments and improves the availability of cloud storage data, protecting data even if the cloud service provider is attacked.
Since the first proxy re-encryption scheme was proposed, proxy re-encryption schemes have made substantial progress over the past decade: schemes based on user identities rather than public keys [27] simplify the public key certificate verification of identity-based encryption but require explicit specification of receivers. Conditional ciphertext transformation based on identity-based encryption realizes partial decryption permission delegation but still in a one-to-one form [28]. Liang et al. [29] extended the conditions and identity descriptions based on proxy re-encryption and attribute encryption, proposing an attribute-based proxy re-encryption scheme and proving its chosen-plaintext security and master key security. Luo et al. [30] designed an attribute-based proxy re-encryption scheme supporting multi-valued negative attributes and wildcards, achieving master key security and access structure control. Concurrently, Mizuno and Doi [31] first proposed an attribute-to-identity mixed scheme. Attribute-based proxy re-encryption integrates the one-to-many access control of attribute-based encryption and the data delegation advantage of proxy re-encryption. However, it relies on a single authorization center, affecting security and efficiency. Introducing multiple attribute authorities [32,33,34] mitigates the security risks associated with centralized authorization. Therefore, Liu et al. [35] designed a Multi-Authority CP-ABPRE (MA-CP-ABPRE) scheme, replacing the single authorization center with multiple authority centers.
However, in terms of attribute matching, the access policies in existing schemes mainly use binary “satisfaction” and “non-satisfaction” representations of attributes, which are unable to accurately express the degree of attribute matching. Considering the different importance of attributes, researchers have proposed Ciphertext-Policy Weighted Attribute-Based Encryption (CP-WABE) schemes [36,37]. Fan et al. [38] proposed a scheme supporting multi-state attribute expressions, not only binary states, making attribute expressions more flexible and supporting dynamic joining and updating. Wang et al. [39] introduced the concept of weighted attributes, allowing an extension from binary to any state expression and reducing the complexity of access policies. Additionally, schemes supporting range attributes [40,41,42], such as time, location, and numerical ranges, provide more representative policy expressions.
The abovementioned schemes attempt to improve the accuracy of access policy attribute expressions through attribute refinement, state mapping, weight assignment, and other techniques, enhancing attribute expression capabilities to some extent. However, issues such as low efficiency or limited expression capability persist, with further improvement especially needed in the attribute representation within access policies.

3. Method

3.1. Model Design

This study proposes a WAMA-PRE scheme for distributed multi-attribute authorities, as illustrated in Figure 2. The system comprises the following key components:
Central Authority (CA): The CA is responsible for system initialization, receiving user key components generated by attribute authorities, and generating user keys. It registers each user and maintains a list containing user details to verify user authenticity.
Attribute Authority (AA): Each AA is responsible for generating private and public key pairs for the set of attributes within its domain. An AA can manage multiple attributes, but each attribute is managed by only one AA. AAs also generate user key components related to users’ attributes.
Data Owner (DO): The DO has absolute control over their shared data and can customize data access permissions, enabling fine-grained access control. Before uploading data to the cloud storage system, the DO encrypts the data using a defined weighted access policy.
Data Requester (DR): DRs consist of authorized and unauthorized users. Authorized users can decrypt ciphertexts using their attribute private keys. Unauthorized users gain access permissions by sending data-sharing requests to authorized users. When an unauthorized user wants to access encrypted data, an authorized user, acting as a data-sharing authorizer, is responsible for reviewing the data-sharing request. They generate a re-encryption key and send it to the orderer node cluster if approved.
Cloud Service Provider: the cloud service provider is responsible for storing ciphertexts uploaded by data owners and maintaining a ciphertext table.
Orderer Node Cluster: The orderer node cluster is crucial to ensuring transaction order consistency in the blockchain system. In this scheme, orderer nodes act as third-party proxies executing proxy re-encryption operations, modifying existing ciphertexts’ access policies, and recording re-encryption operations on the blockchain.
Blockchain Network: The blockchain network stores transactions and metadata of shared data. The metadata includes hash values of encrypted data in cloud storage. When data requesters download encrypted data from cloud storage, they can verify the hash values to ensure the integrity of the encrypted data.
Furthermore, the cryptographic symbols involved in the WAMA-PRE model scheme are presented in Table 1.

3.2. Algorithm Design

In the WAMA-PRE architecture, the proposed algorithms mainly include GlobalSetup, AASetup, KeyGen, Encrypt, ReKeyGen, ReEncrypt, Decrypt, and ReDecrypt, consisting of eight phases as follows:
  • GlobalSetup(1k) → MPK,MSK. Taking the security parameter 1k as input, it outputs the system public key MPK and the system master key MSK.
  • AASetup(MPK, Ui) → PKi,j,SKi,j. Taking the system public key MPK and the attribute set Ui managed by the attribute authority AAi as input, it generates the attribute public key PKi,j and the attribute private key SKi,j for each attribute attrj in Ui.
  • KeyGen(MSK, USKi, S) → USK. Taking the system master key MSK, user key component USKi, and attribute set S as input, it outputs the user key USK corresponding to the attribute set S.
  • Encrypt(MPK, (M, ρ), m) → CT. Taking the system public key MPK, weighted access structure (M, ρ), and plaintext m as input, it outputs the ciphertext CT.
  • ReKeyGen(MPK, USK, (M′,ρ′)) → RKS→(M′,ρ). Taking the system public key MPK, user key USK, and weighted access structure (M,ρ) as input, it outputs the re-encryption key RKS→(M′,ρ).
  • ReEncrypt(MPK, RKS→(M′,ρ), CT) →CT’. Taking the system public key MPK, re-encryption key RKS→(M′,ρ), and ciphertext CT as input, if the attribute set S corresponding to the user key USK satisfies the minimum weight of the access structure, i.e., S | = (M, ρ), it outputs the re-encrypted ciphertext CT′; otherwise, it outputs ⊥, indicating decryption failure.
  • Decrypt(MPK, USK, CT) → m. Taking the system public key MPK, user key USK, and ciphertext CT as input, if S | = (M, ρ), it outputs m; otherwise, it outputs ⊥.
  • DecryptR(MPK,USK,CT′) → m. Taking the system public key MPK, user key USK, and re-encrypted ciphertext CT′ as input, if S′ | = (M′,ρ′), it outputs the plaintext information m; otherwise, it outputs ⊥.

3.3. WAMA-PRE Execution Policy

The WAMA-PRE process mainly includes four stages: system initialization, data encryption and ciphertext on-chaining, data ciphertext retrieval and decryption, and ciphertext re-encryption.
  • System Initialization. In the blockchain system, the CA first executes the GlobalSetup function, taking the security parameter 1k as input, and selects two cyclic groups, G and GT, of prime order p, where g 1 and g 2 are generators of the group G. It randomly chooses a 0 , a 1 , a 2 Z p * , and e : G × G G T is a bilinear map. The hash functions are H 1 : { 0 ,   1 } * G and H 2 : G T Z p * , resistant to collusion. Equations (1) and (2) show that it outputs the system master key MSK and the system public key MPK.
    M S K = { a 1 , a 2 }
    M P K = { p , G , G T , g 1 , g , g a 0 , e , H 1 , H 2 , e ( g , g ) a 1 , g a 2 }
    In the blockchain network, the attribute universe is U = { a t t r 1 ,   a t t r 2 ,   ,   a t t r j } , and the weight set is W =   { w 1 ,   w 2 ,   ,   w n } , where attrj represents the j-th attribute, and w n represents the n-th weight. Therefore, this blockchain network contains j × n weighted attributes, obtaining the weighted attribute set A = { a t t r 1 : w 1 , ,   a t t r 1 : w n , ,   a t t r j : w 1 , ,   a t t r j : w n } . Each AA manages a subset of attributes. Let the current attribute authentication center be AAi. AAi executes the AASetup function, taking the system public key MPK and the attribute set Ui, managed by the attribute authority AAi, as input. As shown in Equation (3), the attribute authority AAi randomly selects h i , j Z p * as the private key SKi,j for each attribute a t t r j , and then it generates the attribute public key P K i , j as shown in Equation (4).
    S K i , j = { h i , j }
    P K i , j = { g a 0 h i , j , g h i , j , g a 2 h i , j }
    when new users join the blockchain system, they first register their identity information with the CA, including their attribute set S and personal information. The CA assigns the user a global user identifier GID and then sends a key construction request to the corresponding AA. After receiving the request, the AA generates the user key component USKi based on the user’s attribute information, as shown in Equation (5).
    U S K i = { K i = g a 0 h i , L i = g h i , , T i = g a 2 h i }
    where h i = h i , 1 + h i , 2 + h i , 3 + + h i , j , j S . After receiving the user key component, the central authority runs the KeyGen algorithm, as shown in Equation (6), to generate the user key USK for the user.
    U S K = { S , K = g a 0 h g a 1 , L = g h , T x = g a 2 h }
    where h = h 1 + h 2 + h 3 + + h k , and k is the number of involved attribute authorities; the attribute key USK is then sent to the user through a secure channel for storage.
  • Data Encryption and Ciphertext On-Chaining. For the data file File of the DO in the blockchain network, a globally unique file number UFID is generated. A random number ε G T is chosen, where GT is a cyclic group of prime order p, and the symmetric key k e y = H 2 ( ε ) is generated. The symmetric encryption algorithm E k e y is run, taking the symmetric key key and the data file File as input to generate the data ciphertext CF.
The DO selects appropriate attributes to formulate an access policy T, a Boolean expression containing “AND”, “OR”, and attributes. For example, T { ( A t t r 3   O R   A t t r 4   O R   A t t r 5 )   A N D   ( A t t r 1   A N D   A t t r 2 ) } . As illustrated in Figure 3, the access policy T is converted into a weighted access policy WT. Suppose the attribute weights for Attr3, Attr4, and Attr5 are set to 1, 2, and 3, respectively. These three attributes can be represented by a single attribute, “Attr6”, with different weights, denoted as “Attr6:1”, “Attr6:2”, and “Attr6:3”. It can be any state attribute, such as “Attr6:Attr3, Attr4, Attr5”. Consequently, the access policy T { ( A t t r 3   O R   A t t r 4   O R   A t t r 5 )   A N D   ( A t t r 1   A N D   A t t r 2 ) } can be transformed into W T { A t t r 6 : 1   A N D   ( A t t r 1   A N D   A t t r 2 ) } .
In the weighted access policy, “Attr6:1” represents the minimum threshold of 1 that needs to be met, implicitly including “Attr6:1”, “Attr6:2”, and “Attr6:3”. Compared to the access policy T, the weighted access policy WT reduces the number of attributes by two. Therefore, WT’s representation is more flexible and concise. During ciphertext computation, this approach will also decrease the number of attributes, thereby reducing storage space utilization.
The DO runs the Encrypt function, taking the system public key MPK, the symmetric key key, and an LSSS access structure ( M ,   ρ ) as input, where M is an l × n matrix, and the function ρ maps attributes to the rows of the matrix M. The process is as follows: First, a random shared secret value s Z p * is chosen, and a random vector v = ( s ,   y 2 ,   ,   y n ) Z p * is generated. λ i = v M i is computed, where i { 1 ,   ,   l } , and Mi is the i-th row vector of the matrix M. Then, random elements are chosen, and the computation process is shown in Equation (7).
C = ε e ( g , g ) a 1 s , C ˜ = g s , C = g 1 s , ( A 1 = g a 0 λ 1 ( g a 2 ) r 1 , B 1 = g r 1 ) , , ( A l = g a 0 λ l ( g a 2 ) r l , B l = g r l )
The key ciphertext CT is obtained, as shown in Equation (8).
C T = { ( M , ρ ) , C , C ˜ , C , ( A 1 , B 1 ) , , ( A l , B l ) }
The obtained key ciphertext CT and data ciphertext CF are uploaded to the cloud storage system. Then, a smart contract is called to store the metadata m e t a d a t a = { U F I D ,   C T c i d ,   C F c i d ,   p r o f i l e } of the shared data in the blockchain system. Here, CTcid and CFcid are the storage addresses of the key ciphertext CT and the data ciphertext CF in the cloud storage system, respectively, and the profile is a brief introduction to the data file.
3.
Data Ciphertext Retrieval and Decryption. In the blockchain network, authorized users can freely query the metadata metadata and use the queried metadata to retrieve the corresponding key ciphertext CT and data ciphertext CF from the cloud storage system. For example, let Alice’s key be USKAlice. An authorized user calls the Decrypt function, which inputs the original key ciphertext. The specific process is as follows: For I = { i : ρ ( i ) S A l i c e } and I ⊆ {1, …, l}, if {λi} is a valid share of the secret s according to the matrix M, and the user attribute set S1 = {“Attr1”, “Attr2”, “Attr6: 3”} is a subset of the weighted access policy WT, where the attributes “Attr1” and “Attr2” satisfy the (“Attr1ANDAttr2”) policy, and the weight of “Attr6: 3” is 3, which is greater than the minimum weight of “Attr6” in the access policy, i.e., 1. If the attribute set SAlice satisfies the access structure ( M , ρ ) , i.e., SAlice | = ( M , ρ ) , then there exists a constant set { ω i Z p * } such that Equation (9) holds. The intermediate variable is computed using Equation (10).
i I ω i λ i = s
θ = e ( C ˜ , K ) i I ( e ( A i , L ) e ( B i , T x ) ) ω i = e ( g s , g a 0 h g a 1 ) i I ( e ( g a 0 λ i ( g a 2 ) r i , g h ) e ( g r i , g a 2 h ) ) ω i = e ( g , g ) a 1 s e ( g , g ) a 0 h s e ( g , g ) a 0 h ( i I ω i λ i ) = e ( g , g ) a 1 s
Then, the symmetric key key is obtained using Equation (11).
H 2 ( C / θ ) = H 2 ( ε e ( g , g ) a 1 s / ( e ( g , g ) a 1 s ) ) = H 2 ( ε ) = k e y
Finally, the data file File is output by running the symmetric decryption function, taking the key and CF as input.
4.
Re-encryption of Ciphertext. When unauthorized users fail to decrypt, they cannot obtain the data file. In a blockchain network, when an unauthorized user attempts to obtain data, they first need to call a smart contract to acquire the metadata and then send a data-sharing request to an authorized user. This request information includes the metadata to be obtained and the unauthorized user’s GID. Upon receiving the request, if the authorized user agrees to share the data, they query the attribute information of the unauthorized user from the CA using their GID. A new weighted access policy NWT{“GID2ANDAttr6:1AND (“Attr1ANDAttr2”)} is defined, where GID2 is the globally unique identifier of the unauthorized user, and the access policy restricts access to only this user. As shown in Figure 4, the re-encryption key generation algorithm reKeyGen is run, taking the authorized user’s key USK and the new weighted access policy NWT as input and outputting the re-encryption key RK.
First, a random shared secret value s Z p * is chosen, a random vector v = ( s , y 2 , y n ) Z p * is generated, and λ i = v M i is computed, where i { 1 , , l } and M i are the i-th row vectors of the matrix M . Then, a random element r 1 , , r l Z p * is chosen, G T is randomly selected, and the computation steps are shown in Equation (12).
C = e ( g , g ) α s , C ˜ = g s , ( A 1 = g a λ 1 ( g β ) r 1 , B 1 = g r 1 ) , , ( A l = g a λ l ( g β ) r l , B l = g r l )
A random element δ Z p * is selected, and the re-encryption key R K s ( M , ρ ) is computed using Equation (13).
R K s ( M , ρ ) = { r k A = K H 2 ( ) g 1 δ , r k B = g δ , r k C = L H 2 ( ) , r k D = ( ( M , ρ ) , C , C ˜ , A 1 , B 1 , , A l , B l ) , r k E = S A l i c e , r k x = T x H 2 ( )
where r k A is a component K of the authorizer’s attribute key, calculated from the hash value H 2 ( ) , random element δ , and generator g 1 , and r k B is derived from the generator g and random element δ . r k C is computed using the authorizer’s attribute key component L and hash value H 2 ( ) . r k D represents the new weighted access structure and the new ciphertext obtained from Equation (12). r k E denotes the authorizer’s attribute set. r k x is the result of calculations involving the authorizer’s attribute key component T x and hash value H 2 ( ) .
The authorized user then constructs a re-encryption request containing the re-encryption key RK and the metadata and sends it to the ordering node cluster. Upon receiving the re-encryption request from the authorized user, the ordering node cluster runs the re-encryption algorithm reEncrypt, taking the key ciphertext CT and the re-encryption key RK as input and outputting the re-encrypted ciphertext RCT.
The specific steps are as follows:
For I = { i : ρ ( i ) S A l i c e } and I { 1 , , l } , if { λ i } are valid shares of the secret s based on the matrix M, and the attribute set satisfies the access structure ( M , ρ ) , i.e., S A l i c e | = ( M , ρ ) , then there exists a set of constants { ω i Z p * } such that Equation (9) holds. The ciphertext transformation component ϕ is obtained from Equation (14).
ϕ = e ( C ˜ , r k A ) / e ( C , r k B ) i I ( e ( A i , r k C ) e ( B i , r k ρ ( i ) ) ) ω i = e ( g s , ( g a h g α ) H 2 ( ) g 1 δ ) / e ( g 1 s , g δ ) i I ( e ( g a λ i ( g β ) r i , g h H 2 ( ) ) e ( g r i , ( g β ) h H 2 ( ) ) ) ω i = e ( g s , g a h H 2 ( ) ) e ( g s , g α H 2 ( ) ) e ( g , g a h H 2 ( ) ) i I ω i λ i = e ( g , g ) α H 2 ( ) s
The computation of the re-encrypted ciphertext RCT is obtained from Equation (15).
R C T = { C , ϕ , r k D }
The ordering node cluster returns the re-encrypted ciphertext RCT to the authorized user. Upon receiving RCT, the authorized user uploads it to the cloud storage system and calls the smart contract to store the address of RCT, as well as the re-encryption information, including the authorized user’s global identifier GID, the unauthorized user’s global identifier GID, the original ciphertext information, and the current timestamp, in the blockchain system. After obtaining the re-encrypted ciphertext RCT, the unauthorized user runs the decryption algorithm reDecrypt using their attribute private key, taking RCT and user Bob’s attribute key S K B o b as input. The specific steps of the algorithm are as follows:
For I = { i : ρ ( i ) S B o b } and I { 1 , , l } , if { λ i } are valid shares of the secret s based on the matrix M , and the attribute set S B o b satisfies the access structure ( M , ρ ) , i.e., S B o b | = ( M , ρ ) , then there exists a set of constants { ω i Z p * } such that i I ω i λ i = s holds. The value of the preceding variable θ is obtained from Equation (16).
θ = e ( C ˜ , K ) i I ( e ( A i , L ) e ( B i , T x ) ) ω i = e ( g s , g a h g α ) i I ( e ( g a λ i ( g β ) r i , g h ) e ( g r i , ( g β ) h ) ) ω i = e ( g , g ) α s e ( g , g ) a h s e ( g , g ) a h ( i I ω i λ i ) = e ( g , g ) α s
The essential secret value is obtained through Equation (17).
= C θ = e ( g , g ) α s e ( g , g ) α s
The symmetric key key is then computed using Equation (18).
H 2 ( C / ϕ 1 H 2 ( ) ) = H 2 ( ε e ( g , g ) α s / ( e ( g , g ) α H 2 ( ) s ) 1 H 2 ( ) ) = H 2 ( ε ) = k e y
Finally, the symmetric decryption function D k e y is run, taking the symmetric key key and the data ciphertext CF as inputs and outputting the data file File.

4. Results

The primary hardware environment consists of an Intel(R) Core(TM) i5-8250U CPU @ 1.60 GHz with 12 GB of RAM. The software environment utilizes Java for programming implementation, employing the Java Pairing-Based Cryptography (JPBC) library version 2.0.0. The experiments use a 160-bit elliptic curve group constructed from a 512-bit Type A supersingular curve defined by the equation y2 = x3 + x. Performance tests on WAMA-PRE are carried out while controlling the number of attribute authorities and attributes.

4.1. Performance Analysis with Different Number of Authorities

4.1.1. Time Overhead

With the number of attributes fixed at two, the number of authorities gradually increased from 2 to 12, with a step size of one. The experiment recorded the execution time, key size, and ciphertext size of WAMA-PRE under different numbers of authorities. As shown in Figure 5, as the number of authorities increases, the execution time of the proposed model’s Setup operation does not vary significantly, remaining around 240 ms. This is because the multiple attribute authorities execute the Setup in parallel. The Keygen operation time is short, less than 10 ms, and slightly increases because, as the number of communicating attribute authorities increases, the execution time of Keygen also gradually increases. The execution times of the Encrypt and Decrypt operations vary greatly, increasing linearly with the number of attribute authorities. The increased number of authorities leads to more complex access policies and, consequently, increased computation time. The time for ReKeyGen, ReEncrypt, and ReDecrypt operations also positively correlates with the number of authorities. As the number of authorities increases, computational complexity rises, leading to a notable increase in time overhead. Compared to user re-encryption operations, the proxy re-encryption operation saves 63% of time consumption.

4.1.2. Space Overhead

Figure 6 shows that, as the number of attribute authorities increases, the storage space occupied by the user’s private key remains around 994 bits, with slight variation. The user’s private key is obtained through group element multiplication. As the number of attribute authorities increases, the number of attributes in the access policy also gradually increases, and the storage space occupied by the ciphertext, which is closely related to the access policy, increases from 3634 bits to 16,816 bits. The sizes of the re-encryption key and re-encrypted ciphertext also slightly increase with the number of attribute authorities. The storage space occupied by the ciphertext, re-encryption key, and re-encrypted ciphertext are all positively correlated with the number of attribute authorities. However, the overall storage space occupied is relatively tiny.

4.1.3. Scalability Analysis

As the number of attribute authorities increases, the Setup operation time remains constant, which is beneficial for system scalability, especially when there are numerous attribute authorities. The Keygen operation time increases slightly but does not exceed ten milliseconds at its peak. The time overhead for the Encrypt, Decrypt, ReKeyGen, ReEncrypt, and ReDecrypt operations positively correlates with the number of attribute authorities. Although the time overhead for these operations increases, the actual time consumption remains relatively low. The storage space occupied by ciphertexts, re-encryption keys, and re-encrypted ciphertexts also positively correlates with the number of attribute authorities, but the overall space occupation is small. These results indicate that the WAMA-PRE scheme performs well in terms of scalability.

4.2. Performance Analysis with Different Number of Attributes

4.2.1. Time Overhead

With the number of authorities fixed at two, the number of attributes was gradually increased from 2 to 12. The experiment recorded the execution time and key size for each operation as the number of attributes varied. As shown in Figure 7, as the number of attributes increases, the execution time of all operations increases accordingly. Specifically, the execution time of the Setup operation increases from 243 ms to 2504 ms; the execution time of the Keygen operation is minimal, with a maximum of only 14 ms; the execution time of the re-encryption algorithm is reduced by 63% compared to the encryption algorithm; and the execution time of the decryption algorithm is not significantly different from that of the re-decryption algorithm.

4.2.2. Space Overhead

Figure 8 shows that, as the number of attributes increases, the storage space occupied by the user’s key remains relatively stable. In contrast, the storage space occupied by the ciphertext, re-encryption key, and re-encrypted ciphertext gradually increases, with the ciphertext storage space increasing from 3639 bits to 27,383 bits. The sizes of the re-encryption key and ciphertext slightly increase with the number of attributes. The storage space occupied by the ciphertext, re-encryption key, and re-encrypted ciphertext are all positively correlated with the number of attribute authorities. However, the overall storage space occupied is relatively tiny.

4.2.3. Scalability Analysis

As the number of attributes increases, the time overhead for the Setup operation continues to rise. However, considering that the Setup operation typically needs to be executed only once, this growth is within an acceptable range. It has a limited impact on the entire system’s real-time performance. The time overhead for the Keygen operation is minimal, with a maximum of only 14 ms, ensuring the scheme’s scalability regarding key generation. The growth in time overhead for the Encrypt, Decrypt, ReKeyGen, ReEncrypt, and ReDecrypt operations is also controllable. The storage space occupied by user private keys remains relatively stable, implying that the size of private keys is essentially unaffected by the increase in the number of attributes. The storage space occupied by ciphertexts increases with the number of attributes; nevertheless, considering modern storage technology advancements and network bandwidth advancements, this growth remains acceptable. The storage space occupied by re-encryption keys and re-encrypted ciphertexts also increases slightly with the number of attributes. However, the overall space occupation is small, indicating that the WAMA-PRE scheme has good scalability regarding storage requirements. The growth in time and space overhead of the WAMA-PRE scheme is within an acceptable range, making the scheme suitable for handling an increasing number of attributes and meeting the scalability requirements in practical applications.

5. Discussion

5.1. Quantitative Analysis

WAMA-PRE employs a weighted access policy, which, compared to traditional unweighted access policies, offers the advantages of more concise expression and lower storage space utilization. To discuss the difference between the two in terms of storage space usage, as illustrated in Figure 9, the weighted access policy (Weight) demonstrates a 50% reduction in storage space occupation compared to the traditional unweighted access policy (Old).
To further analyze and compare the performance of WAMA-PRE, this study conducted comparative experiments with the schemes proposed by Yang [43] and Banerjee [44]. Under controlled numbers of attribute authorities and attributes, the performance of different schemes was tested, with all thresholds in the access structure set to AND, representing the worst-case scenario for the algorithm.
As shown in Figure 10, when the number of attributes is fixed, and the number of authorities is gradually increased, the time efficiency of Banerjee’s scheme is better than Yang’s scheme. However, when the number of authorities is fixed, and the number of attributes is gradually increased, the time efficiency of Yang’s scheme is better than Banerjee’s scheme. Regardless of whether the number of attribute authorities or attributes is controlled, the execution time of WAMA-PRE’s KeyGen operation is significantly lower than the other two schemes.
This study compared the execution times of the Encrypt and Decrypt operations for the three schemes under controlled numbers of attribute authorities and attributes. As shown in Figure 11a, as the number of authorities increases, the encryption time of all three schemes grows linearly, with WAMA-PRE’s time consumption lower than Yang’s scheme but slightly higher than Banerjee’s scheme. Figure 11b shows that, as the number of authorities increases, the decryption time of WAMA-PRE is close to Yang’s scheme and lower than Banerjee’s scheme. Figure 11c shows that, as the number of attributes increases, the encryption time of WAMA-PRE is lower than Yang’s scheme but slightly higher than Banerjee’s scheme. As shown in Figure 11d, as the number of attributes increases, the decryption time of WAMA-PRE is slightly higher than Yang’s scheme.
Overall, the time cost of encryption and decryption in WAMA-PRE is lower than Banerjee’s scheme but slightly higher than Yang’s scheme. This is because WAMA-PRE supports proxy re-encryption, which requires additional computations. However, proxy re-encryption saves significant time and space in subsequent access policy updates.
This study analyzed the storage space occupied by the private keys of different schemes, with the results shown in Figure 12. Regardless of whether the number of attribute authorities or attributes is controlled, the storage space occupied by WAMA-PRE’s private key is the smallest. Specifically, when the number of authorities is fixed, Yang’s scheme occupies the most significant storage space; when the number of attributes is fixed, Banerjee’s scheme occupies the most significant storage space.
A comparison was made with the scheme proposed by Liu et al. [35], with the results shown in Figure 13. Figure 13a shows that the computational efficiency of the re-encryption algorithm in this paper’s scheme is 53% higher than that of Liu’s scheme, and Figure 13b shows that the computational efficiency of the re-decryption algorithm in this paper’s scheme is 32% higher than that of Liu’s scheme.

5.2. Theoretical Analysis

5.2.1. Functional Comparison

This study compared and analyzed the functionality of WAMA-PRE with Yang’s and Banerjee’s schemes, with the results shown in Table 2. It can be seen that, although Yang’s and Banerjee’s schemes also introduced multiple attribute authority centers, they cannot realize the re-encryption function. Additionally, the WAMA-PRE scheme adopts the LSSS access structure, enabling more flexible access policies without affecting efficiency, and introduces a weighted access policy, which, with the same access control effect, results in a more concise access policy and lower ciphertext space usage.

5.2.2. Storage Space Comparison

This study compared the storage space of WAMA-PRE with Yang’s and Banerjee’s schemes. For convenience of description, |G|, |GT|, and | Z p | represent the lengths of elements in groups G, GT, and Z p * , respectively, and n is the number of attributes. As listed in Table 3, compared to other schemes, the system public key, system master key, and user key in this paper’s system have significant advantages in terms of storage overhead.

5.2.3. Security Model Discussion

This study uses the AES symmetric encryption algorithm to encrypt plaintext information and employs a multi-authority weighted attribute-based proxy re-encryption algorithm to encrypt the symmetric key. Therefore, it is only necessary to provide security proof for the multi-authority weighted attribute-based proxy re-encryption. This paper defines a selective access structure and chosen-plaintext attack (SAS-CPA) security game between an adversary 𝓡 and a challenger 𝓒, with the following specific steps:
Initialization: the adversary 𝓡 selects a weighted access structure ( M , ρ ) and sends it to the challenger 𝓒.
Setup: The challenger 𝓒 runs GlobalSetup to output the system master key MSK and public key MPK. The system public key MPK is then sent to the adversary 𝓡. For each attribute attrj, the attribute authority AAi randomly selects h i , j Z p * as the key SKi,j and generates the attribute public key PKi,j.
Query Phase I: The adversary 𝓡 makes the following queries, and 𝓒 responds according to the following rules:
(1) Attribute key extraction query Q S K ( S 1 * ) : given an attribute set S1*, 𝓒 obtains the user key components from each attribute authority, runs the KeyGen algorithm to generate the user key USK𝓡, and sends it to 𝓡.
(2) Re-encryption key extraction query Q R K ( S 1 * , ( M , ρ ) ) : given an attribute set S2* and a new weighted access structure ( M ,   ρ ) , where S2*| ≠ (M, ρ), 𝓒 runs the ReKeyGen algorithm to generate the re-encryption key R K S 2 * ( M , ρ ) and then sends R K S 2 * ( M , ρ ) to 𝓡, where S 1 * | ( M * , ρ * ) , S 2 * | ( M * , ρ * ) .
Challenge: 𝓡 selects two equal-length messages m 0 and m 1 and sends them to 𝓒. 𝓒 randomly selects σ { 0 , 1 } , runs the Encrypt algorithm with input m σ , the weighted access structure ( M ,   ρ ) , and the system public key MPK to generate the ciphertext CT, and then it returns CT to 𝓡.
Query Phase II: 𝓡 repeats the operations of Query Phase I.
Guess: 𝓡 guesses σ * { 0 , 1 } . If σ * = σ , then 𝓡 wins the game. As shown in Equation (19), the advantage of 𝓡 winning the game is calculated.
A d v s A S C C B C P A B P R E ( 1 k ) = | Pr [ σ * = σ ] 1 2 |

5.2.4. Security Proof

Definition 1.
If an adversary can only win the SAS-CPA security game with a negligible advantage in any probabilistic polynomial time, the scheme is indistinguishable under a selective access structure and chosen-plaintext attack; i.e., the scheme is provably indistinguishable under the selective access structure and chosen-plaintext attack (IND-SAS-CPA) secure in the random oracle model.
Theorem 1.
If an adversary 𝓡 can win the SAS-CPA security game with a non-negligible advantage μ in any probabilistic polynomial time, then there exists a challenger 𝓒 that can solve the decisional q-parallel BDHE problem with an advantage of μ/2.
Proof of Theorem 1.
In the SAS-CPA security game, the challenger 𝓒 chooses two multiplicative cyclic groups G and G T of prime order p, a random generator g G , a bilinear map e : G × G G T , a q-parallel BDHE instance ξ, and T.
Initialization: 𝓡 sends the challenged weighted access structure (M*, ρ*) to 𝓒, where M* is an l* × n* matrix, l * , n * q .
Setup: 𝓒 chooses α 1 ,   γ Z p * and sets g 1 = g γ , e ( g , g ) a 1 = e ( g a 1 , g a 1 q ) e ( g , g a 1 ) . 𝓒 selects hash functions H1 and H2 and sends the system public key M P K = { p , G , G T , g 1 , g , g a 0 , e , H 1 , H 2 , e ( g , g ) a 1 , g a 2 } to 𝓡. 𝓒 simulates random oracles H j ( j { 1 , 2 } ) , controlled by 𝓒. If 𝓡 queries Hj, 𝓒 responds according to the following rules:
H1: For a query on x U A A i ( U A A i is the set of all attributes of attribute authority A A i ), if there exists a tuple ( x ,   z x ,   2 , x ) in the H1 list, 𝓒 returns the existing 2 , x to 𝓡, where z x Z p * , 2 , x G . Otherwise, 𝓒 constructs 2 , x as follows: Let X be the set of indices i such that ρ*(i) = x. X contains the same attribute x corresponding to the row labels in matrix M*. 𝓒 chooses z x Z p * and sets the value of 2 , x as shown in Equation (20).
2 , x = g z x i X g a 1 M i , 1 * / b i + a 1 2 M i , 2 * / b i + + a 1 n * M i , n * * / b i
If X is empty, 𝓒 sets 2 , x = g z x . 𝓒 returns 2 , x to 𝓡 and adds the tuple ( x ,   z x ,   2 , x ) to the H1 list.
H2: For a query on G T , if a tuple ( , b * ) exists in the H2 list, 𝓒 sends the existing value b* to 𝓡, where b Z p * . Otherwise, 𝓒 sets H 2 ( ) = b * , returns b* to 𝓡, and adds the tuple ( , b * ) to the H2 list.
Query Phase I: 𝓡 makes a series of queries to 𝓒, and 𝓒 responds according to the following rules:
Secret Key Query Q S K ( S 1 * ) : 𝓡 constructs a user secret key USK𝓡 for the attribute set S1* as follows: If S1*| = (M*, ρ*), 𝓒 randomly outputs {0, 1} and aborts the game. Otherwise, 𝓒 chooses a random element r s Z p * and finds a vector ω = ( ω 1 , , ω n * ) Z p * such that ω 1 = 1 and ω M * = 0 for i , ρ * ( i ) S 1 * .
𝓒 sets L, as shown in Equation (21).
L = g r S i = 1 , , n * g a 1 q + 1 i ω i = g h
Then, 𝓒 constructs K using Equation (22) and obtains a valid verification for K using Equation (23).
K = g a 1 g a 0 r S i = 2 , , n g a 0 q + 2 i ω i
K = g a 1 g a 0 r S i = 2 , , n g a 0 q + 2 i ω i = g a 1 g a 0 q + 1 g a 0 q + 1 g a 0 r S i = 2 , , n g a 0 q + 2 i ω i = g a 1 ( g r S i = 1 , , n g a 0 q + 1 i ) a 0 = g a 1 g a 0 h
If xS1*, and for all i { 1 , , l * } , ρ * ( i ) x , 𝓒 sets T x = L z x . Then, T is computed as shown in Equation (24) if X is non-empty or as shown in Equation (25).
T x = ( g a 2 h ) z x = 2 , x h
T x = L z x i X j = 1 , , n * ( g ( a 1 j / b i ) r S k = 1 , , n * , k j ( g a 1 q + 1 + j k / b i ) ω k ) M i , j * = L z x i X j = 1 , , n * ( g ( a 1 j / b i ) r S k = 1 , , n * , k j ( g a 1 q + 1 + j k / b i ) ω k ) M i , j * i X j = 1 , , n * ( g q + 1 / b i ) ω j M i , j * = ( g r S i = 1 , , n * g a 1 q + 1 i ω i ) Z x i X j = 1 , , n * ( g ( a 1 j / b i ) r S k = 1 , , n * ( g a 1 q + 1 + j k / b i ) ω k ) M i , j * = ( g z x i X g a 1 M i , 1 * / b i + a 1 2 M i , 2 * / b i + + a 1 n * M i , n * * / b i ) r S + ω 1 a 1 q + + ω n * a 1 q n * + 1 = 2 , x r S + ω 1 a 1 q + + ω n * a 1 q n * + 1 = 2 , x a 2 = g a 2 h
If S1*|≠ (M*, ρ*), the vector ω is obtained such that ω·M* = 0, allowing the expression in Equation (25) to be computed as shown in Equation (26).
i X j = 1 , , n * ( g q + 1 / b i ) ω j M i , j * = g a 1 q + 1 ( i X j = 1 , , n * ω j M i , j * / b i ) = g 0 = 1
Finally, 𝓒 adds the tuple ( S 1 * , USK𝓡) to the list and sends USK𝓡 to 𝓡.
  • Re-encryption Key Query Q R K ( S 2 * , ( M , ρ ) ) : 𝓡 queries Q R K with an attribute set S2* and a weighted access structure (M, ρ). If S2*| ≠ (M*, ρ*), 𝓒 first runs Q R K to obtain a user secret key and then outputs a re-encryption key R K S 2 * ( M , ρ ) in two steps:
  • Step 1: 𝓒 chooses δ , b Z p * , K ¯ G . 𝓒 computes the re-encryption key r k A = K ¯ g 1 δ , r k B = g δ , r k C = g b , r k x = 2 , x b , r k E = S 2 * , where 2 , x b is the output of querying H1 on x, for x S 2 , and constructs r k D .
  • Step 2: 𝓒 returns R K S 2 * ( M , ρ ) = ( r k A , r k B , r k C , r k D , r k E , r k x ) to 𝓡; otherwise, 𝓒 randomly outputs {0, 1} and aborts the game.
  • Challenge: 𝓡 sends two equal-length messages m 0 , m 1 to 𝓒. 𝓒 randomly chooses σ { 0 ,   1 } and responds as follows: For each row i of M*, 𝓒 sets x* = ρ*(i) and queries H 1 on x* to obtain the tuple ( x ,   z x ,   2 , x ) . 𝓒 chooses y 2 , , y n * Z p * and uses vector sharing to share the secret v = ( s , s a 1 + y 2 , s a 1 2 + y 3 , , s a 1 n * 1 + y n * ) Z p * . For all i { 1 , , l * } , where Ri is the set of all ik but ρ*(i) = ρ*(k). 𝓒 sets Ai* and Bi* using Equations (27) and (28).
    A i * = 2 , x r i ( j = 2 , , n * g a 1 M i , j * y j ) g b i s ( z x * ) ( k R i j = 1 , , n * ( g a 1 j s ( b i / b k ) ) M k , j * ) 1
    B i * = g r i + s b i
    It is defined that T e ( g s , g a 1 ) = C * / m σ and C ˜ * = g s , C * = g 1 s . 𝓒 outputs the challenge ciphertext C T * = ( ( M * , ρ * ) , C * , C ˜ * , C * , ( A 1 * , B 1 * ) , , ( A l * * , B l * * ) ) and sends it to 𝓡.
  • If T = e ( g , g ) a 1 q + 1 s , then CT* is a valid ciphertext.
  • Query Phase II: 𝓡 repeats the operations of Query Phase I.
  • Guess: 𝓡 guesses σ * { 0 ,   1 } . If σ * = σ , then 𝓒 outputs one and obtains T = e ( g , g ) a 1 q + 1 s ; otherwise, 𝓒 outputs 0, where T is a random element R G T . The following process calculates the probability of 𝓒’s success.
  • When the output is 1, i.e., T = e ( g , g ) a 1 q + 1 s , 𝓡 obtains a valid ciphertext. It is known that 𝓡 can win the game with a non-negligible advantage, so Pr [ σ * = σ | T = e ( g , g ) a 1 q + 1 s ] = 1 2 + μ .
  • When the output is 0, i.e., T = R, 𝓡 cannot obtain a valid ciphertext, so Pr [ σ * = σ | T = R ] = 1 / 2 . Therefore, 𝓒’s advantage in solving the decisional q-parallel BDHE problem is calculated as shown in Equation (29).
    A d v C q p a r a l l e l   B D H E = | Pr [ σ * = σ ] 1 2 | = | 1 2 Pr [ σ * = σ | σ = 0 ] + 1 2 Pr [ σ * = σ | σ = 1 ] 1 2 | = μ 2
    In summary, if 𝓡 can break the scheme with a non-negligible advantage μ, then 𝓒 can solve the decisional q-parallel BDHE problem with an advantage of μ/2, which contradicts the known hardness assumption. Therefore, the WAMA-PRE scheme is IND-sAS-CPA secure in the random oracle model. □
However, it is worth noting that the WAMA-PRE scheme is designed and experimented with only in a single blockchain system, and its limitation lies in its inability to be directly applied to a multi-chain environment. A multi-chain environment involves interaction and collaboration between multiple blockchain networks, posing higher complexity and unique challenges, such as cross-chain communication, data consistency, and security [45]. Future research should focus on extending the scheme to support a multi-chain environment, ensuring its effectiveness and reliability in a more complex blockchain ecosystem.

6. Conclusions

This study proposes a multi-authority weighted attribute-based proxy re-encryption scheme by combining blockchain technology and attribute-based proxy re-encryption techniques and designs a blockchain-based access control method for cloud storage data. The scheme utilizes attribute-based encryption technology to solve cloud storage data’s privacy and security issues while enabling data sharing and fine-grained access control. Using proxy re-encryption techniques, the scheme addresses the computational problem of repeatedly encrypting public key information on the blockchain, reducing user overhead and enabling delegated authorization. Introducing attribute weights makes access policies more flexible and reduces the storage space occupied by ciphertexts. The blockchain network composed of multiple attribute authorities enhances the scheme’s availability. The joint key construction between attribute authorities and the authorization center weakens the authority of the authorization center. This study provides a promising solution for secure data sharing in cloud storage.

Author Contributions

Conceptualization, W.Y. and X.C.; methodology, W.Y. and I.G.; software, C.W. and S.K.; validation, C.W. and S.K.; formal analysis, W.Y., C.W. and S.K.; investigation, W.Y. and C.W.; resources, W.Y.; data curation, C.W.; writing—original draft preparation, W.Y. and C.W.; writing—review and editing, W.Y. and X.C.; visualization, C.W. and S.K.; supervision, W.Y.; project administration, W.Y.; funding acquisition, W.Y. and X.C. All authors have read and agreed to the published version of the manuscript.

Funding

The study is financially supported by the Natural Science Foundation of Jiangxi Province (Grant No. 20212BAB202015); the Jiangxi Provincial Special Program 03 and 5G Projects (Grant No. 20232ABC03A18); and the 2023 Jiangxi Provincial Special Fund Projects for Graduate Student Innovation (Grant No. YC2023-S413).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The code and data for this study experiment can be downloaded and accessed through the following link: https://github.com/bob520/WAMA-PRE (accessed on 27 June 2024).

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Ma, Z.; Wang, X.; Jain, D.K.; Khan, H.; Gao, H.; Zhen, W. A blockchain-based trusted data management scheme in edge computing. IEEE Trans. Ind. Inform. 2019, 16, 2013–2021. [Google Scholar]
  2. Yang, Y.; Wu, J.; Long, C.; Liang, W.; Lin, Y.-B. Blockchain-Enabled Multiparty Computation for Privacy Preserving and Public Audit in Industrial IoT. IEEE Trans. Ind. Inform. 2022, 18, 9259–9267. [Google Scholar] [CrossRef]
  3. Alzubi, J.A.; Alzubi, O.A.; Singh, A.; Ramachandran, M. Cloud-IIoT-based electronic health record privacy-preserving by CNN and blockchain-enabled federated learning. IEEE Trans. Ind. Inform. 2022, 19, 1080–1087. [Google Scholar] [CrossRef]
  4. Yi, W.; Wang, C.; Xie, Q.; Zhao, Y.; Jia, J. PSBF: p-adic Integer Scalable Bloom Filter. Sensors 2023, 23, 7775. [Google Scholar] [CrossRef] [PubMed]
  5. Kaufman, L.M. Data security in the world of cloud computing. IEEE Secur. Priv. 2009, 7, 61–64. [Google Scholar] [CrossRef]
  6. Takabi, H.; Joshi, J.B.; Ahn, G.-J. Security and privacy challenges in cloud computing environments. IEEE Secur. Priv. 2010, 8, 24–31. [Google Scholar] [CrossRef]
  7. Li, H.; Yu, K.; Liu, B.; Feng, C.; Qin, Z.; Srivastava, G. An efficient ciphertext-policy weighted attribute-based encryption for the internet of health things. IEEE J. Biomed. Health Inform. 2021, 26, 1949–1960. [Google Scholar] [CrossRef] [PubMed]
  8. Ashrif, F.F.; Sundararajan, E.A.; Hasan, M.K.; Ahmad, R.; Abdullah, S.; Wazirali, R. Secured lightweight authentication for 6LoWPANs in machine-to-machine communications. Comput. Secur. 2024, 145, 104002. [Google Scholar] [CrossRef]
  9. AlSkaif, T.; Crespo-Vazquez, J.L.; Sekuloski, M.; van Leeuwen, G.; Catalao, J.P. Blockchain-based fully peer-to-peer energy trading strategies for residential energy systems. IEEE Trans. Ind. Inform. 2021, 18, 231–241. [Google Scholar] [CrossRef]
  10. Zheng, H.; Shao, J.; Wei, G. Attribute-based encryption with outsourced decryption in blockchain. Peer-to-Peer Netw. Appl. 2020, 13, 1643–1655. [Google Scholar] [CrossRef]
  11. Zhao, Y.; Li, Q.; Yi, W.; Xiong, H. Agricultural IoT Data Storage Optimization and Information Security Method Based on Blockchain. Agriculture 2023, 13, 274. [Google Scholar] [CrossRef]
  12. Ba, Y.; Hu, X.; Chen, Y.; Hao, Z.; Li, X.; Yan, X. A Blockchain-Based CP-ABE Scheme with Partially Hidden Access Structures. Secur. Commun. Netw. 2021, 1, 4132597. [Google Scholar] [CrossRef]
  13. Wang, H.; Wang, Q.; He, D. Blockchain-based private provable data possession. IEEE Trans. Dependable Secur. Comput. 2019, 18, 2379–2389. [Google Scholar] [CrossRef]
  14. Li, F.; Liu, K.; Zhang, L.; Huang, S.; Wu, Q. Ehrchain: A blockchain-based ehr system using attribute-based and homomorphic cryptosystem. IEEE Trans. Serv. Comput. 2021, 15, 2755–2765. [Google Scholar] [CrossRef]
  15. Fan, K.; Pan, Q.; Zhang, K.; Bai, Y.; Sun, S.; Li, H.; Yang, Y. A secure and verifiable data sharing scheme based on blockchain in vehicular social networks. IEEE Trans. Veh. Technol. 2020, 69, 5826–5835. [Google Scholar] [CrossRef]
  16. Naz, M.; Al-zahrani, F.A.; Khalid, R.; Javaid, N.; Qamar, A.M.; Afzal, M.K.; Shafiq, M. A secure data sharing platform using blockchain and interplanetary file system. Sustainability 2019, 11, 7054. [Google Scholar] [CrossRef]
  17. Sahai, A.; Waters, B. Fuzzy identity-based encryption. In Proceedings of the Annual International Conference on the Theory and Applications of Cryptographic Techniques, Aarhus, Denmark, 22–26 May 2005; Springer: Berlin/Heidelberg, Germany, 2005; pp. 457–473. [Google Scholar]
  18. 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; Association for Computing Machinery: New York, NY, USA; pp. 89–98. [Google Scholar]
  19. Bethencourt, J.; Sahai, A.; Waters, B. Ciphertext-policy attribute-based encryption. In Proceedings of the 2007 IEEE symposium on security and privacy (SP’07), Oakland, CA, USA, 20–23 May 2007; IEEE: New York, NY, USA; pp. 321–334. [Google Scholar]
  20. Wang, S.; Zhou, J.; Liu, J.K.; Yu, J.; Chen, J.; Xie, W. An efficient file hierarchy attribute-based encryption scheme in cloud computing. IEEE Trans. Inf. Forensics Secur. 2016, 11, 1265–1277. [Google Scholar] [CrossRef]
  21. Li, J.; Shi, Y.; Zhang, Y. Searchable ciphertext-policy attribute-based encryption with revocation in cloud storage. Int. J. Commun. Syst. 2017, 30, e2942. [Google Scholar] [CrossRef]
  22. Feng, T.; Yin, X.; Lu, Y.; Fang, J.; Li, F. A Searchable CP-ABE Privacy Preserving Scheme. Int. J. Netw. Secur. 2019, 21, 680–689. [Google Scholar]
  23. Ge, C.; Susilo, W.; Baek, J.; Liu, Z.; Xia, J.; Fang, L. Revocable attribute-based encryption with data integrity in clouds. IEEE Trans. Dependable Secur. Comput. 2021, 19, 2864–2872. [Google Scholar] [CrossRef]
  24. Yang, F.; Liu, L.; You, W.; Jing, J. You Are Revoked and Out: Towards Directly Revocable Ciphertext-Policy Attribute-Based Encryption. Secur. Commun. Netw. 2022, 1, 6074322. [Google Scholar] [CrossRef]
  25. Zhang, W.; Zhang, Z.; Xiong, H.; Qin, Z. PHAS-HEKR-CP-ABE: Partially policy-hidden CP-ABE with highly efficient key revocation in cloud data sharing system. J. Ambient Intell. Humaniz. Comput. 2022, 13, 613–627. [Google Scholar] [CrossRef]
  26. Ateniese, G.; Fu, K.; Green, M.; Hohenberger, S. Improved proxy re-encryption schemes with applications to secure distributed storage. ACM Trans. Inf. Syst. Secur. (TISSEC) 2006, 9, 1–30. [Google Scholar] [CrossRef]
  27. Green, M.; Ateniese, G. Identity-based proxy re-encryption. In Proceedings of the Applied Cryptography and Network Security: 5th International Conference, ACNS 2007, Zhuhai, China, 5–8 June 2007; Springer: Berlin/Heidelberg, Germany, 2007; pp. 288–306. [Google Scholar]
  28. Weng, J.; Deng, R.H.; Ding, X.; Chu, C.-K.; Lai, J. Conditional proxy re-encryption secure against chosen-ciphertext attack. In Proceedings of the 4th International Symposium on Information, Computer, and Communications Security, New York, NY, USA, 10–12 March 2009; pp. 322–332. [Google Scholar]
  29. Liang, X.; Cao, Z.; Lin, H.; Shao, J. Attribute based proxy re-encryption with delegating capabilities. In Proceedings of the 4th International Symposium on Information, Computer, and Communications Security, New York, NY, USA, 10–12 March 2009; pp. 276–286. [Google Scholar]
  30. Luo, S.; Hu, J.; Chen, Z. Ciphertext policy attribute-based proxy re-encryption. In Proceedings of the Information and Communications Security: 12th International Conference, ICICS 2010, Barcelona, Spain, 15–17 December 2010; Springer: Berlin/Heidelberg, Germany, 2010; pp. 401–415. [Google Scholar]
  31. Mizuno, T.; Doi, H. Hybrid proxy re-encryption scheme for attribute-based encryption. In Proceedings of the Information Security and Cryptology: 5th International Conference, Inscrypt 2009, Beijing, China, 12–15 December 2009; Springer: Berlin/Heidelberg, Germany, 2010; pp. 288–302. [Google Scholar]
  32. Chase, M. Multi-authority attribute based encryption. In Proceedings of the Theory of Cryptography: 4th Theory of Cryptography Conference, TCC 2007, Amsterdam, The Netherlands, 21–24 February 2007; Springer: Berlin/Heidelberg, Germany, 2007; pp. 515–534. [Google Scholar]
  33. Lin, H.; Cao, Z.; Liang, X.; Shao, J. Secure threshold multi authority attribute based encryption without a central authority. In Proceedings of the Progress in Cryptology-INDOCRYPT 2008: 9th International Conference on Cryptology in India, Kharagpur, India, 14–17 December 2008; Springer: Berlin/Heidelberg, Germany, 2008; pp. 426–436. [Google Scholar]
  34. Lewko, A.; Waters, B. Decentralizing attribute-based encryption. In Proceedings of the Annual International Conference on the Theory and Applications of Cryptographic Techniques, Tallinn, Estonia, 15–19 May 2011; Springer: Berlin/Heidelberg, Germany, 2011; pp. 568–588. [Google Scholar]
  35. Liu, J.; Li, Y.; Sun, R.; Liu, L.; Zhang, N.; Yu, F.R.; Leung, V.C. SDSS: Secure Data Sharing Scheme for Edge Enabled IoV Networks. IEEE Trans. Intell. Transp. Syst. 2023, 24, 12038–12049. [Google Scholar] [CrossRef]
  36. Liu, X.; Ma, J.; Xiong, J.; Li, Q.; Ma, J. Ciphertext-policy weighted attribute based encryption for fine-grained access control. In Proceedings of the 2013 5th International Conference On Intelligent Networking and Collaborative Systems, Washington, DC, USA, 9–11 September 2013; pp. 51–57. [Google Scholar]
  37. Liu, X.; Ma, J.; Xiong, J.; Liu, G. Ciphertext-Policy Hierarchical Attribute-based Encryption for Fine-Grained Access Control of Encryption Data. Int. J. Netw. Secur. 2014, 16, 437–443. [Google Scholar]
  38. Fan, C.-I.; Huang, V.S.-M.; Ruan, H.-M. Arbitrary-state attribute-based encryption with dynamic membership. IEEE Trans. Comput. 2013, 63, 1951–1961. [Google Scholar] [CrossRef]
  39. Wang, S.; Liang, K.; Liu, J.K.; Chen, J.; Yu, J.; Xie, W. Attribute-based data sharing scheme revisited in cloud computing. IEEE Trans. Inf. Forensics Secur. 2016, 11, 1661–1673. [Google Scholar] [CrossRef]
  40. Attrapadung, N.; Hanaoka, G.; Ogawa, K.; Ohtake, G.; Watanabe, H.; Yamada, S. Attribute-based encryption for range attributes. IEICE Trans. Fundam. Electron. Commun. Comput. Sci. 2018, 101, 1440–1455. [Google Scholar] [CrossRef]
  41. Xue, K.; Hong, J.; Xue, Y.; Wei, D.S.; Yu, N.; Hong, P. CABE: A new comparable attribute-based encryption construction with 0-encoding and 1-encoding. IEEE Trans. Comput. 2017, 66, 1491–1503. [Google Scholar] [CrossRef]
  42. Li, W.; Ni, W.; Liu, D.; Liu, R.P.; Luo, S. Unified ciphertext-policy weighted attribute-based encryption for sharing data in cloud computing. Appl. Sci. 2018, 8, 2519. [Google Scholar] [CrossRef]
  43. Yang, X.; Li, W.; Fan, K. A revocable attribute-based encryption EHR sharing scheme with multiple authorities in blockchain. Peer-to-Peer Netw. Appl. 2023, 16, 107–125. [Google Scholar] [CrossRef] [PubMed]
  44. Banerjee, S.; Roy, S.; Odelu, V.; Das, A.K.; Chattopadhyay, S.; Rodrigues, J.J.; Park, Y. Multi-authority CP-ABE-based user access control scheme with constant-size key and ciphertext for IoT deployment. J. Inf. Secur. Appl. 2020, 53, 102503. [Google Scholar] [CrossRef]
  45. Yi, W.; Xie, Q.; Kuzmin, S.; Gerasimov, I.; Cheng, X. CCC-TM: Cross-Chain consensus committee method using a trust model. Inf. Sci. 2024, 677, 120930. [Google Scholar] [CrossRef]
Figure 1. Access control schema for cloud storage data.
Figure 1. Access control schema for cloud storage data.
Sensors 24 04939 g001
Figure 2. WAMA-PRE architecture.
Figure 2. WAMA-PRE architecture.
Sensors 24 04939 g002
Figure 3. Access policies. (a) Standard access policy T; (b) weighted access policy WT.
Figure 3. Access policies. (a) Standard access policy T; (b) weighted access policy WT.
Sensors 24 04939 g003
Figure 4. Re-encryption design.
Figure 4. Re-encryption design.
Sensors 24 04939 g004
Figure 5. Algorithm running time with different numbers of attribute authorities.
Figure 5. Algorithm running time with different numbers of attribute authorities.
Sensors 24 04939 g005
Figure 6. Storage space occupancy with different numbers of attribute authorities.
Figure 6. Storage space occupancy with different numbers of attribute authorities.
Sensors 24 04939 g006
Figure 7. Algorithm running time with different numbers of attributes.
Figure 7. Algorithm running time with different numbers of attributes.
Sensors 24 04939 g007
Figure 8. Storage space occupancy with different numbers of attributes.
Figure 8. Storage space occupancy with different numbers of attributes.
Sensors 24 04939 g008
Figure 9. Storage space occupancy of weighted access policy vs. ordinary access policy. (a) Ciphertext; (b) re-encryption key; (c) re-encrypted ciphertext.
Figure 9. Storage space occupancy of weighted access policy vs. ordinary access policy. (a) Ciphertext; (b) re-encryption key; (c) re-encrypted ciphertext.
Sensors 24 04939 g009
Figure 10. Time consumption of Keygen operations in different schemes. (a) With fixed number of attributes; (b) with fixed number of authorities.
Figure 10. Time consumption of Keygen operations in different schemes. (a) With fixed number of attributes; (b) with fixed number of authorities.
Sensors 24 04939 g010
Figure 11. Time consumption of encryption and decryption operations in different schemes. (a) Encryption operation with fixed number of attributes; (b) encryption operation with fixed number of authorities; (c) decryption operation with fixed number of attributes; (d) decryption operation with fixed number of authorities.
Figure 11. Time consumption of encryption and decryption operations in different schemes. (a) Encryption operation with fixed number of attributes; (b) encryption operation with fixed number of authorities; (c) decryption operation with fixed number of attributes; (d) decryption operation with fixed number of authorities.
Sensors 24 04939 g011
Figure 12. Storage space occupancy in different schemes. (a) With fixed number of attributes; (b) with fixed number of authorities.
Figure 12. Storage space occupancy in different schemes. (a) With fixed number of attributes; (b) with fixed number of authorities.
Sensors 24 04939 g012
Figure 13. Computational efficiency comparison of re-encryption and encryption operations. (a) Re-encryption algorithm; (b) re-decryption algorithm.
Figure 13. Computational efficiency comparison of re-encryption and encryption operations. (a) Re-encryption algorithm; (b) re-decryption algorithm.
Sensors 24 04939 g013
Table 1. Cryptographic symbols used in the scheme.
Table 1. Cryptographic symbols used in the scheme.
SymbolDescription
MSKSystem master key
MPKSystem public key
USKUser key
keySymmetric encryption key
CFSymmetric encryption ciphertext
CTKey ciphertext
LSSSLinear secret sharing scheme
RKRe-encryption key
RCTRe-encrypted ciphertext
Table 2. Functionality comparison of schemes.
Table 2. Functionality comparison of schemes.
SchemeAttribute EncryptionProxy Re-EncryptionWeighted Access PolicyMultiple Attribute AuthoritiesAccess Structure
Li [7]YESNOYesNOAccess Tree
Yang [43]YESNONOYESAccess Tree
Banerjee [44]YESNONOYESAccess Tree
Liu [35]YESYESNOYesAccess Tree
OurYESYESYESYESLSSS
Table 3. Storage space comparison.
Table 3. Storage space comparison.
SchemeSystem Public KeySystem Master KeyUser Secret KeyCiphertext
Yang [43]|G| + |Zp||Zp||G|·(1 + n)|G|·(1 + n) + |GT|
Banerjee [44]|GT| + 4|G||Zp||G|·(1 + n)|G| + 2|GT| + |Zp|
Our|GT| + |G|2|Zp|3|G|2|G|·(1 + n) + |GT|
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

Yi, W.; Wang, C.; Kuzmin, S.; Gerasimov, I.; Cheng, X. Weighted Attribute-Based Proxy Re-Encryption Scheme with Distributed Multi-Authority Attributes. Sensors 2024, 24, 4939. https://doi.org/10.3390/s24154939

AMA Style

Yi W, Wang C, Kuzmin S, Gerasimov I, Cheng X. Weighted Attribute-Based Proxy Re-Encryption Scheme with Distributed Multi-Authority Attributes. Sensors. 2024; 24(15):4939. https://doi.org/10.3390/s24154939

Chicago/Turabian Style

Yi, Wenlong, Chuang Wang, Sergey Kuzmin, Igor Gerasimov, and Xiangping Cheng. 2024. "Weighted Attribute-Based Proxy Re-Encryption Scheme with Distributed Multi-Authority Attributes" Sensors 24, no. 15: 4939. https://doi.org/10.3390/s24154939

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