Next Article in Journal
Feasibility of Detecting Natural Frequencies of Hydraulic Turbines While in Operation, Using Strain Gauges
Next Article in Special Issue
Cyber and Physical Security Vulnerability Assessment for IoT-Based Smart Homes
Previous Article in Journal
A New Localization System for Indoor Service Robots in Low Luminance and Slippery Indoor Environment Using Afocal Optical Flow Sensor Based Sensor Fusion
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Analysis of an ABE Scheme with Verifiable Outsourced Decryption

1
School of Information and Software Engineering, University of Electronic Science and Technology of China, Chengdu 610054, China
2
School of Computer Science and Engineering, University of Electronic Science and Technology of China, Chengdu 611731, China
3
Institute of Information Security, Mianyang Normal University, Mianyang 621000, China
*
Author to whom correspondence should be addressed.
Sensors 2018, 18(1), 176; https://doi.org/10.3390/s18010176
Submission received: 25 December 2017 / Revised: 5 January 2018 / Accepted: 5 January 2018 / Published: 10 January 2018
(This article belongs to the Special Issue Security in IoT Enabled Sensors)

Abstract

:
Attribute-based encryption (ABE) is a popular cryptographic technology to protect the security of users’ data in cloud computing. In order to reduce its decryption cost, outsourcing the decryption of ciphertexts is an available method, which enables users to outsource a large number of decryption operations to the cloud service provider. To guarantee the correctness of transformed ciphertexts computed by the cloud server via the outsourced decryption, it is necessary to check the correctness of the outsourced decryption to ensure security for the data of users. Recently, Li et al. proposed a full verifiability of the outsourced decryption of ABE scheme (ABE-VOD) for the authorized users and unauthorized users, which can simultaneously check the correctness of the transformed ciphertext for both them. However, in this paper we show that their ABE-VOD scheme cannot obtain the results which they had shown, such as finding out all invalid ciphertexts, and checking the correctness of the transformed ciphertext for the authorized user via checking it for the unauthorized user. We first construct some invalid ciphertexts which can pass the validity checking in the decryption algorithm. That means their “verify-then-decrypt” skill is unavailable. Next, we show that the method to check the validity of the outsourced decryption for the authorized users via checking it for the unauthorized users is not always correct. That is to say, there exist some invalid ciphertexts which can pass the validity checking for the unauthorized user, but cannot pass the validity checking for the authorized user.

1. Introduction

Recently, cloud computing has become a very fascinating computing paradigm, in which storage and computation have moved away from terminal devices to the remote side. There are many novel applications in this area, such as outsourcing computation [1,2] and outsourcing verification [3]. This new and popular method brings important revolutions for the management, distribution and sharing data of enterprises and individuals, especially for some constrained devices, such as mobile phone, wireless sensors. Cloud clients (or sensors) are able to achieve significant cost savings by outsourcing their data storage and computation to some cloud service providers. Since the data of cloud clients (or sensors) are out of control by themselves, how to ensure the data security of cloud clients (sensors) is a significant problem in academia and industrial. Utilizing all kinds of cryptographic schemes is an essential method to achieve this goal. While attribute-based encryption (ABE) [4] is one of the most popular notions to study and utilize in cloud computing since it has the property of the flexible and fine-grained access control.
The notion of ABE was first introduced by Sahai and Waters [4]. There are two different types of ABE schemes according to the manner to deploy the access control policy, key-policy attribute-based encryption (KP-ABE) [5] and ciphertext-policy attribute-based encryption (CP-ABE) [6]. The ciphertexts are labeled with sets of attributes and access policies over these attributes are associated with clients’ private keys in the KP-ABE scheme. While every ciphertext is associated with an access policy, and every client’s private key is associated with a set of attributes in the CP-ABE scheme. However, decryption operations of most requirement that the set of attributes should satisfy the access policy in any ABE system and in most existing ABE schemes, one of the main drawbacks is that the length of the ciphertext and the decryption computational cost grow with the complexity of the access policy. This becomes critical obstacle in various applications, especially the applications on resource-limited devices.
In order to reduce the decryption time and the computation cost, Green et al. [7] proposed an ABE scheme with outsourced decryption (ABE-OD). In their scheme, an authorized client first delegated an untrusted cloud server to convert the original ciphertext into a transformed ciphertext with a transformation key, and then the client obtained the plaintext from the transformed ciphertext by spending a small overhead. The ABE-OD scheme would not leak any information about the encrypted data. However, the ABE-OD proposed by Green et al. cannot ensure the correctness of the transformed ciphertext since the cloud server is public and untrusted. The untrusted cloud server may send a wrong transformed ciphertext to the clients for saving computing cost or suffering from malicious attack which also causes to generate the incorrectly transformed ciphertext. In order to ensure the correctness of the ciphertext, Lai et al. [8] put forth an ABE-OD scheme that can check the correctness of the transformed ciphertext generated by the cloud server, which was called ABE with verifiable outsourced decryption (ABE-VOD). In their ABE-VOD scheme, the data owner encrypted a plaintext and a random message to the ciphertext respectively, and generated a commitment of an actual plaintext and the random message. And in the decryption algorithm of their ABE-VOD scheme, the client should compute the plaintext and the random message to use the commitment to verify whether the transformed ciphertext is generated correctly. A client was able to verify the correctness of the transformed ciphertext if and only if his/her attributes set satisfies the access structure associated with the ciphertext. Subsequently, several ABE-VOD schemes were proposed according to different methods and distinct scenarios in [9,10,11,12,13]. And Qiu et al. [14] used an ontology-based approach to achieve attribute-based access controls as well.
Recently, Li et al. [15] proposed a full verifiability for outsourced decryption in ABE, which could simultaneously check the correctness of transformed ciphertext for the authorized clients and unauthorized clients. In their scheme, a data owner constructed two access policies for the authorized clients and unauthorized clients, respectively. And then the data owner uses a short “signature” for each ciphertext to ensure that the client could verify the validity of the transformed ciphertext. In order to avoid first computing the plaintext and then verifying the validity of the ciphertext, Li et al. used “verify-then-decrypt” skill rather than “decrypt-then-verify” paradigm. That is to say, the client first verified the validity of the ciphertext or the transformed ciphertext, and then decrypted the ciphertext and obtains the corresponding plaintext or the random message if the ciphertext or the transformed ciphertext passed the verification of its validation.

