A ciphertext-policy attribute-based searchable encryption scheme in non-interactive model
Journal of Computer Science and Cybernetics, V.35, N.3 (2019), 233–249
DOI 10.15625/1813-9663/35/3/13667
A CIPHERTEXT-POLICY ATTRIBUTE-BASED SEARCHABLE
ENCRYPTION SCHEME IN NON-INTERACTIVE MODEL
1
2,∗
VAN ANH TRINH , VIET CUONG TRINH
1Thanh Hoa University of Culture, Sports and Tourism
2Hong Duc University, Thanh Hoa, Viet Nam
∗Trinhvietcuong@hdu.edu.vn
ꢀ
Abstract. We address the problem of searching on encrypted data with expressive searching predi-
cate and multi-writer/multi-reader, a cryptographic primitive which has many concrete application
scenarios such as cloud computing, email gateway application and so on. In this paper, we propose
a public-key encryption with keyword search scheme relied on the ciphertext-policy attribute-based
encryption scheme. In our system, we consider the model where a user can generate trapdoors by
himself/herself, we thus can remove the Trusted Trapdoor Generator which can save the resource and
communication overhead. We also investigate the problem of combination of a public key encryption
used to encrypt data and a public-key encryption with keyword search used to encrypt keywords,
which can save the storage of the whole system.
Keywords. Attribute-based Encryption; Searchable Encryption; Searching on Encrypted Data.
1. INTRODUCTION
Searching on encrypted data is an important task, which can be applicable to many
practical contexts such as cloud computing or email gateway application. In the context of
cloud computing, the user’s data is first encrypted and then outsourced to the cloud server.
When user would like to find some specific data, he/she needs to ask help from the cloud
server, user however doesn’t want the cloud server to know about his/her original data.
In the email gateway application, when anyone would like to securely send email to Alice,
he/she encrypts the content of email under Alice’s public key before sending. On the other
hand, Alice would like to set priority order of receiving her emails. To this aim, Alice gives
the email gateway the ability to check the priority order of incoming emails and then send
to her emails in the order she wants. However, Alice also doesn’t want the email gateway to
know about the content of such emails.
problems. In a nutshell, in a system which supports SE, we append encrypted keywords
with corresponding encrypted data. User then relies on his/her secret key in SE scheme
and chosen keywords to generate a trapdoor for the cloud server (or the email gateway) to
perform the search. The trapdoor is generated in such a way that the cloud server (or the
email gateway) using this trapdoor can perform successfully the search, but doesn’t get any
information about the original data in the resulted ciphertexts. On the other hand, since
keywords are encrypted, unauthorized users (called outsiders) as well as cloud server (called
c
ꢀ 2019 Vietnam Academy of Science & Technology
234
VAN ANH TRINH, VIET CUONG TRINH
insider) ideally also don’t know any information about keywords in each ciphertext. We can
category SE in two types:
encrypts the data as well as the corresponding keywords) and one/multi reader (user
who would like to search and then should be able to decrypt the resulted ciphertexts).
This type of SE has obviously limited applications in practice. For example, it cannot
apply to the context of sending email above since anyone should have the capacity of
encrypting the content of emails sent to Alice.
full searchable encryption system in practice includes two components: the first is a
Public Key Encryption (PKE) scheme used to encrypt data; the second is a Public-
Key Encryption with keyword Search (PEKS) used to encrypt keywords. Such full
system is called a PKE-PEKS scheme. In a PKE-PEKS scheme, a full ciphertext,
including both the encrypted keywords and encrypted data, should be in the form
0
PKEAlice (data)||PEKSAlice (keywords).
pk
pk
There are two cases: PKE and PEKS are independent, that means Alice’s public-
key/secret-key in PKE is different to the ones in PEKS; and otherwise, where Alice’s
public-key/secret-key could be the same in both PKE and PEKS. Obviously, such full
system will become more efficient in the latter case. However, in this case we have to
powerful than the one in the former case. When PKE and PEKS are independent, we
often only care about PEKS scheme and omit the PKE scheme for simplicity. In some
to contact with a Trusted Trapdoor Generator (TTG), that will obviously increase the
communication overhead of the user, and moreover the Trusted Trapdoor Generator
should be always online. We call such schemes interactive schemes.
In summary, there are several following important properties one should take into
account when estimating a system which supports searching on encrypted data:
• Efficiency: Performance of encryption/decryption/searching algorithm, key-size/
ciphertext-size, PKE and PEKS are independent or not, interactive or non-
interactive, etc;
• Expressive searching predicate: Whether or not the PEKS scheme supports con-
junctive keywords or even boolean formulas of keywords for searching. Obviously,
this property is more desirable than simple equality keyword search in practice;
• Trapdoor security: Cloud server with a trapdoor in hand knows nothing about
the keywords in the ciphertext and trapdoor, even when the trapdoor “matches”
the ciphertext. We note that this property is very hard to achieve in the public-
partially achieve this property.
• Keyword security: Ideally, unauthorized users and cloud server cannot derive any
information about keywords in the ciphertext.
A CIPHERTEXT-POLICY ATTRIBUTE-BASED SEARCHABLE ENCRYPTION SCHEME
235
1.1. Related work
Over past decade, substantial progress has been made on problem of searching on encrypted
ques and consider different situations for searching on encrypted data. SE in private-key
searchable encryption scheme in single-writer/multi-reader setting and partially trapdoor
security. Partially non-interactive which can reduce the communication overhead was also
investigated in [17].
extended to support multi-writer/multi-reader but their schemes still only support equa-
lity queries. Expressive searching predicate and multi-writer/multi-reader were investigated
attribute-based encryption scheme to a PEKS scheme, these schemes are thus called key
went further to consider partially trapdoor security in the sense that, they split a keyword
into two parts: The keyword name and the keyword value, where one keyword name can
have many keyword values. They then showed that in their scheme, the cloud server with
the trapdoor in hand can only know keyword names but nothing about keyword values in the
ciphertext. This interesting property is useful in some specific practical contexts. However,
the downside of this technique is that the searching time is only acceptable if the keyword
names are included in the ciphertext, this leads to the fact that anyone can also know the
keyword names in the ciphertext. On the other hand, the combination of PKE and PEKS
this scheme does not support expressive searching predicate.
1.2. Our contribution and organization of the paper
In this paper, we propose a PKE-PEKS scheme supporting both the expressive searching
we thus name our scheme CP-ABSE scheme for short. Our scheme has following properties:
• Our scheme is a combination of an existing PKE scheme (which is exactly the CP-ABE
public key/secret key for both PKE and PEKS, and moreover user can use the CP-ABE
setting to encrypt/decrypt data;
• Our scheme is non-interactive: User can generate the trapdoor by himself/herself, we
thus can remove the Trusted Trapdoor Generator in our system. On the other hand,
since trapdoor is generated from user’s secret key, user is able to decrypt all resulted
ciphertexts which can save time and communication overhead of the system;
scheme naturally inherits the efficiency and properties of this CP-ABE scheme such as
236
VAN ANH TRINH, VIET CUONG TRINH
constant-size of user’s secret key, optimized ciphertext size, multi-authority and fast
CP-ABE schemes to date.
• We also note that our scheme does not achieve trapdoor security. We emphasize that
this property is very hard to achieve in the public-key setting, to the best of our
In the Section 5, we give the details comparison among our scheme and several schemes
which also support both the expressive searching predicate and multi-writer/multi-reader.
The paper includes 6 sections. The first section presents the definition and security model
of a CP-ABSE scheme. In Section 3, we present the construction of our CP-ABSE scheme and
prove that it is secure in the following section. The comparison and discussions are given in
Section 5. Finally, the conclusion is in Section 6.
2. PRELIMINARIES
In this section, we first give the system workflow and the threat model of our system,
then we present the definition and security model for our CP-ABSE scheme.
2.1. Ciphertext policy attribute based searchable encryption
2.1.1. System workflow and threat model
Our CP-ABSE scheme is a combination of a traditional CP-ABE scheme and a PEKS scheme
supporting expressive searching predicate. In our scheme, there are four entities: data owner;
user; cloud server and Private Key Generator (PKG). More precisely:
1. PKG: Play the role of PKG in traditional CP-ABE scheme, generates secret keys for
users.
2. Data owner: Encrypt data as well as corresponding keywords, upload them to a public
cloud.
3. User: Rely on his/her secret key to generate a trapdoor, send this trapdoor to the
cloud server and get back resulted ciphertexts. Finally, decrypt resulted ciphertexts to
recover data.
4. Cloud server: Receive a trapdoor from a user, perform the search based on the trapdoor
and send back resulted ciphertexts to the user.
system, there are two goals for which an adversary would like to achieve: getting information
about encrypted data and getting information about encrypted keywords.
A CIPHERTEXT-POLICY ATTRIBUTE-BASED SEARCHABLE ENCRYPTION SCHEME
237
2.1.2. System algorithms
Formally, our CP-ABSE scheme includes seven following probabilistic algorithms.
Setup(1ν, B): The inputs of this algorithm are security parameter ν and the description
of attribute universe B, the outputs are master key MSK and the public parameters
param of the system.
Extract(u, B(u), MSK, param): The inputs of this algorithm are attribute set B(u) of user
u, param and MSK, the output is the user’s secret key du.
Encrypt(M, A, param): The inputs of this algorithm are param, a message M and an
access policy A over the universe of attributes, the output is ciphertext ct along with
a description of the access policy A.
Decrypt(ct, du, param): The inputs of this algorithm are param, the ciphertext ct and the
secret key du of user u, the output is the message M if and only if B(u) satisfies A.
Otherwise, the output is ⊥.
Trapdoor(du, Wi, param): The inputs of this algorithm are param, secret key du of user u
and a set of keywords user would like to search Wi, the output is the trapdoor tds.
EncryptKW(KF, A0, param): The inputs of this algorithm are param, an access policy A0
over the universe of attributes and an access policy KF over the universe of keywords,
the output is the ciphertext ct0 along with a description of the access policy A0.
Search(tds, ct0, param): The inputs of this algorithm are param, a trapdoor tds and a
ciphertext ct0, the output is 1 if the keyword set Wi embedded in tds matches the
access structure KF in ct0 and B(u) satisfies A0. Otherwise, the output is 0.
We note that the full ciphertext should be the couple (ct, ct0). In addition, in order for
user to be able to decrypt the resulted ciphertext, we choose A0 in ct0 such that if B(u)
satisfies A0 then B(u) satisfies A in ct.
2.1.3. Security model
Selective semantic security. The selective semantic security game is similar to the one
Insider security. Assume that A is the attacker, C is the challenger. The insider security
game is defined as follows.
Setup(1ν, B). At the beginning of the game, the adversary A provides a target access
policy A∗ over universe of attributes, and two equal target access policy KF0∗, KF∗1
over universe of keywords for which she intends to attack, where “equal access policy”
means that if KF∗0 and KF∗1 are described in the DNF form, they have the same
number of clauses. C runs the Setup(1ν, B) algorithm to obtain param and MSK. She
then gives param to A.
238
VAN ANH TRINH, VIET CUONG TRINH
Query phase 1. A chooses a set of attributes B(u) as well as a set of keywords Wi and
asks corruption trapdoor query corresponding to these sets. The challenger computes
and returns corresponding tds to the adversary.
$
Challenge. C chooses b ← {0, 1} and runs EncryptKW(A∗, KFb∗, param) to generate ct0∗.
Finally, C outputs ct0∗.
Query phase 2. The same as phase 1.
Guess. A finally outputs b0 ∈ {0, 1} as its guess for b.
A wins the game if b0 = b, and if A never asks on B(u), Wi such that both B(u) satisfies A∗
and Wi satisfies either KF∗0 or KF1∗. The advantage of A to win the game is defined
ꢀ
ꢁ
1
AdvIAS = Pr b = b0 − .
2
Definition 1. A ciphertext-policy attribute-based searchable encryption scheme achieves
insider security if all polynomial time adversaries have at most a negligible advantage in the
above game.
Outsider security. The outsider security game is similar to the insider game, the difference
is that the adversary can ask corrupted secret key queries, instead of corrupted trapdoor
queries.
Structures, LSSS Matrices, Bilinear Maps and (P, Q, f) − GDDHE Assumptions and so on.
3.
CIPHERTEXT POLICY ATTRIBUTE BASED SEARCHABLE
ENCRYPTION
PEKS scheme, where the later scheme is also built from the former scheme. User in our
scheme, therefore, can use the same public key and secret key for both CP-ABE scheme and
PEKS scheme.
In our scheme, user relies on his/her secret key and a set of chosen keywords W =
(w1, . . . , wt) to generate the trapdoor. More precisely, from a set of chosen keywords W,
user has to indicate exactly which combinations of keywords he/she would like to search.
and w3 = “Weight : 150 − 200”, user has to indicate the set of combinations of keywords
he/she would like to search Wi = (w1||w2, w1||w3). The advantage of this point is that we
can save the searching time and the communication overhead, since cloud server only needs
user doesn’t indicate exactly which combinations of keywords he/she would like to search,
the cloud server thus searches on all possible combinations of keywords.
A CIPHERTEXT-POLICY ATTRIBUTE-BASED SEARCHABLE ENCRYPTION SCHEME
239
3.1. Detailed construction
Our scheme is described as follows.
Setup(ν, B): Denote N = |B| the maximal number of attributes in the system,
(p, G, GT , e(·, ·)) a bilinear group system. The algorithm first picks a random gene-
rator g ∈ G, random scalars a, α, λ ∈ Zp, computes ga, gα, gλ. The algorithm conti-
nues to generate 2N group elements in G associated with N attributes in∗the system
˜
˜
˜
h1, . . . , hN , h1, . . . , hN . Let H, H be hash functions such that H : {0, 1} → G and
∗
˜
H : GT × {0, 1} → Zp.
Suppose that the keyword universe in the system is W = (w1, w2, w3, . . . ), where each
wi ∈ {0, 1}∗. In our system the set W is unbounded, we can add any new keyword into
the system at anytime. For simplicity, we omit W in the global parameters. Finally,
we set the master secret key and global parameters as MSK = (gα, λ) and
a
λ
α
˜
˜
˜
param = (g, g , g , e(g, g) , h1, . . . , hN , h1, . . . , hN , H, H).
Extract(u, B(u), MSK, param): Assume B(u) is the attribute set of user u. The algorithm
$
chooses su ← Zp, then computes user u’s secret key as du = (du , d0 , {du }i∈B(u), λ),
0
u0
i
where
su
i
0
su
du = gα · ga·s , du = g , {du = h }i∈B(u)
.
u
0
i
0
User u then keeps du and λ secret and publishes the rest of his/her secret key to the
public domain. That means the secret key of user is of the constant-size.
0
Encrypt(M, A, param): The inputs are a message M, an access policy A, as well as param.
Assume that A is a boolean formula β and that the size of β is |β|. At first, encryptor
describes β in the form of DNF access policy as β = (β1 ∨ · · · ∨ βm), where each βi is
a set of attributes, i = 1, . . . , m.
$
The encryptor chooses a scalar s ← Zp, then computes C, C0 as
C = M · e(g, g)α·s, C0 = gs.
Next, encryptor compares between m and |β|, if m ≤ |β| he/she computes
Y
Y
C1 = (ga
hi)s, . . . , Cm = (ga
hi)s.
i∈β1
i∈βm
Else, the encryptor constructs an LSSS matrix M representing the original boolean
formula β, and a map function ρ such that (M, ρ) ∈ (Z`p×n, F([`] → [N])). She then
→−
chooses a random vector v = (s, y2, . . . , yn) ∈ Znp . For i = 1, . . . , ` she computes
→−
λi = v · Mi, where Mi is the vector corresponding to the i’th row of M. She computes
−s
Ci = ga.λ hρ(i), i = 1, . . . , `.
i
Eventually, the output is either ct = (C, C0, . . . , Cm) along with a description of β or
ct = (C, C0, . . . , C`) along with a description of (M, ρ).
240
VAN ANH TRINH, VIET CUONG TRINH
Decrypt(ct, du, param): The decryptor u first parses the ct and checks the number of
elements in ct. If it is equal to m + 1, decryptor parses the ct as (C0, C1, . . . Cm), then
finds j such that βj ⊂ B(u), and computes
Q
Q
e(C0, du
du )
e(gs, gα(ga
e(gsu , (ga
hi)su )
hi)s)
0
i
i∈βj
i∈βj
i∈βj
= e(g, g)α·s = K.
Q
=
e(d0 , Cj)
u0
Finally, computes M = C · K−1
.
Else, she defines the set I ⊂ {1, 2, . . . , `} such that I = {i : ρ(i) ∈ B(u)}. Let {ωi ∈
Zp}i∈I be a set of constants such that if {λi} are valid shares of any secret s according
P
P
to M then i∈I ωiλi = s. Note that from the relation i∈I ωiMi = (1, 0, . . . , 0) where
Mi is the i-th row of the matrix M, she can determine these constants. She parses the
ct as (C0, C1, . . . C`) and computes
Y
Y
e( Ci−ω , d ) · e(C0, du
d−u ω ) = K.
0
i
i
ρ(i)
u0
0
i∈I
i∈I
Then computes M = C · K−1
.
Trapdoor(du, Wi = (w˜i , . . . , w˜i ), param): Suppose that each w˜i ∈ {0, 1}∗, j ∈ [k], is a
1
j
k
concatenation of set of keywords, for example “Diabetes||Age : 30”.
The user randomly chooses scalars r1, . . . , rk ∈ Zp, computes the trapdoor
ꢃ
ꢂ
˜
tds = {tds0,j, tds1,j, {tds2,j,`
}
}
rj
j∈[k], tds0, {tdsi}i∈B(u), Wi
`∈Bu
ꢄ
ꢃ
rj
su
arj
a
λ
su
= {gαgasu g (g H(w˜i )) , g , {h }`∈B
}
j∈[k], g , {hi }i∈B(u), Wi
.
˜
˜
j
u
`
˜
˜
where Wi is a short description of Wi. User then sends ({tds0,j
}
j∈[k], Wi) to the cloud
server, he/she publishes the rest of tds to the public domain. That means the trapdoor-
size is linear in the number of combinations of keywords user would like to search.
EncryptKW(KF, A0, param, ): Assume that access policy A0 = β = (β1 ∨ · · · ∨ βm) and
0
KF = (kf1 ∨ · · · ∨ kfm ), where each βi is a set of attributes and kfi is a concatenation
0
0
0
0
0
of set of keywords. Note that βi = βj, kfi = kfj , ∀i, j ∈ [m], i , j ∈ [m ].
$
The encryptor picks a scalar s ← Zp, then computes
Y
Y
C0 = gs, C1 = (ga
hi)s, . . . , Cm = (ga
hi)s,
i∈β1
i∈βm
Y
Y
a
s
s
˜
C1 = (g
hi) , . . . , Cm = (ga
hi) .
˜
˜
˜
i∈β1
i∈βm
Next, he/she computes
Xi = e(g, g)α·s · e(g, gaH(kfi))λ·s, i = 1, . . . , m0,
then computes
˜
˜
0
0
0
K1 = H(X1, kf1), . . . , Km = H(Xm , kfm ).
A CIPHERTEXT-POLICY ATTRIBUTE-BASED SEARCHABLE ENCRYPTION SCHEME
241
Eventually, encryptor outputs
0
˜
˜
0
ct = (C0, . . . , Cm, C1, . . . , Cm, K1, . . . , Km
)
along with a description of β.
Search(tds, ct0, param): The cloud server first finds ` ∈ [m] such that β` ⊂ B(u), then
computes (Xj, Yj), j = 1, . . . , k
Q
Q
rj
su
˜
e(C0, tds0,j
tdsi · tds2,j,i
)
e(gs, gαgasu garj gaλH(w˜i )λ
hi hi )
j
i∈β`
i∈β`
Xj
=
=
Q
Q
e(tds0, C`) · e(tds1,j, C`)
e(gsu , (ga
hi)s) · e(grj , (ga
hi) )
s
˜
˜
i∈β`
i∈β`
= e(g, g)α·s · e(g, gaH(w˜i ))λ·s
,
j
˜
Yj = H(Xj, w˜i ).
j
If there exists a pair (i, j), i ∈ [m0], j ∈ [k] such that Ki = Yj then the cloud server
outputs “yes”. Otherwise, the cloud server outputs “no”. Note that, the cloud server
doesn’t need to compute all pairs (Xj, Yj), j = 1, . . . , k, as long as he/she finds a pair
(i, j), i ∈ [m0], j ∈ [k] such that Ki = Yj, he/she outputs “yes” and stops.
Correctness: It is easy to verify that if there exists at least one pair w˜i ∈ Wi and kft ∈ KF
j
such that w˜i = kft, then
j
Xt = e(g, g)α·s · e(g, gaH(kft))λ·s = e(g, g)α·s · e(g, gaH(w˜i ))λ·s = Xj,
j
that means
˜
˜
Kt = H(Xt, kft) = H(Xj, w˜i ) = Yj.
j
i = 1, . . . , m. This leads to the fact that attributes in the system cannot be reused in the
access formula. To deal with this problem, they allow each attribute to have kmax copies of
4. SECURITY
In this section, we show that our scheme is secure in the model defined in Subsection 2.1.3.
define a new modified BDHE assumption. We finally prove our scheme achieves the selective
semantic security under the new modified BDHE assumption, and achieves the insider and
outsider security under the modified BDHE assumption.
Definition 2. (New Modified-BDHE problem) Let (p, G, GT , e) be a bilinear group system,
$
pick a, t, s, q, θ, r1, . . . , rθ ← Zp, a generator g ∈ G. Given
ꢄ
2q
q
s
a
aq aq+2
~
Y = g, g , g , . . . , g , g
, . . . , ga , gs(at+a), gat, . . . , ga t
,
ꢃ
q+2
2q
q+1
aq+1
r1
rθ
ga t, . . . , ga t, ga gar , . . . , g
gar , g , . . . , g
1
θ
q+1s
$
it is hard to distinguish between T = e(g, g)a
∈ GT and T ← GT .
242
VAN ANH TRINH, VIET CUONG TRINH
Assume that A is an adversary that outputs b ∈ {0, 1} with advantage ꢀ in solving new
Modified-BDHE problem in G if
ꢅ
ꢅ
ꢅ
ꢅ
ꢅ
h
i
h
i
aq+1
s
~
~
Pr A(Y , T = e(g, g)
) = 0 − Pr A(Y , T = R) = 0 ≥ ꢀ.
ꢅ
Definition 3. The new Modified-BDHE assumption is secure if no polytime adversary has
a non-negligible advantage in solving the new Modified-BDHE problem.
q+1
q+1s
q+1t
Intuitively, to compute e(g, g)a
one should know one of the values ga
or ga
or
e(g, g)sar , i ∈ [θ], but these elements are not provided in Y .
i
~
4.1. Selective semantic security
Theorem 1. Let β∗ be the challenge access policy, from β∗ we construct the corresponding
challenge LSSS matrix L’ of size `0 × n0 and map function ρ0. We next describe β∗
=
β1∗ ∨ · · · ∨ βm∗ where βi∗, i = 1, . . . , m are disjoint sets and then construct the corresponding
challenge LSSS matrix L∗ of size `∗ ×n∗ and map function ρ∗. If those LSSS matrices satisfy
`0, n0, `∗, n∗ ≤ q, and if θ ≥ k∗ · q∗ where k∗ and q∗ are maximum number of combinations
of keywords in a trapdoor and maximum number of trapdoor queries corresponding to β∗
adversary can make, respectively, our scheme is selectively semantic secure under the new
Modified-BDHE assumption.
q+1
trapdoor query. To answer this kind of query, the simulator uses the elements ga ga.r , . . . ,
1
q+1
r1
rθ
ga ga.r , g , . . . , g . Note that these elements only appear in new Modified-BDHE as-
sumption, not in Modified-BDHE assumption. The rest of the proof of this theorem is similar
to the one in [13].
θ
4.2. Keyword security
4.2.1. Insider security
Theorem 2. Assume that β∗ = β1∗ ∨ · · · ∨ βm∗ is the challenge access policy and from β∗
construct a corresponding challenge LSSS matrix L∗ of size `∗ × n∗ and map function ρ∗.
If this LSSS matrix satisfies `∗, n∗ ≤ q, our scheme achieves insider security under the
Modified-BDHE assumption in the random oracle model.
Proof
In this proof we show that the simulator S who attacks Modified - BDHE assumption
can simulate an adversary A who attacks our scheme in the insider security game as defined
in the Subsection 2.1.3. As a result, if A wins with non-negligible advantage then S also can
win with non-negligible advantage. More precisely:
At the setup phase, S is given an instance of Modified-BDHE assumption, and then receives
the challenge access policy β∗ = β1∗ ∨ · · · ∨ βm∗ as well as KF0∗ = (kf0∗,1, . . . , kf0∗,m0 ) and
KF∗1 = (kf1∗,1, . . . , kf1∗,m0 ) from A. Note that βi∗, i = 1, . . . , m are disjoint sets. From
challenge access policy β∗ = β1∗ ∨ · · · ∨ βm∗ , simulator builds LSSS matrix (M`∗∗×n∗ , ρ∗)
A CIPHERTEXT-POLICY ATTRIBUTE-BASED SEARCHABLE ENCRYPTION SCHEME
243
such that both `∗, n∗ ≤ q. To program the parameters for the system, simulator picks
q
0
$
α0 ← Zp and implicitly sets α = α0 +aq+1, then computes e(g, g)α = e(ga, ga )e(g, g)α .
The simulator finds sets of rows of matrix M∗: I1, . . . , Im where {ρ(i), i ∈ Ij} = βj∗
(note that Ij, j = 1, . . . , m are disjoint sets since βj∗ are disjoint sets). Now, β∗ can be
rewritten as (∧ρ(i))i∈I ∨ (∧ρ(i))i∈I ∨ · · · ∨ (∧ρ(i))i∈I
.
m
1
2
˜
˜
To program h1, . . . , hN , h1, . . . , hN , the simulator implicitly defines the vector
∗
∗
→−
y = (t, ta, ta2, . . . , tan −1)⊥ ∈ Znp .
→−
→−
∗
Let Λ = (λ1, . . . , λ` ) = M · y be the vector shares, for j = 1, . . . , `∗,
∗
P
λj = i∈[n∗] Mj∗,itai−1
.
P
∗
He/she next finds {ωi}1≤i≤` where for all j = 1, . . . , m,
ωi · λi = t. Note that
i∈Ij
∗
∗
we can find {ωi}1≤i≤` since from the property of LSSS matrix, there exists {ωi}1≤i≤`
P
such that for all j = 1, . . . , m,
ωi · Mi∗ = (1, 0, . . . , 0).
i∈Ij
∗
∗
˜
For each hj, hj, 1 ≤ j ≤ N, where there exists an index i ∈ [` ] such that j = ρ (i)
$
(note that the function ρ∗ is injective), the simulator chooses zj, z˜ ← Zp and compute:
j
k
Note that the simulator knows matrix M∗ and gta where k ∈ [n∗] from the instance
of Modified-BDHE assumption.
P
P
] Mi∗,ktak
] Mi∗,ktak
∗
k∈[n
hj = gz · gω
= gz · gaω λ ; hj = g · gω
= gz˜ · gaω λ
.
∗
z˜j
i
i
j
j
i
i
j
i i
˜
k∈[n
$
zj
z˜j
˜
Otherwise, the simulator chooses zj, z˜ ← Zp and computes hj = g , hj = g . We
j
˜
note that {hj, hj}j=1,...,N are distributed randomly due to choosing randomly zj, z˜ .
j
q
To program gλ, the simulator implicitly sets λ = −aq and computes gλ = (ga )−1
.
˜
˜
Simulator also chooses hash functions H, H and in this proof simulator models H, H
as random oracles. At the end of this phase, the simulator gives following param to A
a
λ
α
˜
˜
˜
(g, g , g , e(g, g) , h1, . . . , hN , h1, . . . , hN , H, H).
Query phase 1. In this phase, the simulator needs to answer five types of query:
1. The hash query.
2. The corrupted trapdoor query (Bu, Wi = (w˜i , . . . , w˜i )) where Wi doesn’t “sa-
1
k
tisfy” KF∗0 or KF1∗, that means there doesn’t exist any triple (ij, b, b0) such that
w˜i = kfb∗,b0
.
j
3. The corrupted trapdoor query (Bu, Wi) where Wi “satisfies” KF∗0 or KF1∗, but
Bu doesn’t “satisfy” β∗.
4. The partially corrupted trapdoor query (Bu, Wi) where Wi “satisfies” KF∗0 or
KF∗1 and Bu “satisfies” β∗. Note that user only keeps ({tds0,j
}
j∈[k], Wi) secret
˜
and publishes the rest of tds to the public domain. That means A can know
({tds1,j, {tds2,j,`
}
`∈Bu
}j∈[k], tds0, {tdsi}i∈B ) for any (Bu, Wi = (w˜i , . . . , w˜i )).
u
1
k
244
VAN ANH TRINH, VIET CUONG TRINH
5. The partially corrupted secret key query Bu for any Bu. The reason is that user
only keeps du secret.
0
˜
• Regarding the hash query: Simulator creates two lists L, L, at the beginning
˜
L, L are empty. For each hash query corresponding to w˜i which doesn’t satisfy
KF∗0 or KF∗1, the simulator first checks whether w˜i has been queried before. If
$
not, he/she chooses yi ← Zp and adds triple (w˜i, gyi , yi) ∈ ({0, 1}∗, G, Zp) into
L and returns gy to A. Otherwise, he/she simply finds the triple (w˜i, g , yi)
yi
i
and returns gy to A. In the case w˜i “satisfies” KF0∗ or KF∗1, the simulator first
i
$
checks whether w˜i has been queried before. If not, he/she chooses yi ← Zp and
yi
−a
adds triple (w˜i, g−a · g , yi) into L and returns g · gy to A. Otherwise, he/she
i
yi
−a
simply finds the triple (w˜i, g−a · g , yi) and returns g · gy to A. For each hash
i
query corresponding to (Ki, kfj) where Ki ∈ GT , kfj ∈ {0, 1}∗, simulator first
$
checks whether (Ki, kfj) has been queried before. If not, he/she chooses yi ← Zp
j
˜
and adds triple (Ki, kfj, yi ) into L. Otherwise, he/she simply finds the triple
j
(Ki, kfj, yi ) and returns yi to A.
j
j
• Regarding the second type of query: A first sends Wi = (w˜i , . . . , w˜i ) and B(u) to
1
k
simulator with the requirement that Wi doesn’t satisfy KF∗0 or KF1∗. To program
each tds0,j, j ∈ [k], the simulator first checks whether w˜i , j ∈ [k] has been queried
j
$
before. If not, he/she chooses yi ← Zp and adds triple (w˜i , gy , yi ) into L. In
i
j
j
j
j
both ways, simulator knows yi from L, and H(w˜i ) = gy since Wi doesn’t
i
j
j
j
$
satisfy KF∗0 or KF1∗. Next, simulator first chooses su, rj ← Zp then computes
0
tds0,j = gα gasu garj (gλ)yij = gαgasu garj (gaH(w˜i ))λ.
j
0
0
q+1
q+1
q
Note that gα = gα · ga
· g−a
= gα · gaλ, since gλ = g−a . Since simulator
knows su, rj, j ∈ [k], he/she can easily computes the rest of the trapdoor for any
set B(u). Finally, simulator returns tds to A.
• Regarding the third type of query: A first sends Wi = (w˜i , . . . , w˜i ) and B(u) to
1
k
simulator with the requirement that B(u) doesn’t satisfy β∗ and Wi “satisfies”
→−
∗
∗
n∗
∗
KF0 or KF1. The simulator first finds a vector x = (x1, . . . , xn ) ∈ Zp such
→−
that x1 = −1 and for all i where ρ∗(i) ∈ B(u) the product h x · Mi∗i = 0. The
$
simulator continues to pick ζ ← Zp and implictly define the value su as
q−n∗+1
su = ζ + x1aq + x2aq−1 + · · · + xn a
.
∗
The simulator computes
Y
Y
0
q+1−i
q+1−i
xi
xi
0
du = gα gaζ
(ga
)
= gα · ga·s ; du = gζ
(ga
)
= gsu .
u
0
0
i=2,...,n∗
i=1,...,n∗
For j ∈ B(u) such that there is no i ∈ [`∗] satisfying ρ∗(i) = j. The simulator
knows values zj and computes hsj = (g ) . For j ∈ B(u) such that there is an
indice i ∈ [`∗] satisfying ρ∗(i) = j. The simulator computes
su zj
u
P
∗
q
∗ aq−n +1)ωi
] Mi∗,ktak
∗
hsj = (g ) · g(ζ+x a +···+x
.
su zj
1
u
n
k∈[n
A CIPHERTEXT-POLICY ATTRIBUTE-BASED SEARCHABLE ENCRYPTION SCHEME
245
→−
Note that the product h x ·Mi∗i = 0 thus the simulator doesn’t need to know the
q+1t
unknown term of form ga
to compute hsju , all other terms he/she knows from
su
j
the assumption. Simulator simply sets gs and {h }j∈B as tds0 and {tdsi}i∈B
,
u
u
u
respectively. To program {tds0,j, tds1,j, {tds2,j,`
}
}j∈[k], the simulator consi-
`∈Bu
ders two cases:
1. w˜i “satisfies” KF∗0 or KF1∗, that means there exists at least a triple (ij, b, b0)
j
such that w˜i = kfb∗,b0 . Simulator checks whether w˜ has been queried
ij
j
$
before. If not, he/she chooses yi ← Zp and adds triple (w˜i , g−agyij , yi )
j
j
j
j
into L. In both ways, simulator knows yi from L, and H(w˜i ) = g−agyi
.
j
j
$
Next, simulator chooses rj ← Zp then computes
arj −aq
yij
tds0,j = gαgasu g (g
)
= gαgasu garj (gaH(w˜i ))λ.
j
Note that λ = −aq. With known rj, simulator can easily compute tds1,j
,
{tds2,j,`
}
`∈Bu
.
2. w˜i doesn’t “satisfy” KF0∗ or KF1∗. Simulator checks whether w˜i has been
j
j
$
queried before. If not, he/she chooses yi ← Zp and adds triple (w˜i , gy , yi )
i
j
j
j
j
into L. In both ways, simulator knows yi from L, and H(w˜i ) = gy . Next,
simulator picks ζj ← Zp and implicitly defines the value rj as
i
j
j
j
$
q−n∗+1
rj = ζj + x1aq + x2aq−1 + · · · + xn a
,
∗
rj
rj
then similarly computes gαgar , g , {h`
}
as above (note that rj now
j
˜
`∈Bu
−rj
plays the role as su). He/she then sets g−r , {h`
}
as tds1,j, {tds2,j,`}
j
˜
`∈Bu
`∈Bu
respectively, and computes
α0 −aq
−arj
yij
tds0,j = gαgasu g−αg−ar g (g
)
= gαgasu g
(gaH(w˜i ))λ.
j
j
0
q+1
q+1
q
yij
Note that gα = gα ga
and (gaH(w˜i ))λ = g−a (g−a
)
.
j
Finally, simulator returns tds to A.
• Regarding the fourth and fifth types of query: It is straightforward since the
unknown value gα only appears in the tds0,j and du , therefore simulator can
0
$
$
simply choose su, {rj}j∈[k] ← Zp and then computes tds, or choose su, ← Zp and
then computes du.
Challenge:
The simulator picks a random bit b, computes C0∗
=
gs and
∗
∗
∗
∗
˜
˜
(C1 , . . . , Cm) = I, (C1 , . . . , Cm) = J, where
ꢄ
ꢃ
P
P
szρ
∗
szρ
m
∗
(i)
I = gs(a+at)
g
(i) , . . . , gs(a+at)g
i∈I
i∈I
1
Y
Y
s
a
=
g , (g
hi)s, . . . , (ga
hi)s
,
i∈β1∗
i∈βm∗
246
VAN ANH TRINH, VIET CUONG TRINH
ꢄ
ꢃ
P
P
sz˜ρ∗
sz˜ρ∗
m
J = gs(a+at)
g
(i) , . . . , gs(a+at)g
i∈I
(i)
i∈I
1
Y
Y
a
s
a
s
˜
˜
=
(g
hi) , . . . , (g
hi)
.
i∈β1∗
i∈βm∗
To computes {Ki∗}i∈[m0], simulator first checks whether kfb∗,i has been queried before.
$
If not, he/she chooses yi ← Zp and adds triple (kfb∗,i, g−agyi , yi) into L. Otherwise,
he/she finds (kfb∗,i, g−agyi , yi) from L. In both ways, simulator knows yi from L, and
H(kfb∗,i) = g−agyi . He/she computes
α0
α0
Xi∗ = T · e(gs, g ) · e(gs, (gλ)yi ) = T · e(gs, g ) · e(gλ, gaH(kfb∗,i))s
∗
∗
∗
˜
then computes Ki = H(Xi , kfb,i). Finally, he/she outputs
ct0∗ = (C0∗, {Ci∗}i∈[m], {Ci }i∈[m], {Ki∗}i∈[m0]).
∗
˜
q+1s
Note that if T = e(g, g)a
then ct0∗ is in valid form.
Query phase 2. Similar to phase 1.
q+1s
Guess: A gives his guess b0 to S, S will output its guess 0 corresponding to T = e(g, g)a
q+1
if b0 = b; otherwise, S outputs its guess 1 corresponding to T is a random element.
When T = e(g, g)a s, S gives a perfect simulation so
h
i
1
aq+1
~
Pr S(Y , T = e(g, g)
s) = 0 = + AdvIAS
.
2
When T is a random element {Ki∗}i∈[m0] are completely hidden from the A, so
1
~
Pr[S(Y , T = R) = 0] = . As a result, S is able to play the Modified - BDHE game
2
with non-negligible advantage (equal to AdvIAS) or S is able to break the security of
Modified-BDHE assumption.
ꢀ
Outsider Security. Outsider security is similar to the case of Insider Security, due to the
space limitations we omit it here.
5. COMPARISON
Regarding PEKS scheme supporting both expressive searching predicate and multi-writer
these schemes enjoy some interesting properties such as fast keyword search or outsourcing
decryption or partially trapdoor security. Other properties such as fined-grain access policy,
public key-size, ciphertext-size are similar to ones in our scheme, but our scheme has constant
A CIPHERTEXT-POLICY ATTRIBUTE-BASED SEARCHABLE ENCRYPTION SCHEME
247
size of secret key while they haven’t, moreover our model is different to their model. We give
see from Fig 1 that there is no TTG in our model, user relies solely on his/her secret key to
generate a trapdoor. In contrast, in their model, TTG takes charge of generating trapdoors
and therefore should be always online. Compare to their model, our model has two following
advantages:
• There is no TTG in our model, we therefore can save the system resource and the
communication overhead between user and TTG.
• In our model, user uses his/her secret key to generate trapdoors, cloud server relies on
such trapdoors to search corresponding ciphertexts, user therefore is able to decrypt all
the resulted ciphertexts. In contrast, in their model, TTG takes charge of generating
trapdoors and user’s secret key is not involved in this process, this leads to the fact that
the resulted ciphertexts may contain ciphertexts for which the user cannot decrypt. We
argue that our model is more useful in practice since it is waste time and communication
overhead if user receives the ciphertexts for which he/she cannot decrypt.
Encrypt documents
and corresponding
keywords
Data
owner
Encrypt documents
and corresponding
keywords
Cloud
server
Data
owner
Cloud
server
3.Trapdoor
1.Trapdoor
4.Resulted
ciphertexts
2.Resulted
ciphertexts
Trusted
Trapdoor
Generator
User
User
1.Trapdoor request
2.Trapdoor
Figure 1. Our model on the left and their model on the right
rity, and moreover this scheme is very efficient in term of both communication and com-
putation. However, this scheme is in the different type to our scheme since our scheme
w3 = “Weight : 150 − 20000, user in our scheme can search for ciphertexts which has key-
specify the keyword search is ”Diabetes” or “Weight : 150 − 20000 and then receives only
the ciphertext corresponding to the keyword search. For example, if the keyword search is
“Diabetes00, user only receives the ciphertext corresponding to “Diabetes00. This is similar
to the difference between traditional public key encryption and attribute-based encryption.
248
VAN ANH TRINH, VIET CUONG TRINH
6. CONCLUSION
In this paper, we propose a CP-ABSE scheme which supports both expressive searching
predicate and multi-writer/multi-readers. To our knowledge, our scheme has some interesting
properties such as constant-size of secret key and in the non-interactive model. Our scheme
will become very efficient when the number of combinations of keywords to which a user
would like to search is small. Our scheme is therefore very suitable for a large class of
applications in practice for which the aforementioned case falls into.
ACKNOWLEDGMENTS
This research is funded by Vietnam National Foundation for Science and Technology
Development (NAFOSTED) under grant number 102.01-2018.301.
REFERENCES
[1] M. R. Asghar, G. Russello, B. Crispo, and M. Ion, “Supporting complex queries and access
policies for multi-user encrypted databases,” in Proceeding CCSW ’13 Proceedings of the
2013 ACM workshop on Cloud computing security workshop, Berlin, Germany, November
4, 2013, pp 77–88. Doi 10.1145/2517488.2517492
[2] D. Boneh, G. Di Crescenzo, R. Ostrovsky, and G. Persiano, “Public key encryption with keyword
search,” Advances in Cryptology - EUROCRYPT 2004 International Conference on the
Theory and Applications of Cryptographic Techniques, Interlaken, Switzerland, May 2-6,
2004, pp 506–522.
[3] D. Cash, S. Jarecki, C. S. Jutla, H. Krawczyk, M.-C. Rosu, and M. Steiner, “Highly-scalable
searchable symmetric encryption with support for Boolean queries”, in Advances in Cryptology
CRYPTO 2013 33rd Annual Cryptology Conference, Proceedings, Part I, Santa Barbara,
CA, USA, August 18-22, 2013.
[4] S. Canard and V. C. Trinh, “Constant-size ciphertext attribute-based encryption from multi-
channel broadcast encryption,” Information Systems Security. 12th International Confe-
rence, ICISS 2016, Proceedings, Jaipur, India, December 16-20, 2016.
[5] H. Cui, R. Deng, J. Liu, and Y. Li, “Attribute-based encryption with expressive and authorized
keyword search,” Information Security and Privacy. 22nd Australasian Conference, ACISP
2017, Proceedings, Auckland, New Zealand, July 35, 2017, Part I, pp. 106–126.
[6] H. Cui, Z. Wan, R. Deng, G. Wang, and Y. Li, “Efficient and expressive keyword search over
encrypted data in the cloud,” IEEE Transactions on Dependable and Secure Computing,
vol. 15, no. 3, pp. 409–422, 2018. Doi 10.1109/TDSC.2016.2599883
[7] S. Hohenberger and B. Waters, “Attribute-based encryption with fast decryption,” Public-
Key Cryptography PKC 2013. 16th International Conference on Practice and Theory
in Public-Key Cryptography, Proceedings, Nara, Japan, February 26 March 1, 2013, pp.
162–179.
[8] Jianting Ning, Zhenfu Cao, Xiaolei Dong, Kaitai Liang, Hui Ma, Lifei Wei, “Auditable σ-
Time Outsourced Attribute-Based Encryption for Access Control in Cloud Computing,” IEEE
Transactions on Information Forensics and Security, vol. 13, no. 1, pp. 94–105, 2018. Doi
10.1109/TIFS.2017.2738601
A CIPHERTEXT-POLICY ATTRIBUTE-BASED SEARCHABLE ENCRYPTION SCHEME
249
[9] Jinguang Han, Ye Yang, Joseph K. Liu, Jiguo Li,Kaitai Liang,Jian Shen, “Expressive attribute-
based keyword search with constant-size ciphertext,” In Soft Computing Journal, vol. 22, no.
15, pp 5163-5177, August 2018.
[10] A. Kiayias, O. Oksuz, A. Russell, Q. Tang, and B. Wang, “Efficient encrypted keyword search for
multi-user data sharing,” Computer Security ESORICS 2016. 21st European Symposium
on Research in Computer Security, Proceedings, Heraklion, Greece, September 26-30, 2016,
Part I, pp 173–195.
[11] J. Lai, X. Zhou, R. H. Deng, Y. Li, and K. Chen, “Expressive search on encrypted data,” ASIA
CCS ’13 Proceedings of the 8th ACM SIGSAC Symposium on Information, Computer and
Communications Security, Hangzhou, China, May 8-10, 2013, pp 243–251.
[12] Z. Lv, C. Hong, M. Zhang, and D. Feng, “Expressive and secure searchable encryption in the
public key setting,” Information Security 17th International Conference, ISC 2014, Pro-
ceedings, Hong Kong, China, October 12-14, 2014, pp 364–376.
[13] Q. M. Malluhi, A. Shikfa, and V. C. Trinh, “A ciphertext-policy attribute-based encryption
scheme with optimized ciphertext size and fast decryption,” Proceeding ASIA CCS ’17 Procee-
dings of the 2017 ACM on Asia Conference on Computer and Communications Security,
Abu Dhabi, United Arab Emirates, April 02 - 06, 2017, pp. 230–240.
[14] R. Meng, Y. Zhou, J. Ning, K. Liang, J. Han, and W. Susilo, “An efficient key-policy attribute-
based searchable encryption in prime-order groups,” Provable Security 11th International
Conference, ProvSec 2017, Proceedings, Xi’an, China, October 23-25, 2017, pp. 39–56.
[15] Qiong Huang and Hongbo Li, “An efficient public-key searchable encryption scheme secure
against inside keyword guessing attacks,” Information Sciences Journal, vol. 403–404, pp.
1–14, September 2017. Doi.org/10.1016/j.ins.2017.03.038
[16] D. X. Song, D. Wagner, and A. Perrig, “Practical techniques for searches on encrypted data,”
Proceeding 2000 IEEE Symposium on Security and Privacy, Berkeley, CA, USA, May 14–17,
2000, pp. 44–55. Doi 10.1109/SECPRI.2000.848445
[17] S. Sun, J. K. Liu, A. Sakzad, R. Steinfeld, and T. H. Yuen, “An efficient non-interactive multi-
client searchable encryption with support for boolean queries,” Computer Security ESORICS
2016. 21st European Symposium on Research in Computer Security, Proceedings, Part I,
Heraklion, Greece, September 26–30, 2016, pp. 154–172.
[18] Y. Wang, J. Wang, S. Sun, J. Liu, W. Susilo, and X. Chen, “Towards multi-user searchable en-
cryption supporting boolean query and fast decryption,” Provable Security 11th International
Conference, ProvSec 2017, Proceedings, Xi’an, China, October 23–25, 2017, pp. 24–38.
[19] Y. Yang, H. Lu, and J. Weng, “Multi-user private keyword search for cloud computing,”
2011 IEEE Third International Conference on Cloud Computing Technology and Science,
Athens, Greece, 29 Nov.- Dec. 01, 2011, pp. 264–271. Doi 10.1109/CloudCom.2011.43
Received on March 05, 2019
Revised on April 18, 2019
Bạn đang xem tài liệu "A ciphertext-policy attribute-based searchable encryption scheme in non-interactive model", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
a_ciphertext_policy_attribute_based_searchable_encryption_sc.pdf

