Next Article in Journal
Higher Education Students’ Task Motivation in the Generative Artificial Intelligence Context: The Case of ChatGPT
Next Article in Special Issue
A Traceable Universal Designated Verifier Transitive Signature Scheme
Previous Article in Journal
Predicting an Optimal Medication/Prescription Regimen for Patient Discordant Chronic Comorbidities Using Multi-Output Models
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Efficient Revocable Attribute-Based Encryption with Data Integrity and Key Escrow-Free

1
School of Mathematics and Information Science, Baoji University of Arts and Sciences, Baoji 721013, China
2
School of Computer Science, Shaanxi Normal University, Xi’an 710119, China
3
School of Cyberspace Security, Xi’an University of Posts and Telecommunications, Xi’an 710121, China
4
Software Engineering Institute, East China Normal University, Shanghai 200062, China
*
Author to whom correspondence should be addressed.
Information 2024, 15(1), 32; https://doi.org/10.3390/info15010032
Submission received: 18 December 2023 / Accepted: 5 January 2024 / Published: 7 January 2024

Abstract

:
Revocable attribute-based encryption (RABE) provides greater flexibility and fine-grained access control for data sharing. However, the revocation process for most RABE schemes today is performed by the cloud storage provider (CSP). Since the CSP is an honest and curious third party, there is no guarantee that the plaintext data corresponding to the new ciphertext after revocation is the same as the original plaintext data. In addition, most attribute-based encryption schemes suffer from issues related to key escrow. To overcome the aforementioned issues, we present an efficient RABE scheme that supports data integrity while also addressing the key escrow issue. We demonstrate the security for our system, which is reduced to the decisional q-parallel bilinear Diffie-Hellman exponent (q-PBDHE) assumption and discrete logarithm (DL) assumption. The performance analysis illustrates that our scheme is efficient.

1. Introduction

Cloud storage services provide major advantages in data management as data continues to grow and digitization processes accelerate, and more and more companies and individuals are choosing to employ cloud storage services to satisfy their data storage demands. Compared with traditional local storage, cloud storage has the advantages of high storage efficiency, high scalability, and low management overhead. However, cloud storage providers (CSP) may attempt to access sensitive data, which can lead to potential privacy risks [1,2,3]. The key to solving this problem is to store the data in ciphertext. The traditional method can only achieve one-to-one sharing. If the file is shared with several users, it must be encrypted multiple times, which lacks flexibility and fine-grained access control. Attribute-based encryption (ABE) [4] technology effectively solves this problem; it can provide file confidentiality and a one-to-many sharing mechanism over encrypted data. Data in an ABE scheme is encrypted using access policy. The user can decrypt and achieve plaintext when the user’s attributes match the access policy in the ciphertext. Therefore, the user fully utilizes cloud storage services to maintain data security and privacy. Ciphertext-policy attribute-based encryption (CP-ABE) [5] and key-policy attribute-based encryption (KP-ABE) [6] are two types of ABE. In CP-ABE, the user’s attribute set corresponds to the key, and the access policy corresponds to the ciphertext, while the opposite is true for KP-ABE. The user can decrypt only when the attributes match the access policy.
Currently, CP-ABE is widely used in healthcare, financial services, e-commerce, and other scenarios, but in many practical application scenarios, CP-ABE is still confronted with numerous challenges, such as user revocation [7] and key escrow issues. Revocable attribute-based encryption restricts access to data by controlling user attributes such as job titles or security clearance levels. It allows data owners to revoke access to certain users when necessary, thus providing greater flexibility and fine-grained control over data sharing, enabling greater data security and privacy.

1.1. Related Works

More and more programs are now focusing on the issue of revocation. Pirretti et al. [8] developed a revocable encryption scheme that supports indirect revocation, where each attribute in the scheme contains a valid time range and the authority periodically updates the attribute and redistributes the user’s key information. Li et al. [9] constructed a revocable scheme that introduces the concept of user groups to achieve efficient user revocation, where the group administrator updates the keys of unrevoked users when any user leaves, and the scheme outsources part of the computation to the CSP to reduce the user computation burden. In [10], an efficient direct RABE scheme was provided. In the scheme, a user revocation list and a time interval are added. The revoked users are added to the revocation list and can not decrypt the ciphertext after the key time expires, and the key of the unrevoked users will be updated. Xiang et al. [11] adopted version control technology to support real-time revocation and the private key for the unrevoked user is updated by the subset covering technique. In [12], the data owner does not need to be online during the revocation process, but the unrevoked user is required to update the decryption key frequently, and the data storage center needs to re-encrypt the ciphertext, which is computationally intensive and not suitable for resource-constrained environments. Xiong et al. [13] combined revocable encryption with cloud-assisted IoT, where the trusted authority center manages a user revocation list. The identities and current time nodes of these users will be added to the list once they have been deleted from the system. Using key update parameters generated by the trusted authority center, users who are not revoked will update their own decryption keys. Lan et al. [14] constructed an efficient revocable ABE scheme with rich attribute representation. The proxy server is in charge of partial decryption and receives a conversion key from the key generating center. When a user’s attributes change or he or she is deleted from the system, both the decryption key and the conversion key for unrevoked users need to be updated. The above scheme achieves revocation by maintaining a revocation list or updating the key periodically, but the length of the list increases with the rapid change of personnel flow, and this method requires the user to update the key frequently online at any time, which has a large computational overhead.
Sahai et al. [15] introduced the ciphertext delegation technique, in which the cloud server achieves user revocation by re-encrypting the ciphertext, but the scheme cannot be applied in CP-ABE. In [16], a server-assisted RABE scheme is constructed, in which the ciphertext should be converted by the CSP using the relevant conversion key, and if the user is removed from the system, the CSP will no longer be able to help him or her to convert the ciphertext. The CP-ABE scheme in [17] applied a modular ciphertext delegation method that allows third parties to convert ciphertexts under a stricter policy, enabling user revocation. Ma et al. [18] constructed a revocable, secure data deletion and authentication CP-ABE scheme. The scheme uses attribute association trees to reconstruct new access policy and re-encrypts ciphertext data when a user is deleted, so that the deleted user is unable to decrypt the new ciphertext. In [19], a traceable RABE scheme is constructed by uploading the revocation list along with the ciphertext to CSP. When a user revokes from the system, the CSP updates the ciphertext using the update key transmitted by the authorization center, and the user’s identity is related to the leaf node to achieve user tracking. In [20], the CSP re-encrypts the ciphertext by combining the original ciphertext with the updated material broadcast by the authority center using the ciphertext delegation algorithm. These schemes use the CSP to update the ciphertext to achieve revocation, which saves computing resources to a certain extent. However, since the proxy third-party server is honest and curious, there is no guarantee that the plaintext data corresponding to the new ciphertext after revocation is consistent with the original plaintext data, which is what we call the data integrity issue. Aiming to resolve this problem, Ge et al. [21] used a user-verifiable approach to construct a new RABE scheme that supports data integrity. Based on Waters’ scheme [22], they encrypted both the plaintext data and a random value, allowing the user to check the consistency for the plaintext data. However, the scheme has a key escrow problem.
In addition, ABE schemes also come with the key escrow problem. In the traditional ABE scheme, the key generation center (KGC) generates the decryption keys for the users, which means that the KGC has the ability to access and decrypt data. To overcome this issue, the schemes in [23,24] generate decryption keys for users by introducing multiple authorization centers, each of which can only calculate partial keys. The scheme in [25] used an unmanaged key issue protocol executed between the CSP and the KGC, but the computational cost is too high. The scheme in [26] used an unmanaged key issue protocol executed between the KGC and the user, solving the key escrow issue effectively. Recently, some novel ABE schemes were presented, such as CP-ABE with shared decryption [27], ABE with privacy protection and accountability [28], multi-authority CP-ABE [29,30], and revocable blockchain-aided ABE [31].
Therefore, to address the integrity issue and the key escrow issue in revocation, we constructed an efficient revocable ABE scheme that supports data integrity and solves the key escrow issue. The specific contributions are as follows:
  • Data integrity: Under the new access policy, when the CSP performs the revocation operation to generate the ciphertext, the user can check whether the plaintext corresponding to the new ciphertext is the same as the original encrypted plaintext.
  • Key-escrow free: Attribute authority was introduced, and a secure 2PC protocol is executed between the key authority and the attribute authority to generate the user’s private key. Neither side can get the complete private key, which solved the key escrow problem.
  • Security and efficiency: Based on the assumption of decisional q-PBDHE, our scheme is secure under chosen plaintext attacks. Performance analysis illustrates the practicability and effectiveness of the proposed scheme.

