A Hierarchical Searchable Encryption Scheme Using Blockchain-Based Indexing

: Focusing on the ﬁne-grained access control challenge of multi-user searchable encryption, we propose a hierarchical searchable encryption scheme using blockchain-based indexing ( HSE-BI ). First, we propose a hierarchical search index structure based on a DAG -type access policy and a stepwise hierarchical key derivation mechanism; which we outsourced to the blockchain network to achieve reliable hierarchical search. We design a dynamic append-only update protocol for the blockchain-based index to deal with adding and deleting ﬁles. Secondly, we propose a hierarchical authorization mechanism based on broadcast encryption to achieve ﬁne-grained search permission granting and revoking, which can prevent a malicious server from colluding with corrupted users. The security and complexity analysis shows that HSE-BI achieves optimal search time while satisfying adaptive secure and revocation secure. Our experimental results are encouraging, e.g., compared with the traditional multi-user searchable encryption schemes, HSE-BI ’s hierarchical search policy does not impact the search performance visually. The growth rate of the search latency decreases with the increasing number of hierarchical users, which can act as an efﬁcient crypto tool to open up venues for other applications. We demonstrate that HSE-BI is more suitable for actual applications with ﬁne-grained access requirements and can act as an efﬁcient crypto tool to open up venues for other applications.


Background and Motivation
As the demand for outsourced data storage and distributed computing grows, data privacy is becoming one of the primary considerations. Encryption can ensure the security of outsourced data, but how to effectively search and share outsourced encrypted data has become a new challenge. To that end, searchable encryption (SE) [1,2] is a family of cryptographic protocols that allow a data owner to outsource the encrypted data to a cloud server maintaining the server's search capability. In recent years, multi-user searchable encryption (MUSE) [3][4][5] has been one crucial research line in searchable encryption. Compared with the majority of works in SE, the architecture in MUSE is more complicated, where not only the original data owner but a constant number of entities have the ability to send the server a search query for (part of) data. MUSE opens up avenues for other applications, such as collaborative data sharing. For example, all employees can be authenticated in an enterprise to access the company's outsourced encrypted files for subsequent collaboration.
A typical design challenge of multi-user searchable encryption is achieving flexible access control for users [6,7]. Most MUSE schemes from the literature consider the case that authenticated users always have unrestricted access to the entire dataset. However, in the real-world data-sharing scenario, an organization often consists of a pyramid-shaped hierarchical access control strategy. Users in different hierarchies are assigned different access permissions. The sensitive data in the real world is likely to be hierarchical and different users should have different access rights. However, there are relatively few works in MUSE considering this situation.
In addition, another problem in MUSE is that the server is often treated as a semihonest-but-curious party [5,8], which is assumed to store and search the secure index correctly and does not attend to learning user's extra information. However, this assumption is too strong for many applications where the server is malicious. As most recent research shows [9,10], the existing verification approaches for MUSE do not provide efficient verification for search results over multiple users, and few works achieve a hierarchical verifiable search. Therefore, it is an urgent challenge to design a solution for the above problems.
In recent years, with the popularity of cryptocurrencies and decentralized applications, blockchain technology has received much attention from various industries. It has been a critical technology in constructing distributed storage platforms, such as Bigchain DB [11] and Bluzelle [12]. Therefore, a blockchain data structure offers a possible solution to the above problems in MUSE research. Some recent works have already considered building MUSE schemes on top of a blockchain network. However, most of them treat blockchain as a trusted third party to ensure reliable searches through consensus protocols [13][14][15], but few works achieve hierarchical search. In this work, we take advantage of a blockchain data structure to build a hierarchical searchable encryption scheme. Our design goal is to make HSE-BI achieve fine-grained access control and ensure the search results are reliable by the consistency and immutability of the blockchain-based index.

