Skip Content
You are currently on the new version of our website. Access the old version .
ElectronicsElectronics
  • Article
  • Open Access

1 November 2023

Attribute-Based Encryption Scheme with k-Out-of-n Oblivious Transfer

,
,
,
and
Science and Technology on Communication Security Laboratory, Chengdu 610041, China
*
Author to whom correspondence should be addressed.
This article belongs to the Special Issue Security and Privacy Preservation in Big Data Age

Abstract

Attribute-based encryption enables users to flexibly exchange and share files with others. In these schemes, users utilize their own attributes to acquire public-private key pairs from the key generation center. However, achieving this for users who wish to keep their attributes private poses a challenge. To address this contradiction, we propose an original scheme that combines ciphertext policy attribute-based encryption with a k-out-of-n oblivious transfer protocol. This scheme allows the distribution of corresponding public-private key pairs to users without the key generation center needing to obtain specific user attributes. Furthermore, it ensures the privacy of the key generation center. Security analysis demonstrates that the scheme is secure in the random oracle model. Our performance comparison and experimental results indicate that the scheme is both flexible and efficient.

1. Introduction

With the increasing application of cloud computing, a vast amount of data is stored in the cloud for processing. However, a significant portion of this data is sensitive and requires encryption to ensure its security. Traditional symmetric encryption methods, when applied to share encrypted files with multiple parties, necessitate the use of different symmetric keys for each encryption and decryption instance. This lack of flexibility in sharing and the complexity of key management pose challenges.
Attribute-based encryption (ABE) [1] emerges as a flexible solution that supports one-to-many encryption, providing an effective means to address the aforementioned challenges. The fundamental concept of ABE involves associating ciphertext and keys with attribute sets and access structures. ABE is generally categorized into Key Policy Attribute-Based Encryption (KP-ABE) [2] and Ciphertext Policy Attribute-Based Encryption (CP-ABE) [3]. KP-ABE involves the user’s key incorporating an access structure (access policy), and the ciphertext aligns with a series of attribute sets. The user can correctly decrypt the ciphertext only if the attribute set of the ciphertext satisfies the access structure (access policy) of the user key. This approach is suitable for static scenarios where users are the principal entities and only specific ciphertexts matching their access policies can be decrypted. On the other hand, CP-ABE associates the user’s key with a set of attributes, and the ciphertext contains an access structure (access policy). The user can correctly decrypt the ciphertext only if their attribute set aligns with the access structure (access policy) of the ciphertext. This design is more applicable to real-world scenarios where each user acquires keys from the Key Generation Center (KGC) based on their own attributes. Subsequently, the data owner encrypts the data with an access structure (access policy).
Therefore, CP-ABE is highly compatible with cloud computing. When implementing CP-ABE in cloud computing scenarios, users in possession of data can define an access structure (access policy) for the encrypted data. Only unique users whose attributes satisfy the access structure (access policy) can accurately decrypt the ciphertext. Consequently, there is no need for the user to replicate the encryption of the data when sharing it. This not only eliminates redundancy but also enhances flexibility for data owners in sharing data, thanks to the customizable access structure (access policy) settings.
While CP-ABE presents an algorithm based on public key cryptography capable of achieving precise access control functions, it encounters key escrow issues in practical applications. In traditional CP-ABE [4,5,6], users transmit their attribute sets to the KGC, which then generates the corresponding private key based on the user’s attributes. Subsequently, the user encrypts and shares files using this private key. It is evident in this process that KGC gains knowledge of the specific attributes of the user. In real-world usage scenarios, KGC acts as an honest but curious entity. The attributes involved are personal and private information for users who are understandably reluctant to disclose it. Consequently, users express concerns about the potential compromise of their privacy. To address this issue, some solutions currently implemented involve concealing the access structure [7,8,9]. However, this hidden access structure primarily addresses privacy protection against malicious access by unauthorized users. Another approach is the joint generation of private keys by multiple KGCs [10,11]. While this solution prevents attributes from being exclusively known by a single KGC, it does not entirely resolve the problem of user privacy exposure to any KGC. The pursuit of a robust solution to diminish the risk of privacy leakage in CP-ABE continues to be a formidable challenge.
Addressing the aforementioned concerns, we propose that the k -out-of- n oblivious transfer protocol emerge as a potent solution. Fundamentally, the KGC maintains a set comprising n attributes. Users are allowed to selectively choose k attributes (where k < n ) that resonate with their individual sets from these n attributes. Following this, users encrypt the chosen k attributes and convey them to the KGC. Consequently, the KGC, leveraging these k attributes, formulates the corresponding private key and allocates it to the users. A crucial aspect of this procedure is the KGC’s lack of awareness concerning the specific attributes chosen by the users, ensuring that the particulars used in the private key’s generation remain concealed. This method significantly bolsters user privacy safeguards in cloud computing contexts. Thus, the application of the k -out-of- n oblivious transfer protocol is elucidated as a proficient approach, augmenting privacy safeguards while preserving the intrinsic functionality of attribute-based encryption.