1.2. Organization

We review some knowledge about topics like bilinear maps and linear secret sharing in Section 2. We provide an overview of the security model and the system model in Section 3. We present an efficient RABE scheme based on the Waters’ scheme in Section 4. Section 5 and Section 6 discuss the safety and feasibility of our scheme, respectively. Finally, we summarize our work in Section 7.

2. Preliminaries

We focus on describing the specific construction of our RABE scheme, and the notation used in the paper is explained in Table 1.
Bilinear maps The bilinear map e : G × G G T has the following properties:
  • Bilinear: a , b G , u , v Z p , e ( a u , b v ) = e ( a , b ) u v holds.
  • Non-degeneracy: e ( a , b ) 1 .
  • Computability: e ( a , b ) can be effectively calculated.
Access policy The set A 2 { P 1 , P 2 , , P n } is called monotonous if B A and B C , we have C A . The access policy is the monotone set A in all non-empty subsets for P, i.e., A 2 { P 1 , P 2 , , P n } \ { } . The sets are referred to as the authorization sets, otherwise, the sets are referred to as the unauthorized sets.
Linear secret sharing scheme (LSSS) A linear secret sharing scheme Π on Z p meets the following two conditions:
  • Each participant’s share is the component of the vector on Z p .
  • Define a share generating matrix M m × n and for all j [ 1 , m ] , we define a function ρ ( j ) : { 1 , , m } { P 1 , P 2 , , P n } , where 1 , 2 , , m is the number of rows in M m × n . Randomly choosing vector u = ( r , u 2 , , u n ) , where r Z p is a secret shared value, u 2 , u n Z p was picked randomly. M · u represents m secret share values shared according to Π .
LSSS satisfies the linear reconfiguration property that members in the authorization set S can recover secret as follows: For an access policy A , let S A be any authorized set, and let Q = { j : ρ ( j ) S } { 1 , , m } , we can compute the constant set { η j } j Q in polynomial time using the knowledge of linearity algebra such that j Q η j ζ j = r , where ζ j = ( M j · u ) . In this paper, ( M m × n , ρ ) stands for access policy, and s can be recovered only when the attributes of the user meet ( M m × n , ρ ) .
Discrete logarithm assumption (DL) Let G be a group of prime order p , and g be a generator. The DL assumption says, that given ( g , g φ ) for randomly chosen φ Z p , for the PPT algorithm A , Pr [ A ( g , g φ ) = φ ] ε is negligible.
Decisional q-Parallel Bilinear Diffie-Hellman Exponent assumption (q-PBDHE) Let a , d 1 , , d q , r Z p be chosen randomly, and e : G × G G T be a bilinear map. Given tuple:
y = { g , g r , g a , , g a q , g a q + 2 , , g a 2 q , 1 i q g r · d i , g a / d i , , g a q / d i , g a q + 2 / d i , , g a 2 q / d i 1 i , l q , l i g a · r · d l / d i , , g a q · r · d l / d i }
The decisional q-PBDHE assumption means that there is no PPT algorithm to distinguish the distribution of F q P B D H E = { ( y , e ( g , g ) a q + 1 r ) } and q P B D H E = { ( y , R ˜ ) } , where R ˜ be a random element in G T . The decisional q-PBDHE assumption was first defined and proved to be safe in [22].

3. System Model

We will give the roles of each entity, the formal definition, and the security model for the RABE scheme.
Our RABE system includes five entities: Data Owner (DO), Data User (DU), Cloud Service Provider (CSP), Key Authority (KA), and Attribute Authority (AA), which is illustrated in Figure 1.
DO: The DO sets an access policy for the data, generates file ciphertext using a combination of symmetric encryption (AES) and the CP-ABE algorithm, and finally sends the complete ciphertext to the CSP.
CSP: The CSP stores ciphertext uploaded by the DO and performs the revocation operation.
DU: The DU downloads ciphertext from the CSP. If the attributes of the DU match the access policy embedded in the ciphertext, he or she can decrypt the data to obtain plaintext.
KA/AA: The KA and AA are responsible for system initialization and generating user private keys.

3.1. Formal Definition

The algorithms in the RABE scheme are as below:
(1)
S e t u p _ K A ( λ , U ) ( P a r a m 1 , M S K 1 ) . This algorithm generates the public key P a r a m 1 and private key M S K 1 of the KA according to the security parameter λ and system attribute set U .
(2)
S e t u p _ A A ( P a r a m 1 ) ( P a r a m 2 , M S K 2 ) . This algorithm generates the public key P a r a m 2 and private key M S K 2 of the AA according to P a r a m 1 .
(3)
K e y g e n ( M S K 1 , M S K 2 , P a r a m , S ) S K . This algorithm generates the user’s private key S K through a secure 2PC protocol.
(4)
E n c r y p t ( P a r a m , F , ( M m × n , ρ ) ) C T . This algorithm encrypts data files F and uploads the ciphertext to the CSP.
(5)
D e c r y p t o r ( S K , C T ) F . This algorithm inputs S K and C T , and outputs a shared data file F or a special symbol .
(6)
R e v o k e ( C T , ( M ¯ m ¯ × n ¯ , ρ ¯ ) ) C T . This algorithm inputs C T and a revocation access policy ( M ¯ m ¯ × n ¯ , ρ ¯ ) , and it outputs a revoked ciphertext C T .
(7)
D e c r y p t r e ( S K , C T , C T ) F . This algorithm inputs updated private key S K , C T and C T , and outputs a shared data file F or a special symbol .

3.2. Security Model