Our Contributions
We propose a hierarchical searchable encryption scheme using blockchain-based indexing (HSE-BI) to focus on the above challenges in MUSE. Our contributions are as follows: • (Blockchain-based index) First, to achieve a multi-user hierarchical search, we explore the construction of a secure hierarchical index via a blockchain network. The index is built on a DAG-type access structure oriented real-world information flow policy. We deploy the blockchain network to collaboratively manage the index to achieve index immutability, aiming to make the search results reliable with no extra verification work on the user side. We further propose an append-only index update mechanism oriented in the blockchain index when adding/deleting is applied to outsourced files. • (Hierarchical search control) Secondly, we propose a dynamic user authorization mechanism that realizes fine-grained search permission control through hierarchical key derivation. Based on this, authorized users have the right to search for the files under their hierarchies. By deploying broadcast encryption and a hierarchical key derivation strategy, HSE-BI can dynamically grant/revoke users' search rights without updating other users' keys. Each user only needs to store its secret key locally, which requires constant-size user storage. • (Formal analysis evaluation) We give a formal security definition for HSE-BI, including adaptive secure and revocation secure, and show that HSE-BI satisfies them. We also implement HSE-BI and compare it with other related schemes. It shows that HSE-BI's hierarchical search policy does not impact the search performance visually. The growth rate of the search latency decreases with the increasing number of hierarchical users, which can act as an efficient crypto tool to open up avenues for other applications.
The rest of the paper is summarized below: Section 2 is the literature review, which describes the related work, followed by a description of the proposed HSE-BI model in Section 3. Section 4 presents the concrete constructions of HSE-BI. Sections 5 and 6 discuss HSE-BI's security and theoretical complexity analysis, respectively. Section 6 shows the experimental investigations. Finally, the paper is concluded in Section 7.

Literature Review
Multi-User Searchable Encryption The concept of "multi-user searchable encryption (MUSE)" was proposed by Curtmola et al. by combining a single-user SE model with broadcast encryption [3]. In 2015, Li et al. proposed a self-authorized multi-user searchable encryption scheme, which allows group users to be authorized to perform keyword searches by generating shared keys to realize data sharing on mobile terminals [4]. In 2017, Deng et al. designed a multi-user searchable encryption scheme based on a non-collusive dual-server model, where the anti-revoking user and cloud server conspired [5] and constructed an access policy combining search keywords and user attributes.
In the last decade, many related works have combined hierarchical access with multiuser searchable encryption. In 2011, Hattori et al. [8] proposed a role-based multi-user searchable encryption scheme. In their scheme, the roles of users are mapped to policy vectors and associated with secure indexes; however, in this scheme, the authenticated user group is static, and the adversary must declare its corruption initially. In 2014, Kaci et al. [16] proposed a multi-user searchable encryption scheme based on attribute-based encryption to realize flexible access control but still retain the ability to update data dynamically. In 2017, Ye et al. [17] designed a dynamic, searchable cloud storage scheme with multiple access hierarchies using ciphertext policy-attribute-based encryption; it constructed an access tree for each file, which caused an exponential extra storage overhead. In 2018, Hamlin et al. [18] designed a multi-user searchable encryption scheme via ORAM-based proxy re-encryption, which allows data to be shared from multiple data owners to multi-level users for the searching of single keywords; its main limitation is that the search time is linear in the total number of files. Alderman et al. [19] proposed a multi-level searchable encryption that allows multiple users differential access control, but it is restricted to non-practical access policies where the set of access rights is totally ordered.
In 2019, Blomer et al. [9] proposed a verifiable multi-user searchable encryption scheme that realized the efficient verifiable search; however, at the same time, the search operation disclosed the attributes of users. Wang et al. [20] proposed a multi-user searchable encryption scheme that hides access policies that ensure the privacy of a user's attributes, which takes the cost of too much computation and communication above the addition and deletion of users. When the user group changes, the scheme needs to re-perform the setup algorithm to generate a series of new parameters, and re-generate and distribute all users' keys. In 2021, Chamani et al. [21] designed a multi-user searchable encryption scheme based on a multi-server model and an oblivious data structure to resist the collusion of revoked users and cloud servers. In 2022, Li et al. [22] considered the real-world application of MUSE and proposed a hierarchical multi-user searchable encryption scheme for a medical electronic sharing data scenario.
Blockchain-Assisted Searchable Encryption In recent years, several pioneering works have considered building searchable encryption schemes (especially multi-user searchable encryption) on top of the blockchain network. In 2018, Hu et al. designed the first searchable encryption scheme based on a blockchain, where the search interaction process is between the data owner and the blockchain. In 2018, Cai et al. [10] proposed the design of a blockchain-assisted encrypted database with expressive content search capabilities, assuring the trustworthiness of search results returned by various service providers. In 2019, Chen et al. [13] proposed a searchable encryption scheme for EHR (electronic health record), and Niu et al. [14] proposed an electronic health record-sharing scheme on the blockchain. In 2021, Guptaet al. [15] deployed blockchain-assisted searchable encryption into a cloud-based healthcare cyber-physical system. The above works [13][14][15] all treated blockchain as a trusted third party, which enforces the generalized solutions of theoretical crypto constructions in real-life scenarios. In 2022, Han et al. [6] formalized a flexible and privacy-preserving framework for MUSE by orienting blockchain and attribute-based encryption, which achieves fine-grained access control.

