Uploaded by 张倩宇

1-s2.0-S0167739X19300172-main

advertisement
Future Generation Computer Systems 97 (2019) 453–461
Contents lists available at ScienceDirect
Future Generation Computer Systems
journal homepage: www.elsevier.com/locate/fgcs
Partially policy-hidden attribute-based broadcast encryption with
secure delegation in edge computing
Hu Xiong a , Yanan Zhao a , Li Peng a , Hao Zhang a , Kuo-Hui Yeh b ,
a
b
∗
School of Information and Software Engineering, University of Electronic Science and Technology of China, Chengdu, 610054, PR China
Department of Information Management, National Dong Hwa University, Hualien 97401, Taiwan, ROC
highlights
• Our paper achieves partially hidden policy, direct revocation, outsourced decryption.
• Our paper utilizes partially hidden policy to protect private information.
• Our paper is proved security under the DDH assumption and the DBDH assumption.
article
info
Article history:
Received 4 January 2019
Received in revised form 15 February 2019
Accepted 5 March 2019
Available online 8 March 2019
Keywords:
Edge computing
Attribute-based encryption
Direct revocation
Partially hidden policy
Outsourced encryption
a b s t r a c t
The rapid growth of data has successfully promoted the development of edge computing, which is used
for processing the data at the edge of network. The emergence of edge computing compensates for the
network delay caused by massive data uploads to the cloud. However, the issues of data security and
privacy protection still need to be resolved. In this paper, we propose an efficient ciphertext-policy
attribute-based encryption (CP-ABE) scheme that for the first time simultaneously achieves partially
hidden policy, direct revocation, and verifiable outsourced decryption. Specifically, in our scheme, the
concept of partially hidden policy is introduced to protect private information in an access policy. In
addition, after a revocation is successfully executed, the revoked users will not be able to access the
message without affecting any other non-revoked users. Our new scheme leverages the outsourcing
technique to minimize the overhead required of the user. We demonstrate that our scheme is secure
under the Decisional (q − 1) Diffie–Hellman assumption and the Decisional Bilinear Diffie–Hellman
assumption, as well as evaluating its performance using simulations.
© 2019 Elsevier B.V. All rights reserved.
1. Introduction
privacy protection still need to be resolved [2]. A naive solution is to deploy encryption for access control, so that only
The emergence of cloud computing has a tremendous impact
on our lives. More and more enterprises or individuals choose
to upload their data to the cloud servers to alleviate the problem of device resource constraints. However, uploading massive
amounts of data generated by millions of devices to the cloud
server will inevitably cause transmission delays, which will have
a huge influence on performance. This problem promotes the
development of edge computing [1]. Edge computing is considered to be a promising method by which data can be processed
near the point where it is generated (the edge) to reduce network bandwidth. Unfortunately, the issues of data security and
user who meets the data owner’s requirements can access the
data. Examples include attribute-based encryption (ABE) [3] that
provides one-to-many encryption for sensitive information and
realizes fine-grained access control by associating the attributes
to a ciphertext and a user’s secret key. There are two broad ABE
variants, namely: Key-Policy ABE (KP-ABE) [4] and CiphertextPolicy ABE (CP-ABE) [5]. In a typical KP-ABE scheme, a user’s
secret key is associated with an access policy and an attribute
set is embedded in a ciphertext. For a typical CP-ABE scheme, an
attribute set is embedded in a user’s secret key and a ciphertext is
associated with an access policy. Only if the attribute set satisfies
the access policy, the corresponding ciphertext can be decrypted.
∗ Corresponding author.
E-mail address: khyeh@gms.ndhu.edu.tw (K.-H. Yeh).
https://doi.org/10.1016/j.future.2019.03.008
0167-739X/© 2019 Elsevier B.V. All rights reserved.
In this paper, we focus on CP-ABE because it is more flexible than
a KP-ABE scheme.
454
H. Xiong, Y. Zhao, L. Peng et al. / Future Generation Computer Systems 97 (2019) 453–461
In conventional CP-ABE schemes, the access policy is attached
to the encrypted data in a clear-text form. Thus, anyone can analyze the access policy to infer some private information such as
the identity information of data owners and data sharers. Therefore, Nishide et al. [6] introduced a policy-hidden CP-ABE and
proposed two concrete schemes which support AND-gates with
wildcards. A fully secure policy-hidden CP-ABE scheme under
AND-gates was also proposed by Lai et al. [7], and a year later the
authors presented a more expressive policy-hidden scheme that
supports the Linear Secret Share Scheme (LSSS) [8]. However, the
commutation size and the computation cost of the scheme in [8]
increases with the attribute number. In addition, it is constructed
from pairings over the composite-order groups, which results
in slower computations (e.g. approximately 50 times compared
with its prime-order counterpart). Cui et al. [9] presented a new
partially policy-hidden CP-ABE scheme with high efficiency and
expression, in the sense that the scheme supports LSSS with
unbounded attribute names and is constructed in the prime-order
groups. Although there already exists efficient CP-ABE schemes
that also provide privacy protection, there are a number of research challenges that have not been addressed, such as the
following:
1. When some users’ secret keys are compromised, how can
we revoke these users without affecting other non-revoked
users?
2. How can we minimize communication and computation
overheads so that the scheme is sufficiently lightweight for
resource constrained devices, such as wearable devices and
Internet of Things (IoT) devices?
Therefore, in this paper, we introduce a new scheme, hereafter
referred to as partially policy-hidden attribute-based broadcast
encryption scheme with secure delegation. The proposed scheme
is the scheme in the literature to achieve partially hidden policy,
direct revocation, and verifiable outsourced decryption. Specifically, we incorporate broadcast encryption technique to realize
direct revocation (due to the technique’s inherent property of
direct revocation), and combine a verified outsourcing technique
that outsources complex computations to the cloud and only
constant modular exponentiation operations are performed at the
user’s device (i.e. minimal consumption). We also remark that the
proposed scheme is developed from the scheme in [9], so our
scheme inherits the partially policy-hidden property. In addition,
we give every single user a unique ID that is embedded in the
corresponding private key. When a data owner encrypts the data,
she/he needs to assign a user ID set S and executes the encryption
algorithm. The encryption algorithm embeds S in the ciphertext.
Therefore, a user can decrypt encrypted data, iff his/her ID and
attributes satisfy the set S and the access policy respectively.
When some users are revoked, the data owner simply removes
the user IDs in S, and executes the encryption again. In other
words, the revoked users are not able to obtain the underlying data in the new ciphertext. Moreover, we use the verifiable
outsourcing technique in [10] to minimize the communication
and computation costs at the user’s side. Our construction is also
presented in Fig. 1.
In the next two sections, we will briefly review related literature and background materials, respectively. In Section 4, we
present the proposed scheme. The security proof and performance evaluation are respectively presented in Sections 5 and 6.
The paper is summarized in the last section.
2. Related work
Sahai and Waters [3] suggested the first ABE scheme, but
Goyal et al. [4] formally defined ABE and presented the first
Fig. 1. Overview of our construction.
concrete KP-ABE scheme. Then, Bethencourt et al. [5] presented
a concrete CP-ABE scheme based on the generic group model. In
order to provide a higher level of security, Cheung and Newport
proposed another CP-ABE scheme under the standard model,
but it only supports AND-gates. Waters [11] suggested a more
expressive ABE scheme, which expresses the access policy via
LSSS.
2.1. Attribute based broadcast encryption
Berkovits [12] introduced the concept of Broadcast Encryption
(BE), which forms the basis in a number of other seminal developments such as those reported in [13,14]. In these works, BE is
defined as a cryptographic scheme that sends encrypted data over
a broadcast channel, where only users within a user set specified
by the broadcaster can obtain the plaintext. In other words, the BE
schemes have the property of direct revocation. Unsurprisingly,
the scheme has been applied in a number of ABE schemes, also
known as Attribute Based Broadcast Encryption (ABBE) [15].
Although CP-ABE schemes that support AND-gates can realize direct revocation by conjunctively adding the revoked user
identities in a negated format, such an approach is efficient in
terms of bandwidth requirements and expressiveness particularly
in complex settings. Lubicz and Sirvent [16] proposed an ABBE
scheme supporting AND-gates, OR-gates, and NOT-gates. Then,
Attrapadung and Imai [17] proposed ciphertext-policy and keypolicy ABBE schemes, which support LSSS as access policy. In
both approaches, only non-revoked users can obtain the plaintext,
even if the revoked receivers have all requisite attributes. A key
limitation in these schemes is low efficiency.
For improved efficiency, Phuong et al. [18] proposed ABBE
schemes with short ciphertext and decryption key. However,
these schemes only support AND-gates with wildcards and the
computation cost is very high. Another efficient privacypreserving ABBE scheme based on AND-gates with wildcards
was proposed by Zhou et al. [19]. However, the latter scheme
H. Xiong, Y. Zhao, L. Peng et al. / Future Generation Computer Systems 97 (2019) 453–461
supports only revocation based on attributes. While these discussed schemes have improved efficiency, the computing requirements at the user meant that these schemes are not suitable for
deployment on resourced constrained devices.
2.2. Outsourced attribute-based encryption
Cloud computing has often been seen as a solution to reduce computation at client devices by outsourcing computationally intensive activities to the cloud server. For example, Green
et al. [20] suggested to outsource main decryption computation
to a cloud. Specifically, their schemes allow a cloud to transform a complex ciphertext generated from an ABE scheme into
a (constant-size) ciphertext with an ElGamal-style. The cloud
performing the translation operation is not able to read any
part of messages and the users’ private keys. To outsource the
decryption computation to a cloud, a user needs to split his/her
private key into a blind key (BK), and a recovery key (RK). The
user gives the BK to the cloud, so that the cloud is able to
translate the ABE ciphertext into an ElGamal-style ciphertext and
returns it to the sender. Finally, the user utilizes RK to obtain
the encrypted message. However, in their schemes, a malicious
cloud could return a wrong result by changing the ciphertext
and its validate tag simultaneously. Thus, it does not strictly
guarantee the correctness of transformed ciphertext. To solve this
problem, Lai et al. [21] suggested a new scheme that provides
verification for the transformed ciphertext. However, this nearly
doubles the costs due to increased ciphertext size and decryption
computations.
To increase the efficiency of the scheme in [21], Qin et al. [22]
and Lin et al. [23] independently introduced a key encapsulated
mechanism (KEM). Their approaches reduce the communication
and computation costs nearly by half compared with the scheme
in [21]. Similarly, Mao et al. [24] introduced a scheme that encrypts a message and a random number together and uses the
random number to realize verifiability. To avoid the significant
computation overheads at the attribute authority, a new outsourced ABE scheme that outsources (as the name of the scheme
suggested) key-issuing and decryption to different clouds was
presented by Li et al. [25]. While this construction provides checkability, the scheme is vulnerable to the same attack affecting
schemes based on the scheme in [20]. Ning et al. [26] proposed
a auditable σ -time outsourced CP-ABE scheme that can achieve
secure decryption outsourcing, auditability of decryption, limited
and anonymous fine-grained access control, key-leakage resistance and light decryption cost on user side in the same time.
Similarly, an outsourced ABE scheme with anti-fraud function
was proposed by Xu et al. [27]. Their scheme prevents the cloud
server from deceiving the users that the encrypted data cannot
be transformed due to lack of permits. The schemes of Zhang
et al. [28] and Wang et al. [29] outsource the main computations of key-issuing, encryption and decryption to the clouds
simultaneously.
Outsourced ABE schemes are increasingly important and a
number of schemes with different properties for different applications have been proposed. For instance, Li et al. [30] applied
the outsourced key generation and outsourced decryption to an
ABE system which provides keyword search. In [31], Li et al.
combined the ABE scheme which possesses the property of constant ciphertext length and the verifiable outsourced decryption
technique. In [32], Li et al. realized efficient user revocation by
outsourcing the main cost of encryption decryption to cloud
servers. In [33], Wang et al. achieved user anonymity and multiauthority efficiently by introducing the outsourced decryption
technique. Zuo et al. [34] presented a new ABE scheme with
outsourced decryption which first achieved CCA secure.
455
3. Background materials
3.1. Preliminaries
In bilinear pairing, G is a group whose order is a prime p and
one of its generators is g. If the bilinear map ê : G × G → GT is
true, then it has the following properties [35]:
1. Bilinear: for ∀g ∈ G and x, y ∈ Zp , ê(g x , g y ) = ê(g , g)xy is
true;
2. Non-degenerate: ê(g , g) ̸ = 1 is satisfied.
The Decisional (q − 1) assumption [36] is as follows: a probabilistic polynomial-time algorithm inputs v
⃗=
g, gε,
g a , g bk , g εbk , g a bk , g a /bk
i
i
g
g
i
ai /bk
∀(i, k) ∈ [q, q]
∀(i, k) ∈ [2q, q] with i ̸= q + 1,
ai /bk /b2′
∀(i, k, k′ ) ∈ [2q, q, q] with k ̸= k′ ,
k
g εa bk /bk′ , g
i
2
ε ai bk /b2′
k
∀(i, k, k′ ) ∈ [q, q, q] with k ̸= k′ ,
The algorithm seeks to successfully distinguish (v
⃗ , ê(g , g)a ε )
from (v
⃗ , X ), where g ∈ G, X ∈ GT , a, ε, b1 , . . . , bq ∈ Zp are chosen
randomly. According to the assumption, the algorithm cannot win
with a non-negligible advantage.
The Decisional Linear Assumption [37] is as follows: a probabilistic polynomial-time algorithm inputs g , g x1 , g x2 , g x1 y1 , g x2 y2 ,
it
distinguishes
(g , g x1 , g x2 , g x1 y1 , g x2 y2 , g y1 +y2 )
from
(g , g x1 , g x2 , g x1 y1 , g x2 y2 , Z ) where g , Z ∈ G, x1 , x2 , y1 , y2 ∈ Zp
chosen randomly. According to the assumption, the algorithm
cannot win with a non-negligible advantage.
The access structure is as follows. We let the symbols
{W1 , . . . , Wn } denote a set of parties. If a collection A ⊆ 2{W1 ,...,Wn }
is monotone, then it should satisfy ∀P , Y : if P ∈ A and P ⊆ Y ,
then Y ⊆ A. A is a (monotone) collection of non-empty subsets
of {W1 , . . . , Wn } (i.e. A ⊆ 2{W1 ,...,Wn } \{φ}). If the sets are in A,
then they can be called authorized sets. And unauthorized sets
are defined for the sets not in A.
We will now describe the LSSS. Here, we use W to denote a set
of parties and M a matrix of size ℓ× n. We also use ρ to represent
a function that associates a row of ℓ × n to a party. The scheme
that is denoted by Π is a LSSS over Zp if:
q +1
1. The shares of the secret data for each party described as
above can form a vector over Zp ;
2. A matrix M is generated for the shares in Π , and ρ associates the k − th row of matrix M to an associated party
(i.e. ρ (k) → Wk where k ∈ {1, . . . , ℓ}). When sharing a
secret µ for others, we first generate a column vector v =
(µ, x2 , . . . , xn ), where µ ∈ Zp and the symbols x2 , . . . , xn ∈
Zp are randomly chosen. Then, we use Mv to denote the
vector of ℓ shares. (Mv )k in this scheme belongs to party
ρ (k).
3.2. Threat model and security goals
1. Confidentiality: Only the user who has enough attributes
to satisfy the access policy could access the corresponding
messages. Any other entities including the cloud server are
not able to get any information about the messages.
2. Anonymity: In the traditional CP-ABE scheme, the access
policy is attached to the encrypted data in clear text. Anyone can infer some private information, such as the identity
information of the data owner and data sharer, by analyzing the access policy. Therefore, it is necessary to protect
456
H. Xiong, Y. Zhao, L. Peng et al. / Future Generation Computer Systems 97 (2019) 453–461
the access policy to prevent the user’s privacy from being
exposed.
3. Collusion resistance: If multiple users collude, even if each
user cannot decrypt the ciphertext alone, they can decrypt
the ciphertext by piecing their attributes. Collusion resistance is an important security property in ABE system. In
this paper, we assume that trusted authority, cloud server
and storage proxy are honest, regardless of their collusion
attacks with the revoked users.
3.3. System model
A partially policy-hidden ABBE with secure delegation scheme
is constructed by the following algorithms:
1. Setup(λ). Create the public parameters PK and the master
secret key MSK upon receiving the security parameter λ as
input.
2. KeyGen(MSK , PK , A, ID). Return a secret key SK for a user
after receiving the following inputs: public parameters PK ,
the corresponding MSK , a user ID ID, and a user’s attribute
set A.
3. Encrypt(PK , M , (M, ρ, {Aρ (i) })). Generate a ciphertext CT
upon receiving the public parameters PK , a message M, an
access policy (M, ρ, {Aρ (i) }) and a set of user IDs S, where ρ
maps the rows of M to the names of attributes and {Aρ (i) }
are defined as the values of the attributes.
4. Decrypt(PK , SK , CT )). Return the message M when it inputs PK , a ciphertext CT , and the corresponding SK , if the
attribute set A and the user ID embedded in SK satisfy the
access policy (M, ρ, {Aρ (i) }) and the set of IDs S embedded
in CT respectively.
5. KeyGen.out(SK ). Generate a blind key BK and the corresponding recovery key RK based on a user secret key SK .
6. Decrypt.out(PK , CT , BK ). Return a transformed ciphertext
CT ′ when it inputs PK , a ciphertext CT and the corresponding blind key BK .
7. Decrypt.user(PK , RK , CT , CT ′ )). This algorithm outputs the
message M when it receives as input PK , a ciphertext
CT , the corresponding transformed ciphertext CT ′ and the
corresponding recovery key RK .
3.4. Security model
Here, we use a security game to describe the security model,
where C , A are respectively a challenger and an adversary.
1. Setup. C first obtains PK and the corresponding MSK by
running the algorithm Setup(λ). Then, it sends PK to A and
retains MSK .
2. Phase 1. A can make any of the four queries in these
phases: Key Query, Blind Key Query, Decryption Query, User
Decryption Query. The challenger C first creates an empty
list L, an empty set R, and an empty set I .
(a) Key Query: If A queries a secret key SK based on an
attribute set A and a user ID ID, then A will send A
to C and obtain a secret key RKA . In addition,
C will
⋃
set R = R ∪ A, I = I ∪ ID and K = K S.
(b) Blind Key Query: When A queries a blind key BK
based on an attribute set A and a user ID ID, C
searches the tuple ⟨A, ID, SKA , TKA , RKA ⟩ in list L. If
there exists such a tuple, then C sends TKA to A as the
answer. Otherwise, C will run the Key Generation Algorithm to obtain its private key SKA and KeyGen.out
Algorithm to generate a blind key TKA based on SKA ,
before returning TKA to A. Finally, C stores the tuple
⟨A, ID, SKA , TKA , RKA ⟩ into the list L.
3. Challenge. Two messages M0 , M1 with equal length for
access structure A0 , A1 and user ID set S0 , S1 respectively
will be sent to C by A. Note that none of attribute sets in
L satisfy A0 and A1 or none of the user IDs in L satisfy S0
and S1 . C randomly chooses a number u ∈ {0, 1}, encrypts
Mu under Au and Su with the Encryption Algorithm, and
returns the result to A.
4. Phase 2. A continues making above mentioned queries and
it should be noted that none of the attribute sets satisfy A0
and A1 or none of the user ID sets satisfy S0 and S1 .
5. Output. A generates a bit γ . A wins the game, if and only,
if γ = u.
The advantage of adversary A winning is defined as AdvA =
|Pr {γ = u} − 1/2|.
Remark 1. The security of the proposed scheme can be guaranteed if no polynomial time adversaries can win the above security
game with a non-negligible advantage.
4. Proposed scheme
In this section, we present the proposed scheme that combines
the scheme in [9], the broadcast encryption scheme in [38], and
the outsourcing approach in [10]. Specifically, in the scheme, we
use a symmetric encryption scheme that can be defined as SE =
(SE.Enc(KSE , M), SE.Dec(KSE , CSE )), where SE.Enc(KSE , M) is the
encryption algorithm and SE.Dec(KSE , CSE ) is the decryption algorithm. SE.Enc(KSE , M) inputs the symmetric encryption key KSE
and a message M, and returns a ciphertext CSE . On the contrary,
SE.Dec(KSE , CSE ) inputs the symmetric encryption key KSE and a
ciphertext CSE , and returns the corresponding message M. Here,
we let a tuple (G, GT , q, g , ê) be the bilinear map parameters.
Setup(λ). This algorithm selects a security parameter λ as input and chooses randomly u, h, ω, v, v ′ , u′ ∈ G, d1 , d2 , d3 , d4 , α, θ
∈ Zp before computing h1 = g d1 , h2 = g d2 , h3 = g d3 , h4 =
g d4 , τ = g θ . Then, it adopts a key derivation function KDF and
uses L = |key| + |p| to denote the length of the output of the
function. SE = (SE.Enc, SE.Dec) denotes a symmetric encryption
i
scheme, which generates gi = g α where i ∈ [1, m] ∪ (m + 2, 2m)
and m is the maximum user number. H : G1 → {0, 1}t is a hash
function that maps an element in GT to an element in {0, 1}∗ ,
which denotes the symmetric encryption key space. Finally, the
following public parameters are produced:
PK =[{hi }4i=1 , τ , {gi }2m
i=1,i̸ =m+1 , u, h,
ω, v, v ′ , u′ , H , KDF , L, SE]
and the master secret key as
MSK = (d1 , d2 , d3 , d4 , α, θ ).
KeyGen(MSK , PK , A, ID). Here, we let A1 , . . . , Ak ∈ Zp be the
attribute values in an attribute set A. This algorithm inputs PK ,
the corresponding MSK , an attribute set A, and a user ID ID,
and chooses the random numbers r , r ′ , r1 , . . . , rk , r1′ , . . . , rk′ ∈ Zp ,
where k is the size of the attribute set A. It generates the user
secret key SK as
SK = (K1 , K2 , {Ki,1 , Ki,2 , Ki,3 , Ki,4 , Ki,5 }i∈[1,k] ),
where
K1 = g α
ID θ
′
ωd1 d2 r +d3 d4 r ,
K2 = g d1 d2 r +d3 d4 r
′
H. Xiong, Y. Zhao, L. Peng et al. / Future Generation Computer Systems 97 (2019) 453–461
Ki,1 = ((uAi h)ri v −r )d2 ,
Ki,3 = g
d1 d2 ri +d3 d4 ri′
ri′
Ki,5 = ((u h) v
Ai
Ki,2 = ((uAi h)ri v −r )d1
,
ri′
Ki,4 = ((u h) v
Ai
−r ′ d4
)
−r ′ d3
) .
Encrypt(PK , M , (M, ρ, {Aρ (i) })). This algorithm takes PK , a
message M, a LSSS access policy (M, ρ, {Aρ (i) }) and a user ID set
S ∈ {1, . . . , m} as input. It then randomly chooses a vector v
⃗ =
(µ, b2 , . . . , bm ) ∈ Zpm , which are used to share µ. For i = 1 to ℓ, it
will calculate vi = v
⃗ Mi , where Mi is the ith row of M. Then, it will
again randomly select si,1 , . . . , si,ℓ , s1,2 , . . . , sℓ,2 , z1 , . . . , zℓ ∈ Zp .
It generates the encapsulated key = ê(g1 , gm )−µ and computes
KDF (key, L) = SSK ∥d, Ĉ = u′H(SSK ) v ′H(d) , KSE = H(key), CSE =
SE.Enc(KSE , M), before generating the ciphertext as
CT =
(M, ρ ), Ĉ , D, CSE , F , {(Ci , Di,1 ,
(
Di,2 , Ei,1 , Ei,2 , Fi )}i∈[1,ℓ]
D = g µ,
CSE = SE.Enc(H(ê(g1 , gm )−µ ), M),
F = (τ
gm+1−j )µ = (g θ
∏
∏
j∈ S
Ei,2 =
si,2
h4
,
si,1
Ei,1 = h2 ,
Fi = (uAρ (i) h)−zi ,
Di,1 =
zi −si,1
h1
,
Di,2 =
Qi′ = ê(Fi , Ki′,3 )ê(Di,2 , Ki′,4 )ê(Ei,2 , Ki′,5 ),
ê(D, K1′ )
µθ/δ
T1′ = ∏
,
′ ′ ωi = ê(g , gID )
i∈I (Pi Qi )
T2′ =
ê(D,
∏
j∈S ,j̸ =ID
gm+1−j+ID )
ê(gID , F )
1
ê(gID , g θµ )ê(g1 , gm )µ
.
responding transformed ciphertext CT ′ = (T1′ , T2′ , T3′ ). If Ĉ ̸ = T3′ ,
then it outputs ⊥. Otherwise, it computes the encapsulated key
and the session SSK as follows:
gm+1−j )µ ,
j∈ S
Ci = ωvi v zi ,
Pi′ = ê(Ci , K2′ )ê(Di,1 , Ki′,1 )ê(Ei,1 , Ki′,2 ),
Finally, it outputs CT ′ = (T1′ , T2′ , T3′ ), where T3′ = Ĉ .
Decrypt.user(RK , CT , CT ′ ). This algorithm inputs the recovery
key
RK
=
(PK , δ ), a ciphertext) CT
=
(
(M, ρ ), Ĉ , D, E , F , {(Ci , Di,1 , Di,2 , Ei,1 , Ei,2 , Fi )}i∈[1,ℓ] and the cor-
and their descriptions are as follows:
Ĉ = u′H(SSK ) v ′H(d) ,
Decrypt.out(PK
, CT , BK ). This algorithm inputs PK , a cipher-)
(
text CT = (M, ρ ), Ĉ , D, CSE , F , {(Ci , Di,1 , Di,2 , Ei,1 , Ei,2 , Fi )}i∈[1,ℓ]
and a blind key BK based on an attribute set A and a user ID ID. It
computes I = {i : ρ (i) ∈ A} and the constants {ωi ∈ Zp }i∈I . Then,
it computes
=
)
457
zi −si,2
h3
key = (T1′ )δ (T2′ )
.
=
Here, the message M is encrypted by SE with the encapsulated
symmetric key key. A Pederson commitment is introduced to
achieve the verification of key.
Decrypt(PK
, SK , CT ). This algorithm inputs PK , a ciphertext
)
(
CT = (M, ρ ), Ĉ , D, CSE , F , {(Ci , Di,1 , Di,2 , Ei,1 , Ei,2 , Fi )}i∈[1,ℓ] , and
a user secret key SK based on an attribute set A and a user ID ID.
It computes I = {i : ρ (i) ∈ A} and the constants {ωi ∈ Zp }i∈I such
that Σi∈I ωi vi = µ, if {vi }. Then, it computes
Pi = ê(Ci , K2 )ê(Di,1 , Ki,1 )ê(Ei,1 , Ki,2 ),
(ê(g , gID )µθ/δ )δ
ê(gID , g θµ )ê(g1 , gm )µ
= ê(g1 , gm )−µ ,
KDF (key, L) = SSK ∥d.
If T3′ ̸ = u′H(SSK ) v ′H(d) , then it outputs ⊥. Otherwise, it will compute
the symmetric encryption key KSE = H(key) and the message
M = SE.Dec(H(key), CSE ). Finally, it outputs the message M.
5. Security proof
Qi = ê(Fi , Ki,3 )ê(Di,2 , Ki,4 )ê(Ei,2 , Ki,5 ),
key =
ê(D, K1 )ê(D,
∏
j∈S ,j̸ =ID
gm+1−j+ID )
ωi
i∈I (Pi Qi ) ê(gID , F )
−µ
∏
= ê(g1 , gm )
,
KDF (key, L) = SSK ∥d.
If Ĉ ̸ = u′H(SSK ) v ′H(d) , then it outputs ⊥. Otherwise, it will compute
the symmetric encryption key KSE = H(key) and the message
M = SE.Dec(H(key), CSE ). Finally, it returns the message M.
KeyGen.out(SK ). This algorithm inputs a user’s SK , and
chooses a random δ ∈ Zp∗ , then computes
1/δ
= g (α
1/δ
= g (d1 d2 r +d3 d4 r )/δ .
K1′ = K1
K2′ = K2
ID θ )/δ
ω(d1 d2 r +d3 d4 r )/δ ,
′
′
For i = 1 to k, it computes
1/δ
Ki′,1 = Ki,1 = ((uAi h)ri v −r )d2 /δ ,
Theorem 1. Suppose the security of Cui’s scheme in [9] is guaranteed, then the proposed scheme is secure.
1/δ
Ki′,2 = Ki,2 = ((uAi h)ri v −r )d1 /δ ,
1/δ
Ki′,3 = Ki,3 = g
Ki′,4
Ki′,5
=
=
1/δ
Ki,4
1/δ
Ki,5
(d1 d2 ri +d3 d4 ri′ )/δ
,
ri′
−r ′ d4 /δ
)
,
r′
−r ′ d3 /δ
.
= ((u h) v
Ai
= ((uAi h) i v
)
Proof. A is an adversary with a non-negligible advantage, and
we assume that if this adversary can violate the security of
our scheme, then the scheme in [9] can also be broken by an
algorithm S . Now, we assume a challenger C interacts with S , and
S runs A as follows:
Finally, it outputs the blind key as
(
BK = K1′ , K2′ , Ki′,1 , Ki′,2 , Ki′,3 , Ki′,4 , Ki′,5
{
Recently, provable security is widely recognized as indispensable and popular methodology to provide formal security for
cryptographic protocols by almost all researchers/engineers in
the cryptographic community. The core idea of provable security
is to demonstrate that breaking a specific protocol is equivalent to
solving a well-established problem. Concretely, the security of the
protocol is simulated by a well-defined security game between
a challenger C and an adversary A, where the former entity
denotes a hard problem attacker and the latter entity models an
attacker to defeat the protocol. To achieve provable security of the
protocol, C is shown to solve the given hard problem by using A
as a sub-algorithm in the given security model. Following the idea
of provable security, the security of our scheme has been formally
proved.
The security of the scheme presented in the preceding section
is described in Theorem 1.
}
and the recovery key as RK = (PK , δ ).
i∈[1,k]
)
,
1. Init. A sends S the challenge access policy A
(M, ρ, {Aρ (i) }), and S gives A to C .
=
458
H. Xiong, Y. Zhao, L. Peng et al. / Future Generation Computer Systems 97 (2019) 453–461
2. Setup. C executes Setup in [9] to obtain the public parameters PK ′ = (g , u, h, ω, v, {hi }4i=1 , ê(g , g)α , H) and sends it
to S . Then, S runs Setup in this paper to obtain PK =
′
′
[{hi }4i=1 , τ , {gi }2m
i=1,i̸ =m+1 , u, h, ω, v, v , u , H , KDF , L, SE] and
replaces the components in PK with the corresponding
components in PK ′ . Finally, it gives PK to A.
3. Phase 1. At first, S creates an empty list L and an empty set
R, then A can start issuing the key query and/or the blind
key query.
(a) Key Query. If A makes a key query over an attributes
set A as well as a user ID ID, then S sends A to C and
retrieves⋃the⋃
user secret key SK . S will also replace
R by R
A ID and send SK to A.
(b) Blind Key Query. If A makes a blind key query over
attributes set A and a user ID ID, then S will search
the tuple ⟨A, ID, SK , BK , RK ⟩ in L. If the tuple that
satisfies the query exits, then S returns BK . Otherwise, S (chooses a random exponent δ ∈ Zp and sets
)
K ′ 1 , K ′ 2 , K ′ i,1 , K ′ i,2 , K ′ i,3 , K ′ i,4 , K ′ i,5
{
BK =
}
Fig. 2. Computational time of encryption.
.
i∈[1,k]
Let (α θ )/δ = a , ri = ri , −r = r , d2 /δ = d2 ,
−r = r ∗ , d1 /δ = d∗1 , (d1 d2 ri + d3 d4 ri′ )/δ = b∗i ,
d4 /δ = d∗4 , d3 /δ = d∗3 , then BK can be another type
of SK . So, in the view of the data owner, it is similar
between cloud computing center and the users. S
will insert the tuple ⟨A, ID, ∗, SKA′ , ∗⟩ in L and returns
BK to A.
ID
∗
∗
′
∗′
∗
4. Challenge. A sends S the challenge access policy A =
(M, ρ, {Aρ (i) }), then S picks two messages M0 , M1 with
equal length and sends them to C , and receives a challenge ciphertext CT = ((M, ρ ), C , D, E , {(Ci , Di,1 , Di,2 , Ei,1 ,
E
i,2 , Fi )}i∈[1,ℓ] ) by running Encrypt in [9]. Here, C = (M ∥σ )
⨁
H(ê(g , g)αµ ), E = g M hσ where σ is randomly chosen.
We can use the symmetric encryption algorithm SE.Enc
with key key = ê(g1 , gm )−µ and Ĉ = u′H(SSK ) v ′H(d) , D = g µ
replace C and E respectively. Then, S picks random x ∈
Zp , e ∈ {0, 1} and calculates the ciphertext CT followed by
Fig. 3. Computational time of decryption.
Ĉ = u′H(SSK ) v ′H(d) ,
CSE = SE.Enc(H(ê(g1 , gm )−µ ), Mb ),
F = g x.
Finally, S returns CT to A.
5. Phase 2. A queries secret keys and blind keys with the
limitation that none of attributes set in R satisfies A, and
S returns the answer as Phase 1.
6. Output. A generates γ as its guess to e.
As we discussed above, if A can break our scheme, then A can
break the scheme in [9]. Thus, this concludes this proof. □
Theorem 2. In a prime order bilinear group, if the discrete logarithm
(DL) assumption still holds, then our proposed scheme is verifiable.
Proof. Suppose a probabilistic polynomial-time (PPT) algorithm
A who can break verification with a non-negligible advantage
exists, then we can build a simulator S to solve the DL problem
in the prime order bilinear group system with a non-negligible
advantage.
A tuple (p, G, GT , ê, g , β = g x ) is given to S , and S wishes to
obtain x by computing x = logβg . S interacts with A as follows:
∗
1. Setup. S chooses {ai }4i=1 , b, {ci }2n
i=1,i̸ =n+1 , e, f , m, n, x, y ∈ Zp
and picks a key derivation function KDF and a deterministic
collision-resistant hash function H : {0, 1}∗ → Zp∗ . Then, S
Fig. 4. Communication cost of ciphertext.
sets the public parameters as: PK = [{hi = g di ai }4i=1 , τ =
e
f
m
g θ b , {gi = g αi ci }2n
i=1,i̸ =n+1 , u = g , h = g , ω = g , v =
g n , u′ = g x , v ′ = g y , KDF , L, SE, H ]. The master secret key
is MSK = (d1 , d2 , d3 , d4 , α, θ ). S sends PK to A.
2. Challenge. S runs KeyGen(MSK , PK , A, ID) to obtain the
user secret key SKA based on an attribute set A and a user
ID ID, and sends it to A.
3. Output. A outputs an access structure A, where A satisfies
A and a tuple (CT ∗ , BK ∗ , RK ∗ , CT1∗′ , CT2∗′ ).
H. Xiong, Y. Zhao, L. Peng et al. / Future Generation Computer Systems 97 (2019) 453–461
459
Table 1
A comparative summary between schemes.
Scheme
PK
MK
SK
CT
[32]
[19]
[17]
[15]
[9]
Our scheme
3LG + LGT
(6N + 1)LG
(2m + 2N + 1)LG
(2m + 8n + 3)LG
9LG + LGT
(11 + 2m)LG
LZp + LG
2LZp
2LZp
(6 + 8n)LZp
4LZp + LG
6LZp
(4 + 2n)LG
(2N + 1)LG
(2 + n)LG
(2 + 4n)LG
(2 + 5n)LG
(2 + 5n)LG
(5 + n)LG + LGT
2LG + LGT
(2 + l)LG + LGT
(3 + 4n − 4l)LG + LGT
(3 + 5l)LG + LGT
(3 + 6l)LG
LZp , LG and LGT denote the length of an element in Zp , G and GT , respectively. l, n, m and N indicate
the number of the rows of the matrix M, the number of a user attribute set, and the maximum
number of users and the maximum number of attributes in the system, respectively. Here, we
assume the encryption system supports up to 20 attributes and 200 users, that is, N = 20 and
m = 200.
Table 2
Functions and computational costs: A comparative summary.
Scheme
Hidden policy Direct revocation Outsourced decryption Access policy Enc .
[32]
#
[19]
Full
[17]
#
[15]
Full
[9]
Partially
Our scheme Partially
Dec .
√
√
And-gates
P + (5 + n)Te + Tê
#
#
And-gates
P + 2Te + Tê
2nP + 4nTe + 3nTê
√
#
√
LSSS
P + (2n + 2)Te + Tê
(2n + 2)P + 2nTê
And-gates
5Te
2P + 2Te + Tê
#
#
LSSS
(48n + 3)Te + Tê
(6n + 1)P + nTê
LSSS
P + (48n + 4)Te + Te
3P + 3Tê
√
√
√
2P
P represents a pairing computation, Tê represents a modular exponentiation computation in G and Te represents a modular
exponentiation computation in GT .
Table 3
The runtime of computation operation.
Operation
Te
Tê
P
Runtime (ms)
66
13
647
S obtains key∗ = (T1′ ,1 )δ (T1′ ,2 ) as well as key∗′ = (T2′ ,1 )δ (T2′ ,2 ),
where δ is RK ∗ , then computes KDF (key∗ , L) = SSK ∗ ∥d∗ ,
KDF (key∗′ , L) = SSK ∗′ ∥d∗′ . If A wins the game (means H(SSK ∗ ) ̸ =
∗
∗
∗
∗
H(SSK ∗′ )), then S computes g xH(SSK )+yH(d ) = u′H(SSK ) v ′H(d ) =
∗′
∗′
∗′
∗′
T3′ = u′H(SSK ) v ′H(d ) = g xH(SSK )+yH(d ) .
Now we know that SSK ∗ ̸ = SSK ∗′ and H(SSK ∗ ) ̸ = H(SSK ∗′ ).
SSK ∗ , d∗ , SSK ∗′ , d∗′ , y, H are known to S . S computes
y(H(d∗′ )−H(d∗′ ))
x = H(SSK ∗ )−H(SSK ∗′ ) to solve the DL instance. □
6. Performance evaluations
In this section, we evaluate the performance of the proposed
scheme as well as several other ABE schemes in terms of communication and computation costs. By considering the characteristics of our scheme satisfied, we have only selected typical ABE
schemes [9,15,17,19,32] that are strongly relevant to our scheme
for comparison.
We denote the public parameters as PK , the master secret key
as MK , and the user secret key as SK . The length of ciphertext
CT , excluding the access structure, for these schemes is presented
in Table 1. Enc. and Dec. denote the time required in executing
the encryption algorithm and decryption algorithm of the various
ABE schemes. Based on findings reported in Table 2, we observe
that our scheme is the only scheme to achieve partially hidden policy, direct revocation and outsourced decryption function
simultaneously. A comparative summary of the computational
costs is presented in Table 2.
The accuracy and complexity of the computation are largely
dependent on the type of processor and the relative efficiency of
the pairings operation, as well as the exponentiation in G, GT .
So, we implement the simulation experiment on a smartphone
HUAWEI Honor 8 equipped with a Kirin 950 2.3 GHz processor and 3 GB memory. Kirin 950 is a very powerful embedded
processor and has a very rich expansion interface, simultaneously,
its energy consumption is also very low. And the experiment
is implemented in VC++ 6.0 with PBC library. For the overall
security of our scheme, we use SHA-3 as the hash function.
Furthermore, to offer the security level equal to 2048-bits RSA,
we use the Tate pairing defined over the supersingular elliptic
curve E /Fp : y2 = x3 + x with embedding degrees 2, where
q is a 160-bits Solinas prime q = 2159 + 217 + 1 and p is a
512-bits prime satisfying p + 1 = 12qr. The running times of
each cryptographic operation are listed in Table 3. The evaluation
results are presented in Figs. 2 and 3. And the communication cost
of ciphertext is shown in Fig. 4.
From Figs. 2 and 3, we can see that the encryption time
of our scheme grows linearly with the number of attributes.
Compared with other schemes [9,15,17,19,32], the encryption
time of our scheme increases at a lower rate. In the meanwhile,
our decryption time is constant and does not change as attributes
increase. This is not surprising since majority of the complex
calculations are performed in the cloud server. Therefore, our
scheme is more suitable for deployment on lightweight devices
such as device with limited computing power and/or battery life.
In Fig. 4, we can observe that the communication cost of our
construction is slightly less efficient than others. This may be a
reasonable price to pay for the characteristics that our scheme
satisfied at the same time.
7. Conclusion
In this paper, we studied policy-hidden CP-ABE due to its
capability to preserve the privacy of user identity information
while sharing private data (e.g. medical records). However, it is
challenging to design conventional fully policy-hidden CP-ABE
schemes to provide more expressive access policy, particularly
in complex real-world scenarios. Thus, researchers have focused
on designing partial policy-hidden CP-ABE with more expressive
access policy (somewhat similar to the current state of play
for fully homomorphic encryption and partially homomorphic
encryption [39]). However, no existing scheme provides all three
partial policy-hidden, direct revocation of compromised users,
460
H. Xiong, Y. Zhao, L. Peng et al. / Future Generation Computer Systems 97 (2019) 453–461
lightweightness properties. Our proposed partially policy-hidden
ABBE scheme, in this paper, combines broadcast encryption technique and outsourcing technique to realize partial policy-hide,
direct revocation and secure delegation simultaneously. The proposed scheme was also proven secure and we evaluated its
performance.
[19] Z. Zhou, D. Huang, Z. Wang, Efficient privacy-preserving ciphertext-policy
attribute based-encryption and broadcast encryption, IEEE Trans. Comput.
64 (1) (2015) 126–138.
Acknowledgments
[22] B. Qin, R.H. Deng, S. Liu, S. Ma, Attribute-based encryption with efficient
verifiable outsourced decryption, IEEE Trans. Inf. Forensics Secur. 10 (7)
(2015) 1384–1393.
This work was supported in part by the 13th Five-Year Plan of
National Cryptography Development Fund for Cryptographic Theory of China under Grant MMJJ20170204, in part by the Fundamental Research Funds for the Central Universities, China under
Grant ZYGX2016J091, the Guangxi Colleges and Universities Key
Laboratory of Cloud Computing and Complex Systems, China, and
in part by the Natural Science Foundation of China under Grants
U1401257, 61472064 and 61602096.
References
[1] W. Shi, J. Cao, Q. Zhang, Y. Li, L. Xu, Edge computing: Vision and challenges,
IEEE Internet Things J. 3 (5) (2016) 637–646.
[2] R. Roman, J. Lopez, M. Mambo, Mobile edge computing, fog et al.: A survey
and analysis of security threats and challenges, Future Gener. Comput. Syst.
78 (2018) 680–698.
[3] A. Sahai, B. Waters, Fuzzy identity-based encryption, in: Annual International Conference on the Theory and Applications of Cryptographic
Techniques, Springer, 2005, pp. 457–473.
[4] V. Goyal, O. Pandey, A. Sahai, B. Waters, Attribute-based encryption for
fine-grained access control of encrypted data, in: Proceedings of the 13th
ACM conference on Computer and communications security, Acm, 2006,
pp. 89–98.
[5] J. Bethencourt, A. Sahai, B. Waters, Ciphertext-policy attribute-based encryption, in: Security and Privacy, 2007. SP’07. IEEE Symposium on, IEEE,
2007, pp. 321–334.
[6] T. Nishide, K. Yoneyama, K. Ohta, Attribute-based encryption with partially
hidden encryptor-specified access structures, in: International Conference
on Applied Cryptography and Network Security, Springer, 2008, pp.
111–129.
[7] J. Lai, R.H. Deng, Y. Li, Fully secure cipertext-policy hiding CP-ABE, in:
International Conference on Information Security Practice and Experience,
Springer, 2011, pp. 24–39.
[8] J. Lai, R.H. Deng, Y. Li, Expressive CP-ABE with partially hidden access
structures, in: Proceedings of the 7th ACM Symposium on Information,
Computer and Communications Security, ACM, 2012, pp. 18–19.
[9] H. Cui, R.H. Deng, G. Wu, J. Lai, An efficient and expressive ciphertextpolicy attribute-based encryption scheme with partially hidden access
structures, in: International Conference on Provable Security, Springer,
2016, pp. 19–38.
[10] H. Ma, R. Zhang, Z. Wan, Y. Lu, S. Lin, Verifiable and exculpable outsourced
attribute-based encryption for access control in cloud computing, IEEE
Trans. Dependable Secure Comput. 14 (6) (2017) 679–692.
[11] B. Waters, Ciphertext-policy attribute-based encryption: An expressive,
efficient, and provably secure realization, in: International Workshop on
Public Key Cryptography, Springer, 2011, pp. 53–70.
[12] S. Berkovits, How to broadcast a secret, in: Workshop on the Theory and
Application of of Cryptographic Techniques, Springer, 1991, pp. 535–541.
[13] A. Fiat, M. Naor, Broadcast encryption, in: Advances in Cryptology–Crypto
93, Springer, 1994, pp. 480–491.
[14] D. Boneh, B. Waters, A fully collusion resistant broadcast, trace, and revoke
system, in: Proceedings of the 13th ACM conference on Computer and
communications security, ACM, 2006, pp. 211–220.
[15] H. Xiong, H. Zhang, J. Sun, Attribute-based privacy-preserving data sharing
for dynamic groups in cloud computing, IEEE Syst. J. (2018) http://dx.doi.
org/10.1109/JSYST.2018.2865221.
[16] D. Lubicz, T. Sirvent, Attribute-based broadcast encryption scheme made
efficient, in: International Conference on Cryptology in Africa, Springer,
2008, pp. 325–342.
[17] N. Attrapadung, H. Imai, Conjunctive broadcast and attribute-based encryption, in: International Conference on Pairing-Based Cryptography, Springer,
2009, pp. 248–265.
[18] T.V.X. Phuong, G. Yang, W. Susilo, X. Chen, Attribute based broadcast encryption with short ciphertext and decryption key, in: European
Symposium on Research in Computer Security, Springer, 2015, pp.
252–269.
[20] M. Green, S. Hohenberger, B. Waters, Outsourcing the decryption of ABE
ciphertexts, in: Usenix Conference on Security, 2011, 2011, pp. 34–34,
[21] J. Lai, R.H. Deng, C. Guan, J. Weng, Attribute-based encryption with
verifiable outsourced decryption, IEEE Trans. Inf. Forensics Secur. 8 (8)
(2013) 1343–1354.
[23] S. Lin, R. Zhang, H. Ma, M. Wang, Revisiting attribute-based encryption
with verifiable outsourced decryption, IEEE Trans. Inf. Forensics Secur. 10
(10) (2015) 2119–2130.
[24] X. Mao, J. Lai, Q. Mei, K. Chen, J. Weng, Generic and efficient constructions
of attribute-based encryption with verifiable outsourced decryption, IEEE
Trans. Dependable Secure Comput. 13 (5) (2016) 533–546.
[25] J. Li, X. Huang, J. Li, X. Chen, Y. Xiang, Securely outsourcing attribute-based
encryption with checkability, IEEE Trans. Parallel Distrib. Syst. 25 (8) (2014)
2201–2210.
[26] J. Ning, Z. Cao, X. Dong, K. Liang, H. Ma, L. Wei, Auditable σ -time outsourced attribute-based encryption for access control in cloud computing,
IEEE Trans. Inf. Forensics Secur. 13 (1) (2018) 94–105.
[27] J. Xu, Q. Wen, W. Li, Z. Jin, Circuit ciphertext-policy attribute-based hybrid
encryption with verifiable delegation in cloud computing, IEEE Trans.
Parallel Distrib. Syst. 27 (1) (2016) 119–129.
[28] R. Zhang, H. Ma, Y. Lu, Fine-grained access control system based on fully
outsourced attribute-based encryption, J. Syst. Softw. 125 (2017) 344–353.
[29] H. Wang, D. He, J. Shen, Z. Zheng, C. Zhao, M. Zhao, Verifiable outsourced ciphertext-policy attribute-based encryption in cloud computing,
Soft Comput. (2016) 1–11.
[30] J. Li, X. Lin, Y. Zhang, J. Han, KSF-OABE: outsourced attribute-based
encryption with keyword search function for cloud storage, IEEE Trans.
Serv. Comput. 10 (5) (2017) 715–725.
[31] F. Sha, Y. Wei, X. Lin, Q. Zhang, H. Wang, Verifiable outsourced decryption
of attribute-based encryption with constant ciphertext length, Inf. Technol.
2017 (2) (2016) 1–11.
[32] J. Li, W. Yao, Y. Zhang, H. Qian, J. Han, Flexible and fine-grained attributebased data storage in cloud computing, IEEE Trans. Serv. Comput. 10 (5)
(2017) 785–796.
[33] H. Wang, D. He, J. Han, VOD-ADAC: Anonymous distributed fine-grained
access control protocol with verifiable outsourced decryption in public
cloud, IEEE Trans. Serv. Comput. (2017) http://dx.doi.org/10.1109/TSC.2017.
2687459.
[34] C. Zuo, J. Shao, G. Wei, M. Xie, M. Ji, CCA-secure ABE with outsourced
decryption for fog computing, Future Gener. Comput. Syst. 78 (2018)
730–738.
[35] D. Boneh, M.K. Franklin, Identity based encryption from the weil pairing,
SIAM J. Comput. 32 (3) (2001) 213–229.
[36] N. Kogan, Y. Shavitt, A. Wool, A practical revocation scheme for broadcast
encryption using smart cards, in: Security and Privacy, 2003. Proceedings.
2003 Symposium on, 2003, pp. 225–235.
[37] D. Boneh, X. Boyen, Secure identity based encryption without random
oracles, in: Annual International Cryptology Conference, Springer, 2004,
pp. 443–459.
[38] D. Boneh, C. Gentry, B. Waters, Collusion resistant broadcast encryption with short ciphertexts and private keys, in: Annual International
Cryptology Conference, Springer, 2005, pp. 258–275.
[39] G.S. Poh, J. Chin, W. Yau, K.R. Choo, M.S. Mohamad, Searchable symmetric
encryption: Designs and challenges, ACM Comput. Surv. 50 (3) (2017)
Article 40 (37 pages).
Hu Xiong received his Ph.D. degrees from University
of Electronic Science and Technology of China (UESTC)
in 2009. He is now a full professor in the UESTC. His
research interests include public key cryptography and
networks security.
H. Xiong, Y. Zhao, L. Peng et al. / Future Generation Computer Systems 97 (2019) 453–461
461
Yanan Zhao is currently pursuing her M.S. degree
from the School of Information and Software Engineering, University of Electronic Science and Technology
of China. She received her B.S. degree from Jiangxi
University of Science and Technology in 2017. Her
research interests include identity-based public key
cryptography.
Hao Zhang received the B.S. degree from Sichuan Normal University, Chengdu, China, in 2015. He is currently
working toward the M.S. degree with the School of
Information and Software Engineering, University of
Electronic Science and Technology of China, Chengdu,
China. His research interests include attribute-based
encryption and malicious code detection.
Li Peng is currently pursuing his M.S. degree from
the School of Information and Software Engineering,
University of Electronic Science and Technology of
China. He received his B.S. degree from Guangxi University. His research interests include attribute-based
encryption and malicious code detection.
Kuo-Hui Yeh (SM’16) is a Professor with the Department of Information Management, National Dong Hwa
University, Hualien, Taiwan. He received M.S. and Ph.D.
degrees in Information Management from the National
Taiwan University of Science and Technology, Taipei,
Taiwan, in 2005 and 2010, respectively. Dr. Yeh has
authored over 100 articles in international journals and
conference proceedings. His research interests include
IoT security, Blockchain, mobile security, NFC/RFID security, authentication, digital signature, data privacy
and network security. Dr. Yeh is currently an associate/academic editor of IEEE Access, Journal of Internet Technology (JIT), Journal
of Information Security and Applications (JISA), Security and Communication
Networks (SCN) and Data in Brief (DIB), and has served as a guest editor
for Future Generation Computer Systems (FGCS), IEEE Access, Mathematical
Biosciences and Engineering (MBE), International Journal of Information Security
(IJIS), JIT, Sensors and Cryptography. In addition, Dr. Yeh has participated in the
organization committee of DSC 2018, SPCPS 2017, NSS 2016, RFIDsec’14 Asia
and RFIDsec’12 Asia, and he has served as a TPC member of 30 international
conferences/workshops on information security. He is a Senior Member of the
IEEE.
Download