We define two security models for the RABE scheme, namely the selective plaintext attack and the data integrity attack. These are described through the interactive attack games (Game-I and Game-II) between adversary A and challenger C .
Game-I describes a security game under selective plaintext attack.
  • Initialization: A chooses a challenge access policy ( M m × n , ρ ) and sends it to challenger C .
  • Setup: C executes the S e t u p algorithm to obtain the master public key P a r a m and returns it to A .
  • Private key query phase 1: A chooses a user attribute set S , which requires that S cannot meet ( M m × n , ρ ) . C runs the K e y g e n , and generates the private key S K and returns it to A .
  • Challenge: A chooses two data files F 0 and F 1 of equal length to C . C chooses θ { 0 , 1 } randomly and encrypts F θ to get the challenge ciphertext C T . C returns the ciphertext C T to A .
  • Private key query phase 2: Similar to the previous stage, C continues to answer A ’s query.
  • Guess: A outputs its guess θ { 0 , 1 } for θ .
We define A ’s advantage in the above game as A d v = | Pr [ θ = θ ] 1 2 | .
Definition 1. 
Our RABE scheme is selective plaintext attack secure, if for all PPT adversary  A , the advantage A d v = | Pr [ θ = θ ] 1 2 | is negligible.
Game-II describes a security game under data integrity attack.
  • Setup: C executes S e t u p algorithm to get public parameter P a r a m and returns it to A .
  • Private key query phase 1: A can perform the key extraction query on the user attribute set S . C returns S K to A by executing the K e y g e n algorithm.
  • Challenge: A sends the data file F and a challenge access policy ( M m × n , ρ ) to C . Then C sends challenge ciphertext C T to A by executing the E n c r y p t algorithm.
  • Private key query phase 2: Similar with the previous stage, C continues to answer A ’s query.
  • Guess: A outputs attribute set S and revoked ciphertext C T . A wins the integrity game if Dec r e S K S , C T , C T { F , } .
We define Pr [ A w i n s ] to represent the adversary A ’ s advantage in the above game.
Definition 2. 
The proposed scheme achieves the data integrity of ciphertext after revocation if for all PPT adversary  A , the advantage Pr [ A w i n s ] is negligible.

4. Our RABE Construction

(1)
S e t u p _ K A ( λ , U ) ( P a r a m 1 , M S K 1 ) . This algorithm inputs system security parameter λ , and attribute set U , generates two cyclic groups G , G T with prime order p and bilinear map e : G × G G T . Let g be a generator in G . The KA randomly selects g , μ , ν G , a , b , α 1 Z p , hash function H ^ : G T Z p and h 1 , h 2 , , h | U | , then the algorithm outputs
P a r a m 1 = ( G , G T , e , g , g a , μ , ν , { h i | i = 1 , 2 , , | U | } , g b , E α 1 , H ^ ) , M S K 1 = ( α 1 , b ) .
The KA publishes P a r a m 1 and keeps M S K 1 secretly, where E = e ( g , g ) .
(2)
S e t u p _ A A ( P a r a m 1 ) ( P a r a m 2 , M S K 2 ) . The AA selects α 2 Z p randomly, outputs P a r a m 2 = ( E α 2 ) , M S K 2 = ( α 2 ) . The AA keeps M S K 2 secretly and publishes P a r a m 2 . Then we have
P a r a m = ( G , G T , e , g , g a , μ , ν , { h i | i = 1 , 2 , , | U | } , g b , E α , H ^ ) , M S K = ( α 1 , α 2 , b ) ,
where α = α 1 + α 2 .
(3)
K e y G e n ( M S K 1 , M S K 2 , P a r a m , S ) S K . In this algorithm, the KA and the AA use the secure 2PC protocol to generate the user’s private key. Firstly, the KA inputs ( α 1 , b ) , the AA inputs α 2 , the protocol computes ω = ( α 1 + α 2 ) b and returns ω to the AA, where the KA does not know α 2 and the AA does not know ( α 1 , b ) , then the AA and the KA interact to generate S K 2 :
  • The AA selects t 1 Z p at random, the AA computes X 1 = g ω / t 1 = g ( α 1 + α 2 ) b / t 1 , and generates the knowledge proof of ω , t 1 , then sends X 1 and P o K ( ω , t 1 ) to the KA.
  • The KA selects s , τ Z p at random, computes T 1 = X 1 τ / b = g ( α 1 + α 2 ) τ / t 1 , T 2 = g s τ · a , then transmits T 1 , T 2 and P o K ( τ , s , b ) to the AA.
  • The AA selects t 2 Z p at random, computes X 2 = ( T 1 t 1 T 2 ) t 2 = ( g ( α 1 + α 2 ) τ g s τ a ) t 2 , then sends X 2 and P o K ( t 2 ) to KA.
  • The KA computes T 3 = X 2 1 / τ = ( g ( α 1 + α 2 ) g s a ) t 2 , sends P o K ( τ ) and T 3 to the AA.
  • The AA calculates D = T 3 1 / t 2 = g α g s a , and then the AA transmits S K 2 = { D = g α g s a } to the DU.
  • The KA computes D 0 = g s , D x = h x s , x S and sends S K 1 = { D 0 = g s , D x = h x s } to the DU.
  • The DU’s final private key is S K = { D = g α g s a , D 0 = g s , D x = h x s ( x S ) } . The above protocol is illustrated in Figure 2.