The Proposed Model
We present the model of the HSE-BI scheme in this section. We start by giving the architecture of the HSE-BI scheme in Section 3.1 and define its syntax in Section 3.2. We will use the notations from Table 1 throughout the rest of the paper.
i-th element of a sequence of elements e e[i] ← j store j at location i in structure e f i w file set contains w in hiearchy v i A w hierarchy-sorted array for w in BC add i the transaction address of n i in A w A i w array for w and hierarchy v i in BC n i the tail node of A i w n i the masked n i stored in BC's transaction

Architecture
HSE-BI is designed to be executed among: a data owner O, n users U = (u 1 , . . . , u n ), a server S and a blockchain network B. The scheme model is illustrated in Figure 1: • Data owner O develops a hierarchical DAG search structure G and outsources encrypted files to S. • Each user u ∈ U can be mapped to a search hierarchy in G by O and has hierarchical search rights to the files in their hierarchy. • Server S is an untrusted entity that stores encrypted files and answers search queries from U with the collaboration of B. • Blockchain network B is organized by a network of peer nodes, which manage the index and acts as a collaborator for searching.
The architecture is illustrated in Figure 1. To initialize the system, the data owner O constructs a hierarchical search index based on a DAG-type authentication structure G = (V, E ), encrypts the index by hierarchical keys and outsources it to the blockchain network B, stored as index BC. O also initializes a look-up table T outsourced to the server S for encrypted searches. A user u can interact with O to obtain the search authority under some hierarchy v i ∈ V. To search the files that include the keyword w, the authorized user u ∈ U can submit search tokens τ to S that contain the masked information of the searched keyword w and its hierarchy v i . S interacts with the blockchain network B to conduct the encrypted search according to the search token τ, and obtains search result R, which contains the matched file id under hierarchy v i . O is able to change any user's hierarchy or revoke a user's search right at any time. O can also interact with B to dynamically update the index BC when adding/deleting files.

Syntax
The scheme HSE-BI (Setup, IndexGen, AddU, Search, RevokeU, Update) consists of six algorithms/protocols: On input, the security parameter k and the authentica-

Design Challenge
Before we present HSE-BI's detailed concrete constructions, we need to describe our design challenge for the explicit algorithms. Since HSE-BI is designed for hierarchical searches, how do we build a hierarchical index structure to achieve this goal? Notice first that in a blockchain data structure, the transactions can be linked by storing the addresses of previous transactions in current transactions. Therefore, we organize the hierarchical DAG-type index as a constant number of sorted arrays; each array includes l nodes. To link the nodes in the same array that stores in different transactions together as a virtual link list, we insert each node with the transaction addresses of the previously connected nodes in such a way that can make the index achieve hierarchical and parallel searches. Secondly, recall that the blockchain is an append-only data store, i.e., once a block is created, it is final. It is not possible to subsequently delete or modify the index. How can the dynamic update can be applied to the secure index corresponding to the update of the actual outsourced files? To achieve dynamic update, we propose an append-only index update mechanism to support update operations on the encrypted blockchain-based index structure.