1.1. Motivation and Contribution

In cloud computing, the ABE-OD scheme cannot ensure the correctness of the ciphertext or the transformed ciphertext for cloud server being untrusted. The untrusted server may send a wrong transformed ciphertext to the users for saving computing cost or it may have suffered from malicious attack which also produces the incorrect ciphertext or transformed ciphertext. In order to ensure the correctness of the ciphertext or the transformed ciphertext, the ABE-VOD schemes were proposed in [9,10,11,12,13,15].
However, we firstly show that the validity verification method in decryption algorithm of the ABE-VOD scheme put forth by Li et al. [15] cannot always check the validity of all ciphertexts in this paper. That is to say, there exist some invalid ciphertexts which can pass the validity checking and output the “corresponding” plaintexts. Furthermore, even if the untrusted server honestly performs the outsourced decryption for these invalid ciphertexts, the decryption algorithm cannot check them (the decryption algorithm cannot output ⊥). Thus, the “verify-then-decrypt” skill used in [15] is unavailable. Then, we show that the method to check the validity of the outsourced decryption for the authorized user via checking it for the unauthorized user is not always correct. That is to say, there exist some invalid ciphertexts which can pass the validity checking for the unauthorized user, but cannot pass the correctness of the ciphertexts checking for the authorized user.

1.2. Organization of the Paper

The rest of this paper is organized as follows. The system model of the ABE-VOD and some basic mathematic knowledge are introduced in Section 2. In Section 3, we review the ABE-VOD scheme proposed by Li et al., and analyze their scheme. Finally, the conclusions are given in Section 4.

2. Premilinary

In the section, we will recall the definition of ABE-VOD and some basic mathematic knowledge in [15].

2.1. System Model

The ABE-VOD Scheme consists of seven algorithms: Setup, KeyGen, Encrypt, Decrypt, GenTK o u t , Transform o u t and Decrypt o u t . The detailed is described as follows.
  • Setup ( 1 λ , U ) . Take as input a security parameter 1 λ and attribute universe description U , generate a master secret key m s k and public parameters P K .
  • KeyGen ( m s k , P K , S ) . Take as input the master secret key m s k , the public parameters P K and an attribute set S , generate the client’s private key S K . If a client is an authorized one, use S K D S to represent the private key of the authorized client, where D S represents an attribute set of the authorized client. If a client is an unauthorized one, the client uses S K V S to represent the private key of the unauthorized client, where V S represents an attribute set of the unauthorized client.
  • Encrypt ( P K , M , A , A ¯ ) . Take as input the public parameters P K , the plaintext M and two access structures A , A ¯ , and output a ciphertext C T .
  • Decrypt ( S K , C T ) . Take as input a private key S K and a ciphertext C T . If the client’s attribute set S satisfies the access policy A , then the client utilizes the private key S K D S to decrypt the ciphertext; otherwise, the client utilizes the private key S K V S to decrypt the ciphertext. After the client checks the correctness of the ciphertext, he/she outputs the plaintext M if the ciphertext is valid; otherwise, the client outputs .
  • GenTK o u t ( P K , S K ) . Take as input the public parameters P K and the private key S K , genetate a transformation key T K and a retrieving key R K . If a client is an authorized one, let S K = S K D S and set T K = T K D S , R K = R K D S ; otherwise, let S K = S K V S and set T K = T K V S , R K = R K V S .
  • Transform o u t ( T K , C T ) . Take as input the transformation key T K and the ciphertext C T , generate the transformed ciphertext T C T .
  • Decrypt o u t ( C T , T C T , R K ) . Take as input a ciphertext C T , a transformed ciphertext T C T and a retrieving key R K . If the client’s attribute set S satisfies the access policy A , the client is an authorized one and then he/she utilizes C T , T C T and R K D S to decrypt the ciphertext; otherwise, the client utilizes the private key C T , T C T and R K V S to decrypt the ciphertext. After the client checks the correctness of the ciphertext, outputs the plaintext M if the ciphertext is valid; otherwise, outputs .

2.2. Bilinear Pairing

Let G 1 and G 2 be two multiplicative groups which have the same prime order q , Z q * be the multiplicative group of the finite field F q . A bilinear map e : G 1 × G 1 G 2 [16], which satisfies the followings three properties:
  • Bilinearity: For any α , β , γ G 1 ,
    e ( α , β γ ) = e ( α , β ) e ( α , γ ) , and
    e ( α β , γ ) = e ( α , γ ) e ( β , γ ) .
  • Non-degeneracy: There are elements α , β G 1 , such that e ( α , β ) 1 , where 1 is the identity element of G 2 .
  • Computability: For any elements α , β G 1 , there is an efficient algorithm to compute e ( α , γ ) .
