Flexible and Efficient Multi-Keyword Ranked Searchable Attribute-Based Encryption Schemes
Flexible and Efficient Multi-Keyword Ranked Searchable Attribute-Based Encryption Schemes
Article
Flexible and Efficient Multi-Keyword Ranked Searchable
Attribute-Based Encryption Schemes
Je-Kuan Lin 1 , Wun-Ting Lin 1, * and Ja-Ling Wu 1,2, *
Abstract: Currently, cloud computing has become increasingly popular and thus, many people and
institutions choose to put their data into the cloud instead of local environments. Given the massive
amount of data and the fidelity of cloud servers, adequate security protection and efficient retrieval
mechanisms for stored data have become critical problems. Attribute-based encryption brings the
ability of fine-grained access control and can achieve a direct encrypted data search while being
combined with searchable encryption algorithms. However, most existing schemes only support
single-keyword or provide no ranking searching results, which could be inflexible and inefficient
in satisfying the real world’s actual needs. We propose a flexible multi-keyword ranked searchable
attribute-based scheme using search trees to overcome the above-mentioned problems, allowing
users to combine their fuzzy searching keywords with AND–OR logic gates. Moreover, our enhanced
scheme not only improves its privacy protection but also goes a step further to apply a semantic
search to boost the flexibility and the searching experience of users. With the proposed index-table
method and the tree-based searching algorithm, we proved the efficiency and security of our schemes
through a series of analyses and experiments.
Keywords: attribute-based encryption; searchable encryption; index table; fuzzy search; semantic
search; data retrieval
Cryptography 2023, 7, 28 2 of 18
In addition to the access control, how to fetch the required data rapidly among the
massive data stored in the cloud is also a critical issue. Downloading and decrypting all
the
the data
dataand
andthenthenperforming
performingaasearch searchcan canreach
reachthethetarget,
target,butbutit itisisnot
notfeasible
feasible because
because a
massive amount of computation and storage is required on the
a massive amount of computation and storage is required on the user end. Apart from user end. Apart from the
excessive timetime
the excessive overhead, these
overhead, operations
these operationsmaymaybe unsafe.
be unsafe.Searchable
Searchable encryption
encryption (SE)(SE)
al-
gorithms [10–15] bring reasonable solutions to this problem. Go a step
algorithms [10–15] bring reasonable solutions to this problem. Go a step further; combining further; combining
the
the ABE
ABE and
and SE SE schemes
schemes allows
allows users
users toto have
have fine-grained
fine-grained access
access controls
controls and
and searching
searching
capabilities
capabilities regarding
regarding encrypted
encrypted data.data.
Many searchableattribute-based
Many searchable attribute-basedencryption
encryption schemes
schemes (ABS)
(ABS) [16–24]
[16–24] havehave provided
provided fine-
fine-grained access control, dynamic updates, and attribute revocations.
grained access control, dynamic updates, and attribute revocations. However, searching However, search-
ing capabilities
capabilities could
could be be
moremore potent
potent inin mostschemes
most schemestotofulfill
fulfillactual
actual needs.
needs. Usually,
Usually, theythey
can
can embed
embed only
only aasingle
singlekeyword
keyword into into ciphertexts,
ciphertexts, which
which could
could bebe inconvenient
inconvenient and and make
make
searching
searchingmoremorecumbersome.
cumbersome.Although Although some schemes
some schemesallow for combining
allow for combining multiple key-
multiple
words
keywordsand and
provide ranked
provide search
ranked results,
search usersusers
results, can only fetchfetch
can only files containing
files containingall theallkey-
the
words. MoreMore
keywords. complicated
complicatedrelationships
relationshipsbetween keywords
between such as
keywords such disjunctive logic “OR”
as disjunctive logic
can
“OR” usually not be not
can usually expressed. In addition,
be expressed. some advanced
In addition, designs in
some advanced searchable
designs encryp-
in searchable
tion algorithms
encryption have rarely
algorithms havebeen
rarely implemented on suchon
been implemented systems. We summarize
such systems. We summarizethe stand- the
ard advanced
standard searching
advanced modesmodes
searching in Figure 1. The1.basic
in Figure The search mode mode
basic search is the is
keyword
the keywordrank
rank search
search whichwhich
does the does thematch
exact exact of match
single ofor
single or multiple
multiple keywords. keywords.
However,However,
in practice, in
practice,
the user’sthe user’s
input input commonly
commonly contains some contains
typossome typos
or uses or uses synonyms.
synonyms. As a result,As two a result,
high-
two high-level
level search modes,search modes,
fuzzy fuzzy
search andsearch and search,
semantic semantic aresearch,
induced aretoinduced to allow
allow users users
to obtain
to obtain the results without using
the results without using the exact keyword. the exact keyword.
Figure 1.
Figure Thehierarchy
1. The hierarchyof
ofstandard
standardsearching
searching modes
modes and
and the
the concrete
concrete associated
associated examples.
examples. Unlike
Unlike
single and multi-keyword
single and multi-keywordrank
rank search,
search, fuzzy
fuzzy andand semantic
semantic search
search belong
belong to high-level
to high-level searching
searching modes.
modes.
To tackle the problems listed above, we proposed two flexible and efficient multi-
keyword ranked
To tackle thesearchable
problems attribute-based
listed above, we encryption
proposedschemes
two flexible(FEMRSABE),
and efficient which are
multi-
especiallyranked
keyword suitablesearchable
for E-health applications. encryption
attribute-based In our basicschemes
scheme, we designed a search
(FEMRSABE), which tree
are
data structure
especially to enhance
suitable the expressiveness
for E-health applications.ofInthe oursearch,
basicas shown we
scheme, in Figure 2. The
designed server
a search
matches
tree data the trapdoors
structure in leaf nodes
to enhance with index files,
the expressiveness traversing
of the search, as the tree and
shown inducing
in Figure the
2. The
searching results of parent nodes by union or intersection. Finally,
server matches the trapdoors in leaf nodes with index files, traversing the tree and induc- the aggregated search
result
ing theofsearching
the root node is of
results theparent
final result,
nodessorted
by union according to the associated
or intersection. relevance
Finally, the score.
aggregated
The cloud server can only read the user-inputted logic structure but
search result of the root node is the final result, sorted according to the associated rele- knows nothing about
what users
vance score.have searched.
The cloud serverIn addition,
can only read inspired by [25], we built
the user-inputted logicanstructure
index tablebuttoknows
boost
search efficiency.
nothing about what Weusers
replaced
havethe encryption
searched. mechanism
In addition, from symmetric
inspired by [25], wekey builtencryption
an index
with pure
table attribute-based
to boost encryption.
search efficiency. Data owners
We replaced do not needmechanism
the encryption to exchangefrom keyssymmetric
with users
key encryption with pure attribute-based encryption. Data owners do not need tofaster
in advance, making the scheme more realistic. It shows that the search speed is much ex-
than thekeys
change case with
without theinindex
users table making
advance, through theexperiments.
scheme more We also provide
realistic. fuzzy keyword
It shows that the
searching
search speedability by calculating
is much faster thanthe thefingerprints
case without of the
keywords.
index tableWe refer to the
through generating
experiments.
method and the similarity score in [11] to ensure the search range
We also provide fuzzy keyword searching ability by calculating the fingerprints of key- is manageable.
words. Moreover,
We referintoour theenhanced
generating scheme,
method weand
reorganized
the similaritythe system
score in architecture
[11] to ensureto mini-
the
mize possible
search range isdata leakages, such as the logical structure of search trees and the file list of a
manageable.
particular keyword. We further implemented the semantic search functionality with Word-
Net’s help [26]. As a consequence, we considered the actual semantics of the keywords.
Users only need to express their intention of searching without considering the constraints
on the data owners’ actual keywords and their perfect spellings. These advanced search
modes make the search procedure more flexible and easier to use. The functionality com-
Cryptography 2023, 7, 28 3 of 18
Figure 2. This work uses a tree-based data structure and AND–OR gates to complete a complicated
Figure 2. This work uses a tree-based data structure and AND–OR gates to complete a complicated
keyword search
keyword search task
task in
in the
the encryption
encryption domain. This is
domain. This is an
an example
example of
of an
an E-health
E-health use
use case.
case.
1.3. Organization
This paper is organized as follows. We review some related attribute-based and search-
able encryption schemes in Section 2. Some preliminaries and cryptography backgrounds
are addressed in Section 3. Section 4 defines the problem formally and depicts the proposed
architecture, while Section 5 addresses our concrete constructions in detail. We present our
schemes’ performances and security levels through a series of experiments in Section 6.
Finally, Section 7 concludes this write-up.
2. Related Work
2.1. Attribute-Based Encryption
Attribute-based encryption (ABE) is a technique that allows data owners to declare
their access policies such as: “(Doctor OR Researcher) AND (Chest OR Surgery)”. Only
data users who meet the policy’s attribute requirements are qualified to access the files.
For instance, users with the attributes “Doctor and Surgery” can read the text, but ones
with “Doctor and Researcher” cannot. Most ABE schemes can be categorized into the
following two classes: ciphertext-policy attribute-based encryption (CP-ABE) and key-
policy attribute-based encryption (KP-ABE). Wang et al. [27] proposed a constant-size
ciphertext KP-ABE scheme, while Water et al. [4] proposed the first practical CP-ABE
scheme. The main difference between KP-ABE and CP-ABE is that CP-ABE puts the
access policy into ciphertexts while KP-ABE puts it into the users’ secret keys. In CP-ABE
schemes, data owners can easily decide who can access the files, so it is more suitable for
cloud storage applications. Hence, we adopted it to construct our systems. Over time,
more powerful ABE schemes have been developed. Li [7] proposed an attribute-revocable
scheme, and Chi et al. [5] proposed a policy-hiding scheme to protect data owners’ privacy
further. In addition, most ABE schemes involve bilinear pairing operations, which are
very time-expensive, especially for resource-restricted devices such as mobiles and IoT
devices. Han et al. [6] proposed a decentralized scheme to reduce the burden of data users
by outsourcing the corresponding computational tasks.
to encrypt the index table instead. Due to complexity considerations, our work has not
considered FHE schemes in our current system implementation. However, FHE schemes
have lots of potential for constructing effective ABE schemes if the required complexity can
be handled properly. An FHE-based ABE approach is exciting and can reduce the storage
requirement of ciphertexts. We choose to put it into our future investigations.
3. Preliminaries
3.1. Bilinear Pairing
Following the definitions in [33], let G and GT be two multiplicative cyclic finite
groups of prime order p. Let g be a generator in G. The following equations hold to fulfill
the definition of the bilinear pairing equations.
Bilinearity: For all x, y ∈ G and all s, t ∈ Zp , e x s , yt = e( x, y)st holds. That is, the
1.
exponentiation operations inside pairings can be moved outside directly.
2. Non-degeneracy: e( g, g) 6= 1.
3. Computability: For all x, y ∈ G, e( x, y) and any additive or multiplicative operations
on it can be efficiently computed.
4. Problem Definitions
4.1. Threat Model
There are several players (or parties) in the investigated systems. Their role and the
threat model are listed below.
Central Authority (CA): The central authority (CA) sets up the system and verifies
intermediate user keys obtained from attribute authorities. After that, the CA produces the
final user keys based on the master key generated by itself. In addition, the CA delivers the
public key to the other parties. Notice that the CA is believed to be entirely trustworthy in
most schemes and our systems.
Attribute Authority (AA): An attribute authority (AA) is equipped with some neces-
sary cryptographic techniques, accepting the request of data users to generate user keys.
They verify and generate intermediate user keys according to the attributes the data users
provided. Their behavior is also honest so that they do not misbehave in the process of
KeyGen and will not collide with data users.
Data Owner (DO): Data owners may be patients in a medical application. They
extract some keywords from their medical records to build the Secure Index. After that,
they upload encrypted data and the Secure Index to the cloud server. We also assume
that DOs are fully credible. They will correctly extract keywords and perform succeeding
encryption to the accessible files themselves.
Cloud Server (CSP): The cloud server provides storage to the encrypted files and
performs encryption-domain searches. Their threat model is assumed to be honest but
curious once again. They will honestly execute protocols but may attempt to obtain
documents and keywords in plaintext form through statistical analyses. They are also
interested in finding trapdoors uploaded by users, trying to guess what users are searching
for, and tracing their search records.
Data User (DU): Data users may be doctors or researchers in an E-health application
scenario. They request the encrypted files by transforming the searching keywords into
respective trapdoors to perform searching. They may want to access or guess the contents
of unqualified data by selective keyword attacks. However, they do not leak decrypted
data to other unauthorized users.
Figure 3.3.
Figure The players,
The players,the
thefunctional
functionalblocks,
blocks,and
and the
the detailed information
informationflow
flowof
ofthe
theproposed
proposedsystem.
sys-
tem.
Table 1. The symbols and their corresponding definitions.
Table 1. The symbols and their corresponding definitions.
Symbols Description Symbols Description
Symbols Description Symbols Description
MK Master secret key w Searching keyword
PK
MK
Public key
Master secret key W w Searching keyword
Keyword set
MKAuth PK
Authority master key Public key PF W Keyword
Plaintext files set
PKAuth Authority
MKAuthpublic keyAuthority master keyF PF A document
Plaintext files
uk User
PKAuth secret key FP F Fingerprint
Authority public key A document
ik Intermediate user secret key CT Ciphertexts
skf 𝑢𝑘
Session key User secret key RScore FP Fingerprint
Relevance score
U The universe of user attributesIntermediate StrSearch Search condition string
S
𝑖𝑘
User attribute set
CT Ciphertexts
user secret key TFP Fingerprint table
x An attribute
sk Session key Td RScore Trapdoor
Relevance score
H (.) Hashf function Treep Search tree (plaintext)
P Access The universe of Treee Search condition
𝑈 policy StrSearch Search tree (encrypted)
uid User id user attributes k string results
Maximum size of searching
aaid AttributeS authority id User attribute set SR TFP Searching results table
Fingerprint
Ind Secure index SRRanked Ranked searching results
𝑥 An attribute Td Trapdoor
𝐻(. ) Hash function Tree p Search tree (plaintext)
Setup (1K, U) → (PK, MK) : The CA runs the setup algorithm and generates
Search tree (en- the
P Access policy key, PK, to theTreee
master key pair. It delivers the public other parties and keepscrypted)the master
key, MK, for itself. Maximum size of
uid
Authority Setup (aaid,User MK)id→ (MKAuth , PKAuth 𝑘 ) : The CA executes the authority
searching results
setup algorithm
aaid to set up all the AAs.
Attribute authority idIt grants authority
SR to the master key, MK
Searching Auth, and
results
authority to the public key, PKAuth , for each AA.
Ranked searching
Ind
IntermediateKeyGen (PK, index
Secure uid, S, MKAuth , PK Auth ) → ik : The AA verifies the user
SRRanked
results
attribute set, S, and runs the intermediate key generation algorithm to generate the inter-
mediate user secret key, ik, using its authority keypair.
Setup (1K,U) (PK,MK):
→ MK, S, ik)The
→ CA runsCA
uk : The the verifies
setup algorithm andofgenerates the master
KeyGen (PK, the validity the intermediate user
key pair. It delivers the public key, PK, to the other parties and keeps the master
key, ik, and then generates the final user secret key, uk, by the key generation algorithm. key, MK,
for itself.
BuildIndex (PK, W) → (Ind, TF P) : DOs build an index table for each keyword, w,
in the keyword set, W. In addition, they run a fingerprint generation algorithm to support
fuzzy matching and build a fingerprint lookup table as one of the outputs. Figure 4 shows
the data structure used to construct our index table.
Encrypt (PK, P, W, skf , skt ) → Ct : DOs extract keywords from the plaintext to ob-
tain the keyword list, W, and then input the public key, PK, access policy, P, and the session
key, skf , to the encrypted algorithm for generating the ciphertext. Finally, it encrypts the
Cryptography 2023, 7, 28 8 of 18
tables with skt . DUs recover the session keys and decrypt files and tables associated with
this ciphertext.
Cryptography 2023, 7, x FOR PEER REVIEW 8 of 19
GenTrapdoor (PK, StrSearch , uk ) → Td : DUs use the user key, uk, the public key, PK,
and the search condition, StrSearch, to generate the trapdoor, Td, based on the trapdoor-
generating algorithm. This algorithm has two phases: DUs obtain the hash values of the
Authority Setup (aaid, MK) → (MK Auth , PK Auth ): The CA executes the authority setup
most proper keywords using the fingerprint-matching algorithm in the first phase. A search
algorithm to set up all the AAs. It grants authority to the master key, MK Auth, and author-
tree, Treep , is constructed according to StrSearch and the hash values. Each keyword, W0 , in
ity
Treeto the public key, PK Auth , for each AA.
p is converted into a corresponding trapdoor, Td. In the second phase, all leaf nodes in
(PK, uid, S, MK Auth , PK Auth ) → 𝑖𝑘 : The AA verifies the user at-
TreepIntermediateKeyGen
are replaced by Td to become an encrypted search tree, Treee .
tribute set, S, and runs the
Search (Treee , Ind, k ) → intermediate
SRranked : ThekeyCSP
generation algorithm
parses the to generate
encrypted the inter-
search tree, Treee ,
mediate user secret key, 𝑖𝑘, using its authority keypair.
and executes the search algorithm to match Td with Ind to obtain the searching result,
KeyGen
SR. The (PK, MK,
CSP sorts S, 𝑖𝑘)outputs
SR and → 𝑢𝑘: Thethe CA verifies
top-k the
files as validity
the of theresult,
final search intermediate
SRrankeduser
. In
key, 𝑖𝑘, and then generates the final user secret key, 𝑢𝑘,
our enhanced scheme, the CSP only matches the trapdoor, leaving the jobs of algorithm.
by the key generation traversing
BuildIndex
searching trees and(PK, W) → (Ind,
ranking TF P):
for DUs DOs build
to ensure betteran index
data table for each keyword, 𝑤,
privacy.
in theDecrypt
keyword(uk, W. SR
set, Ct, In addition, they run a fingerprint generation algorithm to support
ranked ) → PF : DUs input their user key, uk, ciphertext, Ct, and
fuzzy matching and build a fingerprint lookup table as one
the ranked searching result, SRranked , to the decryption algorithm to obtainof the outputs. Figure 4 shows
the plaintext
the data
files, PFs.structure used to construct our index table.
The advantage of A to win the security game is Adv A = Pr [b0 = b] − 21 . Our system
is IND-SCP-CPA secure if all polynomial-time adversaries only have negligible advantages
at most in the security game above.
5. Concrete Construction
Construction of the Basic FERMSABE Scheme
With the pre-described nine PTAs, the basic FERMSABE system can be constructed
as follows.
Step 1. The CA sets up the security parameter, K, and the global parameters ( G1 , GT , e),
where pairing operations e: G1 × G1 → GT . Then, the CA generates three generators, g,
g0 , and g1 , for the finite group, G1 . The Setup algorithm randomly chooses a0 , a1 , b0 , and x
from the group Zp and chooses v x for each attribute in the universe. The rest of the public
and the master keys are organized as follows.
n o
PKg, g0 , g1 , Y = e ( g, g) x , A = g0a , B = g0b , Hx = gb0 ·vx
x ∈U
MK: a0 , a1 , b0 x, {v x } x∈U
After that, the CA publishes the master key pair to other parties. The CA further
defines a hash function, H ( x ) : {0, 1}∗ → Zp , to map keywords into elements of Zp .
Step 2. The CA sets up each AA and grants the authority key pair, PK Auth and MK Auth ,
to the authority with an identifier, aaid. The AuthoritySetup algorithm generates a random
element, t, from Zp while the authority key pair comprises PK Auth , gt and MK Auth , t.
Step 3. When a user requests the user key, the corresponding AA runs the Intermedi-
ateKeyGen algorithm to generate the intermediate user keys using his authority key pair.
The AA randomly picks an α from Zp and sends this value to the CA. The intermediate
a
user key, ik, is generated as: ik , K00 = gt 0 and K10 = gt . The AA sends this value to
α
Notice that x1 and x2 are random elements taken from Z p such that x1 + x2 = x.
µ
The CA generates Kx for each attribute in S, that is Kx = Hx 0 . The final user key =
K0 , K1 , K2 , K3 , K4 , K5 , {Kx } x∈S and will be sent back to the data user.
Step 5. DOs build an index table, Ind, based on keywords extracted from plaintext
files. Our BuildIndex algorithm is founded on the approach presented in [35] to build our
Ind. Figure 4 depicts the data structure of our index table, where each field in blocks of the
linked list represents:
− Id Fj : The identifier of the file, j, which contains the keyword, i.
− Sij : The relevance score of the keyword, i, and the file, j. Notice that the blocks will
not be sorted according to this score for confusion.
− rij : Random strings of the same length. We use this field to prevent producing two
identity blocks.
− Padding values: We add padding values to every linked list to make them of the same
size. This setting implies that some linked lists composed of all padding values may
also be appended to the table.
Furthermore, DOs build a fingerprint table to support fuzzy search. Figure 5 illustrates
the structure of our fingerprint table, and the corresponding generation algorithm can be
found in [15]. We store the hash value of a keyword instead of itself to prevent DUs from
identity blocks.
− Padding values: We add padding values to every linked list to make them of the same
size. This setting implies that some linked lists composed of all padding values may
also be appended to the table.
Cryptography 2023, 7, 28 Furthermore, DOs build a fingerprint table to support fuzzy search. Figure 5 illus- 10 of 18
trates the structure of our fingerprint table, and the corresponding generation algorithm
can be found in [15]. We store the hash value of a keyword instead of itself to prevent DUs
from knowing
knowing thethe keywords
keywords of DOs
of DOs directly.
directly. OnlyOnly the hash
the hash value
value is enough
is enough forsubsequent
for the the sub-
sequent matching
matching and searching
and searching tasks. tasks.
Figure
Figure 5. Data
5. Data Structure
Structure of our
of our Fingerprint
Fingerprint Mapping
Mapping Table.
Table.
In addition to these tables, the DO needs to put some extra data into the headers of
In addition to these tables, the DO needs to put some extra data into the headers of
Ind to allow the cloud server to perform matchings. We list the additional information in
Ind to allow the cloud server to perform matchings. We list the additional information in
the following:
the following:
( 1 )
s s ( ) H (w) ( )B s/H (w) .
I = g , I = e ( A )
𝐼 =0𝑔 , 𝐼1 =2𝑒(𝐴 , 𝑔 0 , 0 𝐼 , =1,x
, g ) , I 𝐻 = H x = 𝐵 I3/ =
, and 𝐼, and . (1)(1)
∈ ( ) x ∈ ρ (i )
Finally,
Finally,thethe DO DOuploads
uploads thethe
encrypted
encrypted Ind
Indand
andciphertexts
ciphertexts toto
the cloud
the cloudserver.
server.
Step 6. DOs extract keywords from the plaintext files, PF, to build
Step 6. DOs extract keywords from the plaintext files, PF, to build the keyword the keyword list,list,
W,W,and input the public key, PK, access policy, P, and the session keys,
and input the public key, PK, access policy, P, and the session keys, f skf and tsk sk and sk , to, to
t
thethe
Encrypt
Encrypt
Algorithm.
Algorithm. The former
The formeris used to encrypt
is used PF,PF,
to encrypt andand
thethe
latter is used
latter to encrypt
is used TFPT by by
to encrypt FP
symmetric encryption algorithms such as AES. They choose two
symmetric encryption algorithms such as AES. They choose two elements, s and s0 , from elements, 𝑠 and 𝑠,
from 𝑍 for supporting secret sharing and, respectively, build the secret
Z p for supporting secret sharing and, respectively, build the secret sharing vectors, λ x and sharing vectors,
0 , for𝜆 x, ∈
𝜆 λand
x
forρ(𝑥i ) ∈by𝜌(𝑖)
LSSS byschemes
LSSS schemes as follows.
as follows. They further
They further compute compute
0 0
C0 = sk f ·e( g, g) , C1 = gs , Cx = g a0 ·λx x∈ρ(i) , C2 = sk t ·e( g, g) x·s , C3 = gs , and
x ·s
n 0
o
D x = g a0 · λ x . Finally, DOs upload {{ CT = C0, C1, C2, C3, {C x }, {D x }} , Encskf (PF),
x ∈ ρ (i )
Encskt (TFP ), Encskt (Ind)} to CSP.
Step 7. DUs first download the ciphertext pack from CSP and decrypt Ind and TFP
with uk by the Decrypt algorithm. If DUs own the right user key, sk t can be obtained to
decrypt these tables correctly. Otherwise, the algorithm halts. By using a fuzzy matching
algorithm, DUs can find the fingerprint that best matches the fingerprint of the input
keyword, where we adopt the fuzzy matching algorithm presented in [15] to realize this
function. Nevertheless, we additionally set a matching threshold to 0.7. Suppose the
relevance score between the best-matched fingerprint and the query fingerprint is lower
than this threshold, the match will be discarded, and the corresponding leaf node will be
removed to prevent fetching unrelated documents. Second, DUs look up TFP to obtain the
best-matching hash value, H (w0 ). After that, DUs parse StrSearch to build a search tree, as
shown in Figure 6. Finally, DU chooses a random element, γu , from Z p to disturb all the
values on the leaf nodes. That is, using the GenTrapdoor algorithm, we compute
0
T0 = K2 · gγu and T1 = K5· gγu · ∑ x∈S (K x · Hx )1/H (w )
1
threshold, the match will be discarded, and the corresponding leaf node will be removed
to prevent fetching unrelated documents. Second, DUs look up TFP to obtain the best-
matching hash value, 𝐻(𝑤 ) . After that, DUs parse StrSearch to build a search tree, as
shown in Figure 6. Finally, DU chooses a random element, 𝛾 , from 𝑍 to disturb all the
values on the leaf nodes. That is, using the GenTrapdoor algorithm, we compute
Cryptography 2023, 7, 28 / ( ’)
11 of 18
𝑇 =𝐾 ∙𝑔 and 𝑇 = 𝐾 ∙ ∙∑ ∈ (𝐾 ∙ 𝐻 )
Figure 6. The
Figure 6. The Query
Query keyword
keywordtree
treeininplaintext
plaintextform.
form.This
Thistable
tableisisgenerated
generated forfor
thethe
access condition
access of
condition
(breath OROR
of (breath fever) AND
fever) AND(pressure OR OR
(pressure acute). Notice
acute). that that
Notice this figure is forisdemonstration
this figure purposes
for demonstration pur-
posesIn
only. only. In actuality,
actuality, DUsnot
DUs need need
knownotwhich
know keywords
which keywords
they havetheyprecisely
have precisely
matched. matched.
final decryption key, skf . Finally, DUs can use this key to decrypt encrypted data retrieved
in the previous step and obtain the plaintext files. We will present the correctness proofs of
searching and decryption in the next Section.
6. Analyses
6.1. Security Analyses
In this section, we explore the proofs of the security model as mentioned above and
other functional modules of our system.
Theorem 1: Assume the q-parallel bilinear Diffie–Hellman (q-BDHE) assumptions
hold in both G and GT groups. There is no probability that any polynomial-time adversary,
A, can break the security of our schemes with a non-negligible advantage.
Proof: Assume the advantage of distinguishing a valid ciphertext from a random
element for A is ε 1 = Adv I ND−sCP−CPA . We built a simulator, B, that can break the q-BDHE
assumption with a non-negligible advantage ε 1 /2.
q-BDHE challenger, C, first selects random elements a, s, b1 , . . . , bq from Zp and sets
The
q q+2 2q q/b j q+2/b j 2q/b j q ·s·b /b
ϕ= g, gs , . . . , ga , ga , . . . , ga , gs·bj , ga/bj , ga , ga , . . . , ga , ga·s·bi /bj , . . . , ga i j .
q +1 · s
According to the definition of q-BDHE, A is still hard to distinguish e( g, g) a even if
Cryptography 2023, 7, 28 12 of 18
q +1
we noticed that g at contains a term of g a terms in g
, which can be ignored with theunknown x1
0 q+2−i γi
when calculating K0 . That is, B computes K0 as: K0 = gx1 gασ · ∏i=2,...,n∗ ga = gx1 ·gat .
Notice that K5 and Kxare irrelevant to t, x10 , and x20 , so we omit the generation of them here.
Finally, B puts SK = K0 , K1 , K2 , K3 , K4 , K5 , {K x } x∈S into LstSK and sends the keys to A.
Challenge: A prepares two equal-length messages, m0 and m1 , for the challenge. B
then decides on a random bit, b ∈ 0, 1, and encrypts them under M∗ · B computes C0∗ as
C0∗ = mb · T ·e( gs , g x ), and C1∗ is generated as C1∗ = gs .
j
It is hard for B to simulate Cx∗ since it includes the term g a s . To overcome this difficulty, B
0 0
splits the secret to eliminate the above-mentioned terms. That is, B selects y2 , . . . , yn∗ ∈ Zp ran-
∗−1
domly, and then shares the secret vector, V = s, sa + y20 , sa2 + y30 + . . . + san + y0n∗ ∈ Zp,
with A. For i ∈ [1, l ], we describe Qi as the set of all k 6= i making ρ∗ (i ) = ρ∗ (k). B calculates
a sb
!− M∗
j i i,k
∗
Cx∗ as: Cx∗ = ∏i=2,...,n∗ ( g a ) Mi,k ·yk · ∏ x∈Ql ,k=1,...,n∗ g bl
.
We producenC2∗ , C3∗ , and Dx∗ in the similar o way. Finally, B returns the challenge
0 ∗ ∗ ∗ ∗
∗ ∗
ciphertext, CT = C0 , C1 , C2 , C3 , Ci , Di i∈[1,l ] , to A.
Phase II: A continues to make queries similar to Phase I.
Guess T: A outputs b0 which is a guess of b. If b0 = b, B returns γ = 0 to guess
q +1
T = e( g, g) a ·s . Otherwise, B returns γ = 1, indicating that T is a random element
chosen from GT . In this case, A won the security game and obtained an effective ciphertext.
Now, the advantage of A is Pr [b0 = b|γ = 0] = 1/2 + ε 1 . Conversely, A cannot obtain any
= 1/2. In
information about b and the ciphertext; thus, Adv B conclusion, the advantage of
A in winning the IND-SCP-CPA security game is: 12 12 + ε 1 + 21 · 12 − 12 = ε21 . Since A only
has a negligible advantage in solving the q-DBHE problem, hence no polytime adversary,
A can break the security of our schemes with a non-negligible advantage.
As for the keyword privacy, we will prove that any polytime adversary, A, cannot
guess the input keyword, w, from the Secure Index, I, nor forge it.
(b0 ·s)
Firstly, because the secret value, s, masked the term I3 = g H (w) . Even if A has produced
(b0 ·v x )
the value g1/H (w) on its own, the only term which contains b0 is I1,x = g H (w) . A cannot
Cryptography 2023, 7, 28 13 of 18
obtain the value, v x , because it is one of the components of the master key, MK, to tell
or forge the Secure Indices. To change the keyword of a trapdoor, A needs to modify
γ γ 1/H (ω 0 )
T1 = K5 · g1 u · ∏ x∈S Kx · Hx u . However, it is hard due to the difficulty in solving the
discrete log problem.
In summary, the unmalleability of the index and trapdoor of our scheme has now
been proved.
Table 2. Functional Comparison between the proposed and the benchmarked ABKS schemes.
Table 3. Comparisons of Theoretical Computational Costs Between Our Scheme and the Bench-
marked Ones.
Table 4. Comparisons of Theoretical Storage Costs Between Our Scheme and the Benchmarked Ones.
(a) (b)
(c) (d)
Figure
Figure
Cryptography 2023, 7, x FOR PEER 7. Timing
7. Timing
REVIEW Performance
Performance Comparisons.
Comparisons. (a)time,
(a) Setup Setup
(b)time, (b) Encryption
Encryption time, (c)16Decryption
time, (c) Decryption of 19 time,
time,and
and(d)
(d)Time
Time cost
cost of
of user
usersecret-key
secret-keygeneration.
generation.
(d) (e)
Figure
Figure8.8.Experiment
Experiment results in Our
results Realized
in Our Practical
Realized Systems.
Practical Data retrieval
Systems. time for (a)
Data retrieval different
time for (a) different
document sizes, (b) different keyword sizes, and (c) different searching conditions. Index-Table
document sizes, (b) different keyword sizes, and (c) different searching conditions. Index-Table
building time for (d) different documents and (e) different keyword sizes.
building time for (d) different documents and (e) different keyword sizes.
We set the number of Provided by DOs to 30 and the number of search conditions
selected by DUs to 5. Furthermore, we set the size of the document database to vary from
20 to 100. In this circumstance, our search time is almost constant and is similar to that of
MABKS [21]; both are better than the MSDVABE [33]. In Figure 8b, the keyword size
varies from 20 to 100 while the database size and searching conditions are fixed to 100 and
Cryptography 2023, 7, 28 16 of 18
Figure 8d–f demonstrates the actual consuming times for building an index table.
Although the MSDVABE [33] scheme takes the shortest time in this experiment, it has a
poor performance on searching. With a similar opinion to MABKS [21], we conducted
one pairing operation in the index-building phase to prevent performing too many pairing
operations in the searching phase. Therefore, some of the performance on building index
tables is sacrificed. However, data owners usually build index tables only once, but data
users may search the database many times. Therefore, our schemes are most realistic
and practical in actual use. Furthermore, these two schemes take much more time, even
making it impossible to perform fuzzy and semantic keyword-ranked searches combined
with multiple keywords without our extensions. We proved that our schemes are efficient,
flexible, and universal to apply to other performance-oriented AMKS schemes.
7. Conclusions
In this paper, we showed that the proposed FEMRSABE scheme has a powerful search
capability that can satisfy most users’ needs. Even if the user inputs do not fully match the
keywords set up by the DO or have some minor spelling errors, users can still obtain the
desired and most-related documents. Our basic protocol competes with the state-of-the-art
schemes through the performance analyses given in the previous Section.
The state-of-the-art takes much more time to search and does not perform fuzzy and
semantic keyword ranked searches which is the main contribution of our work.
Moreover, the enhanced one brings many more functionalities with a slight efficiency
loss, which is tolerable in real-world scenarios. Moreover, we proved that our scheme
is secure under the IND-SCP-CPA and the IND-CKA security requirements. However,
there are some limitations in our system as well. For example, the attributes of users may
frequently vary in the real world, while fine-grained attribute revocation and updating
mechanisms are needed but are not included in our work currently. Furthermore, we
tackle the single-point failure problem by setting up multiple attribute authorities, but
there are probably malicious attribute authorities that can determine users’ privacy by
mis-operations.
We plan to add the attribute revocation and verification mechanisms mentioned above
to make the system more steady and secure.
Author Contributions: Formal analysis, J.-K.L.; Funding acquisition, J.-L.W.; Investigation, J.-K.L.,
W.-T.L. and J.-L.W.; Methodology, J.-K.L.; Project administration, W.-T.L. and J.-L.W.; Resources,
J.-L.W.; Software, J.-K.L.; Supervision, W.-T.L. and J.-L.W.; Writing—original draft, J.-K.L.; Writing—
review & editing, W.-T.L. and J.-L.W. All authors have read and agreed to the published version of
the manuscript.
Funding: The Minister of Science and Technology, Taiwan: MOST 111-2221-E-002-134-MY3 and
Taiwan Semiconductor Manufacturing Company: TSMC: 112H1002-D.
Data Availability Statement: Not applicable.
Conflicts of Interest: The authors declare no conflict of interest.
References
1. Saxena, A.; Shinghal, K.; Misra, R.; Agarwal, A. Automated Enhanced Learning System using IoT. In Proceedings of the 2019 4th
International Conference on Internet of Things: Smart Innovation and Usages (IoT-SIU), Ghaziabad, India, 18–19 April 2019;
pp. 1–5. [CrossRef]
2. Korupolu, M.; Jannabhatla, S.; Kommineni, V.S.; Kalyanam, H.; Vasantham, V. Video Streaming Platform Using Distributed
Environment in Cloud Platform. In Proceedings of the 2021 7th International Conference on Advanced Computing and
Communication Systems (ICACCS), Coimbatore, India, 19–20 March 2021; Volume 1, pp. 1414–1417. [CrossRef]
3. Xiong, H.; Yao, T.; Wang, H.; Feng, J.; Yu, S. A Survey of Public-Key Encryption with Search Functionality for Cloud-Assisted IoT.
IEEE Internet Things J. 2021, 9, 401–418. [CrossRef]
4. Bethencourt, J.; Sahai, A.; Waters, B. Ciphertext-Policy Attribute-Based Encryption. In Proceedings of the 2007 IEEE Symposium
on Security and Privacy (SP’07), Berkeley, CA, USA, 20–23 May 2007; pp. 321–334. [CrossRef]
5. Chi, P.-W.; Wang, M.-H.; Shiu, H.-J. How to Hide the Real Receiver Under the Cover Receiver: CP-ABE with Policy Deniability.
IEEE Access 2020, 8, 89866–89881. [CrossRef]
Cryptography 2023, 7, 28 17 of 18
6. Han, J.; Susilo, W.; Mu, Y.; Zhou, J.; Au, M.H.A. Improving Privacy and Security in Decentralized Ciphertext-Policy Attribute-
Based Encryption. IEEE Trans. Inf. Forensics Secur. 2015, 10, 665–678. [CrossRef]
7. Li, J.; Yao, W.; Han, J.; Zhang, Y.; Shen, J. User Collusion Avoidance CP-ABE with Efficient Attribute Revocation for Cloud Storage.
IEEE Syst. J. 2017, 12, 1767–1777. [CrossRef]
8. Moffat, S.; Hammoudeh, M.; Hegarty, R. A Survey on Ciphertext-Policy Attribute-based Encryption (CP-ABE) Approaches to
Data Security on Mobile Devices and its Application to IoT. In Proceedings of the ICFNDS’17: Proceedings of the International
Conference on Future Networks and Distributed Systems, Cambridge, UK, 19–20 July 2017; Association for Computing Machinery:
New York, NY, USA, 2017; p. 34. [CrossRef]
9. Yahiatene, Y.; Menacer, D.E.; Riahla, M.A.; Rachedi, A.; Tebibel, T.B. Towards a distributed ABE based approach to protect privacy
on online social networks. In Proceedings of the 2019 IEEE Wireless Communications and Networking Conference (WCNC),
Marrakesh, Morocco, 15–18 April 2019; pp. 1–7. [CrossRef]
10. Fu, Z.; Shu, J.; Sun, X.; Zhang, D. Semantic keyword search based on tree over encrypted cloud data. In Proceedings of the
SCC’14—Proceedings of the 2nd International Workshop on Security in Cloud Computing, Kyoto, Japan, 3 June 2014; Association
for Computing Machinery: New York, NY, USA, 2014; pp. 59–62. [CrossRef]
11. Liu, G.; Yang, G.; Bai, S.; Zhou, Q.; Dai, H. FSSE: An Effective Fuzzy Semantic Searchable Encryption Scheme over Encrypted
Cloud Data. IEEE Access 2020, 8, 71893–71906. [CrossRef]
12. Tzouramanis, T.; Manolopoulos, Y. Secure reverse k-nearest neighbors search over encrypted mult-dimensional databases. In
Proceedings of the IDEAS’18: Proceedings of the 22nd International Database Engineering & Applications Symposium, Calabria,
Italy, 18–20 June 2018; Association for Computing Machinery: New York, NY, USA, 2018. [CrossRef]
13. Wang, B.; Hou, Y.; Li, M.; Wang, H.; Li, H. Maple: Scalable multi-dimensional range search over encrypted cloud data with
tree-based index. In Proceedings of the 9th ACM Symposium on Information, Computer and Communications Security, Kyoto,
Japan, 4–6 June 2014; Association for Computing Machinery: New York, NY, USA, 2014; pp. 111–122. [CrossRef]
14. Yoshino, M.; Naganuma, K.; Kunihiro, N.; Sato, H. Practical Query-based Order Revealing Encryption from Symmetric Searchable
Encryption. In Proceedings of the 2020 15th Asia Joint Conference on Information Security (AsiaJCIS), Taipei, Taiwan, 20–21
August 2020; pp. 16–23. [CrossRef]
15. Zhang, M.; Wang, X.A.; Yang, X.; Cai, W. Efficient Predicate Encryption Supporting Construction of Fine-Grained Searchable
Encryption. In Proceedings of the 2013 5th International Conference on Intelligent Networking and Collaborative Systems, Xi’an,
China, 9–11 September 2013; pp. 438–442. [CrossRef]
16. Cao, L.; Kang, Y.; Wu, Q.; Wu, R.; Guo, X.; Feng, T. Searchable encryption cloud storage with dynamic data update to support
efficient policy hiding. China Commun. 2020, 17, 153–163. [CrossRef]
17. Chaudhari, P.; Das, M.L. A2BSE: Anonymous attribute based searchable encryption. In Proceedings of the 2017 ISEA Asia
Security and Privacy (ISEASP), Surat, India, 29 January–1 February 2017; pp. 1–10. [CrossRef]
18. Khan, S.; Khan, S.; Zareei, M.; Alanazi, F.; Kama, N.; Alam, M.; Anjum, A. ABKS-PBM: Attribute-Based Keyword Search with
Partial Bilinear Map. IEEE Access 2021, 9, 46313–46324. [CrossRef]
19. Li, H.; Liu, D.; Jia, K.; Lin, X. Achieving authorized and ranked multi-keyword search over encrypted cloud data. In Proceedings
of the 2015 IEEE International Conference on Communications (ICC), London, UK, 8–12 June 2015; pp. 7450–7455. [CrossRef]
20. Liu, L.; Wang, S.; He, B.; Zhang, D. A Keyword-Searchable ABE Scheme from Lattice in Cloud Storage Environment. IEEE Access
2019, 7, 109038–109053. [CrossRef]
21. Miao, Y.; Deng, R.; Liu, X.; Choo, K.-K.R.; Wu, H.; Li, H. Multi-authority Attribute-Based Keyword Search over Encrypted Cloud
Data. IEEE Trans. Dependable Secur. Comput. 2019, 18, 1667–1680. [CrossRef]
22. Sun, W.; Yu, S.; Lou, W.; Hou, Y.T.; Li, H. Protecting your right: Attribute-based keyword search with fine-grained owner-enforced
search authorization in the cloud. In Proceedings of the IEEE INFOCOM 2014—IEEE Conference on Computer Communications,
Toronto, ON, Canada, 27 April–2 May 2014; pp. 226–234. [CrossRef]
23. Wang, H.; Ning, J.; Huang, X.; Wei, G.; Poh, G.S.; Liu, X. Secure Fine-grained Encrypted Keyword Search for e-Healthcare Cloud.
IEEE Trans. Dependable Secur. Comput. 2019, 18, 1307–1319. [CrossRef]
24. Wang, S.; Zhang, D.; Zhang, Y.; Liu, L. Efficiently Revocable and Searchable Attribute-Based Encryption Scheme for Mobile Cloud
Storage. IEEE Access 2018, 6, 30444–30457. [CrossRef]
25. Zhang, L.; Su, J.; Mu, Y. Outsourcing Attributed-Based Ranked Searchable Encryption with Revocation for Cloud Storage. IEEE
Access 2020, 8, 104344–104356. [CrossRef]
26. Miller, G.A. Wordnet: A lexical database for English. Communications. ACM 1995, 38, 39–41. [CrossRef]
27. Wang, C.-J.; Luo, J.-F. A Key-policy Attribute-based Encryption Scheme with Constant Size Ciphertext. In Proceedings of the
2012 Eighth International Conference on Computational Intelligence and Security, Guangzhou, China, 17–18 November 2012;
pp. 447–451. [CrossRef]
28. Cao, N.; Wang, C.; Li, M.; Ren, K.; Lou, W. Privacy-Preserving Multi-Keyword Ranked Search over Encrypted Cloud Data. IEEE
Trans. Parallel Distrib. Syst. 2013, 25, 222–233. [CrossRef]
29. Aritomo, D.; Watanabe, C.; Matsubara, M.; Morishima, A. A Privacy-Preserving Similarity Search Scheme over Encrypted Word
Embed-Dings; Association for Computing Machinery: New York, NY, USA, 2019; pp. 403–412, iiWAS2019. [CrossRef]
30. Fan, J.; Vercauteren, F. Somewhat practical fully homomorphic encryption. IACR Cryptol. ePrint Arch. 2012, 144.
31. Gentry, C. A Fully Homomorphic Encryption Scheme. Ph.D. Thesis, Stanford University, Stanford, CA, USA, 2009; aAI3382729.
Cryptography 2023, 7, 28 18 of 18
32. Yu, J.; Lu, P.; Zhu, Y.; Xue, G.; Li, M. Toward Secure Multikeyword Top-k Retrieval over Encrypted Cloud Data. IEEE Trans.
Dependable Secur. Comput. 2013, 10, 239–250. [CrossRef]
33. Sun, J.; Ren, L.; Wang, S.; Yao, X. Multi-Keyword Searchable and Data Verifiable Attribute-Based Encryption Scheme for Cloud
Storage. IEEE Access 2019, 7, 66655–66667. [CrossRef]
34. Waters, B. Ciphertext-policy attribute-based encryption: An expressive, efficient, and provably secure realization. In International
Workshop on Public Key Cryptography; Springer: Berlin/Heidelberg, Germany, 2011; pp. 53–70.
35. William, W.; Cohen, M.L.D.C. Enron Email Dataset. Tech. Rep. 2015. Available online: https://www.cs.cmu.edu/enron/ (accessed
on 10 May 2023).
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual
author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to
people or property resulting from any ideas, methods, instructions or products referred to in the content.