Concrete Constructions
Let k be a public parameter, O be the data owner, U be the authenticated users, S be a server and B be the blockchain network. Let f = ( f 1 , . . . , f m ) be the file set, and w = (w 1 , . . . , w θ ) be the keyword dictionary. Let F and P be two pseudo-random HSE-BI also makes black-box use of crypto primitives: a private key encryption scheme SKE = (Gen, Enc, Dec) [23], a CPA-secure broadcast encryption scheme BE = (KeyGen, Join, Enc, Dec) [24] and a blockchain data store Ω BC = (Init, Put, Get) [25]. Consider that HSE-BI works as follows: To initialize the system, the data owner O constructs the hierarchical authentication structure as a directed acyclic graph G = (V, E ). V contains l vertices {v 1 , . . . , v l }, each of which represents an access hierarchy in G. The directed edge set E represents the affiliations among hierarchies. If there exists (v i , v j ) ∈ E , then the hierarchy of v i is directly afflicted by the hierarchy of v j . Any authenticated user u ∈ U or file f ∈ f can be mapped to a O also initializes the authenticated user group U , and computes their master key msk by BE.KeyGen(1 k ) for enrolling users. Then O inserts server S into U . It also computes the server's key k S by BE.Join msk (S) and generates a k-bit string k r as the authentication key by SKE.Gen(1 k ), encrypts k r as the current server state st S by BE.Enc k r (U ). Finally, O sends (k S , st S ) to S, and stores its key K O as (msk, k r , {(k i,1 , k i,2 , k i,3 ) i∈[l] }) at local. This algorithm is shown in Algorithm 1.

IndexGen
Data owner O constructs a hierarchical secure index BC outsourced to blockchain network B and a look-up table T outsourced to server S. This algorithm is shown in Algorithm 2.