The concrete bilinear pairings e will be using the modified Weil [17] or Tate pairings [18] on some elliptic curves. We will define two hard problems used in our paper below: Decisional Diffie-Hellman (DDH) problem and Computational Diffie-Hellman (CDH) problem. Let α be a generator of the group G 1 .
Definition 1.
(CDH problem in G 1 ) . Given α ,   α x ,   α y G 1 , to compute α x y .
Definition 2.
(DDH problem in G 1 ) . Given α , α x , α y , α z G 1 , to decide whether x y z mod q holds or not.
It is obvious that the DDH problem in G 1 is easy since it can verify above congruence by using the bilinear pairing e. However, as far there is no polynomial-time algorithm to solve CDH problem in G 1 , we assume that CDH problem in G 1 is hard.

2.3. Linear Secret Sharing Schemes

We recall a description for LSSS in [19]. Let P be a set of parties. A secret sharing scheme Π is called linear (over Z p ) if it satifies the following conditions.
  • The secret shares of each party form a vector in Z p .
  • Let A is a matrix with l rows and n columns. Let the function ρ represent the party labeling row i as ρ ( i ) , where is the ith row of A . Suppose a vector v i = ( s , r 2 , , r n ) T is the column vector and r 2 , , r n are random value in Z p , where s Z p is the secret to be shared. A v is the vectors of l shares for the the secret s with respect to Π . The share ( A v ) i belongs to party ρ ( i ) . Suppose that Π is an LSSS of the access policy A and S A is any authorized set. Let I = { i : ρ ( i ) S } [ l ] = { 1 , 2 , , l } . If { λ i } are valid shares for any secret s with respect to Π , then we can compute constants { ω i Z p } i I such that i I ω i λ i = s , where λ i = ( A v ) i .
Notations. The vector ( 1 , 0 , , 0 ) is the “target” vector of any LSSS. For any unauthorized set of rows I in A , the target vector is not in the span of the rows of set I . For any authorized set of rows I in A , the target vector is in the span of I .

3. Analysis of Li et al.’s Abe-Vod Scheme

Since ABE-VOD scheme proposed by Li et al. is much complex, we recall it in Appendix B and the security model in Appendix A.

3.1. The Excepted Functionalities of the ABE-VOD Scheme

In the subsection, we analyze the construction of the ABE-VOD scheme proposed by Li et al. The scheme wanted to get the following results at least.
  • First, any ABE-VOD should have the decryption functionality. The decryption algorithm of the ABE-VOD can correctly check the valid ciphertext and invalid ciphertext (any encryption scheme must satisfy this condition). That is to say, the Decrypt algorithm outputs a corresponding plaintext of some ciphertext if and only if the ciphertext is valid, or the Decrypt o u t algorithm outputs the corresponding plaintext of a transformed ciphertext if and only if the transformed ciphertext is correct.
  • Then, the ABE-VOD scheme can simultaneously check the correctness of the transformed ciphertext for the authorized users and unauthorized users by using “verifying-then-decrypt” method to guarantee the correctness of the transformed ciphertext.

3.2. The ABE-VOD Scheme Cannot Verify the Validity of All Ciphertexts

In general, the goal of the verification formulas of the decryption algorithm are to check the correctness of ciphertext. However, the decryption algorithm of ABE-VOD scheme proposed by Li et al. only checks validity of a part of ciphertext, but not checks whether the output of the decryption algorithm for some ciphertext is the original plaintext . In the subsection, we show that there exist some ciphertexts which are verified by the decryption algorithm, but its output isn’t the original plaintext.
As analysis in [15], the ciphertext stored in cloud server maybe be tampered by some malicious attackers or the transformed ciphertext could be generated via using incorrect one by the untrusted cloud server. We will view these activities as attacks of an adversary and describe how an adversary constructs an invalid ciphertext below, which the decryption algorithm will view as a valid ciphertext and output the “corresponding” plaintext.
The adversary takes as input a random message M { 0 , 1 } m and the two LSSS access structures A = ( A , ρ ) , A ¯ = ( A ¯ , ρ ¯ ) .
The adversary first picks up a random string R { 0 , 1 } m , two random vectors
v = ( s 1 , v 12 , , v 1 n ) ( Z p * ) n
and
v = ( s 2 , v 22 , , v 2 n ) ( Z p * ) n
and two random elements s 1 , s 2 Z p * such that s 1 s 1 and s 2 s 2 . For each row A i of A, A ¯ i of A ¯ , it picks r 1 , i , r 2 , i Z p * uniformly at random. Then, it calculates:
C M = M H 3 ( e ( g , g ) α s 1 ) ,
η 1 = H 1 ( e ( g , g ) α s 1 ) ,
C 1 = g s 1 ,
C 1 , i = g a A i · v T ρ ( i ) r 1 , i , D 1 , i = g r 1 , i i { 1 , 2 , , l } .
Set C T M = ( C M , C 1 , { C 1 , i } i [ l ] , { D 1 , i } i [ l ] ) , and compute:
C R = R H 3 ( e ( g , g ) α s 2 ) ,
η 2 = H 1 ( e ( g , g ) α s 2 ) ,
C 2 = g s 2 ,
C 2 , i = g a A ¯ i · v T ρ ¯ ( i ) r 2 , i , D 2 , i = g r 2 , i , i [ l ] .
Set C T R = ( C R , C 2 , { C 2 , i } i [ l ] , { D 2 , i } i [ l ] ) .
σ 1 = H 2 ( C M , C R ) η 1 , σ M = { σ 1 , H 2 ( C M , C R ) } ,
σ 2 = H 2 ( C M , C R ) η 2 , σ R = { σ 2 , H 2 ( C M , C R ) } .
The ciphertext C T = ( A , A ¯ , C T M , σ M , C T R , σ R ) .
Obviously, the ciphertext C T is not a valid ciphertext of the message M since the adversary picks two distinct random numbers s 1 and s 1 to produce the ciphertext C T M , and picks two distinct random numbers s 2 and s 2 to produce the ciphertext C T R . However, the decryption algorithm will view it as a valid ciphertext and output the “corresponding” plaintext. When the decryption algorithm takes as input C T and S K , it runs as follows.
  • If S satisfies the access policy A , the private key S K of an authorized client is
    ( D S , K = g α y t 1 , K 0 = g t 1 , { K i = T i t 1 } a t t i D S ) .
    Let I = { i : ρ ( i ) S } [ l ] = { 1 , 2 , , l } . Then it calculates ω i Z p * for i I such that Σ i I ω i A i = ( 1 , 0 , , 0 ) , and computes:
    X M = e ( C 1 , K ) i I ( e ( C 1 , i , K 0 ) e ( D 1 , i , K ρ ( i ) ) ) ω i ,
    which equals e ( g , g ) α s 1 .
    It is clear that the equality
    e ( σ 1 , g ) = e ( H 2 ( C M | | C R ) , g η 1 )
    holds, where η 1 = H 1 ( X M ) . Then it computes
    M = C M H 3 ( X M ) = M e ( g , g ) α s 1 e ( g , g ) α s 1 .
    However, M does not equal M since s 1 s 1 . That is to say, the decryption algorithm cannot refuse the plaintext of the ciphertext which is produced by other “encryption” algorithm.
  • If S satisfies the access policy A ¯ , the private key S K of an unauthorized client is
    ( V S , K = g α y t 2 , K 0 = g t 2 , { K i = T i t 2 } a t t i V S ) .
    Let I = { i : ρ ¯ ( i ) S } { 1 , 2 , , l } . Then it calculates ω i Z p * for i I such that Σ i I ω i A i ¯ = ( 1 , 0 , , 0 ) , and computes:
    X R = e ( C 2 , K P ) i I ( e ( C 2 , i , K P 0 ) e ( D 2 , i , K P ρ ¯ ( i ) ) ) ω i ,
    which equals e ( g , g ) α s 2 .
    For the same reason above, the equality
    e ( σ 2 , g ) = e ( H 2 ( C M | | C R ) , g η 2 )
    holds, where η 2 = H 1 ( X R ) . Then it computes
    R = C R H 3 ( X R ) = R e ( g , g ) α s 2 e ( g , g ) α s 2 .
    However, R does not equal R since s 2 s 2 .