3. Preliminaries

3.1. k -Out-of- n Oblivious Transfer

The k -out-of- n oblivious transfer [25] is defined as follows: In this protocol, the sender and the receiver are generally involved. The sender is in charge of n messages { m 0 ,   m 1 ,   ,   m n } , and the receiver has a set of k numbers { r 1 ,   r 2 ,   ,   r k } 0 ,   1 ,   ,   n 1 . When the oblivious transfer protocol is completed, the receiver only holds k messages m r 1 ,   m r 2 ,   ,   m r k without knowing anything about m ξ , where ξ   0 ,   1 , , n 1   and ξ r 1 ,   r 2 ,   ,   r k , while the sender knows nothing about the message chosen by the receiver r 1 ,   r 2 ,   ,   r k .

3.2. Bilinear Pairings

Bilinear mapping means a map is defined as follows: G 0 and G 1 be two multiplicative cyclic groups of prime order p . Let g be a generator of G 0 and e be a bilinear map, e: G 0 × G 0 G 1 . The bilinear map e has the following properties:
(a)
Bilinearity: For all g 1 , g 2 G 0 and u , v     Z p has e g 1 u , g 2 v = e g 1 , g 2 u v .
(b)
Non-degeneracy: Given a generator g of the group G 0 , e g , g 1 .

3.3. Access Structure

Use a tree T to represent the access structure. All non-leaf nodes in the tree are represented as a threshold gate, determined by its child node and a threshold value. Define n u m x as the number of children of a node x and V x as threshold value of the node x , where 0 < V x n u m x . V x = 1   it is an AND gate, case V x = n u m x . Let A T T = a t t 1 ,   a t t 2 ,   ,   a t t n be an attribute set; all leaf nodes x are represented as an attribute a t t i   A T T and its threshold value V x = 1 . We denote p a r ( x ) to represent the parent of the node x . We can define a function a t t x , where a node x is a leaf node associated with an attribute. Furthermore, we define the order between the children of each node in the T by labeling the children of each node starting from 1. The function i n d e x x replies to the amount associated with the node x , and the value of i n d e x x is particularly assigned to the node in T for a specified key.

4. Our Construction

In this area, we give the details of how to construct our scheme. We begin by explaining the system model and introducing its main algorithms and functions. Afterwards, we provide a description of our attribute-based encryption scheme with O T k n protocol. Finally, we will discuss the security analysis and experimentation of this scheme.

4.1. Notions

The notions utilized in this paper are enumerated in Table 1.
Table 1. Notions and definitions for our scheme.

4.2. System Model

This paper proposes an attribute-based encryption with an oblivious transfer protocol, which mainly includes four parts: KGC, cloud storage server, data owner, and user. This scheme alleviates the problem of attribute privacy protection between the KGC and the user through the O T k n protocol. The system model of CP-ABE with O T k n is shown in Figure 1. The scheme proposed in this paper includes the following four stages:
Figure 1. System model of CP-ABE with k-out-of-n oblivious transfer.
Setup ( 1 λ ) ( M P K ,   M S K ): The Setup algorithm is run by KGC. Input the security parameter λ, and the algorithm outputs the system public parameter M P K and master private key M S K . KGC publicizes M P K and keeps M S K secret.
Encrypt ( M P K , M , T ) C T : The encryption algorithm is run by the data owner. Input a system public parameter M P K , a message M , and the tree access structure T , and the algorithm outputs ciphertext C T .
KeyGen ( M P K , S ) S K : The KeyGen algorithm is run by KGC and the user. Input a system public parameter M P K and the user’s attributes S , and the algorithm outputs the user’s private key S K .
Decrypt ( C T , S K ) M : The decryption algorithm is run by the user. Input ciphertext C T and the user’s private key S K , and the algorithm outputs the message M .

4.3. Proposed Scheme