(4)
E n c r y p t ( P a r a m , F , ( M m × n , ρ ) ) C T . This algorithm inputs the shared data file F , P a r a m = ( G , G T , e , g , g a , μ , ν , { h i | i = 1 , 2 , , | U | } , g b , E α , H ^ ) and access policy ( M m × n , ρ ) , for each row of M m × n , the function ρ associates rows of M m × n to attributes, which is ρ : { 1 , 2 , , m } U . The algorithm encrypts the file F using the AES algorithm, then gets the shared data ciphertext C F = E n c c k ( F ) , where c k is a symmetric key. The DO selects a vector u = ( r , u 2 , , u n ) Z p , c j Z p randomly, computes ζ j = u · M j , j [ 1 , m ] . Then
C 1 = c k · E α r , C 2 = g r , C 3 , j = h ρ ( j ) c j g a ζ j , C 4 , j = g c j , j [ 1 , m ] , C 5 = μ H ^ ( F ) ν H ^ ( c k ) ,
Let C = ( ( M m × n , ρ ) , C 1 , C 2 , C 3 , j , C 4 , j , C 5 , j [ 1 , m ] ) , then the DO sends C T = { C F , C } to the CSP for storage.
(5)
D e c r y p t o r ( S K , C T ) F . The DU runs the algorithm and decrypts the ciphertext C T . The algorithm inputs private key S K = { D , D 0 , D x ( x S ) } , C T = { C F , C } . If the attribute set S satisfies ( M m × n , ρ ) , lets Q = { j : ρ ( j ) S } { 1 , , m } , calculates the constant { η j } j Q such that Σ j Q η j M j = ( 1 , 0 , 0 , , 0 ) , the algorithm computes
c k = C 1 / e ( D , C 2 ) ( Π j Q e ( D 0 , C 3 , j ) · e ( D ρ ( j ) , C 4 , j ) ) η j .
Then checks if C 5 = μ H ^ ( F ) ν H ^ ( c k ) , outputs c k and decrypts the shared file F further. Otherwise, outputs . If S does not satisfy ( M m × n , ρ ) , decryption fails.
(6)
R e v o k e ( C T , ( M ¯ m ¯ × n ¯ , ρ ¯ ) ) C T . The CSP runs the algorithm. It inputs C T = { C F , C } , a revocation access policy ( M ¯ m ¯ × n ¯ , ρ ¯ ) , and for each row of M ¯ m ¯ × n ¯ , defines the function ρ ¯ : { 1 , 2 , , m ¯ } U . It outputs a revoked ciphertext C T under a revoked access policy ( M m × n , ρ ) , where ρ : { 1 , 2 , , m } U , m = m + m ¯ , n = n + n ¯ . Then, it randomly selects u ˜ = ( r ˜ , u ˜ 2 , , u ˜ n ) Z p n and c ˜ j Z p  for each j [ 1 , m ] , computes ζ ˜ j = u ˜ · M j , j [ 1 , m ] . The algorithm computes C ^ :
L 1 = C 1 , L 2 = C 2 , L 3 , j = C 3 , j , L 4 , j = C 4 , j , j [ 1 , m ] , L 3 , j = 1 G , L 4 , j = 1 G , j [ m + 1 , m ] ,
where 1 G is the identity element of G . Then the algorithm computes C ˜ :
K 1 = E α r ˜ , K 2 = g r ˜ , K 3 , j = g a ζ ˜ j h ρ ( j ) c ˜ j , K 4 , j = g c ˜ j , j [ 1 , m ] .
And computes C :
C 1 = L 1 · K 1 , C 2 = L 2 · K 2 , C 3 , j = L 3 , j · K 3 , j , C 4 , j = L 4 , j · K 4 , j , j [ 1 , m ] , C 5 = C 5 .
Let C = ( ( M m × n , ρ ) , C 1 , C 2 , C 3 , j , C 4 , j , C 5 , j [ 1 , m ] ) , outputs C T = { C , C F } .
(7)
D e c r y p t r e ( S K , C T , C T ) F . The algorithm inputs S K , C T = { C F , C } and C T = { C , C F } , verifies whether C 5 = C 5 , if not, outputs . Then, if the set of attribute S of S K meets ( M , ρ ) , let Q = { j : ρ ( j ) S } { 1 , , m } , and there is a constant { η j } j Q such that Σ j Q η j · M j = ( 1 , 0 , 0 , , 0 ) . Then the DU computes:
c k = C 1 / e ( D , C 2 ) ( Π j Q e ( D 0 , C 3 , j ) · e ( D ρ ( j ) , C 4 , j ) ) η j ,
otherwise, outputs . Finally, checks if C 5 = μ H ^ ( F ) ν H ^ ( c k ) , outputs c k , and decrypts the shared file F further. Otherwise, outputs .
Kim et al. [17] proved that ( M , ρ ) is a valid access policy with respect to a LSSS scheme. Therefore C T is a valid revoked ciphertext.

5. Scheme Analysis

5.1. Correctness Analysis

In D e c r y p t o r algorithm:
   e ( D , C 2 ) ( Π j Q e ( D 0 , C 3 , j ) · e ( D ρ ( j ) , C 4 , j ) ) η j = e ( g α g s a , g r ) ( Π j Q e ( g s , g a ζ j h ρ ( j ) c j ) · e ( h ρ ( j ) s , g c j ) ) η j = E α r · E s a r E s a · Σ j Q ζ j η j = E α r c k = C 1 / E α r .

5.2. Security Analysis