Thus, the decryption algorithm of the ABE-VOD scheme proposed by Li et al. for both the authorized client and the unauthorized client cannot check the validity of all ciphertexts. I.e., there exist some invalid ciphertexts which can pass the validity checking. Furthermore, their ABE-VOD scheme cannot check the validity of the outsourcing computation by checking the correctness of the corresponding ciphertext since the output of both the Decrypt algorithm and Decrypt o u t algorithm is not always correct.

3.3. The ABE-VOD Scheme Is Not Full Verifiable

Since verifying the correctness of the outsourced decryption for unauthorized clients is very important, Li et al. considered the following scenario. The authorized user wants to, but is not able to, process some pending businesses when the time or position of the authorized client is limited. He/she needs someone to help him/her to verify whether a pending business is correctly processed and does not want the latter to know anything about the content of the business. Thus Li et al. proposed the ABE-VOD scheme which could utilize an unauthorized client to help him/her to verify the correctness of the transformed ciphertext. We construct the following ciphertext which can pass the correctness checking for an unauthorized client but it is not a valid ciphertext for the authorized client.
The adversary takes as input a random message M { 0 , 1 } m and the two LSSS access structures A = ( A , ρ ) , A ¯ = ( A ¯ , ρ ¯ ) .
The adversary first picks a random string R { 0 , 1 } m , two random vectors
v = ( s 1 , v 12 , , v 1 n ) ( Z p * ) n
and
v = ( s 2 , v 22 , , v 2 n ) ( Z p * ) n .
For each row A ¯ i of A ¯ , it picks r 2 , i Z p * uniformly at random. And it uniformly picks
C M { 0 , 1 } m , η 1 Z p * , C 1 , { C 1 , i , D 1 , i } [ l ] G 1
at random.
Set C T M = ( C M , C 1 , { C 1 , i } i [ l ] , { D 1 , i } i [ l ] ) , then it calculates:
C R = R H 3 ( e ( g , g ) α s 2 ) ,
η 2 = H 1 ( e ( g , g ) α s 2 ) ,
C 2 = g s 2 ,
C 2 , i = g a A ¯ i · v T ρ ¯ ( i ) r 2 , i , D 2 , i = g r 2 , i , i [ l ] .
Set C T R = ( C R , C 2 , { C 2 , i } i [ l ] , { D 2 , i } i [ l ] ) .
σ 1 = H 2 ( C M , C R ) η 1 , σ M = { σ 1 , H 2 ( C M , C R ) } ,
σ 2 = H 2 ( C M , C R ) η 2 , σ R = { σ 2 , H 2 ( C M , C R ) } .
The ciphertext C T = ( A , A ¯ , C T M , σ M , C T R , σ R ) .
It is clear that if S satisfies the access policy A , the authorized client cannot pass the checking of the correctness of the ciphertext. Because the elements C M , C 1 , { C 1 , i } i [ l ] , { D 1 , i } i [ l ] are random elements, which is a valid ciphertext with a negligible probability. That is to say, since the equation η 1 = H 1 ( e ( C 1 , K ) i I ( e ( C 1 , i , K 0 ) e ( D 1 , i , K ρ ( i ) ) ) ω i ) with negligible probability for random elements C M , C 1 , η 1 , { C 1 , i } i [ l ] , { D 1 , i } i [ l ] , σ 1 is a valid signature of H 2 ( C M , C R ) with negligible probability. We use the decryption algorithm to check the equality
e ( σ 1 , g ) = e ( H 2 ( C M | | C R ) , g η 1 ) ,
which holds with negligible probability for random elements C M , C 1 , η 1 , { C 1 , i } i [ l ] , { D 1 , i } i [ l ] .
However, if S satisfies the access policy A ¯ , the unauthorized client can pass the correctness checking of the ciphertext. Because the adversary uses the Encrypt algorithm to encrypt the message R for the unauthorized client. The equations
η 2 = H 1 ( e ( g , g ) α s 2 ) ,
and σ 2 = H 2 ( C M , C R ) η 2
hold. That means
e ( σ 2 , g ) = e ( H 2 ( C M | | C R ) , g η 2 )
always holds. Thus, the decryption algorithm can output plaintext R correctly. Especially, when the untrusted server honestly runs the Transform o u t algorithm, the unauthorized client can always pass the correctness checking of the transformed ciphertext.
Thus, the ABE-VOD scheme cannot verify the correctness of the ciphertext or the transformed ciphertext for the authorized user via verifying it for the unauthorized user.

