Introduction
In the digital era, the Internet of Things (IoT) has become a pivotal technology for connecting everything. The widespread adoption and extensive application of IoT have brought significant conveniences, yet they also pose substantial challenges to data security and privacy protection. The vast amount of data generated by IoT includes personal information of users (such as gender and age), sensitive business data (such as financial statements and specific revenues), and communication content between devices. The leakage or malicious use of this data could lead to severe consequences. Cloud storage technologies, known for their high performance and low cost, are extensively employed to manage the massive data from IoT. However, the security and privacy of data cannot be overlooked, as cloud servers might expose private information to third parties or tamper with outsourced data (indicating that the cloud servers are not fully trustworthy). To ensure the security of private data, it is commonly stored in an encrypted form within cloud services. Nevertheless, traditional public-key encryption technologies no longer meet the current needs for protecting privacy in cloud data. Against this backdrop, addressing the issues of rapid retrieval of encrypted data and secure access control in a cloud storage environment has become a pressing concern.
To address the issue of searching over encrypted data, Song et al. [1] introduced the technology of searchable encryption (SE), which allows for the retrieval of encrypted data without revealing the contents of the files, effectively protecting user privacy. Compared to other encrypted search solutions such as secure multi-party computation and homomorphic encryption, searchable encryption technology offers a lower computational cost. It balances search efficiency with security, thus presenting more significant advantages and has consequently received extensive research and application. The application framework of searchable encryption in IoT is shown in Fig. 1.
Another critical issue in cloud storage is access control. Shamir and Waters [2] introduced attribute-based encryption (ABE), which achieves the sharing of secrets with users possessing specific attributes, thus implementing fine-grained access control. Researchers have extensively studied ciphertext retrieval and access control for user-encrypted data stored on cloud servers. The attribute-based searchable encryption (ABSE) scheme, combining ABE and SE technologies, was proposed to facilitate search and access control over shared data in the cloud. This data sharing and retrieval process generates a large number of keys, and traditional centralized key management faces challenges such as single points of failure, performance bottlenecks, and lack of flexibility. Blockchain, as a distributed ledger, is managed collaboratively by the nodes within the network. These nodes utilize consensus mechanisms to coordinate, employing hash chains and Merkle trees to maintain the ledger’s integrity and immutability, thereby preventing alterations by the nodes. Blockchain [3] technology is applied in many fields, such as finance, supply chain management, healthcare, real estate, and voting systems.
As a common application of IoT, smart homes often face the challenge of limited device resources. To address this issue, offloading complex ABE computations to edge servers (ES) is an effective solution. However, in practice, both ES and CSP may be vulnerable to attacks, necessitating the verification of the correctness of ES and cloud data. Zhang et al. [4] proposed a lightweight dual-audit scheme for smart home applications, which utilizes zero-knowledge proofs to verify the correctness of ES data and aggregates data blocks and signatures to ensure the correctness of cloud data. Nevertheless, this scheme does not fully account for the impact of dynamic environments, where frequent joining or leaving of devices can lead to frequent updates of the auditing mechanism proposed in the paper, thereby increasing system complexity. Wang et al. [5] proposed an improved CP-ABE scheme that supports policy hiding functionality. By separating attributes into attribute names and attribute values, and concealing sensitive attribute values within the ciphertext, this scheme effectively prevents access policy leakage, thereby enhancing the privacy protection capabilities of the system. Additionally, a third-party auditing mechanism was introduced to verify the integrity of data stored in the cloud.
In the context of healthcare and industrial IoT, researchers have also conducted extensive studies.
Das and Namasudra [6] proposed a multi-authority CP-ABE (MACPABE) for healthcare, which enhances system security through multiple authorities and an efficient attribute revocation mechanism. The scheme is particularly effective in handling lightweight computations and mitigating the key escrow problem. However, the handling of user revocation remains insufficient. Mishra and Mohapatra [7] combined blockchain with an optimized CP-ABE to propose a hybrid blockchain architecture for secure medical data sharing. The “Replicated Attribute Amendment” (RAA) method optimizes attribute sharing, reducing communication and computational costs, thereby improving encryption efficiency. While security is enhanced, interoperability among different healthcare institutions remains a challenge. Niu et al. [8] proposed an electronic health record sharing scheme based on permissioned blockchains (EHR-ABSE). Under premise of ensuring patient identity privacy, a polynomial equation is used to achieve an arbitrary connection of keywords, and then blockchain technology is combined.
Luo et al. [9] combined fully outsourced computation with policy-hiding CP-ABE to enhance data sharing security in industrial IoT. Fog computing nodes reduce the computational burden on devices and hide access policies to protect sensitive information. However, the user revocation mechanism relies on fog nodes, which could fail if the nodes are attacked or compromised. Yin et al. [10] proposed a scheme combining attribute-based encryption with searchable encryption for cloud-assisted industrial IoT. The scheme improves data access flexibility and security through access policy-based security indexes and search tokens, achieving O (1) search complexity. However, it is limited to static datasets and does not account for dynamic data updates. Xu et al. [11] proposed a blockchain-aided searchable encryption-based two-way attribute access control research (STW-ABE). The scheme elaborates the application of access control in IoT and introduces a federation blockchain to solve the single point of failure problem. In addition STW-ABE also provides users with fine-grained search and lightweight decryption of ciphertext. However, the above solutions applied in smart home, health care and industrial IoT do not solve the problem of mutual authentication between data and users and the excessive cost of user decryption.
A. Contribution
Based on the issues discussed, we propose a blockchain-assisted multi-keyword searchable encryption scheme in the IoT environment, named BAMKSE. By leveraging blockchain, a distributed ledger, we aim to mitigate the risks associated with centralized key distribution. Additionally, we integrate CP-ABE and KP-ABE technologies to achieve more fine-grained access control. Cloud servers provide a pre-decryption feature, significantly reducing decryption overhead on the user end. Our contributions are as follows.
Combining CP-ABE technology with KP-ABE technology: In this paper, user access policy and revocation access policy are embedded in the ciphertext and ciphertext access policy is embedded in the key, respectively.
Fine-grained access control: The scheme realizes the mutual authentication between the user and the data, enhances the security of the data, and achieves more fine-grained access control. Meanwhile, this scheme uses blockchain to solve a single point of failure.
Supporting pre-decryption: By utilizing CSP’s powerful computing capability, it can perform pre-decryption and send the pre-decrypted ciphertext to data users, which reduces the computation and time overhead required for data users to decrypt the ciphertext locally.
Supporting for multi-keyword search: This paper proposes an attribute-based multi-keyword searchable encryption scheme and it is safe in the security game.
B. Organization
In Section II introduces related work. In Section III presents the cryptographic knowledge relevant to this paper. Next, we design the system model and security model in Section IV. In Section V presents the specific details for implementing this scheme. Then, in Section VI, we conduct a correctness deduction and security analysis, verifying the effectiveness and security of the scheme. In Section VII compares the performance of this scheme with other schemes through a comparative analysis. In Section VIII, we evaluate and compare the time overhead of this scheme with other schemes. Section IX summarizes the entire paper.
Related Work
In this part, we will start from the four parts of SE, ABE, ABSE and Blockchain.
A. Searchable Encryption
Due to the explosive growth of IoT devices, massive amounts of data are stored on cloud servers. Quickly and accurately retrieving required data while ensuring its security has become a critical issue. Searchable encryption technology allows for the retrieval of ciphertext stored in the cloud, and is categorized into symmetric searchable encryption (SSE) [12] and asymmetric searchable encryption (ASE) [13]. Song et al. [1] first proposed a symmetric searchable encryption scheme, which encrypts a single file into a series of ciphertext words. During the search phase, the retrieval is executed through the XOR operation between the keyword trapdoor and the index. However, this scheme is inefficient in terms of search speed.
Due to the inherent inefficiencies of single-keyword searchable encryption, most researchers have shifted their focus to multi-keyword searchable encryption. The paper [14] introduced fast searchable encryption schemes using multiplication and simultaneous congruences. Liang et al. [15] presented a dynamic multi-keyword searchable encryption scheme (DMSE). This scheme, based on multi-keyword retrieval, classifies outsourced data by privacy before constructing an inverted index structure, thereby significantly enhancing retrieval efficiency. Although DMSE is strong in terms of applicability and security, it generates a large number of keys and trapdoors without distributed key management, posing a single point of failure risk. Liu et al. [16] realized that existing SE schemes lack flexibility, efficiency, and robustness, thus proposing a matrix-based multi-keyword fuzzy search scheme. In this scheme, each query is encoded into a matrix, its size linear increasing with the number of keywords. The matrix-based construction offers flexibility but results in a performance decline. Li et al. [17] noted that cloud servers return all matching files without ranking them for relevance, and the update mechanism incurs high communication and computational costs, making it insufficient for dynamic real-world scenarios. Therefore, they proposed an efficient two-server ranked dynamic searchable encryption scheme (TS-RDSE). This scheme establishes a dynamic secure index and supports dynamic updates such as inserting and deleting files.
B. Attribute-Based Encryption
Although SE allows for the retrieval of encrypted data in cloud environments, a significant limitation of this technology is that any user possessing the keywords can retrieve the data. This mechanism does not achieve the objective of sharing data with specific users, indicating a lack of effective access control.
ABE technology can meet the aforementioned requirements, achieving the objective of sharing secrets with individuals possessing specific attributes. The attribute-based encryption scheme was first introduced by Shamir and Waters [2] collaboratively. Ciphertext policy attribute-based encryption (CP-ABE) [18] and key policy attribute-based encryption (KP-ABE) [19] are two different forms of ABE. These two forms are interconnected yet distinct in their approaches. CP-ABE embeds the access policy within the ciphertext, while attributes are embedded within the user’s key. Conversely, KP-ABE incorporates the access policy within the user’s key, with attributes being embedded within the ciphertext. Irrespective of the ABE variant, decryption of the ciphertext is contingent upon a match between the policy and the user’s attributes, ensuring that only users whose attributes satisfy the policy can decrypt the information.
C. Attribute-Based Searchable Encryption
Obviously, the combination of ABE and SE technology will enhance the security and retrieval efficiency of data in the cloud environment. An increasing number of researchers are dedicating efforts towards integrating SE with ABE to meet the security requirements of cloud storage.
Yin et al. [20] proposed a ciphertext-policy attribute-based searchable encryption scheme. They point out that granting authorized data users search permissions is an effective method to enhance data access control. The main idea of the scheme is that the data owner encrypts the data and indexes under specific access policies, and only data users who meet these access policies can perform retrieval. Liu et al. [21] proposed a multiple keywords searchable encryption scheme based on the coordination of cloud servers and edge nodes (EMK-ABSE). EMK-ABSE adopts an offline/online hybrid mode for encryption and leverages edge nodes for pre-decryption in the decryption process, collectively alleviating the computational burden on the client. Zhao et al. [22] presented a new attribute-based collaborative search encryption scheme (ABCSE-MU) in a multi-user environment. This scheme realizes the function of multi-user collaborative search by introducing collaborative nodes, which solves the problem of insufficient search privileges when users need to search. Sun et al. [23] proposed a third-party auditing-based multi-keyword attribute-searchable encryption scheme with data verifiability and attribute revocation, which introduces a validation algorithm to ensure that the search results are correct. However, this scheme still incurs high computational overhead. Yan et al. [24] proposed an access control scheme based on blockchain and attribute-searchable encryption in cloud computing environment. The scheme realizes fine-grained access and secure search of cloud data while supporting policy hiding and attribute revocation. Proxy encryption and decryption are also introduced to reduce the computational cost of users. Zou et al. [25] proposed a blockchain-assisted multi-keyword fuzzy search encryption (BCFSE) scheme for secure data sharing. BCFSE supports ciphertext search while realizing fine-grained access control. In addition, the security features of blockchain are utilized to ensure the correctness of search results.
However, while utilizing blockchain to achieve attribute management and maintenance, it also exposes the user’s attribute information to a certain extent. Xiang and Zhao [26] designed a blockchain-assisted searchable attribute encryption scheme for eHealth systems. The scheme not only provides secure outsourcing and fast search services for medical data stored in CSPs, but also enables lightweight decryption of data for users, and data owners can achieve fine-grained authorization of data users under specified access policies. However, this scheme does not consider authentication between data and users and is inefficient in searching. Liang et al. [15] proposed a dynamic multi-keyword searchable encryption scheme using inverted index. This approach improves the retrieval efficiency of ciphertexts on cloud servers by leveraging the inverted index. However, the scheme does not address authentication between data and users. Wang et al. [27] proposed a blockchain-based pairing-free publicly verifiable searchable encryption scheme. They started with linear pairing operations to reduce the computational overhead. Guo et al. [28] has designed a secure and efficient range query scheme specifically designed to handle outsourced cryptographically indeterminate data, such as those originating from IoT systems.
D. Blockchain
The decentralized nature of blockchain means that it can distribute a large number of keys without the risk of a single point of failure. Additionally, each transaction record in the blockchain requires verification by multiple nodes within the network, and once recorded, it is almost immutable.
An increasing number of researchers are exploring the integration of blockchain with access control technologies. Qin et al. [29] proposed a lightweight access control solution for the IoT that leverages attribute-based encryption and blockchain technology, utilizing smart contracts to verify the accuracy of outsourced decrypted data within the IoT environment. Li et al. [30] proposed an access control scheme for Smart Home (S-home) environments. This approach employs multiple smart contracts to facilitate fine-grained access control over data, while concurrently recording transactions in a distributed ledger for auditing purposes. Ding et al. [31] and Chaudhry et al. [32] introduced the access control scheme based on Iot system. Zhonghua et al. [33] proposed a blockchain-based access control model for the IoT. Leveraging blockchain technology, the model designs an access control mechanism for terminal devices and resources through IoT edge nodes. It aims to provide a novel solution to the shortcomings in current research on access control within edge computing and blockchain in IoT security systems. However, the scheme focuses solely on the access control of edge data in IoT and does not address the data in the existing environment. Han et al. [34] proposed an auditable access control model based on attributes, utilizing blockchain to manage private data access via logs and records. Additionally, a blockchain-based system ensures the security and auditable access of private data in IoT environments. Cui et al. [35] introduced a novel data sharing framework that integrates both cloud and edge computing paradigms. Positioned centrally, the edge server oversees all communications, enforcing predefined access policies to detect and prevent unauthorized data exchanges. Zhang et al. [36] proposed an attribute-based access control scheme aimed at furnishing IoT devices with decentralized, flexible, and fine-grained authorization capabilities.
Based on the above discussion, we compare several different searchable encryption schemes with ours scheme. The Table 1 for specific comparison details.
Preliminaries
In this part, the relevant cryptographic background are introduced. The symbols used in this scheme and their related representations are shown in Table 2.
A. Bilinear Mapping
Suppose there are two multiplicative cyclic groups
Bilinear:
and\forall x,y\in G_{1} ,a,b\in \mathbb {Z}_{p} .e(x^{a},y^{b})=e(x,y)^{ab} Non-degeneracy:
,\exists x,y\in G_{1} .e(x,y)\neq 1 Computability:
,\forall x,y\in G_{1} can be computed efficiently.e(x,y)
B. Access Structure
Consider an entity set
C. Linear Secret Sharing Scheme
Linear secret sharing scheme (LSSS) is utilized to divide a secret into multiple shares, where only specific combinations of shares can reconstruct the original secret. The secret is represented as a vector of coefficients, while each share is computed as a linear combination of these coefficients. Let
There is a matrix P, comprising r rows and c columns, is designated as the shared matrix on \begin{align*} \sum _{i\in I}z_{i}\lambda _{i} & = \sum _{i\in I}z_{i}(P\vec {v})_{i} \\ & = (1,0,\ldots ,0) \cdot (s,l_{2},l_{3},\ldots ,l_{c})^{T} \\ & = s. \tag {1}\end{align*}
D. Difficult Assumption
The problem known as Decisional Linear (DL) can be stated in the following manner. Given multiplicative cyclic group \begin{align*} & \left |{{ \Pr \left [{{ \mathcal {A}(g,g^{a},g^{b},g^{ac_{1}},g^{bc_{2}},Q=g^{c_{1}+c_{2}})=1 }}\right ] }}\right . \\ & \quad - \left .{{ \Pr \left [{{ \mathcal {A}(g,g^{a},g^{b},g^{ac_{1}},g^{bc_{2}},Q=g^{Z})=1 }}\right ] }}\right | \geq \varepsilon . \tag {2}\end{align*}
Definition 1:
If there is no PPT adversary that can solve the DL problem with an non-negligible advantage, then the DL problem is considered difficult.
Decisional Bilinear Diffie-Hellman (DBDH) assumptions for prime-order bilinear groups. The bilinear map \begin{align*} & \left |{{ \Pr \left [{{ \mathcal {A}(g,g^{a},g^{b},g^{c},Z)=1 }}\right ] }}\right . \\ & \quad - \left .{{ \Pr \left [{{ \mathcal {A}(g,g^{a},g^{b},g^{c},e(g,g)^{abc})=1 }}\right ] }}\right | \geq \varepsilon . \tag {3}\end{align*}
Definition 2:
If there is no PPT adversary that can solve the DBDH problem with an non-negligible advantage, then the DBDH problem is considered difficult.
Formal Definition
A. System Model
The BAMKSE includes four participants. The system model is shown in Fig. 2.
DO: The data owner sets the user access policy and the revocation access policy for the data, encrypts the shared data and multi-keyword indexes, and uploads them to the CSP.
DU: In instances where a DU exhibits interest in specific datasets provided by a DO, the DU is enabled to generate a search trapdoor, subsequently uploading it to the CSP for the purpose of data retrieval. The CSP plays a pivotal role in facilitating this process by executing pre-decryption techniques to derive an intermediate form of ciphertext, which is then transmitted to the DU. Crucially, if the attributes of the DU are in alignment with the user access structure embedded within the ciphertext by the DO, the DU’s attribute-based private key can effectively be utilized to decrypt the intermediate ciphertext, culminating in the acquisition of the plaintext.
CSP: The CSP is responsible for storing encrypted data and indexing multi-keyword ciphertext for DO, and providing search and revocation services for ciphertext. It also provides pre-decryption service for DU that meet the privileges and returns the pre-decrypted ciphertext to the DU. The cloud server is honest and curious, meaning that it faithfully executes tasks submitted by users but also exhibits curiosity towards encrypted data.
BC: The BC is comprised of trustworthy nodes. The current leader node of the blockchain receives the attributes of DU to be added to the system and generates the user’s private key on the chain based on its attributes.The leader node returns the user’s private key to the user through a secure channel. This is shown in Fig. 3.
B. Scheme Definition
Our scheme is mainly divided into ten algorithms, including Setup, KeyGen, Encrypt, IndexGen, Trapdoor, Search, Predecrypt, Decrypt, TokenGen and Revoke. The workflow diagram of this scheme is shown in Fig. 4. The definitions of these algorithms are as follows.
Setup(
KeyGen(GP, UID)
Encrypt(GP, UID, USK, M,
IndexGen(GP, USK, W)
Trapdoor(GP, USK,
Search(KI, D)
Predecrypt(GP, USK, K, CT)
Decrypt(GP, C, K, ICT)
TokenGen(GP, C, K, USK)
Revoke(C, K, RT)
C. Security Model
In a secure ABSE scheme, the keywords index must satisfy indistinguishability security under a CKA. According to this criterion, the security model of this scheme is described as a game between attacker
Definition:
If adversary
Initialization:
Query Phase 1: Adversary
KeyGen Query: Adversary
submits UID to challenger\mathcal {A} .\mathcal {C} runs KeyGen algorithm to generate key component K and sends them to\mathcal {C} .\mathcal {A} Index Query: In this process, the adversary
sends the key component K and a set of keywords collections W to the challenger\mathcal {A} . Subsequently,\mathcal {C} executes the IndexGen algorithm to generate the keywords index KI.\mathcal {C} Trapdoor Query: Challenger
randomly choose\mathcal {C} and executes the Trapdoor algorithm to generate the trapdoor D.v \in \mathbb {Z}_{p}^{*} Challenge: Adversary
chooses two unchallenged keywords sets\mathcal {A} andW_{0}=w_{i_{0}},i\in [1,n] of the same length as a challenge and sends them to challengerW_{1}=w_{i_{1}},i\in [1,n] . In the subsequent phase,\mathcal {C} randomly selects\mathcal {C} and executes the IndexGen algorithm to generate a challenge indexb \in \{0,1\} with a challenge user access structureI_{w_{i_{b}}}^{*}=\prod _{i=1}^{n}I_{w_{i_{b}}} and a set of challenge ciphertext attributes(\mathbb {P}^{\prime },\boldsymbol {\rho }^{\prime }) . Finally, send the challenge index\boldsymbol {\Lambda }^{\prime } to the adversaryI_{w_{i_{b}}}^{*} .\mathcal {A}
Query Phase 2: Adversary
Guess: Finally,
outputs b as the guessed bits\mathcal {A} . Ifb' , thenb = b' wins the game. The advantage of winning is defined as\mathcal {A} .Adv_{\mathcal {A}} = \left |{{Pr[b' = b] - \frac {1}{2}}}\right |
Concrete Scheme
The details of our scheme are described as follows.
Setup(
KeyGen(GP, UID) \begin{align*} K_{0} & = e(g,g)^{s}. \\ K_{j}^{1} & = e(g,g)^{\lambda _{j}}e(g,g)^{\beta _{\eta (j)}\mu _{j}}, K_{j}^{2} = g^{\mu _{j}}, K_{j}^{3} = g^{\beta _{\eta (j)}\mu _{j}}. \\ RK & = e(g,g)^{\chi } \cdot e(g,g)^{s}. \tag {4}\end{align*}
Create a user attribute key for the user and perform the following calculations:\begin{equation*} K_{q}=g^{\alpha _{q}} \cdot H_{1}(\textit {UID})^{\alpha _{q}}. \tag {5}\end{equation*}
Finally, the key components
KeyGen
The global parameters GP, the user identity UID and user attribute set
The key components K DU:
Send user attributes to BC BC:
for
end for
return K
Send K to DU
Encrypt(GP, UID, USK, M, \begin{align*} C_{0} & = M \cdot e(g,g)^{\varphi }. \\ C_{i}^{1} & = e(g,g)^{\vartheta _{i}}e(g,g)^{\alpha _{\rho (i)}\delta _{i}}, C_{i}^{2} = g^{\delta _{i}}, C_{i}^{3} = g^{\alpha _{\rho (i)}\delta _{i}}. \tag {6}\end{align*}
Create a ciphertext attribute key for the ciphertext and perform the following calculations:\begin{equation*} C_{t} = g^{\beta _{t}} \cdot H_{1}(\textit {UID})^{\beta _{t}}. \tag {7}\end{equation*}
The next step is to embed the revocation access policy \begin{align*} C_{m}^{1} & = e(g,g)^{\psi _{m}} e(g,g)^{\gamma _{\pi (m)}\omega _{m}}, \\ C_{m}^{2} & = g^{\omega _{m}},C_{m}^{3} = g^{\gamma _{\pi (m)}\omega _{m}}. \tag {8}\end{align*}
Create a ciphertext revocation key for the ciphertext and perform the following calculations:\begin{equation*} C_{u} = g^{\gamma _{u}} \cdot H_{1}(\textit {UID})^{\gamma _{u}}. \tag {9}\end{equation*}
Finally, the ciphertext components
Encrypt
The global parameters GP, the user identity UID, plaintext M, user access policy
The ciphertext components C DO:
for
end for
for
end for
return C
Send C to CSP
IndexGen(GP, USK, W) \begin{equation*} I_{1} = g^{r_{1}}, I_{2} = g^{\beta r_{1}}, I_{3} = g^{\mu r}, I_{w_{i}} = g^{H_{2}(w_{i})\beta r}. \tag {10}\end{equation*}
Finally, the ciphertext keywords index
IndexGen
The global parameters GP, multiple keywords set W and the user private key USK
The ciphertext keywords index KI DO:
for
end for
return KI
Send KI to CSP
Trapdoor(GP, USK, \begin{equation*} D_{1} = g^{\beta v},D_{2} = g^{v},D_{3} = \prod _{i^{\prime }=1}^{n^{\prime }}g^{H_{2}(w_{i^{\prime }})\beta },D_{4} = g^{\mu }. \tag {11}\end{equation*}
Finally, the drapdoor
Trapdoor
The global parameters GP, set of multiple keywords
Drapdoor D DU:
for
end for
return D
Search(KI, D) \begin{equation*} e(D_{1},I_{1}) e(D_{3},I_{3}) = e(D_{2},I_{2}) e\left ({{\prod _{i=1}^{n^{\prime }}I_{w_{i}},D_{4}}}\right ). \tag {12}\end{equation*}
Search
The keywords index KI and trapdoor D
Ciphertext CT or
Send D to CSP CSP:
if
return CT
else
return
end if
Predecrypt(GP, USK, K, CT)
The authentication process is as follows:
The CSP chooses
The pre-decryption process is as follows:\begin{align*} ICT & = \prod _{i\in \boldsymbol {\Psi }}\left [{{\frac {C_{i}^{1}\cdot e\left ({{H_{1}(\textit {UID}),C_{i}^{3}}}\right )}{e(K_{\rho (i)},C_{i}^{2})}}}\right ]^{h_{i}} \cdot \\ & \quad \prod _{j\in \boldsymbol {\Lambda }}\left [{{\frac {K_{j}^{1}\cdot e\left ({{H_{1}(\textit {UID}),K_{j}^{3}}}\right )}{e(C_{\eta (j)},K_{j}^{2})}}}\right ]^{f_{j}} \\ & = e(g,g)^{\varphi }\cdot e(g,g)^{s}. \tag {13}\end{align*}
Finally, the CSP output the intermediate ciphertext ICT and send the ICT to the DU.
Predecrypt
The global parameters GP, the user private key USK, the key components K and ciphertext CT
The intermediate ciphertext ICT DU:
Send D to CSP CSP:
if exist
return ICT
else
return Unauthorized
end if
Decrypt(GP, C, K, ICT)
The decryption process is as follows:\begin{equation*} M=\frac {C_{0} \cdot K_{0}}{ICT}=\frac {M \cdot e(g,g)^{\varphi } e(g,g)^{s}}{e(g,g)^{\varphi }\cdot e(g,g)^{s}} \tag {14}\end{equation*}
Decrypt
The global parameters GP, the ciphertext components C, the key components K and the intermediate ciphertext ICT
The plaintext M DU:
Receive ICT from CSP
return M
TokenGen(GP, C, K, USK)
The authentication process is as follows:
The CSP chooses
The token generation process is as follows:\begin{align*} RT & = \prod _{m\in \boldsymbol {\Omega }}\left [{{\frac {C_{m}^{1}\cdot e\left ({{H_{1}(\textit {UID}),C_{m}^{3}}}\right )}{e(K_{\pi (m)},C_{m}^{2})}}}\right ]^{l_{m}} \\ & \quad \cdot \prod _{j\in \boldsymbol {\Lambda }}\left [{{\frac {K_{j}^{1}\cdot e\left ({{H_{1}(\textit {UID}),K_{j}^{3}}}\right )}{e(C_{\eta (j)},K_{j}^{2})}}}\right ]^{f_{j}} \\ & = e(g,g)^{\chi }\cdot e(g,g)^{s}. \tag {15}\end{align*}
Finally, the ciphertext revocation token RT is generated and sent to the DO.
TokenGen
The global parameters GP, the ciphertext components C, ciphertext access policy
The revocation token RT CSP:
if exist
return RT
else
return Unauthorized
end if
Revoke(C, K, RT) \begin{align*} RT = RK \begin{cases} 1, & \text {yes} \\ 0, & \text {otherwise} \end{cases} \tag {16}\end{align*}
After a successful revocation, the revocation ciphertext is stored in the revocation list RL.
Correctness Deduction and Security Analysis
A. Correctness Deduction
Correctness Deduction of Searching keywords
The CSP assesses the match of a query ciphertext by checking if a specific equation is satisfied.
\begin{equation*} e(D_{1},I_{1})e(D_{3},I_{3}) = e(D_{2},I_{2})e\left ({{\prod _{i=1}^{n^{\prime }}I_{w_{i}},D_{4}}}\right ).\end{equation*} View Source\begin{equation*} e(D_{1},I_{1})e(D_{3},I_{3}) = e(D_{2},I_{2})e\left ({{\prod _{i=1}^{n^{\prime }}I_{w_{i}},D_{4}}}\right ).\end{equation*}
Initially, one can compute the left side of the equation as described below:
\begin{equation*} e(D_{1},I_{1})e(D_{3},I_{3}) = e(g^{\beta v},g^{r_{1}})e\left ({{\prod _{i^{\prime }=1}^{n^{\prime }}g^{H_{2}\left ({{w_{i^{\prime }}}}\right )\beta },g^{\mu r}}}\right ).\end{equation*} View Source\begin{equation*} e(D_{1},I_{1})e(D_{3},I_{3}) = e(g^{\beta v},g^{r_{1}})e\left ({{\prod _{i^{\prime }=1}^{n^{\prime }}g^{H_{2}\left ({{w_{i^{\prime }}}}\right )\beta },g^{\mu r}}}\right ).\end{equation*}
Subsequently, the right side of the equation can be determined through the calculation outlined next:
It can be verified that the equation holds.\begin{equation*} e(D_{2},I_{2})e\left ({{\prod _{i=1}^{n^{\prime }}I_{w_{i}},D_{4}}}\right )\!=\!e(g^{v},g^{\beta r_{1}})e\left ({{\prod _{i=1}^{n^{\prime }}g^{H_{2}(w_{i})\beta r},g^{\mu }}}\right ).\end{equation*} View Source\begin{equation*} e(D_{2},I_{2})e\left ({{\prod _{i=1}^{n^{\prime }}I_{w_{i}},D_{4}}}\right )\!=\!e(g^{v},g^{\beta r_{1}})e\left ({{\prod _{i=1}^{n^{\prime }}g^{H_{2}(w_{i})\beta r},g^{\mu }}}\right ).\end{equation*}
Correctness Deduction of Pre-descryption
\begin{align*} ICT & = \prod _{i\in \boldsymbol {\Psi }}\left [{{\frac {C_{i}^{1}\cdot e\left ({{H_{1}(\textit {UID}),C_{i}^{3}}}\right )}{e(K_{\rho (i)},C_{i}^{2})}}}\right ]^{h_{i}} \cdot \\ & \quad \prod _{j\in \boldsymbol {\Lambda }}\left [{{\frac {K_{j}^{1}\cdot e\left ({{H_{1}(\textit {UID}),K_{j}^{3}}}\right )}{e(C_{\eta (j)},K_{j}^{2})}}}\right ]^{f_{j}} \\ & = e(g,g)^{\varphi }\cdot e(g,g)^{s}. \tag {17}\end{align*} View Source\begin{align*} ICT & = \prod _{i\in \boldsymbol {\Psi }}\left [{{\frac {C_{i}^{1}\cdot e\left ({{H_{1}(\textit {UID}),C_{i}^{3}}}\right )}{e(K_{\rho (i)},C_{i}^{2})}}}\right ]^{h_{i}} \cdot \\ & \quad \prod _{j\in \boldsymbol {\Lambda }}\left [{{\frac {K_{j}^{1}\cdot e\left ({{H_{1}(\textit {UID}),K_{j}^{3}}}\right )}{e(C_{\eta (j)},K_{j}^{2})}}}\right ]^{f_{j}} \\ & = e(g,g)^{\varphi }\cdot e(g,g)^{s}. \tag {17}\end{align*}
Substituting
,C_{i}^{1} = e(g,g)^{\vartheta _{i}}e(g,g)^{\alpha _{\rho (i)}\delta _{i}} ,C_{i}^{2} = g^{\delta _{i}} ,C_{i}^{3} = g^{\alpha _{\rho (i)}\delta _{i}} ,K_{j}^{1}=e(g,g)^{\lambda _{j}}e(g,g)^{\beta _{\eta (j)}\mu _{j}} ,K_{\rho (i)}=g^{\alpha _{\rho (i)}} \cdot H_{1}(\textit {UID})^{\alpha _{\rho (i)}} ,K_{j}^{3} = g^{\beta _{\eta (j)}\mu _{j}} andK_{j}^{2} = g^{\mu _{j}} into equation (17) yields the final resultC_{\eta (j)} = g^{\beta _{\eta (j)}} \cdot H_{1}(\textit {UID})^{\beta _{\eta (j)}} .e(g,g)^{\varphi } \cdot e(g,g)^{s} Correctness Deduction of Revocation
\begin{align*} RT & = \prod _{m\in \boldsymbol {\Omega }}\left [{{\frac {C_{m}^{1}\cdot e\left ({{H_{1}(\textit {UID}),C_{m}^{3}}}\right )}{e(K_{\pi (m)},C_{m}^{2})}}}\right ]^{l_{m}} \cdot \\ & \quad \prod _{j\in \boldsymbol {\Lambda }}\left [{{\frac {K_{j}^{1}\cdot e\left ({{H_{1}(\textit {UID}),K_{j}^{3}}}\right )}{e(C_{\eta (j)},K_{j}^{2})}}}\right ]^{f_{j}} \\ & = e(g,g)^{\chi }\cdot e(g,g)^{s}. \tag {18}\end{align*} View Source\begin{align*} RT & = \prod _{m\in \boldsymbol {\Omega }}\left [{{\frac {C_{m}^{1}\cdot e\left ({{H_{1}(\textit {UID}),C_{m}^{3}}}\right )}{e(K_{\pi (m)},C_{m}^{2})}}}\right ]^{l_{m}} \cdot \\ & \quad \prod _{j\in \boldsymbol {\Lambda }}\left [{{\frac {K_{j}^{1}\cdot e\left ({{H_{1}(\textit {UID}),K_{j}^{3}}}\right )}{e(C_{\eta (j)},K_{j}^{2})}}}\right ]^{f_{j}} \\ & = e(g,g)^{\chi }\cdot e(g,g)^{s}. \tag {18}\end{align*}
Substituting
B. Security Analysis
Definition 3:
If the DL problem proves to be challenging, the index keywords in the scheme of this paper meets the security criteria for IND-CKA.
Proof:
Adversary
Initialization:
Query Phase 1: The adversary
KeyGen Query: The adversary
Index Query: In this process, the adversary
Trapdoor Query: The challenger
Challenge: The adversary
The strengths of
When
Query Phase 2: The dversary
Guess: Finally,
The advantage of \begin{align*} Adv& =1/2(\Pr [\mathcal {C}(g,g^{a},g^{b},g^{ac_{1}},g^{bc_{2}},Q=g^{c_{1}+c_{2}})=0]) \\ & \quad +\Pr [\mathcal {C}(g,g^{a},g^{b},g^{ac_{1}},g^{bc_{2}},Q=g^{Z})=0]-1/2 \\ & =1/2\left ({{1/2+\varepsilon +1/2}}\right .)-1/2=\varepsilon /2. \tag {19}\end{align*}
Given the difficult nature of the DL problem, it is reasonable to infer that any
Definition 4:
If the DBDH problem is hard, then the BAMKSE scheme is secure under CPA.
Proof:
Suppose that adversary
Query Phase 1: The adversary
Encrypt Query: The adversary
Challenge: The adversary
Query Phase 2: The adversary
Guess: Finally,
The advantage of \begin{align*} Adv & = \Pr [\mathcal {C}(b^{\prime }=b)] - \frac {1}{2} \\ & = \frac {1}{2} \left ({{ \Pr [\mathcal {C}(b^{\prime }=b \mid b=1)] }}\right ) \\ & \quad + \frac {1}{2} \left ({{ \Pr [\mathcal {C}(b^{\prime }=b \mid b=0)] }}\right ) - \frac {1}{2} \\ & = \frac {\varepsilon }{2} \tag {20}\end{align*}
If
Performance Analysis
A. Theoretical Storage Costs Comparison
The length of the element in
B. Theoretical Computation Costs Comparison
Let
C. Comparison of Time Complexity
In Table 5, we compare and analyze the time complexity of BAMKSE against other schemes. Here, n represents the number of attributes, k denotes the number of keywords, and
Experiments
To evaluate the effectiveness of the scheme introduced in this study and to compare it with existing approaches from the literature, we performed a range of simulation tests. These tests were carried out using the Charm-Crypto library within the Python environment, Hyperledger Fabric 22.5.0. The simulations ran on the PyCharm, operating on an Ubuntu 16 OS. In the experiment, the bilinear pairing library utilized is based on a 512-bit elliptic curve group of Type A.
We compare our scheme with three others in terms of encryption, index generation, trapdoor generation, and decryption. Meanwhile, we also specifically compare the time cost of the phase of token generation with scheme [11], as the other schemes do not involve this phase. Since the other three schemes do not mention revocation processes, we only provide a performance analysis of revocation for our scheme.
Fig. 5a illustrates the encryption time as a function of the number of attributes for four different schemes. As shown in Fig. 5a, the encryption time for all four schemes is directly proportional to the number of attributes. However, the schemes in [8] and [11] are directly related to the number of pairing operations
Fig. 5b depicts the variation in index generation time for four different schemes as the number of attributes increases. The performance of schemes [8] and [11] is notably inferior in this area. As detailed in Table 4, the index generation time for these schemes is directly proportional to the number of attributes. Both scheme [21] and our scheme show improved performance. However, our scheme benefits from a relatively mild increase in time cost with the addition of more attributes, suggesting that it offers superior efficiency.
Fig. 5c illustrates the variation in trapdoor generation times as a function of the number of attributes, while the number of keywords remains constant. In schemes [8] and [11], the generation time for trapdoors is directly linked to the number of attributes, which results in a significantly faster increase in time costs as attributes accumulate. In contrast, schemes [21] and our scheme demonstrate more efficient performance in this metric. According to Table 4, the process of generating trapdoors in both our scheme and [21] is not influenced by the number of attributes but depends solely on the number of keywords. Hence, with the number of keywords held steady, our scheme shows superior efficiency in this area.
Fig. 5d showcases the decryption performance of four schemes during the decryption phase. Although scheme [21] utilizes edge nodes to assist with decryption, the time cost of decryption still increases with the number of attributes. Similarly, the decryption time for schemes [8] and [11] also escalates as the number of attributes increases, imposing a significant computational burden on the user’s end for decryption. Despite the fact that the decryption time in our scheme also rises with an increase in attribute numbers when performed in the cloud, the time cost remains essentially unchanged when decrypting intermediate ciphertexts at the user end. This is because the decryption process at the user end is independent of the number of attributes and complex pairing operations, significantly reducing the decryption load on the user.
Fig. 6a demonstrates the performance comparison of the token generation algorithms between our scheme and [11]. The figure clearly shows that the time cost of generating revocation tokens in our scheme is lower than that of generating decryption tokens in scheme [11]. Fig. 6b reveals the time cost for the CSP to match the RT with the RK upon receiving the RT. The generation of tokens is dependent on the number of attributes, and as the number of attributes increases, so does the time cost. Both of these processes are executed by the CSP, and the computational stress is manageable. The time expenditure is also acceptable for typical DUs and can significantly enhance the security of the scheme. Fig. 6c illustrates the total on-chain time overhead of the BAMKSE. We define the total time overhead as comprising two parts. The first part is the time taken for the blockchain to generate attribute keys for DU when the DU joins the system and sends its attributes to the blockchain. The second part is the time required for the blockchain to return the generated keys to the DU via a secure channel. It can be observed that the increase in time overhead is not linear. After the number of nodes exceeds 140, the total on-chain time overhead starts to increase at a faster rate. This is due to the additional burden required to maintain synchronization across a large number of nodes.
Discussion and Conclusion
In this paper, we propose BAMKSE, a blockchain-assisted multi-keyword searchable encryption scheme that seamlessly integrates ciphertext policy and key policy. BAMKSE not only facilitates multi-keyword search functionality but also ensures lightweight decryption for users. By harnessing blockchain technology, we effectively address the challenge of a single-point of failure. Considering the resource constraints of IoT devices, the bulk of computational tasks are delegated to CSP, streamlining the decryption process for end-users. Furthermore, our thorough correctness proofs and security analysis attest to the robustness of BAMKSE in a cloud environment. Comparative experiments validate the efficiency and viability of our approach. At the same time, the introduction of blockchain also brings some undesirable tradeoffs, such as the trade-off between security and decentralization, privacy and transparency. Decentralized blockchains can improve system security and reduce the risk of a single point of failure. But decentralization also means that there is no central authority, which greatly increases the complexity of system security management. In our solution, we introduce blockchain to generate and distribute keys, and a large number of other computing tasks are placed in the cloud, which greatly reduces the burden on the blockchain. The parameters generated by the blockchain need to be directly uploaded to the chain transparently and openly, and the user’s private key is returned to the user through a secure channel. Looking ahead, our focus will be on enhancing keyword search capabilities and implementing faster retrieval features, such as fuzzy keyword search and encrypted search using inverted indexing, to meet the evolving needs of practical applications.