•
The index BC consists of θ keyword-guided hierarchy-sorted arrays A w 1 , . . . , A w θ . Each array contains l nodes n 1 , . . . , n l . At a high level, the information stored in n i should at least include the identities of files in hierarchy v i that contain the keyword w. These nodes should be linked in the sorted arrays to generate a hierarchical DAG index. To outsource the index to the blockchain network, O interacts with B to initialize BC using Ω BC .Init(1 k ). To connect different nodes in A w , besides the above information stores in n i , O inserts n i with additional address information addr j -the transaction address of the connected nodes To guarantee confidentiality and hierarchical search control, O should mask the information stored in each node. We define the structure of the masked node n i as ), where f i w is the file set that contains the keyword w and corresponds to the hierarchy v i , add j is the address of node n j where v j is directly afflicted by v i : (v i , v j ) ∈ E , P k j,2 (w) is the key to decrypt the masked node n j . O then encrypts each node n i ∈ A w in an orderly way from i = l to i = 1, inserts n i as a transaction into the blockchain index BC by Ω BC .Put(BC, n i ), and receives the transaction address addr i . Specifically, for n l , the tail node in A w , there is no node for the lower hierarchy in the ordered array A w , O computes the masked n l as ((f l w , ⊥, ⊥) ⊕ H(P k l,2 (w)). • To support the search, we design a look-up table T at the server side to store the masked tail address of each virtual hierarchy-sorted array in BC. The entries in T contain each masked (w, v i ) pair, which does not point to the address of the initial node in each A w , but to the masked address of the tail node n i of A i w in the blockchain BC. For example, to retrieve array A w in hierarchy v i , we should only retrieve its sub-array A i w from the blockchain BC. Since the search can not traverse back through the encrypted virtual link list, the available search results are the identifiers for the files that both contain the keyword w and are affiliated by hierarchy v i , as required by DAG structure. Therefore, for each i ∈ [l], O generates the entry F k i,1 (w) in T, which points to the masked address for every w ∈ w: 7: initialize a list A w as A w = (n 1 , . . . , n l ).

AddU/RevokeU
A user u can interact with the data owner O to obtain the search authority under their hierarchy v i . Data owner O adds the user id u to the authenticated user group U as U ∪ {u}, and generates the user's key k u by BE.Join msk (u). Since group U is updated, O should also refresh k r as a new k-bit string by SKE.Gen(1 k ) and encrypts k r as a new server state st S by BE.Enc k r (U ). Finally, O sends the user's key K u = (k u , k i,1 , k i,2 , k i,3 ) to u and sends st S to server S.
If the data owner O would like to revoke u's search right at any time, they need to delete the user id u from the authenticated user group U as U \{u}. O should also refresh k r as a new k-bit string by SKE.Gen(1 k ), and encrypt k r as the current server state st S by BE.Enc k r (U ). Finally, O sends st S to S. AddU and RevokeU algorithms are shown in Algorithms 3 and 4. To search the files that contain the keyword w, the authorized user u ∈ U can submit search token τ to server S, which contains the masked information of the search keyword w and its hierarchy v i . S interacts with the blockchain network B to conduct an encrypted search according to the search token τ. The specific process is as follows:

Algorithm 3 AddU
User u first retrieves the server's current state st S , uses their key k u to decrypt st S as r by running BE.Dec k u (st S ) and generates the search token as τ ← SKE.Enc r (F k j,1 (w), G k j,1 (w), P k j,1 (w)), then sends τ to server S. S first runs BE.Dec k S (st S ) to decrypt st S as r and uses r to decrypt τ as SKE.Dec r (τ). If τ is decrypted successfully, that means r = r = k r ; then the token sender u is an authorized user. S then initializes an empty search result set R, and parses SKE.Dec r (τ) as (r 1 , r 2 , r 3 ), uses r 1 as the entry to retrieve T[r 1 ], which points to the masked address of the tail node n i of A i w in the blockchain B, uses r 2 to decrypt the address as T[r 1 ] ⊕ r 2 that stores masked n i -the tail node of the hierarchy-sorted A i w in BC. S interacts with B to obtain the transaction n i with address T[r 1 ] ⊕ r 2 , uses r 3 to decrypt n i , and sets (z 1 , z 2 , z 3 ) = n j ⊕ H(r 3 ). If z 3 = 0, then z 2 is the transaction addresses set of { n j } (v i ,v j )∈E , where each n j is affiliated directly with n i . S adds z 1 to the result set R as R ∪ {z 1 }, and continues the above process parallel to retrieve the nodes by addresses in z 2 until z 3 = 0. After S has retrieved all the nodes in A i w = {n 1 , . . . , n i }, search result R then contains those identifiers for files containing w, and the hierarchy is affiliated with v i , as required by the DAG structure. Finally, S sends the result R to u. This algorithm is shown in Algorithm 5.

Update
When adding or deleting file f in hierarchy v i with keywords w f = (w 1 , . . . , w d ), data owner O should update the secure index BC and T accordingly. For w j ∈ w f , O interacts with B and runs Ω BC .Get(BC, addr i ) to get the transaction that stores masked n i . O decrypts it as n i ⊕ G k i,3 (w j ) = (z 1 , z 2 , z 3 ). If file f is added, O computes the updated n i as Then O inserts n i as a new transaction into BC, and receives its new address addr i by Ω BC .Put(BC, n i ).
For each q from i − 1 to 1, O interacts with B and runs Ω BC .Get(BC, addr q ) to get the transaction that stores the masked n q . O decrypts n q as n q ⊕ G k q,3 (w j ), computes n q = (z 1 , z 2 ∪ {addr q+1 }\{addr q+1 }, z 3 ) ⊕ P k q,2 (w j ), inserts a new transaction that stores masked n q into BC and runs addr q as Ω BC .Put(BC, n q ) to get the transaction address addr q , masks addr q with G k q,3 (w) and generates addr q ⊕ G k q,3 (w). O parses the update token t q = (t q 1 , t q 2 ), where t q 1 = F k q,1 (w 1 ) and t q 2 = addr q ⊕ G k q,3 (w). Finally, O sends t q to S. S updates the lookup table T by setting T[F k j,1 (w 1 )] as addr i ⊕ G k i,3 (w). This algorithm is shown in Algorithm 6.
O sends t i to S.

Security Analysis
We present the security analysis for HSE-BI in this section. The notions of security focus on two aspects: (1) User's view: for each user u ∈ U with hierarchy v i , it cannot learn any information for the files whose hierarchy is higher than v i . (2) Server's view: although it can conclude with some revoked or relegated users, it cannot provide a valid search token.
We formalize the security required in HSE-BI. Suppose A is an adversary with pseudorandom polynomial time (PPT) computation ability, who is given the security parameter k. In that case, the search policy is G, and the server key is K S , also provided is access to the following oracles, where · denotes the parameters that are provided by A themselves.
-O IndexGen (·, G, K): A can send index generation to this oracle, which runs IndexGen by the input provided by A. The oracle O IndexGen outputs BC, T.
A can send an add user request to this oracle, which runs AddU by the input provided by A. If u i ∈ U , then the oracle O Revoke outputs ⊥. Definition 1 (Adaptive Secure). The security definition of adaptive secure requires that the execution of the scheme in the real-world, Real (1 k ), is indistinguishable from an ideal-world, Ideal (1 k ). In Real (1 k ), the protocols between A and U execute just as in the real scheme. In Ideal (1 k ), there exist a simulator Sim that can obtain the leakage information from the oracles above and try to simulate the execution of A in Real (1 k ). HSE-BI achieves adaptive secure if, for all polynomial times of A, there exists a polynomial time simulator Sim such that the following two distribution ensembles are computationally indistinguishable: Output

Theorem 1.
If SKE is CPA secure, and functions F, G, P and H are pseudo-random, let HSE-BI be the hierarchical searchable symmetric encryption scheme with a blockchain-based index, then HSE-BI satisfies adaptive secure, which is defined in Definition 1.

Proof Sketch.
To show adaptive secure we reduce the security to that of the indistinguishability of the output of SKE.Enc and functions F, G, P and H are indistinguishable from the output of a truly random function. We assume the possibility of an adversary A that is able to break the adaptive secure property of HSE-BI, then we build a distinguisher D that is able to use A as a sub-routine to distinguish between the output of SKE.Enc and functions F, G, P, H and a truly random function with non-negligible probability.

Definition 2 (Revocation Secure). Consider Exp Revoke
A (1 k ), which is interactively executed by a challenger C and an adversary A who have the ability to add and revoke users in the real scheme. After a polynomial number of queries, C revokes all users that are queried to the O AddU oracle but are not subsequently queried to O RevokeU (i.e., all users for which A holds their valid user keys). A generates a search token τ in the Search protocol. If the output of the Search is not ⊥, then it returns 1, otherwise, it returns 0. After several rounds of queries, if A's probability of winning the revocation secure experiment with PPT computation ability is negligible, then we can say that HSE-BI satisfies revocation secure.

Theorem 2.
If BE is CPA secure, let HSE-BI be the hierarchical searchable symmetric encryption scheme with a blockchain-based index, then HSE-BI satisfies revocation secure, which is defined in Definition 2.
Proof Sketch. Assuming the advantage of A winning Exp Revoke A (1 k ) is negligible, we can construct an adversary A be , who can break the CPA secure of BE with assistance from A. If A has a non-negligible advantage in Exp Revoke A (1 k ), then we can construct an adversary A be that uses A as a subroutine to break the CPA secure of BE. Since BE is proven to be CPA secure [6]; there exists no A to produce a valid search token, even though it does not hold a non-revoked key that can win Exp Revoke A (1 k ) with non-negligible probability, and HSE-BI satisfies revocation secure as defined in Definition 2.

Theoretical Analysis
We give the theoretical analysis of HSE-BI in this section. Table 2 presents a detailed complexities analysis of HSE-BI. In the Setup phase, the computation and storage complexity of data owner O is linear with the number of hierarchies l, since O needs to generate the keys for all hierarchies. The IndexGen phase, as shown in Section 4.2.2, needs the data owner O to construct the search index into: (1) θ keyword-guided arrays A w 1 , . . . , A w θ with l nodes n 1 , . . . , n l , which need O((l + m)θ) operations; (2) a look-up table T contains all masked (w, v i ) pairs as entries with O(lθ) operations. The arrays are outsourced to B, and T is outsourced to S, so their storage overheads are O((l + m)θ) and O(lθ), respectively. To search for w q , a user sends a constant size token to S, S interacts with B to perform 2 logl−logi works to operate XOR functions from the array A w q in the subtree-rooted v i , as presented in Section 4.2.4. Therefore, we require that the computational complexities included user-side and S-side are O(1) and (2 logl−logi ), respectively, which are both independent in the number of files that contain w q .
Moreover, HSE-BI also achieves a constant-time computation and storage cost to add/delete user. The owner can dynamically add or revoke users by updating the state parameter. Each user only needs to store their secret key locally, which requires constant user storage O(1). The search and update complexities is related to the concrete instance of the DAG-type index, which can be formalized as a full and complete binary tree. To update the index for a file f of hierarchy v i with keywords w f = (w 1 , . . . , w d ), O adds (logi)d new transactions as newer versions of A w 1 , . . . , A w d in all subtrees rooted from v i to v 1 , which is described in Section 4.2.5, which needs to update (logi)d-related entries in T with O((logi)d) operations. Table 3 shows the complexities and property comparisons of HSE-BI with the existing related multi-user searchable encryption schemes [16,[18][19][20]. From the figure, we can see that the search and update complexities in HSE-BI are less than other schemes, which does not depend on the number of files. The DAG authentication structure makes the search complexity depend on the user's search hierarchy, while in [18], the number of data items searched for is linear with the user's rights and the files contain keywords; further, searching in [16,18,20] requires traversing all files. The index storage complexity in HSE-BI is linear with the size of the keyword dictionary and the hierarchy number. It is comparable with [19], the index of which is designed specifically for partial order access. Compared with [19], the size of the server' storage overload of HSE-BI is about m/l times larger, where l is the number of access hierarchies and m is the total file number. The hierarchical search property of HSE-BI will not significantly affect the index generation and search complexity. In terms of other properties, compared with the existing schemes, HSE-BI is secure from attacks from adaptive adversaries and supports the efficient updating for index and users while satisfying the revocation secure.    top of the collection containing 10 hierarchies. The hierarchy affiliation, number of files and users in each hierarchy is illustrated in Figure 2.

Search Performance
We analyzed the search performance for answering requests from users of different hierarchies. The search is performed by the server, and the process includes querying and communicating with the blockchain network to obtain transaction data. The search latency and communication overhead for the different hierarchy is presented in Figures 3 and 4.  To analyze the search latency, we performed a keyword search with different hierarchies. Figure 3 plots the average search latency per 50 searches for 1, 2, 3, 4 and 5 independent keywords with 1, 3, 5, 7 and 9 hierarchies. From the figure, we can learn that, with the hierarchy of search users increasing, the search latency decreases with a smooth and orderly curve, i.e., the search times for three keywords are about 0.61, 0.53, 0.47, 0.39 and 0.36 ms with 1, 3, 5, 7 and 9 hierarchies, respectively. We identified the main efficiency bottleneck to be the on-chain processing. In fact, as long as enough transaction data size is deployed in transactions, the broadcast transactions will be mined and processed efficiently. The XOR operation and the PRF evaluation for the transaction data are related to the hierarchy directly, which decreases as the hierarchy increases. Therefore, from the performance shown in Figure 3, we observe that Search in HSE-BI is efficient, and the search latency (around a few milliseconds) is acceptable.
In terms of communication, we mainly analyze the amount of data transformed between the search user and the server. Figure 4 plots the average communication overhead between them per 50 searches when we have performed 1, 2, 3, 4 and 5 independent keywords, with 1, 3, 5, 7 and 9 hierarchies. We do not record the blockchain network communication overhead since it depends on the real-time network connection condition. From the figure, we can see the communication size decreases with the increasing hierarchy of search users, i.e., to search for three keywords, the communication sizes are 0.99, 0.68, 0.40, 0.21 and 0.20 kb for 1, 3, 5, 7 and 9 hierarchies, respectively, and each search only needs one round of interaction, which is tolerable with bandwidth latency. It is worth mentioning that as the hierarchy gets lower, the communication size slows down due to the specific DAG-type access structure shown in Figure 2. In general, from the performance shown in Figure 4, we can observe that the communication overhead is acceptable and is consistent with the theoretical analysis.

Comparison
We also implement schemes [18,19] and compare their experimental results with HSE-BI. We analyzed the influence of search users' hierarchies and the number of users on the search latency of the three schemes. We assume that the number of searched keywords in the above schemes are all set to three. Figure 5 plots the relationship between search times and hierarchies. Figure 6 plots the relationship between the number of users and the search times. It should be mentioned that we implemented multiple user searches by deploying several hosts acting as users to submit search requests to the server host simultaneously. Each user host stores one user's private information locally and interacts with the server independently.

Search Latency
The experimental results in Figure 5 demonstrate that HSE-BI spends much less time searching than that of [18,19], where 10 users with the same hierarchy submit search requests simultaneously in the three schemes. In detail, compared to [18], the search time of which does not change visibly and remains approximately 19 ms, the search time of HSE-BI is maintained in [3 ms, 6 ms], which is significantly better. One reason is the search operation in [18] needs to traverse the whole index and is independent of the hierarchies of users. Another reason is that searching operations in HSE-BI is not as complicated as [18], where the latter needs to traverse more of the index for the same hierarchy and consists of ORAM operations, which are not very efficient since ORAM incurs heavy computational and communication costs.
Compared with [19], the search performance of HSE-BI is less affected by hierarchy, while that in [19] has a stable, approximately linear relationship with the number of hierarchies. In detail, we observe that the HSE-BI's search time for hierarchy 10 is 0.37 ms, which is slightly more than that in [19] (0.31 ms). Still, from hierarchy 9 to hierarchy 1, HSE-BI's search performance is better than [19]. The increasing rate of efficiency is improved by 73% (for hierarchy 9) to 110% (for hierarchy 1), and as the hierarchy gets lower, the search latency in [19] considerably increases, more steeply than HSE-BI. One important reason is that HSE-BI supports parallel searches with a hierarchical index (especially the specific DAG-type access structure in Figure 2).
Scalability We also compared the scalability of the three schemes, which is the impact of the increasing number of users on search performance. We recorded the search times for 10, 20, 30, 40, 50 and 60 users who submitted search requests simultaneously to the server in the three schemes and plotted the relationship between the number of users and the search time, as illustrated in Figure 6. We observe that, for the same number of search users, the search performance of HSE-BI is better than others. In detail, the search time in HSE-BI is 38-49% less than [19] and 35-62% less than [18], where the curves in [18,19] are stably linear with the number of users. It is essential to notice that, in HSE-BI, the increase in search time slows down with the growing number of search users. Therefore, in the case of a large number of users, the growing number of search users has a weaker impact on the time consumption of the search protocol than [18,19]; that is, the number of users that the scheme can carry has an extensible space to meet the actual scalability requirements of hierarchical multi-user search.

Conclusions
In this paper, we propose a hierarchical searchable encryption scheme using blockchainbased indexing (HSE-BI). We focus on fine-grained access control policy, which is a crucial aspect for multi-user searchable encryption, but there are relatively few works considering this research area. We designed a hierarchical search index structure based on stepwise hierarchical key derivation and outsourced it to the blockchain network to achieve search reliability. We also propose a hierarchical user authorization mechanism based on broadcast encryption to achieve efficient user permission granting and revoking while preventing the malicious server from colluding with corrupted users. The security and performance analysis show that HSE-BI is adaptive secure and revocation secure. Our experimental results are encouraging in that HSE-BI's hierarchical search policy does not impact the search performance visually, which is more suitable for actual complex application scenarios with fine-grained access requirements.

Conflicts of Interest:
The authors declare no conflict of interest.