3.4. Furthermore Analysis

We have showed that the decryption algorithm cannot satisfy two functionalities, checking the correctness of all ciphertexts and “full verifiable” above. Next, we will explain the reason and possibly reasonable method.
On one hand, the construction of the above ABE-VOD scheme utilized ABE-OD scheme proposed by Green et al. [7] and short signature scheme proposed by Boneh et al. [16]. The one-time signature σ 1 of a “message” H 2 ( C M , C R ) (or σ 2 of a “message” H 2 ( C M , C R ) ) is unforgeable and it also ensures that
e ( σ 1 , g ) = e ( H 2 ( C M | | C R ) , g η 1 )
or
e ( σ 2 , g ) = e ( H 2 ( C M | | C R ) , g η 2 )
holds if and only if σ 1 and σ 2 are valid signatures of H 2 ( C M | | C R ) (or C M and C R ) under public key g η 1 and g η 2 , respectively. However, there is no condition that guarantees the validity of C M and C R . That is to say, we can choose any random element as C M (or C R ). Thus, the above adversary can construct an invalid C M or C R but the ciphertext C T can be verified as a valid ciphertext. It seems that the method to sign a part of the ciphertext cannot guarantee all invalid ciphertexts to be refused. It needs another secure mechanism to guarantee the part of the ciphertext is valid.
On the other hand, from the unauthorized client’s view, C M is a random element in { 0 , 1 } m , which is independent of C R , A ¯ and σ R . Thus, the unauthoized client has no capability to verify the validity of C M , and the construction in [15] cannot check the correctness of the ciphertext and the transformed ciphertext for the authorized users by checking the validity of the ciphertext and the correctness of the transformed ciphertext for the unauthorized clients.

4. Conclusions

In this paper, we showed that the validity verification method in decryption algorithm of the ABE-VOD scheme put forth by Li et al. cannot always check the validity of all ciphertexts. There exist some invalid ciphertexts which can pass the validity checking and the “verify-then-decrypt” skill used in [15] is unavailable. Then, we showed that the method to check the validity of the outsourced decryption for the authorized client via checking it for the unauthorized client was not always correct. There exist some invalid ciphertexts which can pass the validity checking for the unauthorized client but cannot pass the validity checking for the authorized client. Finally, we pointed out that although the scheme used signature skill to guarantee the ciphertext cannot be tampered, the signing key of the “signature scheme” used in the encryption scheme was not fixed and anyone can generated it. That caused our constructions.

Acknowledgments

Our work was supported by the Sichuan Key Technology Support Program (No. 18ZDYF2907).

Author Contributions

The five authors of the paper have extensively participated in all of the paper analysis and manuscript revised. Fagen Li, Shaoquan Jiang and Shijie Zhou added to and revised the related works. Yongjian Liao and Yichuan He mainly wrote the manuscript.

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A. Security Model

We recall the security model in [15]. We first consider the selective chosen plaintext attack (CPA) security model for ABE with fully verifiable outsourcing decryption is described by the following game between an adversary A and a challenger C .
  • Init . The adversary A sets a challenge access policy A * that it wishes to challenge.
  • Setup . The challenger C executes the algorithm Setup to generate the public parameters P K and the master secret key m s k . C sends P K to A , and keeps m s k secret.
  • Phase 1 . The challenger C sets a set D and a table T initially empty. The adversary A makes the following queries:
    -
    (1) P r i v a t e k e y query. The adversary A makes private key queries on an attribute set S , the challenger C runs KeyGen algorithm to generate a private key S K S , and sets D = D S . Then it returns the private key to the adversary A . The only restriction is that the attribute set cannot satisfy the access policy A * .
    -
    (2) T r a n s f o r m a t i o n k e y query. A makes transformation key queries on an attribute set S , and C searches the tuple ( S , S K S , T K S , R K S ) in the table T . If such tuple exists, it returns T K S as response. Otherwise, it executes KeyGen ( P K , m s k , S ) to generate S K S and GenTK o u t ( P K , S K S ) to generate ( T K S , R K S ) . Then the adversary A stores the tuple ( S , S K S , T K S , R K S ) in table T . It returns the transformation key T K S to A .
  • Challenge . The adversary A submits two messages M 0 and M 1 with the same size. Then C randomly picks a bit b { 0 , 1 } and R with the same length as M 0 and M 1 , and computes C T * = Encrypt ( P K , M b , A * ) . Finally, the challenger C sends to C T * to A as a challenge ciphertext.
  • Phase 2 . A proceeds to make P r i v a t e k e y queries and T r a n s f o r m a t i o n k e y queries as Phase 1, however the only restriction is that the attribute set does not satisfy the access policy A * .
  • Guess . A outputs its guess b { 0 , 1 } with respect to b and wins the game if b = b .