Setup ( 1 λ ) ( M P K ,   M S K ): The setup algorithm is run by KGC. Let G be a cyclic additive group of prime order l , and let g be a generator of G . In addition, let e : G × G G T denote the bilinear map, and let G T = e g , g be a multiplicative group. Taking as input a security parameter λ and an attribute set A T T = a t t 1 ,   a t t 2 ,   ,   a t t n and supposing the attribute a t t 1 is mapped to index   i for all i = 1 ,   2 ,   ,   n . We will employ the hash functions H: { 0 ,   1 } * { 0 ,   1 } l ,   H 1 :   { 0 ,   1 } * × G Z q / l ,   H 2 :   { 0 ,   1 } * G ,   H 3 : G { 0 ,   1 } l that we would model as a random oracle. The construction is as follows:
(1)
Choose a random s Z q and calculate P p u b = g s . Pick two random exponents a , b Z q , and compute P = g b .
(2)
The public parameters are published as M P K , M S K , where M P K = G , G T , l , g , P p u b , P , e ( g , g ) a , H , H 1 , H 2 , H 3 and M S K = s , b , g a .
Encrypt ( M P K , M , T ) C T : The algorithm of encryption is run by the data owner. Our encryption is based on the Bethencourt approach [2]. It uses the tree access structure T to encrypt the message M . The details are as follows:
(1)
Choose a polynomial f x for each node or leaf x in the tree T . For each node x in the T , set the degree D x of the polynomial f x to be one less than the threshold value V x of that node, that is, D x = V x 1 . We use a top-down approach to pick these polynomials, and it begins with the root node R . First, the algorithm randomly chooses a b Z q and initializes f R 0 = c . Then, it chooses D R other points of the polynomial f R randomly to define it entirely. For another node x , it sets f x 0 = f P a r x i n d e x ( x ) and chooses D R other points randomly to entirely define f x .
(2)
On input the set of leaf nodes A T , then compute i A :   C 1 , i = g f i ( 0 ) , C 2 , i = H 2 a t t ( i ) f i ( 0 ) , C 3 = P c . Inputting a message M , compute C = M e g , g a c .
The data owner outputs ciphertext C T = T , C , C 1 , i , C 2 , i , C 3 .
KeyGen( M P K , S ) S K . The algorithm for key generation is run by the user and KGC. Users give the attribute S   A T T to KGC, and KGC outputs the key associated with that S . To prevent KGC from learning the key consistent with a set of attributes S , we combine the idea of k-out-of-n oblivious transfer protocol. The details are as follows:
(1)
KGC uses its I D k g c to compute O T . P K k g c = H 2 ( I D k g c ) , O T . S K k g c = s H 2 ( I D k g c ) . Then, on input user I D , compute O T . P K I D = H 2 ( I D ) , O T . S K I D = s H 2 ( I D ) reply for the user.
(2)
The user sets γ j to denote the number of these attributes S according to A T T = a t t 1 ,   a t t 2 ,   ,   a t t n , and randomly chooses α , β Z q . Then computes K = α β O T . P K I D ,     K j = H ( γ j ) β O T . S K I D , where j = 1 ,   2 ,   ,   k and γ j { 1 ,   2 ,   ,   n } . Afterwards, the user randomly chooses η Z q and computes ρ i d = H 3 I D , K , K 1 ,   K 2 ,   ,   K k . Then the user computes a signature σ i d = ( U i d , V i d ) , where U i d = η O T . P K I D ,     V i d = η + h i d O T . S K I D , and h i d = H 1 ( ρ i d , U i d ) . Finally, user output M i d = { I D , K , K 1 ,   K 2 ,   ,   K k , σ i d } .
(3)
When KGC receives the M i d , it first computes ϖ i d = H 3 I D r , K , K 1 ,   K 2 ,   ,   K k , verifying P , V i d = e ( P p u b , U i d + ϖ i d O T . P K I D ) . If it is false, output ; otherwise, randomly chooses φ Z q and computes A 1 = φ K 1 , A 2 = φ K 2 ,   ,   A k = φ K k .
(4)
Afterwards, KGC randomly chooses a r   Z p , and then randomly chooses r n   Z p for each attribute A T T = a t t 1 ,   a t t 2 ,   ,   a t t n . Then it computes the key message as M k e y = S K 1 , M . S K 2 , n , where S K 1 = g ( a + r ) / b , M . S K 2 , n = e ( H ψ n K , O T . S K k g c ) φ ( D 1 , n , D 2 , n ) . Moreover, D 1 , j = g r · H 2 n r n , D 2 , j = g r n , and ψ n is a number from 1 to n in order.
(5)
KGC randomly chooses ξ Z p and computes ρ k g c = H 3 A 1 ,   A 2 ,   ,   A k , M k e y and outputs signature σ k g c = ( U k g c , V k g c ) , where U k g c = ξ · O T . P K k g c ,     V k g c = ξ + h k g c O T . S K k g c and h k g c = H 1 ( ρ k g c , U k g c ) . Finally, KGC outputs M k g c = { I D k g c , A 1 ,   A 2 ,   ,   A k , M k e y , σ k g c } .
(6)
When the user receives the M k g c , it first computes ϖ k g c = H 3 I D k g c , A 1 ,   A 2 ,   ,   A k , M k e y , verifying e P , V k g c = e ( P p u b , U k g c + ϖ k g c O T . P K k g c ) . If it is false, output ; otherwise, compute S K 2 , t = M . S K 2 , n e A t , O T . P K k g c α , t 1 ,   2 ,   ,   k . Finally, the user obtains S K = S K 1 , S K 2 , t .
Decrypt ( C T , S K ) M : The decryption procedure is run by the user. We define the following recursive algorithm:
(1)
If the node x is a leaf node, we can let w = a t t x and define it as follows: If w A T T = a t t 1 ,   a t t 2 ,   ,   a t t n , the user executes the recursive algorithm D e c C T , S K , x = e ( D 1 , j , C 1 , i ) e ( D 2 , j , C 2 , i ) , otherwise D e c C T , S K , x output .
(2)
If the node x is a non-leaf node, for all nodes ω that are children of x , it calls D e c C T ,   S K , ω and stores the output as F ω . Let A T T x be an arbitrary k x -sized set of child nodes ω such that F ω   . If no such set exists, then the node was not satisfied, and the function returned . Otherwise, the user computes:
F ω = ω A T T x F ω i , A T T x 0 = ω A T T x ( e ( g , g ) r · f ω ( 0 ) ) i , A T T x 0 = ω A T T x ( e ( g , g ) r · f x ( i ) ) i , A T T x 0 = e ( g , g ) r · f x ( 0 ) ,   w h e r e   A T T x = i n d e x ω : ω A T T x ,   i =   index ( ω )
(3)
If the tree is satisfied by A T T = a t t 1 ,   a t t 2 ,   ,   a t t n , user set A = D e c C T , S K , r = e g , g r f R 0 = e g , g r c , and computes C / e C 3 , S K 1 / A . If it is false, output ; otherwise, output M as the decryption of the ciphertext.
Figure 2 is a schematic diagram of the algorithm steps and data flow of our solution.
Figure 2. Our scheme flow chart.