Theorem 1. 
Assuming that the decisional q-PBDHE assumption holds, then our RABE construction described above is semantic secure under chosen plaintext attack.
Proof. 
Assume a PPT adversary A exists with a non-negligible advantage to break the security for our RABE construction, so we construct a polynomial time simulator S using A to break the decisional q-PBDHE assumption.
  • Init. S picks a bilinear map e : G × G G T , and a , d 1 , , d q , r Z p randomly. S exposes:
    y = { g , g r , g a , , g a q , g a q + 2 , , g a 2 q , 1 i q g r · d i , g a / d i , , g a q / d i , g a q + 2 / d i , , g a 2 q / d i 1 i , l q , l i g a · r · d l / d i , , g a q · r · d l / d i } .
    S randomly selects σ { 0 , 1 } , if σ = 0 , take Z = E a q + 1 r , let T = ( y , Z ) ; if σ = 1 , take Z G T and let T = ( y , Z ) , A picks a challenge access policy ( M m × n , ρ ) to S .
  • Setup. S picks α Z p randomly, computes E α = E a · a q · E α . This implicitly sets α = α + a q + 1 . S orchestrates group element h 1 , h 2 , , h | U | as follows: For attributes 1 x | U | , S chooses a value w x at random, let Y be the set of j such that ρ ( j ) = x . S sets h x as
    h x = g w x j Y 1 k n g a k M j , k d j .
    Because of the randomness of g w x , h x is distributed randomly. If Y = , then h x = g w x . The simulator S chooses a hash function H ^ and μ , v G randomly, returns the public parameters
    P a r a m = { G , G T , e , g , g a , μ , ν , { h x | 1 x | U | } , g b , E α , H ^ }
    to A .
  • Private key query phase 1. A submits attribute set S , where S does not satisfy M m × n . Simulator S chooses t Z p at random and finds the vector η = ( η 1 , η 2 , , η n ) Z p n such that η 1 = 1 . For { j : ρ ( j ) S } , we have η · M j = 0 . S computes
    D 0 = g t 1 j n ( g a q + 1 j ) η j = g s ,
    thus, implicitly defining
    s = t + η 1 a q + η 2 a q 1 + η n a q ( n 1 ) .
    By defining s so that g a s contains g a q + 1 , the unknown term g α can be eliminated when constructing D . S computes
    D = g α g a t j = 2 n ( g a q + 2 j ) η j .
    Now compute D x for x S . If there is no j that makes ρ ( j ) = x , then D x = D 0 w x ; if there is multiple j that makes ρ ( j ) = x , since S cannot simulate g a q + 1 / d j , it is necessary to ensure that the expression for D x does not contain terms shaped like g a q + 1 / d j . Because η · M j = 0 , everything in this form can be cancelled. Let Y = { j , ρ ( j ) = x } and calculate
    D x = D 0 w x j Y i = 1 n ( g ( a i / d j ) t l = 1 , , n l i ( g a q + 1 + i l / d j ) η l ) M j , i .
    The simulator S returns S K = { D , D 0 , D x ( x S ) } to A .
  • Challenge. A selects two messages F 0 and F 1 of equal length. Simulator S chooses a coin θ { 0 , 1 } randomly and encrypts the file F θ using the AES algorithm to generate the shared data ciphertext C F = E n c c k ( F θ ) , where c k is a symmetric key, then C 1 = c k · Z · e ( g r , g α ) , C 2 = g r . S chooses
    u = ( r , r a + u 2 , r a 2 + u 3 , , r a n 1 + u n ) Z p n ,
    where u 2 , , u n Z p randomly, r is the secret value to be shared. In addition, S chooses t 1 , t 2 , , t m Z p , C 5 G at random, we define R j to be the set of all l satisfying l j such that ρ ( j ) = ρ ( l ) , j = 1 , 2 , , n , compute
    { C 3 , j = h ρ ( j ) t j ( g d j · r ) w ρ ( j ) ( 2 i n ( g a ) M j , i y i ) · ( l R j 1 i n ( g a i · r · ( d j / d l ) ) M l , i ) C 4 , j = g r d j g t j ,
    C = ( C 1 , C 2 , C 3 , j , C 4 , j , C 5 , j [ 1 , m ] ) . The simulator returns C T = { C F , C } to A .
  • Private key query phase 2. Similar with the previous stage, S continues to answer A ’s query.
  • Guess. A outputs guess θ { 0 , 1 } of θ . S outputs σ = 0 when θ = θ , it means T F q P B D H E ; S outputs σ = 1 when θ θ , it means T q P B D H E .
    When σ = 1 , A does not obtain any information from θ , so Pr [ θ θ | σ = 1 ] = 1 2 .
    When θ θ , S guesses σ = 1 , Pr [ σ = σ | σ = 1 ] = 1 2 .
    When σ = 0 , A knows the ciphertext of F θ , because the advantage of A is ε , Pr [ θ = θ | σ = 0 ] = 1 2 + ε . When θ = θ , S guesses σ = 0 , Pr [ σ = σ | σ = 0 ] = 1 2 + ε .
    The advantages of S obtained from the above are
    1 2 Pr [ σ = σ | σ = 0 ] 1 2 Pr [ σ = σ | σ = 1 ] = 1 2 ( 1 2 + ε ) 1 2 × 1 2 = ε 2 .
    Therefore, Theorem 1 holds. □
Theorem 2. 
The proposed scheme supports data integrity under the DL assumption.
Proof. 
Assume a PPT adversary A exists with a non-negligible advantage to break the security for our RABE construction, so we can construct a polynomial time simulator S using A to break the DL assumption.
  • Setup. S obtains a discrete logarithmic tuple ( G , G T , p , g , g φ ) , and S attempts to compute the value φ . S generates public parameters through the following steps. S sets a bilinear map e : G × G G T , selects h 1 , , h | U | G , α , a , b , γ Z p , and computes g a , g b , E α , μ = g φ , ν = g γ . S picks hash function H ^ : G T Z p at random, and returns
    P a r a m = ( G , G T , e , g , g a , μ , ν , { h i | i = 1 , 2 , , | U | } , g b , E α , H ^ )
    to adversary A .
  • Private key query phase 1. S selects an attribute set S , and executes K e y G e n ( M S K , P a r a m , S ) S K and returns S K to A .
  • Challenge. A submits F and a challenge access policy ( M , ρ ) to S . S execute E n c r y p t ( P a r a m , F , ( M m × n , ρ ) ) C T = { C F , C } , where C 5 = μ H ^ ( F ) ν H ^ ( c k ) , C F = E n c ( F , c k ) , C = ( ( M m × n , ρ ) , C 1 , C 2 ,   C 3 , j , C 4 , j , C 5 , j [ 1 , m ] ) . S returns C T to A .
  • Private key query phase 2. Similar to the previous stage, S continues to answer A ’s query.
  • Output. A outputs a revoked ciphertext C T = { C F , C } , where C F = E n c ( F , c k ) , C = ( ( M m × n , ρ ) , C 1 , C 2 , C 3 , j , C 4 , j , C 5 , j [ 1 , m ] ) . A wins if F { F , } and C 5 = C 5 .
If A wins, the simulator S selects the attribute set S that meets access policy ( M m × n , ρ ) . S generates the private key S K S , decrypts the ciphertext C T to get the symmetric key c k , and then gets the F . According to C 5 = C 5 ν H ^ ( c k ) μ H ^ ( F ) = ν H ^ ( c k ) μ H ^ ( F ) , S computes φ · ( H ^ ( F ) H ^ ( F ) ) = γ · ( H ^ ( c k ) H ^ ( c k ) ) . Since F { F , } , so that means H ^ ( F ) H ^ ( F ) . Finally, the simulator S gets φ .
Therefore, Theorem 2 holds. □

6. Performance Analysis

The performance of our scheme is analyzed in terms of functionality, computational cost, and experimental perspectives.

6.1. Functional Analysis

The functional analysis between our scheme and the schemes in [21,24,26] is shown in Table 2. None of the comparison schemes can simultaneously meet the three functional requirements listed in the table, that is, cannot simultaneously meet integrity, key escrow, and revocation. The scheme in this paper can simultaneously meet the above three functional requirements and adopts LSSS with strong expression ability as the access policy. Therefore, from the perspective of functionality, our scheme is more suitable for practical application.

6.2. Computation Analysis

In this section, we compare our scheme with other schemes in terms of calculated costs, as shown in Table 3. It can be seen from Table 3, in the key generation phase, the computational cost required by our scheme is consistent with that in [21,24], and lower than that of [26]. In the encryption stage, our scheme has more advantages than those in [21,24,26]. At the decryption stage, the computational cost of our scheme is consistent with reference [24] and lower than [21,26]. In the revocation phase, the calculation cost of our scheme is lower than that of [21], which is almost the same as that of [26]. In general, the approach in this paper has a low computing overhead, where m represents the number of rows of the matrix in LSSS, y represents the number of leaf nodes in the access tree, both m and y correspond to the number of attributes, so their meanings in Table 3 are the same.
In Table 3, u represents the number of attributes for the user, m represents the number of rows of the matrix in LSSS, y represents the number of leaf nodes in the access tree, E 1 represents exponential operations in group G , E T represents exponential operations in group G T , P represents bilinear pair operation.

6.3. Experimental Analysis

In this section, in order to better evaluate the performance of our scheme, we conducted simulation experiments between our scheme and the scheme in reference [21] (abbreviated as RI-CP-ABE). The experimental environment configuration is as follows: AMD Ryzen 5 5600U with Radeon Graphics 2.30 GHz, 16.0 GB RAM, Windows 10 operating system. Our scheme used the IntelliJIDEA2018 tool, jPBC2.0 open-source encryption library, and we selected a Type A elliptic curve with group order bit length of 512 bits for the experiment, the expression is y 2 = x 3 + x . We used JAVA language for programming, and the LSSS access matrix is programmed in the form of a binary tree.
We conducted simulation experiments in the aspects of system establishment time, key generation time, encryption time, decryption time, revocation time, and decryption after revocation time. Since only scheme RI-CP-ABE has integrity, therefore, we compared our scheme with RI-CP-ABE. The specific algorithm of reference in RI-CP-ABE is shown in Appendix A. Because our computer runs with limited memory, the number of attributes in the access policy is set to 4, 8, 16, and 32 (the number of attributes in the system). The experiment was conducted 100 times in total, and the average value of the experimental results of 100 times was taken as the final result of this experiment to ensure the accuracy of the experiment.
The time cost of system setup is shown in Figure 3, indicating that the calculation cost of the method in this article is basically the same as that described in the literature RI-CP-ABE. The system key generation time overhead is illustrated in Figure 4. The results of experimental simulations demonstrate that the calculation cost in our scheme is more than that of the literature in RI-CP-ABE. Because we introduced the 2PC protocol to solve the key escrow issue, which guards against the misuse of users’ private keys, it is more useful in real-world applications. The figure shows that the time growth rates of the two systems are nearly equal as the number of attributes increases. Furthermore, the key is generated only once, and the impact on the overall system efficiency can be ignored.
The system encryption time and the initial decryption time overhead are shown in Figure 5 and Figure 6. The figures demonstrate that compared to the technique in RI-CP-ABE, ours takes much less encryption and decryption time. Therefore, our scheme significantly reduces the computing burden on users.
The system revocation time and the decryption time after the user is revoked overhead are illustrated in Figure 7 and Figure 8, respectively. Our scheme requires less time calculation in the user revocation stage and the decryption step than RI-CP-ABE. As a result, our scheme has higher efficiency in practical applications.

7. Conclusions and Prospect

In this article, we construct an efficient RABE scheme that supports data integrity and solves the key escrow problem. User revocation is achieved using the ciphertext delegation algorithm, and the user can check whether the plaintext corresponding to the new ciphertext is the same as the original plaintext. Compared with the previous scheme with integrity verification, our scheme is more efficient. In addition, we introduced an attribute authority, and the key authority and attribute authority jointly generate private keys for users, which solve the key escrow issue effectively. Finally, the safety of the scheme is proved under the standard model and we give a performance analysis of our scheme. The scheme in this paper only supports the integrity verification under user revocation. Our next research will address the question of how to support the integrity verification under attribute revocation.

Author Contributions

Conceptualization and methodology, M.H.; software and validation, Y.Z. and M.Z.; writing—original draft preparation, Y.L.; writing—review and editing, M.H. and Y.L.; funding acquisition, M.H. and Y.Z.; proof reading, B.Y.; validation of results, Y.L. and M.Z. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the National Natural Science Foundation of China, grant number 62202375, the Natural Science Basic Research Program of Shaanxi Province, grant number 2021MJ-514 and 2022JQ-604, the Young Talent Fund of Association for Science and Technology in Shaanxi, China, grant number 20220134.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

No new data were created or analyzed in this study. Data sharing is not applicable to this article.

Conflicts of Interest

The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.

Appendix A

To facilitate the readers’ understanding, we give the algorithm flow of reference [21] as follows:
(1)
S e t u p ( λ , U ) : The authority center generates a bilinear pairing tuple ( e , G , G T , g , p ) . Chooses random value g , h 1 , h 2 , , h U , ϕ , φ G , α , a Z p and a hash function H : G T Z p . Sets the master secret key m s k = g α and public parameters
P P = ( e , G , G T , g , h 1 , , h U , ϕ , φ , g a , e ( g , g ) α , H )
(2)
K e y G e n ( m s k , A t t ) : The authority center chooses a random value s Z p , and computes s k = { A t t , K = g α g a s , K 0 = g s , x A t t , K x = h x s } .
(3)
E n c ( m , ( M , f ) ) : On input a message m and an access policy ( M , f ) , M is an t × k matrix and f associates each row of M to an attribute. The algorithm selects two random vectors μ = ( r , y 2 , , y k ) Z p k and v = ( r , y 2 , , y k ) Z p k . For each row M j of M , computes λ j = μ · M j and λ j = v · M j , j [ 1 , t ] . Randomly chooses r j , r j Z p for each j [ 1 , t ] and m G T . Then computes C 1 = m · e ( g , g ) α r , C 2 = g r , C 3 , j = g a λ j h f ( j ) r j , C 4 , j = g r j , j [ 1 , t ] . D 1 = m · e ( g , g ) α r ¯ ,   D 2 = g r ¯ ,   D 3 , j = g a λ ¯ j h f ( j ) r ¯ j , C 4 , j = g r ¯ j , j [ 1 , t ] , C ¯ = ϕ H ( m ) φ H ( m ) .
Outputs the ciphertext as C T = ( ( M , f ) , C 1 , C 2 , C 3 , j , C 4 , j , D 1 , D 2 , D 3 , j , D 4 , j , C ¯ , ) , j [ 1 , t ] .
(4)
D e c ( s k , C T ) : On input a secret key s k = { A t t , K , K 0 , K x } and a ciphertext C T = ( ( M , f ) , C 1 , C 2 , C 3 , j , C 4 , j , D 1 , D 2 , D 3 , j , D 4 , j , C ¯ , ) , the recipient first checks whether R ( A t t , ( M , f ) ) = 1 . If R ( A t t , ( M , f ) ) 1 , outputs an error symbol . Otherwise, finds the set T { 1 , , t } and T = { j : f ( j ) A t t } . Computes constant element θ j Z p , such that Σ j T θ j M j = ( 1 , 0 , 0 , , 0 ) . Then the recipient computes
m = C 1 / e ( K , C 2 ) ( Π j T e ( K 0 , C 3 , j ) · e ( K f ( j ) , C 4 , j ) ) θ j and m = D 1 / e ( K , D 2 ) ( Π j T e ( K 0 , D 3 , j ) · e ( K f ( j ) , D 4 , j ) ) θ j .
Checks if C ¯ = ϕ H ( m ) φ H ( m ) , outputs m . Otherwise outputs an error symbol .
(5)
R e v o k e ( C T , ( M ˜ , f ˜ ) ) : On input a ciphertext C T and a revocation access policy ( M ˜ , f ˜ ) , where M and M ˜ are t × k and t ˜ × k ˜ matrixes, outputs a revoked ciphertext for access policy ( M , f ) . Sets ( M , f ) as
M = ( M c 1 | 0 0 M ˜ ) , f ( j ) = { f ( j ) , j t f ˜ ( j t ) , j > t ,
where c 1 is the first column of M . Note that M is an t × k matrix, where t = t + t ˜ , k = k + k ˜ . Computes C 1 = C 1 , C 2 = C 2 ,
{ C 3 , j = C 3 , j , C 4 , j = C 4 , j , j [ 1 , t ] C 3 , j = 1 G , C 4 , j = 1 G , j [ t + 1 , t ]
where 1 G is the identity element of group G .
Then selects a random vector μ = ( r , y 2 , , y k ) Z p k . For each row M j of M , computes λ j = μ · M j , j [ 1 , t ] . Randomly chooses r j Z p for each j [ 1 , t ] . Then computes a random ciphertext C T as
C 1 = e ( g , g ) α r , C 2 = g r , C 3 , j = g a λ j h f ( j ) r j , C 4 , j = g r j , j [ 1 , t ] .
Then, computes
C 1 = C 1 · C 1 , C 2 = C 2 · C 2 , C 3 , j = C 3 , j · C 3 , j , C 4 , j = C 4 , j · C 4 , j , j [ 1 , t ] .
The value D 1 , D 2 , D 3 , j , D 4 , j , j [ 1 , t ] can be computed in the same manner. Sets C ¯ = C ¯ . Finally, outputs the revoked ciphertext
C T = ( ( M , ρ ) , C 1 , C 2 , C 3 , j , C 4 , j , D 1 , D 2 , D 3 , j , D 4 , j , C ¯ , j [ 1 , t ] ) .
(6)
D e c r e ( s k , C T , C T ) : On input a secret s k of attribute set A t t , an original ciphertext C T = ( ( M , f ) , C 1 , C 2 , C 3 , j , C 4 , j , D 1 , D 2 , D 3 , j , D 4 , j , C ¯ , ) and a revoked ciphertext C T = ( ( M , ρ ) , C 1 , C 2 , C 3 , j , C 4 , j , D 1 , D 2 , D 3 , j , D 4 , j , C ¯ ) , it verifies whether C ¯ = C ¯ . If not, outputs an error symbol and abort. Then, it checks whether R ( A t t , ( M , f ) ) = 1 . If R ( A t t , ( M , f ) ) 1 , outputs an error symbol and abort. Otherwise, finds the set T { 1 , , t } and T = { j : f ( j ) A t t } .Computes constant element θ j Z p , such that Σ j T θ j M j = ( 1 , 0 , 0 , , 0 ) . Then, it computes
m = C 1 / e ( K , C 2 ) ( Π j T e ( K 0 , C 3 , j ) · e ( K f ( j ) , C 4 , j ) ) θ j ,
m = D 1 / e ( K , D 2 ) ( Π j T e ( K 0 , D 3 , j ) · e ( K f ( j ) , D 4 , j ) ) θ j .
Checks if C ¯ = ϕ H ( m ) φ H ( m ) , outputs m . Otherwise outputs an error symbol .

References

  1. Zhang, L.; Xiong, H.; Huang, Q.; Li, J.; Choo, K.; Li, J. Cryptographic Solutions for Cloud Storage: Challenges and Research Opportunities. IEEE Trans. Serv. Comput. 2022, 15, 567–587. [Google Scholar] [CrossRef]
  2. Kang, Z.; Li, J.; Shen, J.; Han, J.; Zuo, Y.; Zhang, Y. TFS-ABS: Traceable and Forward-Secure Attribute-based Signature Scheme with Constant-Size. IEEE Trans. Knowl. Data Eng. 2023, 35, 9514–9530. [Google Scholar] [CrossRef]
  3. Chen, Y.; Li, J.; Liu, C.; Han, J.; Zhang, Y.; Yi, P. Efficient Attribute Based Server-Aided Verification Signature. Trans. Serv. Comput. 2022, 15, 3224–3232. [Google Scholar] [CrossRef]
  4. Sahai, A.; Waters, B. Fuzzy Identity-Based Encryption. In Proceedings of the International Conference on Theory and Applications of Cryptographic Techniques (EUROCRYPT), Aarhus, Denmark, 22–26 May 2005; Springer: Berlin/Heidelberg, Germany, 2005; pp. 457–473. [Google Scholar]
  5. Bethencourt, J.; Sahai, A.; Waters, B. Ciphertext-Policy Attribute-Based Encryption. In Proceedings of the 2007 IEEE Symposium on Security and Privacy (SP’07), Berkeley, CA, USA, 20–23 May 2007; pp. 321–334. [Google Scholar]
  6. 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 (CCS), Alexandria, VA, USA, 30 October–3 November 2006; ACM: New York, NY, USA, 2006; pp. 89–98. [Google Scholar]
  7. Li, J.; Yao, W.; Han, J.; Zhang, Y.; Shen, J. User Collusion Avoidance CP-ABE with Efficient Attribute Revocation for Cloud Storage. IEEE Syst. J. 2018, 12, 1767–1777. [Google Scholar] [CrossRef]
  8. Pirretti, M.; Traynor, P.; McDaniel, P.; Waters, B. Secure Attribute-Based Systems. In Proceedings of the 13th ACM Conference on Computer and Communications Security (CCS), Alexandria, VA, USA, 30 October–3 November 2006; ACM: New York, NY, USA, 2006; pp. 99–112. [Google Scholar]
  9. Li, J.; Yao, W.; Zhang, Y.; Qian, H.; Han, J. Flexible and Fine-Grained Attribute-Based Data Storage in Cloud Computing. IEEE Trans. Serv. Comput. 2017, 10, 785–796. [Google Scholar] [CrossRef]
  10. Liu, J.K.; Yuen, T.H.; Zhang, P.; Liang, K. Time-based Direct Revocable Ciphertext-Policy Attribute-Based Encryption with Short Revocation List. In Proceedings of the 16th International Conference on Applied Cryptography and Network Security (ACNS), Leuven, Belgium, 2–4 July 2018; Springer: Cham, Switzerland, 2018; pp. 516–534. [Google Scholar]
  11. Xiang, G.; Li, B.; Fu, X.; Xia, M.; Ke, W. An Attribute Revocable CP-ABE Scheme. In Proceedings of the 2019 Seventh International Conference on Advanced Cloud and Big Data (CBD), Suzhou, China, 21–22 September 2019; IEEE: Piscataway, NJ, USA, 2019; pp. 198–203. [Google Scholar]
  12. Lan, C.; Wang, C.; Li, H.; Liu, L. Comments on “Attribute-Based Data Sharing Scheme Revisited in Cloud Computing”. IEEE Trans. Inf. Forensics Secur. 2021, 16, 2579–2580. [Google Scholar] [CrossRef]
  13. Xiong, H.; Huang, X.; Yang, M.; Wang, L.; Yu, S. Unbounded and Efficient Revocable Attribute-Based Encryption with Adaptive Security for Cloud-Assisted Internet of Things. IEEE Int. Things J. 2022, 9, 3097–3111. [Google Scholar] [CrossRef]
  14. Lan, C.; Liu, L.; Wang, C.; Li, H. An efficient and revocable attribute-based data sharing scheme with rich expression and escrow freedom. Inf. Sci. 2023, 624, 435–450. [Google Scholar] [CrossRef]
  15. Sahai, A.; Seyalioglu, H.; Waters, B. Dynamic credentials and ciphertext delegation for attribute-based encryption. In Proceedings of the 32nd Annual International Cryptology Conference (CRYPTO), Santa Barbara, CA, USA, 19–23 August 2012; Springer: Berlin/Heidelberg, Germany, 2012; pp. 199–217. [Google Scholar]
  16. Qin, B.; Zhao, Q.; Zheng, D.; Cui, H. (Dual) server-aided revocable attribute-based encryption with decryption key exposure resistance. Inf. Sci. 2019, 490, 74–92. [Google Scholar] [CrossRef]
  17. Kim, J.; Susilo, W.; Baek, J.; Nepal, S.; Liu, D. Ciphertext-delegatable CP-ABE for a Dynamic Credential: A Modular Approach. In Proceedings of the Australasian Conference on Information Security and Privacy (ACISP), Christchurch, New Zealand, 3–5 July 2019; Springer: Cham, Switzerland, 2019; pp. 3–20. [Google Scholar]
  18. Ma, J.; Wang, M.; Xiong, J.; Hu, Y. CP-ABE-based secure and verifiable data deletion in cloud. Secur. Commun. Netw. 2021, 2021, 1–14. [Google Scholar] [CrossRef]
  19. Han, D.; Pan, N.; Li, K. A Traceable and Revocable Ciphertext-policy Attribute-based Encryption Scheme Based on Privacy Protection. IEEE Trans. Dependable Secur. Comput. 2022, 19, 316–327. [Google Scholar] [CrossRef]
  20. Deng, S.; Yang, G.; Dong, W.; Xia, M. Flexible revocation in ciphertext-policy attribute-based encryption with verifiable ciphertext delegation. Multimed. Tools Appl. 2023, 82, 22251–22274. [Google Scholar] [CrossRef]
  21. Ge, C.; Susilo, W.; Baek, J.; Liu, Z.; Xia, J.; Fang, L. Revocable Attribute-Based Encryption with Data Integrity in Clouds. IEEE Trans. Depend. Secure Comput. 2021, 19, 2864–2872. [Google Scholar] [CrossRef]
  22. Waters, B. Ciphertext-Policy Attribute-Based Encryption: An Expressive, Efficient, and Provably Secure Realization. In Proceedings of the 14th International Conference on Practice and Theory in Public Key Cryptography (PKC), Taormina, Italy, 6–9 March 2011; Springer: Berlin/Heidelberg, Germany, 2011; pp. 53–70. [Google Scholar]
  23. Chase, M.; Chow, S. Improving privacy and security in multi-authority attribute-based encryption. In Proceedings of the 16th ACM Conference on Computer and Communications Security (CCS), Chicago, IL, USA, 9–13 November 2009; ACM: New York, NY, USA, 2009; pp. 121–130. [Google Scholar]
  24. Varri, U.; Pasupuleti, S.; Kadambari, K.V. Key-Escrow Free Attribute-Based Multi-Keyword Search with Dynamic Policy Update in Cloud Computing. In Proceedings of the 2020 20th IEEE/ACM International Symposium on Cluster, Cloud and Internet Computing (CCGRID), Melbourne, VIC, Australia, 11–14 May 2020; IEEE: Piscataway, NJ, USA, 2020; pp. 450–458. [Google Scholar]
  25. Hur, J. Improving Security and Efficiency in Attribute-Based Data Sharing. IEEE Trans. Knowl. Data Eng. 2013, 25, 2271–2282. [Google Scholar] [CrossRef]
  26. Zhang, R.; Li, J.; Lu, Y.; Han, J.; Zhang, Y. Key escrow-free attribute-based encryption with user revocation. Inf. Sci. 2022, 600, 59–72. [Google Scholar] [CrossRef]
  27. Chen, N.; Li, J.; Zhang, Y.; Guo, Y. Efficient CP-ABE Scheme with Shared Decryption in Cloud Storage. IEEE Trans. Comput. 2022, 71, 175–184. [Google Scholar] [CrossRef]
  28. Li, J.; Zhang, Y.; Ning, J.; Huang, X.; Poh, G.; Wang, D. Attribute Based Encryption with Privacy Protection and Accountability for CloudIoT. IEEE Trans. Cloud Comput. 2022, 10, 762–773. [Google Scholar] [CrossRef]
  29. Banerjee, S.; Roy, S.; Odelu, V.; Das, A.; Chattopadhyay, S.; Rodrigues, 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]
  30. Reena Catherine, A.; Shajin Nargunam, A. Multi authority ciphertext-policy attribute-based encryption for security enhancement in cloud storage unit. Sustain. Energy Technol. Assess. 2022, 53, 102556. [Google Scholar] [CrossRef]
  31. Guo, Y.; Lu, Z.; Ge, H.; Li, J. Revocable Blockchain-Aided Attribute-Based Encryption with Escrow-Free in Cloud Storage. IEEE Trans. Comput. 2023, 72, 1901–1912. [Google Scholar] [CrossRef]
Figure 1. System structure for RABE.
Figure 1. System structure for RABE.
Information 15 00032 g001
Figure 2. The proposed key issuing protocol.
Figure 2. The proposed key issuing protocol.
Information 15 00032 g002
Figure 3. Setup time when the number of attributes increases [21].
Figure 3. Setup time when the number of attributes increases [21].
Information 15 00032 g003
Figure 4. Key generation time when the number of attributes increases [21].
Figure 4. Key generation time when the number of attributes increases [21].
Information 15 00032 g004
Figure 5. Encryption time when the number of attributes increases [21].
Figure 5. Encryption time when the number of attributes increases [21].
Information 15 00032 g005
Figure 6. Original decryption time when the number of attributes increases [21].
Figure 6. Original decryption time when the number of attributes increases [21].
Information 15 00032 g006
Figure 7. Revocation time when the number of attributes increases [21].
Figure 7. Revocation time when the number of attributes increases [21].
Information 15 00032 g007
Figure 8. Decryption time after revoking user when the number of attributes increases [21].
Figure 8. Decryption time after revoking user when the number of attributes increases [21].
Information 15 00032 g008
Table 1. Symbols Definition.
Table 1. Symbols Definition.
SymbolDescription
G , G T Two multiplicative cyclic groups with prime order p
g A generator in G
U Collection of all system attributes
| U | The number of elements of the set U
S Collection of user attributes
S U S is a subset of U
PPTProbabilistic polynomial time
2PCTwo-party computing
P a r a m Public parameters
M S K Master key
S K User private key
C T Ciphertext
P = { P 1 , P 2 , , P n } Participant set
M m × n A matrix with m rows and n columns
M j The j -th row of M
( M m × n , ρ ) Access policy
[ 1 , m ] A set of 1 , 2 , , m
Table 2. Functionality.
Table 2. Functionality.
SchemeIntegrityKey-Escrow FreeUser RevocationAccess
Policy
[21]×LSSS
[24]××LSSS
[26]×Tree
OursLSSS
Table 3. Calculations cost.
Table 3. Calculations cost.
SchemeKey GenerationEncryptionDecryptionRevocation
[21] ( u + 3 ) E 1 ( 6 m + 4 ) E 1 + 2 E T + 2 P 10 E T + 10 P ( 12 m + 6 ) E 1 + 4 E T + 4 P
[24] ( u + 3 ) E 1 ( 4 m + 1 ) E 1 + E T + P 5 E T + 5 P
[26] ( 2 u + 8 ) E 1 ( 2 y + 4 ) E 1 + 2 E T + 2 P 8 E T + 8 P ( 2 y + 4 ) E 1 + 2 E T + 2 P
Ours ( u + 3 ) E 1 ( 3 m + 3 ) E 1 + E T + P 5 E T + 5 P ( 6 m + 4 ) E 1 + 2 E T + 2 P
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

Huang, M.; Liu, Y.; Yang, B.; Zhao, Y.; Zhang, M. Efficient Revocable Attribute-Based Encryption with Data Integrity and Key Escrow-Free. Information 2024, 15, 32. https://doi.org/10.3390/info15010032

AMA Style

Huang M, Liu Y, Yang B, Zhao Y, Zhang M. Efficient Revocable Attribute-Based Encryption with Data Integrity and Key Escrow-Free. Information. 2024; 15(1):32. https://doi.org/10.3390/info15010032

Chicago/Turabian Style

Huang, Meijuan, Yutian Liu, Bo Yang, Yanqi Zhao, and Mingrui Zhang. 2024. "Efficient Revocable Attribute-Based Encryption with Data Integrity and Key Escrow-Free" Information 15, no. 1: 32. https://doi.org/10.3390/info15010032

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