The advantage of the adversary A in the above game is
| Pr [ b = b ] 1 2 | ,
where the probability is taken over the random bits by the adversary A and the challenger C .
Definition A1.
An ABE-VOD scheme is selective CPA-secure if every polynomial time adversary A has at most a negligible advantage in the above game.
Next, we review the formal definition of verifiability for an ABE-VOD scheme through a game between an adversary A and a challenger C [15]. The definition is just considered the part of the authorized user here, which is the same as the definition of verifiability for the unauthorized user. The game is described as follows:
  • Init . The adversary A sets an access policy A * that it wishes to challenge.
  • Setup. The challenger runs the Setup ( 1 λ , U ) to generate the public parameters P K and the master key m s k , then keeps m s k secret and sends P K to the adversary.
  • Phase 1 . The adversary A can execute the p r i v a t e k e y query and the t r a n s f o r m a t i o n k e y query as in Phase 1 in the above security game.
    -
    (1) P r i v a t e k e y query. The adversary A makes private key queries on an attribute set S , the challenger runs KeyGen ( m s k , P K , S ) to generate S K and sets D = D { S } which is initially empty. It then returns the private key S K S to the adversary. The only restriction is that the attribute set S cannot satisfy the access policy A * .
    -
    (2) T r a n s f o r m a t i o n k e y query. A makes transformation key queries on the attribute set S ; C searches the tuple ( S , S K S , T K S , R K S ) in the table T . If the tuple exists, C returns T K S as a response. Otherwise, it executes KeyGen ( m s k , P K , S ) to generate S K S and GenTK o u t ( P K , S K S ) to generate ( T K S , R K S ) . Then C stores the tuple ( S , S K S , T K S , R K S ) in table T and returns the transformation key T K S to A .
  • Challenge . The adversary submits a message M * . The challenger computes a challenge ciphertext C T * = Encrypt ( P K , M * , A * ) and sends it to A .
  • Phase 2 . The same as Phase 1.
  • Output . The adversary outputs an attributes set S * and a transformed ciphertext T C T * . We assume that the adversary knows ( S * ,   S K * ,   T K * ,   P K * ) . The adversary wins the game if
    Decrypt o u t ( P K , C T * , T C T * , P K * ) { M * , } .
The advantage of the adversary A is
A d v A B E o u t v e r i f y ( 1 λ ) = Pr [ A w i n s ] .
Definition A2.
(Verifiability) An ABE-VOD scheme is verifiable, if for any polynomial time adversary A , the advantage A d v A B E o u t v e r i f y ( 1 λ ) is negligible in the security parameter.

Appendix B. Review of Li et al.’s Abe-Vod Scheme