5. Security Analysis

In this area, we analyze the security of this protocol and prove that the protocol can achieve KGC’s privacy and the user’s privacy protection.
Security Assumptions. For our attribute-based encryption scheme with the O T k n protocol against malicious users, we will use two hardness problem assumptions: one is the Decisional Diffie-Hellman (DDH) problem, and the other is the Chosen-Target Computational Diffie-Hellman (CT-CDH) problem.
Assumption 1.
Decisional Diffie-Hellman assumption. Let  p = 2 q + 1 , where  p   a n d   q  are two primes, and let  G p   be the subgroup of  Z q with order  p . The following two distribution ensembles are computationally indistinguishable:
Y 1 = ( g , g a , g b , g a b ) G p , where  g is a generator of  G p and randomly chooses  a , b   Z q .
Y 2 = ( g , g a , g b , g c ) G p , where  g is a generator of  G p and randomly chooses  a , b , c Z q .
Assumption 2.
Chosen-Target Computational Diffie-Hellman assumption. Let  G p  be a group of prime order  q g  be a generator of  G p , and randomly choose  x Z q . Let  H 1 : 0 ,   1 * G p  be a cryptographic hash function. The adversary  A  is given input  q , g , g x , H 1  and two oracles: the target oracle  T G ·  that returns a random element  w i G p  at the  i -th query and the helper oracle  H G ·  that returns  · * . Let  q T  and  q H  be the number of queries  A  made to the target oracle and helper oracle, respectively. The probability that  A  outputs  k  pairs  ( v 1 , j 1 , v 2 , j 2 ,   ,   v k , j k ) , where  v i = w j i x  for  i   1 ,   2 ,   ,   k q H k q T , is negligible.
Theorem 1.
The proposed protocol can realize the protection of users’ privacy.
Proof. 
During the key distribution process, the user selected the number of some attributes γ j 1 ,   2 ,   ,   n from the all attribute collection A T T = a t t 1 ,   a t t 2 ,   ,   a t t n . First, the user hashed and randomized γ j by H and β , and output K j = H γ j β O T . S K I D . We maintain that the choice γ j can only be known by the user themselves and not by anyone else. Due to the computational difficulty of the DDH problem, even if the adversary has the ability to obtain the user’s private key O T . S K I D , they would still be unable to obtain H ( γ j )   β from K j . In other words, it is impossible for adversary A to determine γ j as they are unable to compute H ( γ j )   β and therefore cannot obtain any information about it. Let A = ( γ j , β ) Z q Z n   |   H ( γ j )   β O T . S K I D = K j ; that is to say, all the possible pairs ( β , γ j ) satisfying the equation   H ( γ j )   β O T . S K I D = K j together constitute A . Given a value K j and a fixed value of O T . S K I D , there exists only one unique value of   H ( γ j )   β that satisfies the equation. From the definition of a hash function, we know that if a specific value of   H ( γ j )   β is given, then it is possible to uniquely determine the corresponding value of γ j and β . There is a one-to-one correspondence between γ j and β . Given this fact, we can observe that there are n β , γ j pairs in A , with the dimension of γ j being n . Specifically, P r γ j | K j = P r γ j = 1 / n ; this means that, upon seeing a particular K j , there is no way to reveal the user’s choice γ j other than guesswork. Therefore, the proposed protocol has the ability to protect users’ privacy. □
Theorem 2.
The proposed protocol can realize the protection of KGC’s privacy.
Proof. 
We can prove that under Arguments 1 and 2, it is computationally impossible for the malicious user U * to obtain the ( k + 1 ) th message. Specifically, for argument (1), U * should pursue the scheme steps to generate the values of K and k K j s ; on the contrary, U * fails to get the k selected messages that it intended. In arguments (2), we will prove that U * cannot obtain the k + 1 th messages other than his choice, because when he tries to obtain the k + 1 th messages, he is actually solving the difficult problem of the CT-CDH problem. □
Argument 1.
U * must comply with the scheme to calculate the values of   K = α β · O T . P K I D *  and  K j = H γ j β · O T . S K I D * , for  j = 1  to  k ; if not,  U *  cannot receive the  k  messages that it has chosen.
Next, we will discuss in detail three cases: (a) U * fakes K but makes K j honest; (b) U * counterfeits K j but honestly generates K ; and (c) U * forges the values of K and K j .
(a) U * fakes K but makes K j honestly. Suppose U * is dishonest in calculating K , but honestly calculating K j as given in the scheme. Let us suppose the U * computes K j = H γ j β · O T . S K I D * and chooses an X G at random to replace K . Then, the KGC will compute A k = φ K k ,     M . S K 2 , n = e ( H ψ n X , O T . S K k g c ) φ ( D 1 , n , D 2 , n ) and return them to U * . In consequence, U * is unable to decrypt M . S K 2 , n to receive the k messages since e A t , O T . P K k g c α is certainly not equal to e ( H ψ n X , O T . S K k g c ) φ . For obtaining the k messages, the U * can only compute e ( H i X , O T . S K k g c ) φ equal to A t , O T . P K k g c α by obtaining KGC’s private key O T . S K k g c and one-time secrecy φ . However, this is computationally infeasible because extracting φ from A k   is a DDH problem.
(b) U * fakes s K j but forms K honestly. Suppose U * is dishonest in calculating s K j , and honestly generates K as given in the scheme. Let us suppose, the U * computes K = α β · O T . P K I D * , and chooses X j G at random to replace K . Then, the KGC will compute A k = φ K k , M . S K 2 , n = e H i K , O T . S K k g c φ D 1 , n , D 2 , n , for i = 1   t o   n , and return them to U * . In consequence, U * unable decrypt M . S K 2 , n since e A t , O T . P K k g c α = e φ X j , O T . P K k g c α is certainly not equal to e H i K , O T . S K k g c φ . For obtaining the k messages, the U * can only compute e H i K , O T . S K k g c φ = e H i α β O T . P K I D * , O T . S K k g c φ equal to A t , O T . P K k g c α by obtaining KGC’s private key O T . S K k g c and one-time secrecy φ . However, this is computationally infeasible because extracting φ from A k   is a DDH problem.
(c) U * fakes both the values of K and K j . Let us suppose the U * chooses X G at random to replace K and fakes K j as H γ j X . Under the assumption, the value of A k = φ K k = φ H γ j X is calculated by the sender as well as the ciphertexts M . S K 2 , n =   e H γ j X , O T . S K k g c φ D 1 , n , D 2 , n for j = 1   t o   k . Although U * is aware of the value of φ H γ j X (because it is exactly equal to the A k   obtained from KGC), it still cannot calculate e φ H γ j X , O T . S K k g c   in the absence of knowledge of O T . S K k g c . According to the above description, we know that when K is X and K k is H γ j X , U * cannot get M . S K 2 , n . In addition, U * probably sets K k as H γ j Y , where Y X is a random value in G . In conclusion, under the violation of calculating the values of K and K k , U * was unable to acquire the   k chosen messages.
Argument 2.
If  U *  accompanies the scheme truthfully to get  k  messages, though it wants to process the  ( k + 1 ) t h  message, afterwards it would confront the tough CT-CDH problem with the assumption of a random oracle.
The U * intends to get messages means U * would possess the awareness of e H i K , O T . S K k g c φ = e A t , O T . P K k g c α , in fact, according to argument (1), an honest user U should have knowledge of k values, where e H i K , O T . S K k g c φ , for i = 1   t o   n , whereas e H i K , O T . S K k g c φ = e A t , O T . P K k g c α , for t = γ j and j = 1   t o   k . Let suppose y ( i ) G T and e H i K , O T . S K k g c φ = y ( i ) . In consonance with argument (1), for acquiring the k selected message, U * is unable to modify the structures of K = α β · O T . P K I D * and K k = H ( γ j ) β · O T . S K I D * . In these conditions y ( i ) can only be decomposed into y ( i ) = e H i α β · O T . P K I D * , O T . S K k g c φ = e α β H i · O T . S K I D * , O T . P K k g c φ since O T . S K k g c = s · O T . P K k g c and O T . S K I D * = s · O T . P K I D * . Furthermore, under the assumption of random oracle and the fact that U * is able to learn the α , β , O T . S K I D *  and  O T . P K k g c , y ( i ) could be expressed as ( g i ) φ , where g i = e α β H i · O T . S K I D * , O T . P K k g c and φ   G T is a random element. Thereafter, the malicious U * actually encounters the determination of the k + 1 t h pair γ k + 1 , g γ k + 1 φ with the awareness of k pairs of γ 1 , g γ 1 φ , γ 2 , g γ 2 φ ,   ,   γ k , g γ k φ , where g γ j φ = e A t , O T . P K k g c α , but without the awareness of KGC’s secrecy φ (because it is DDH difficult problem for calculating φ from A t ( = φ K k ). Consequently, the user was unable to get the k + 1 th message.
In accordance with Arguments 1 and 2, we have proven Theorem 2 that our scheme is able to realize the protection of KGC’s privacy.

6. Experiment and Evaluation

In this part, we will verify the effectiveness of this scheme with respect to theoretical examination and experimental verification.
Theoretical examination: To be fair, we only consider the adopt tree structure CP-ABE scheme. Table 2 shows the comparison of the properties between the schemes. From Table 2, we can know that our solution is aimed at protecting the user’s attribute privacy from being known by KGC under the condition that KGC is honest and curious. At the same time, our solution does not require multiple authorization centers or additional outsourced calculations. In Table 3 and Table 4, we conduct theoretical analysis from two aspects of computing overhead and storage overhead for the preferred scheme and our scheme. The storage overhead is mainly for the amount of PK, SK, and CT, and the computing overhead is basically for the time cost of KeyGen, encryption, and decryption. The PK refers to the size of the user’s public key. The SK means the size of the user’s private key. The CT means the size of the ciphertext. Expand in detail; suppose the access structure T contains k -level nodes. Let | T R | and | T i | express the complete amount of the leaf nodes in T as well as in the subtree rooted at level node V x in T individually. The G and | G T | mean the length of one element in G , G T ; the | S | means the groups of attributes; and the n means the number of attributes. The E G , E T means an exponentiation operation time expense in G , G T ; the P means a pairing computation time expense.
Table 2. Properties comparison.
Table 3. Storage overhead comparison of different schemes.
Table 4. Computation efficiency comparison of different schemes.
Experimental verification: In order to verify the results of our above theoretical analysis, based on the PBC library [31], we simulated and implemented the schemes in [28,29,30] and our system, respectively. Specifically, we experimented on our MacBook Air, whose CPU has an Intel Core i5 (1.1 GHz), 8 GB of RAM, and runs Ventura 13.3. For the purpose of the 80-bit security level target, our scheme adopted the super-singular curve y 2 = x 3 + x over a 512-bit finite field to design a 160-bit elliptic curve group to simulate running these schemes. In these figures, the units of computation cost are milliseconds, while the total of the execution times of all algorithms is considered the total execution time. The experimental verification is conducted using the PBC library to implement the cryptographic computation code. The experimental process mainly entails implementing the cryptographic formulas and computations involved in the discussed schemes through the C program. Figure 3 below depicts the actual computation time derived from running the code on our computer. We precisely conducted the experimental verification of our scheme and the selected comparative schemes on the same platform and library.
Figure 3. Cryptography computation runtime overhead.
Figure 4 mainly presents the trend of computing time for key generation as the attribute increases. Due to the oblivious transfer protocol, our scheme has additional overhead in the key generation stage, but the added overhead is still acceptable. Figure 5 shows the computation time required for encryption as the attribute increases. In the encryption stage, our overhead is basically the same as other tree structures in the CP-ABE scheme. Figure 6 demonstrates the relationship between the computation time of decrypting overhead and the number of attributes. As with other schemes, the computational overhead in the decryption stage increases with the number of attributes. It has been proven by experiments that the addition of the k-out-of-n oblivious transfer protocol will not significantly affect the performance of the scheme under the condition of protecting user privacy.
Figure 4. Key generation computation time comparison.
Figure 5. Encryption computation time comparison.
Figure 6. Decryption computation time comparison.

7. Conclusions

Attribute-based encryption offers an ideal solution for flexible data sharing, yet the credibility of the KGC within the attribute encryption scheme is pivotal for user confidence. In this paper, we introduce an innovative scheme that combines a O T k n protocol with a CP-ABE scheme. During the computation of the user’s public-private key pair, the KGC employs the O T k n protocol to hide the user’s essential attributes, preventing the leakage of user privacy. Distinguished from other solutions, our approach primarily addresses the challenge of safeguarding user attribute privacy, assuming that the KGC operates as an honest curiosity model. This allows the KGC to generate private keys for users without knowledge of the specific attributes associated with each user. In the security analysis of this scheme, we specifically examined two situations: (1) the protection of the user’s privacy; and (2) the protection of KGC’s privacy. By utilizing the DDH and CT-CDH assumptions, we demonstrated that the scheme effectively safeguards user privacy from disclosure. Furthermore, we conducted a performance comparison of this scheme with other CP-ABE schemes of the same type. After incorporating the O T k n protocol, the computation time overhead for key generation, encryption, and decryption within the scheme did not experience a significant increase. Therefore, we are confident that this concept can provide substantial support for the wider adoption of attribute encryption in the future. While our current scheme is suitable for tree access structures, we recognize the flexibility and diversity of access control structures in attribute encryption. Our future research aims to develop a general method to utilize the oblivious transfer protocol with any access structure.

Author Contributions

Software, J.M.; Formal analysis, X.W.; Resources, K.W.; Writing—original draft, H.Z.; Writing—review & editing, Y.Z. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded in part by the National Natural Science Foundation of China under Grants U20B2049 and U20B2046 and in part by the Key Research and Development Project of Sichuan Province of China under Grant 2022YFG0172; the Sichuan Science and Technology Program under Grant 2023YFG0146; the Foundation of Science and Technology on Communication Security Laboratory under Grant 61421030209012105; and the Stability Program of Science and Technology on Communication Security Laboratory (2002).

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 no conflict of interest.

References

  1. Sahai, A.; Waters, B. Fuzzy identity-based encryption. In Proceedings of the Advances in Cryptology–EUROCRYPT 2005: 24th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Aarhus, Denmark, 22–26 May 2005; Proceedings 24. Springer: Berlin/Heidelberg, Germany, 2005; pp. 457–473. [Google Scholar]
  2. Goyal, V.; Pandey, O.; Sahai, A.; Waters, B. Attribute-based encryption for fine-grained access control of encrypted data. In Proceedings of the 13th ACM Conference on Computer and Communications Security, Alexandria, VA, USA, 30 October–3 November 2006; pp. 89–98. [Google Scholar]
  3. 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]
  4. Han, D.; Pan, N.; Li, K.C. A traceable and revocable ciphertext-policy attribute-based encryption scheme based on privacy protection. IEEE Trans. Dependable Secur. Comput. 2020, 19, 316–327. [Google Scholar] [CrossRef]
  5. Cui, H.; Deng, R.H.; Qin, B.; Weng, J. Key regeneration-free ciphertext-policy attribute-based encryption and its application. Inf. Sci. 2020, 517, 217–229. [Google Scholar] [CrossRef]
  6. Sowjanya, K.; Dasgupta, M. A ciphertext-policy Attribute based encryption scheme for wireless body area networks based on ECC. J. Inf. Secur. Appl. 2020, 54, 102559. [Google Scholar] [CrossRef]
  7. Zhang, Z.; Zhang, J.; Yuan, Y.; Li, Z. An expressive fully policy-hidden ciphertext policy attribute-based encryption scheme with credible verification based on blockchain. IEEE Internet Things J. 2021, 9, 8681–8692. [Google Scholar] [CrossRef]
  8. Hu, G.; Zhang, L.; Mu, Y.; Gao, X. An expressive “test-decrypt-verify” attribute-based encryption scheme with hidden policy for smart medical cloud. IEEE Syst. J. 2020, 15, 365–376. [Google Scholar] [CrossRef]
  9. Zeng, P.; Zhang, Z.; Lu, R.; Choo, K.-K.R. Efficient policy-hiding and large universe attribute-based encryption with public traceability for internet of medical things. IEEE Internet Things J. 2021, 8, 10963–10972. [Google Scholar] [CrossRef]
  10. Xie, M.; Ruan, Y.; Hong, H.; Shao, J. A CP-ABE scheme based on multi-authority in hybrid clouds for mobile devices. Future Gener. Comput. Syst. 2021, 121, 114–122. [Google Scholar] [CrossRef]
  11. Miao, Y.; Deng, R.; Liu, X.; Choo, K.-K.R.; Wu, H.; Li, H. Multi-authority attribute-based keyword search over encrypted cloud data. IEEE Trans. Dependable Secur. Comput. 2019, 18, 1667–1680. [Google Scholar] [CrossRef]
  12. Kapadia, A.; Tsangp, P.; Smiths, W. Attribute- based publishing with hidden credentials and hidden policies. In Proceedings of the Network and Distributed System Security Symposium, NDSS 2007, San Diego, CA, USA, 28 February–2 March 2007; pp. 179–192. [Google Scholar]
  13. Xu, R.; Lang, B. A CP-ABE scheme with hidden policy and its application in cloud computing. Int. J. Cloud Comput. 2015, 4, 279–298. [Google Scholar] [CrossRef]
  14. 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]
  15. Chase, M.; Chows, S.M. Improving privacy and security in multi-authority attribute-based encryption. In Proceedings of the ACM Conference on Computer and Communications Security, Chicago, IL, USA, 9–13 November 2009; pp. 121–130. [Google Scholar] [CrossRef]
  16. Zhao, C.; Xu, L.; Li, J.; Fang, H.; Zhang, Y. Toward secure and privacy-preserving cloud data sharing: Online/offline multiauthority CP-ABE with hidden policy. IEEE Syst. J. 2022, 16, 4804–4815. [Google Scholar] [CrossRef]
  17. Liu, Z.; Cao, Z.; Wong, D.S. Blackbox traceable CP-ABE: How to catch people leaking their keys by selling decryption devices on ebay. In Proceedings of the 2013 ACM SIGSAC Conference on Computer & Communications Security, Berlin, Germany, 4–8 November 2013; pp. 475–486. [Google Scholar]
  18. Luo, F.; Al-Kuwari, S. Generic construction of black-box traceable attribute-based encryption. IEEE Trans. Cloud Comput. 2021, 11, 942–955. [Google Scholar] [CrossRef]
  19. He, X.; Li, L.; Peng, H. An enhanced traceable CP-ABE scheme against various types of privilege leakage in cloud storage. J. Syst. Archit. 2023, 136, 102833. [Google Scholar] [CrossRef]
  20. Liu, Z.; Ding, Y.; Yuan, M.; Wang, B. Black-box accountable authority CP-ABE scheme for cloud-assisted e-health system. IEEE Syst. J. 2022, 17, 756–767. [Google Scholar] [CrossRef]
  21. Sethi, K.; Pradhan, A.; Bera, P. Practical traceable multi-authority CP-ABE with outsourcing decryption and access policy updation. J. Inf. Secur. Appl. 2020, 51, 102435. [Google Scholar] [CrossRef]
  22. Rabin, M.O. How to Exchange Secrets with Oblivious Transfer; Tech. Report. TR-81; Aiken Computation Lab, Harvard University: Cambridge, MA, USA, 1981. [Google Scholar]
  23. Brassard, G.; Crepeau, C.; Robert, J.-M. All-or-nothing disclosure of secrets. In Proceedings of the International Conference on Advances in Cryptology (CRYPTO’86), Santa Barbara, CA, USA, 11–15 August 1986; Volume 263, pp. 234–238. [Google Scholar]
  24. Tzeng, W.G. Efficient 1-out-n oblivious transfer schemes. In Proceedings of the 5th International Workshop on Practice and Theory in Public Key Cryptosystems, PKC 2002, Paris, France, 12–14 February 2002; Springer: Berlin/Heidelberg, Germany, 2002; pp. 159–171. [Google Scholar]
  25. Naor, M.; Pinkas, B. Oblivious transfer and polynomial evaluation. In Proceedings of the Thirty-First Annual ACM Symposium on Theory of Computing, Atlanta, GA, USA, 1–4 May 1999; pp. 245–254. [Google Scholar]
  26. Chu, C.-K.; Tzeng, W.-G. Eicient k-out-of-n Oblivious Transfer Schemes. J. UCS 2008, 14, 397–415. [Google Scholar]
  27. Chu, C.K.; Tzeng, W.G. Efficient k-out-of-n oblivious transfer schemes with adaptive and non-adaptive queries. In Proceedings of the International Workshop on Public Key Cryptography, Les Diablerets, Switzerland, 23–26 January 2005; Springer: Berlin/Heidelberg, Germany, 2005; pp. 172–183. [Google Scholar]
  28. Chen, N.; Li, J.; Zhang, Y.; Guo, Y. Efficient CP-ABE scheme with shared decryption in cloud storage. IEEE Trans. Comput. 2020, 71, 175–184. [Google Scholar] [CrossRef]
  29. Das, S.; Namasudra, S. Multiauthority CP-ABE-based Access Control Model for IoT-enabled Healthcare Infrastructure. IEEE Trans. Ind. Inform. 2022, 19, 821–829. [Google Scholar] [CrossRef]
  30. Zhou, Y.; Zheng, S.; Wang, L. Privacy-preserving and efficient public key encryption with keyword search based on CP-ABE in cloud. Cryptography 2020, 4, 28. [Google Scholar] [CrossRef]
  31. The Pairing-Based Cryptography Library. 2006. Available online: https://crypto.stanford.edu/pbc/manual/ (accessed on 1 May 2023).
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.

Article Metrics

Citations

Article Access Statistics

Multiple requests from the same IP address are counted as one view.