Here, we recall the ABE-VOD scheme proposed by Li et al.
  • Setup ( 1 λ , U ) . Take as input the security parameter 1 λ and the attribute set U = { a t t 1 , a t t 2 , , a t t l } . Generate bilinear group ( p , G 1 , G 2 , e ) , where G 1 and G 2 are two multiplicative groups with a prime order p . Choose a random generator g G 1 , random elements h 1 , , h l Z p * and a ,   α Z p * , computes y = g a . Then generate three collision resistance hash functions
    H 1 : G 1 Z p ,
    H 2 : { 0 , 1 } * G 1
    and
    H 3 : G 2 { 0 , 1 } m .
    P K = ( G 1 , G 2 , g , y , e ( g , g ) α , H 1 , H 2 , H 3 , { T i = g h i } i U ) are published as the public parameters. The master secret key m s k is α .
  • KeyGen ( m s k , P K , S ) . To generate private keys for two types of clients (the authorized client and the unauthorized client). If S is an attribute set of the authorized client, then the algorithm picks a random value t 1 Z p * . The private key of the authorized client is
    S K D S = ( D S , K = g α y t 1 , K 0 = g t 1 , { K i = T i t 1 } a t t i D S ) .
    If S is an attribute set of the unauthorized client, then the algorithm picks a random value t 2 Z p * . The private key for the unauthorized client is
    S K V S = ( V S , K P = g α y t 2 , K P 0 = g t 2 , { K P i = T i t 2 } a t t i V S ) .
  • Encrypt ( M , A , A ¯ ) . Take as input a message M { 0 , 1 } m and two LSSS access structures A = ( A , ρ ) , A ¯ = ( A ¯ , ρ ¯ ) . A and A ¯ are two l × n matrixes. ρ is a map from each row A i of A to an attribute ρ ( i ) and ρ ¯ is a map from each row A i ¯ of A ¯ to an attribute ρ ¯ ( i ) . The encryption algorithm first picks a random string R { 0 , 1 } m and two random vectors
    v = ( s 1 , v 12 , , v 1 n ) ( Z p * ) n
    and
    v = ( s 2 , v 22 , , v 2 n ) ( Z p * ) n .
    For each row A i of A, A ¯ i of A ¯ , it picks r 1 , i , r 2 , i Z p * uniformly at random. Then it computes:
    C M = M H 3 ( e ( g , g ) α s 1 ) ,
    η 1 = H 1 ( e ( g , g ) α s 1 ) ,
    C 1 = g s 1 ,
    C 1 , i = g a A i · v T ρ ( i ) r 1 , i , D 1 , i = g r 1 , i i { 1 , 2 , , l } .
    Set C T M = ( C M , C 1 , { C 1 , i } i [ l ] , { D 1 , i } i [ l ] ) .
    C R = R H 3 ( e ( g , g ) α s 2 ) ,
    η 2 = H 1 ( e ( g , g ) α s 2 ) ,
    C 2 = g s 2 ,
    C 2 , i = g a A ¯ i · v T ρ ¯ ( i ) r 2 , i , D 2 , i = g r 2 , i i { 1 , 2 , , l } .
    Set C T R = ( C R , C 2 , { C 2 , i } i [ l ] , { D 2 , i } i [ l ] ) .
    σ 1 = H 2 ( C M , C R ) η 1 , σ M = { σ 1 , H 2 ( C M , C R ) } ,
    σ 2 = H 2 ( C M , C R ) η 2 , σ R = { σ 2 , H 2 ( C M , C R ) } .
    The ciphertext C T = ( A , A ¯ , C T M , σ M , C T R , σ R , ) .
  • Decrypt ( S K , S , C T ) . Take as input the private key S K , an attribute set S of the client and a ciphertext C T = ( A , A ¯ , C T M , σ M , C T R , σ R ) .
    -
    (1) If S satisfies the access policy A , then the client is an authorized one and the private key of the client is S K = ( D S , K = g α y t 1 , K 0 = g t 1 , { K i = T i t 1 } a t t i D S ) . Let I = { i : ρ ( i ) S } { 1 , 2 , , l } . Then the client is able to compute ω i Z p * for i I such that Σ i I ω i A i = ( 1 , 0 , , 0 ) , and the client calculates:
    X M = e ( C 1 , K ) i I ( e ( C 1 , i , K 0 ) e ( D 1 , i , K ρ ( i ) ) ) ω i = e ( g , g ) α s 1 ,
    and η 1 = H 1 ( X M ) . After the client checks whether the following equality
    e ( σ 1 , g ) = e ( H 2 ( C M | | C R ) , g η 1 )
    holds or not. If it holds, the client calculates
    M = C M H 3 ( X M ) ;
    otherwise, the client outputs .
    -
    (2) If S satisfies the access policy A ¯ , then the client is an unauthorized one and the private key of the client is S K = ( V S , K = g α y t 2 , K 0 = g t 2 , { K i = T i t 2 } a t t i V S ) . Let I = { i : ρ ( i ) S } { 1 , 2 , , l } . Then the client is able to compute ω i Z p * for i I such that Σ i I ω i A i ¯ = ( 1 , 0 , , 0 ) , and the client calculates:
    X R = e ( C 2 , K P ) i I ( e ( C 2 , i , K P 0 ) e ( D 2 , i , K P ρ ¯ ( i ) ) ) ω i = e ( g , g ) α s 2 ,
    and η 2 = H 1 ( X R ) . After the client checks whether the following equality
    e ( σ 2 , g ) = e ( H 2 ( C M | | C R ) , g η 2 )
    holds or not. If it holds, the client computes
    R = C R H 3 ( X R ) ;
    otherwise, the client outputs .
  • GenTK o u t ( S K ) . Take the private key S K as input. If the client is an authorized one, the private key is S K ( D S , K = g α y t 1 , K 0 = g t 1 , { K i = T i t 1 } a t t i D S ) . If the client is an unauthorized one, the private key is S K = ( V S , K = g α y t 2 , K 0 = g t 2 , { K i = T i t 2 } a t t i V S ) . Then the client picks two random values z 1 , z 2 Z p * , and the transformation keys are
    T K D S = ( D S , K = K 1 / z 1 , K 0 = K 0 1 / z 1 , { K i = K i 1 / z 1 } a t t i D S ) ,
    and
    T K V S = ( V S , K P = K P 1 / z 2 , K P 0 = K P 0 1 / z 2 , { K P i = K P i 1 / z 2 } a t t i V S ) ,
    respectively. The retrieving keys are R K D S = z 1 and R K V S = z 2 , respectively.
  • Transform o u t ( T K , C T ) . Takes as input the ciphertext C T and the transformation key T K . For the authorized client, the transformation key is T K = T K D S , and for the unauthorized client, the transformation key is T K = T K V S . The transformed is described as follows.
    T 1 = e ( C 1 , K ) i I ( e ( C 1 , i , K 0 ) e ( D 1 , i , K ρ ( i ) ) ) ω i = e ( g , g ) α s 1 / z 1 ,
    T 2 = e ( C 2 , K P ) i I ( e ( C 2 , i , K P 0 ) e ( D 2 , i , K P ρ ¯ ( i ) ) ) ω i = e ( g , g ) α s 2 / z 2 .
    Finally, the transformed ciphertext
    T C T = ( C M , T 1 , σ M )
    if the attribute set S of the user satisfies the access policy A or
    T C T = ( C R , T 2 , σ R )
    if the attribute set S of the client satisfies the access policy A ¯ .
  • Decrypt o u t ( C T , T C T , R K ) . Takes as input the ciphertext C T = ( A , A ¯ , C T M , σ M , C T R , σ R ) , the transformed ciphertext T C T and the retrieving key R K . The retrieving key of the authorized client R K = R K D S = z 1 and the retrieving key of the unauthorized client R K = R K V S = z 2 .
    -
    (1) If the attribute set S of the client satisfies the access policy A , the client verifies whether
    e ( σ 1 , g ) = e ( H 2 ( C M | | C R ) , g H 1 ( T 1 z 1 ) )
    holds, if it does, then the client outputs
    M = C M H 3 ( T 1 z 1 ) ;
    otherwise, the client outputs .
    -
    (2) If the attribute set S of the client satisfies the access policy A ¯ , the client verifies whether
    e ( σ 2 , g ) = e ( H 2 ( C M | | C R ) , g H 1 ( T 2 z 2 ) )
    holds, if it does, then the client outputs
    R = C R H 3 ( T 2 z 2 ) ;
    otherwise, the client outputs .

References

  1. Yu, J.; Ren, K.; Wang, C. Enabling Cloud Storage Auditing with Verifiable Outsourcing of Key Updates. IEEE Trans. Inf. Forensics Secur. 2016, 11, 1362–1375. [Google Scholar] [CrossRef]
  2. Su, Q.; Yu, J.; Tian, C.; Zhang, H.; Hao, R. How to Securely Outsource the Inversion Modulo a Large Composite Number. J. Syst. Softw. 2017, 127, 26–34. [Google Scholar] [CrossRef]
  3. Liao, Y.; He, Y.; Li, F.; Zhou, S. Analysis of a Mobile Payment Protocol with Outsourced Verification in Cloud Server and the Improvement. Comput. Stand. Interfaces 2018, 56, 101–106. [Google Scholar] [CrossRef]
  4. Sahai, A.; Waters, B. Fuzzy Identity-Based Encryption. In Proceedings of the 24th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Aarhus, Denmark, 22–26 May 2005; pp. 457–473. [Google Scholar]
  5. 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]
  6. Bethencourt, J.; Sahai, A.; Waters, B. Ciphertext-Policy Attribute-Based Encryption. In Proceedings of the IEEE Symposium on Security Privacy, Berkeley, CA, USA, 20–23 May 2007; pp. 321–334. [Google Scholar]
  7. Green, M.; Hohenberger, S.; Waters, B. Outsourcing the Decryption of Abe Ciphertexts. In Proceedings of the 20th USENIX Conference on Security Symposium, San Francisco, CA, USA, 8–12 August 2011; p. 34. [Google Scholar]
  8. Lai, J.; Deng, R.; Guan, C.; Weng, J. Attribute-Based Encryption with Verifiable Outsourced Decryption. IEEE Trans. Inf. Forensics Secur. 2013, 8, 1343–1354. [Google Scholar]
  9. Qin, B.; Deng, R.H.; Liu, S.; Ma, S. Attribute-Based Encryption with Efficient Verifiable Outsourced Decryption. IEEE Trans. Inf. Forensics Secur. 2015, 10, 1384–1393. [Google Scholar]
  10. Mao, X.; Lai, J.; Mei, Q.; Chen, K.; Weng, J. Generic and Efficient Constructions of Attribute-Based Encryption with Verifiable Outsourced Decryption. IEEE Trans. Dependable Secure Comput. 2015. [Google Scholar] [CrossRef]
  11. Lin, S.; Zhang, R.; Ma, H.; Wang, M. Revisiting Attribute-Based Encryption with Efficient Verifiable Outsourced Decryption. IEEE Trans. Inf. Forensics Secur. 2015, 10, 2119–2130. [Google Scholar] [CrossRef]
  12. Li, J.; Huang, X.; Li, J.W.; Chen, X.; Xiang, Y. Securely Outsourcing Attribute-Based Encryption with Checkability. IEEE Trans. Parallel Distribu. Syst. 2014, 25, 2201–2210. [Google Scholar] [CrossRef]
  13. Li, J.; Sha, F.; Zhang, Y.; Huang, X.; Shen, J. Verifiable out-Sourced Decryption of Attribute-Based Encryption with Con-Stant Ciphertext Length. Secur. Commun. Netw. 2017. [Google Scholar] [CrossRef]
  14. Qiu, M.; Gai, K.; Thuraisingham, B.; Tao, L.; Zhao, H. Proactive User-Centric Secure Data Scheme Using Attribute-Based Semantic Access Controls for Mobile Clouds in Financial Industry. Future Gener. Comput. Syst. 2018, 80, 421–429. [Google Scholar] [CrossRef]
  15. Li, J.; Wang, Y.; Zhang, Y.; Han, J. Full Verifiability for Outsourced Decryption in Attribute Based Encryption. IEEE Trans. Serv. Comput. 2017. [Google Scholar] [CrossRef]
  16. Boneh, D.; Lynn, B.; Shacham, H. Short Signatures from the Weil Pairing. In Proceedings of the ASIACRYPT 7th International Conference on the Theory and Application of Cryptology and Information Security, Gold Coast, Australia, 9–13 December 2001; Volume 2248, pp. 514–532. [Google Scholar]
  17. Boneh, D.; Franklin, M. Identity-Based Encryption from the Weil Pairing. In Proceedings of the CRYPTO 21st Annual International Cryptology Conference, Santa Barbara, CA, USA, 19–23 August 2001; Volume 2139, pp. 213–229. [Google Scholar]
  18. Miyaji, A.; Nakabayashi, M.; Takano, S. New Explicit Conditions of Elliptic Curve Traces for FR-Reduction. IEICE Trans. Fundam. Electron. Commun. Comput. Sci. 2001, 84, 1234–1243. [Google Scholar]
  19. Beimel, A. Secure Schemes for Secret Sharing and Key Distribution. Ph.D. Dissertation, Israel Institute of Technology, Technion City, Haifa, Israel, 1996. [Google Scholar]

Share and Cite

MDPI and ACS Style

Liao, Y.; He, Y.; Li, F.; Jiang, S.; Zhou, S. Analysis of an ABE Scheme with Verifiable Outsourced Decryption. Sensors 2018, 18, 176. https://doi.org/10.3390/s18010176

AMA Style

Liao Y, He Y, Li F, Jiang S, Zhou S. Analysis of an ABE Scheme with Verifiable Outsourced Decryption. Sensors. 2018; 18(1):176. https://doi.org/10.3390/s18010176

Chicago/Turabian Style

Liao, Yongjian, Yichuan He, Fagen Li, Shaoquan Jiang, and Shijie Zhou. 2018. "Analysis of an ABE Scheme with Verifiable Outsourced Decryption" Sensors 18, no. 1: 176. https://doi.org/10.3390/s18010176

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