A Blockchain-Enabled Multi-Authority Secure IoT Data-Sharing Scheme with Attribute-Based Searchable Encryption for Intelligent Systems
Abstract
1. Introduction
- We propose a multi-authority attribute-based encryption scheme, BM-ABSE, employing LSSS. By decentralizing management responsibilities, it enhances the reliability and flexibility of the system, prevents system paralysis caused by the failure of a single administrator, and strengthens the robustness of the system.
- We adopt blockchain to replace the trusted certificate authority (CA) in traditional CP-ABSE, establishing a trustless collaborative mechanism between blockchain and attribute-based encryption. This approach eliminates reliance on a single center authorization and solves the challenge of rapidly locating required information in massive encrypted data. By automatically executing and verifying data operations through smart data, we effectively guard against malicious behaviors of cloud servers, thereby enhancing the reliability of ciphertext search.
- We conduct a thorough security analysis and formally prove that the proposed scheme achieves static security and indistinguishable under chosen keyword attack (IND-CKA) in the random oracle model. In addition, in the performance evaluation and simulation experiments, we employ three elliptic curves to achieve different security levels, analyzing and confirming the reliability and efficiency of our scheme.
2. Related Work
2.1. ABE-Based Searchable Encryption
2.2. Multi-Authority Attribute-Based Encryption
3. Preliminary
3.1. Bilinear Pairing
- Bilinearity: For all and , it holds that , where ;
- Non-degeneracy: If , then either or ;
- Computability: For any , an efficient algorithm exists to compute .
3.2. Access Structure
3.3. Linear Secret Sharing Scheme
- The secret shares s held by all participants can form a vector on .
- There exists a secret share generation matrix ; each row of the matrix can be mapped to a participant through a function . Define a vector , where is the secret value to be shared, and are randomly selected from . The secret share of s on each row of the secret generation matrix can be represented as ; that is, the secret share held by each participant is .
4. System Overview and Security Requirements
4.1. System Model
4.2. Threat Model
- The initial kind seeks to cooperate by employing their secret keys to decode material that they are unable to decrypt independently.
- The second kind of adversary concentrates on differentiating among various ciphertexts.
4.3. Security Requirements
4.3.1. Static Security
- Init: The challenger runs the to create public parameters and translates them to .
- Query: First, a group of compromised attribute authorities is specified by , which is denoted as . Afterward, the following queries are executed by :
- (a)
- specifies a set of uncompromised attribute authorities, denoted as , and queries the public keys of this authorities, where .
- (b)
- submits an attribute set to , in which it is required that this set must not be under the control of the compromised attribute authorities. Then, queries the attribute decryption key of .
- (c)
- presents two plaintexts of the same length along with an access structure to .
- Response: selects a random plaintext , and replies to ’s queries according to the following process:
- (a)
- executes the to return the public key of an uncompromised attribute authority.
- (b)
- executes the to return the attribute decryption key corresponding to the attribute set .
- (c)
- executes to return the ciphertext of .
- Guess: produces its guess . The probability advantage of to guess correctly is defined as
4.3.2. IND-CKA Security
- Init: The is executed by the challenger to produce public parameters , which are then transmitted to .
- Phase 1: submits a set of keywords and issues a search trapdoor query to . executes the to output the search trapdoor and transmits it to .
- Challenge: randomly selects two keywords of the same length and submits them to . In Challenge, keywords that were submitted in Phase 1 are not permitted. The function is executed by to arbitrarily encrypt one of the keywords , and it sends the data index back to A.
- Phase 2: can issue any of the queries from Phase 1; the keywords that were submitted in the Challenge are not eligible for submission.
- Guess: generates its estimate of . The ability of to accurately predict is defined as
5. Details of Our Proposed Scheme
5.1. System Initialization
- : The central trusted authority selects two cyclic groups and of prime order p with as a generator of group . Then, it creates a bilinear map and chooses three hash functions , , and . Randomly select an element and establish .
- : Each attribute authority with a unique identifier manages a disjoint set of attributes. It randomly selects two exponents and generates the master secret key pair:
- : Every data user with a unique identifier or data owner with executes this process to generate a pair of keys. The algorithm randomly selects and computes where ∗ stands for or . Then, we output the key pair for the data owner or data user:Using the data user’s public key and identifier , the central trusted authority assigns an attribute set and issues a blockchain transaction .
- : After the data user is successfully registered, each attribute authority runs this process to produce attribute decryption key for the attributes it manages. For each attribute , the attribute authority randomly selects and calculatesThe technique ultimately produces the attribute decryption key associated with the attribute set and sends it to the data user for constructing a partially decrypted ciphertext:
5.2. Data Processing
- : The data owner formulates a data access policy , where is a matrix. The data owner chooses a collection of random numbers and then constructs two vectors and . For each row of matrix , the algorithm calculates and , respectively, where denotes a secret share of the i-th row of matrix and represents a share of 0 in the i-th row of matrix . Furthermore, we define two functions and , where maps a row of matrix to an attribute and maps a row of matrix to an attribute authority. The data owner chooses a random element and computes the components of the ciphertext of the IoT data F as follows:The data owner outputs the IoT data ciphertext and subsequently uploads the ciphertext to the cloud computing platform for storage. The upload is in the form of , and a successful upload will return a storage address .
- : The data owner extracts a collection of keywords from the IoT data F and then encrypts these keywords. The data owner selects random numbers and calculates the components of the data index as follows:The data owner outputs the multi-keyword index:Finally, the data owner submits the data index and storage address to the blockchain in the form of .
5.3. Data Searching
- : The data user generates a search trapdoor using the keywords of interest . The algorithm randomly chooses and computes the components of the search trapdoor as below:The data user outputs the multi-keyword search trapdoor:
- : This progress is implemented by a smart contract, taking the data index and search trapdoor as inputs. The consensus node executes the smart contract to validate the subsequent equation after receiving a search mechanism from the data user:Upon equation satisfaction, the process transmits the storage address of the ciphertext to the data user and returns 1. Conversely, the equation produces 0 if it is not valid to indicate a failed search.
5.4. Data Decryption
- : The cloud computing platform runs this algorithm to perform complex decryption operations representing the data user. The algorithm will terminate if the attributes of the data user do not match the access policy. Otherwise, the attribute set satisfying the data access structure is . For each element , the cloud computing center calculates as follows:The cloud computing center calculates a set of constants , such that and . Combining the constants , the cloud computing center performs the following calculation:Then, we output the partially decrypted ciphertext:Finally, the cloud computing platform sends to the data user.
- : This algorithm is implemented by the data user, utilizing its private key and partially decrypted ciphertext as inputs. The algorithm decrypts plaintext data through the following computation:
6. Security Analysis
6.1. Correctness
6.1.1. Search Matching Algorithm
6.1.2. Data Decryption Algorithm
6.2. Static Security
- Init: generates public parameters using the of q-DPBDHE2 problem challenger and sends them to .
- Query–Attacker: specifies a collection of compromised attribute authorities denoted as , uncorrupted attribute authorities denoted as , already queried attribute sets , two plaintexts of the same length , and the access policy to be challenged. and are represented as random oracles, and specifies the identity set for querying and the attribute set for querying .
- Query–Public Key of Attribute Authorities: converts to , where , and responds to ’s query for the public key of the attribute authorities as follows:
- If the queried attribute authority is not in the access policy , that is, , then sends to , where .
- If the queried attribute authority is in the access policy and its managed matrix rows are denoted as , then randomly selects and sets
Finally, sends to . - Query–: Depending on the different conditions satisfied by the queried identity identifier and attribute set, responds to ’s query in the following situations:
- If and , responds to ’s query with a random element from the group .
- If and , randomly selects and sets the following:
- If and , there exists a set of matrix rows such that , and this set of matrix rows can be seen as managed by the corrupted attribute authorities. There exists a vector with the first element being 0 satisfying . In addition, this vector is orthogonal to the corrupted matrix rows. chooses a random element and sets the following:
Finally, sends to . - Query–: Let be an attribute authority managing an attribute in . responds to ’s query based on the following:
- If or , responds to ’s query with a random element from the group .
- If , then the matrix rows controlled by this attribute authority are denoted as . randomly selects and sets the following:
Finally, sends to . - Query–Attribute Decryption Key: submits an attribute set to . For an attribute , responds to ’s query according to the following situations:
- (a)
- If the attribute authority of attribute is not in the access policy , randomly selects and outputs the following:
- (b)
- If the attribute authority of attribute is in the access policy but , the matrix rows controlled by this attribute authority are denoted as . sets and computes the following:
- (c)
- If the attribute authority of attribute is in the access policy and , sets and calculates the following:
- Query–Ciphertext: calculates ; then, it constructs two vectors and computes the ciphertext components based on the following situations:
- (a)
- For the matrix rows controlled by the corrupted attribute authority in the access structure , there exists , . computes the corresponding ciphertext components:
- (b)
- For the normal matrix rows in the access structure , there exists . computes the corresponding ciphertext components:
- Guess: outputs its guess . If , then returns ; otherwise, . According to the security game rules mentioned above, cannot easily compute based on the known information. Although is known, the q-DPBDHE2 problem remains difficult since .
6.3. IND-CKA Security
- Init: The simulator generates public parameters and transmits them to the attacker .
- Phase 1: The attacker performs a trapdoor search query by submitting a collection of keywords to the simulator . The simulator selects a random element and runs the to create a search trapdoor that is linked to :
- Challenge: The simulator is sent two keyword sets by the attacker that are not interrogated in Phase 1. The simulator then runs the to arbitrarily encrypt a keyword set in .
- Phase 2: The attacker can continue the query in Phase 1, but it is prohibited from querying the search trapdoor of or .
- Guess: The attacker outputs its conjecture . If , the adversary prevails in the aforementioned security game. The adversary has an advantage of in differentiating between and if it can succeed in the IND-CKA security game with an advantage of , where . The advantage of the attacker in differentiating between and is tantamount to the benefit of differentiating between and . Due to the difficulty of the DBDH problem, the advantage can be neglected.
7. Performance and Evaluation
7.1. Functionality Comparison
7.2. Storage Overhead
7.3. Computational Overhead
7.4. Experimental Analysis
- OS: Ubuntu 22.04 64-bit (6.8.0-60-generic) (Canonical Ltd., London, UK);
- CPU: Intel(R) Core(TM) i5-12500H @ 2.50 GHz (Intel Corporation, Santa Clara, CA, USA);
- RAM: Samsung DDR4-3200 16 GB (Samsung Electronics Co., Ltd., Suwon, Republic of Korea);
- MB: HONOR GLO-FX6-PCB (M1020)/BIOS 1.13 (Honor Device Co., Ltd., Shenzhen, China);
- HDD: Samsung SSD 980 PRO 1 TB (Samsung Electronics Co., Ltd., Suwon, Republic of Korea).
8. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
References
- Xu, L.D.; He, W.; Li, S. Internet of things in industries: A survey. IEEE Trans. Ind. Inform. 2014, 10, 2233–2243. [Google Scholar] [CrossRef]
- Goswami, S.A.; Padhya, B.P.; Patel, K.D. Internet of things: Applications, challenges and research issues. In Proceedings of the 2019 Third International Conference on I-SMAC (IoT in Social, Mobile, Analytics and Cloud) (I-SMAC), Palladam, India, 12–14 December 2019; IEEE: New York, NY, USA, 2019; pp. 47–50. [Google Scholar]
- Secrecy Science and Technology. A Review of the Security Situation in the Internet of Things; Secrecy Science and Technology: Beijing, China, 2018; pp. 12–20. [Google Scholar]
- Bo, L.; Lian, S. Analysis of the Internet of Things Security Defense System and Research on Security Issues in the 5G mMTC Scenario; Communication & Information Technology: Chengdu, China, 2024; pp. 36–41. [Google Scholar]
- Zhang, Y.Q.; Wang, X.F.; Liu, X.F.; Liu, L. Survey on cloud computing security. J. Softw. 2016, 27, 1328–1348. [Google Scholar]
- Boneh, D.; Di Crescenzo, G.; Ostrovsky, R.; Persiano, G. Public key encryption with keyword search. In Proceedings of the International Conference on the Theory and Applications of Cryptographic Techniques, Interlaken, Switzerland, 2–6 May 2004; Springer: Berlin/Heidelberg, Germany, 2004; pp. 506–522. [Google Scholar]
- Niaz, M.S.; Saake, G. Forward secure searchable symmetric encryption. In Proceedings of the 2017 12th International Conference for Internet Technology and Secured Transactions (ICITST), Cambridge, UK, 11–14 December 2017; IEEE: New York, NY, USA, 2017; pp. 49–54. [Google Scholar]
- Li, M.; Jia, W.; Guo, C.; Sun, W.; Tan, X. LPSSE: Lightweight phrase search with symmetric searchable encryption in cloud storage. In Proceedings of the 2015 12th International Conference on Information Technology-New Generations, Las Vegas, NV, USA, 13–15 April 2015; IEEE: New York, NY, USA, 2015; pp. 174–178. [Google Scholar]
- Caldarola, F.; d’Atri, G.; Zanardo, E. Neural fairness blockchain protocol using an elliptic curves lottery. Mathematics 2022, 10, 3040. [Google Scholar] [CrossRef]
- Khader, D. Introduction to attribute based searchable encryption. In Proceedings of the IFIP International Conference on Communications and Multimedia Security, Aveiro, Portugal, 25–26 September 2014; Springer: Berlin/Heidelberg, Germany, 2014; pp. 131–135. [Google Scholar]
- Zheng, Q.; Xu, S.; Ateniese, G. VABKS: Verifiable attribute-based keyword search over outsourced encrypted data. In Proceedings of the IEEE INFOCOM 2014-IEEE Conference on Computer Communications, Toronto, ON, Canada, 27 April–2 May 2014; IEEE: New York, NY, USA, 2014; pp. 522–530. [Google Scholar]
- Ali, M.; Sadeghi, M.R.; Liu, X.; Miao, Y.; Vasilakos, A.V. Verifiable online/offline multi-keyword search for cloud-assisted industrial internet of things. J. Inf. Secur. Appl. 2022, 65, 103101. [Google Scholar] [CrossRef]
- Zhou, R.; Zhang, X.; Wang, X.; Yang, G.; Dai, H.N.; Liu, M. Device-oriented keyword-searchable encryption scheme for cloud-assisted industrial IoT. IEEE Internet Things J. 2021, 9, 17098–17109. [Google Scholar] [CrossRef]
- Yin, H.; Zhang, W.; Deng, H.; Qin, Z.; Li, K. An attribute-based searchable encryption scheme for cloud-assisted IIoT. IEEE Internet Things J. 2023, 10, 11014–11023. [Google Scholar] [CrossRef]
- Chase, M. Multi-authority attribute based encryption. In Proceedings of the Theory of Cryptography Conference, Amsterdam, The Netherlands, 21–24 February 2007; Springer: Berlin/Heidelberg, Germany, 2007; pp. 515–534. [Google Scholar]
- Chase, M.; Chow, S.S. Improving privacy and security in multi-authority attribute-based encryption. In Proceedings of the 16th ACM Conference on Computer and Communications Security, Chicago, IL, USA, 9–13 November 2009; pp. 121–130. [Google Scholar]
- Liu, Z.; Cao, Z.; Huang, Q.; Wong, D.S.; Yuen, T.H. Fully secure multi-authority ciphertext-policy attribute-based encryption without random oracles. In Proceedings of the European Symposium on Research in Computer Security, Leuven, Belgium, 12–14 September 2011; Springer: Berlin/Heidelberg, Germany, 2011; pp. 278–297. [Google Scholar]
- Lewko, A.; Waters, B. Decentralizing attribute-based encryption. In Proceedings of the Annual International Conference on the Theory and Applications of Cryptographic Techniques, Tallinn, Estonia, 15–19 May 2011; Springer: Berlin/Heidelberg, Germany, 2011; pp. 568–588. [Google Scholar]
- Zhou, S.; Chen, G.; Huang, G.; Shi, J.; Kong, T. Research on multi-authority CP-ABE access control model in multicloud. China Commun. 2020, 17, 220–233. [Google Scholar] [CrossRef]
- Huang, K. Multi-authority attribute-based encryption for resource-constrained users in edge computing. In Proceedings of the 2019 International Conference on Information Technology and Computer Application (ITCA), Guangzhou, China, 20–22 December 2019; IEEE: New York, NY, USA, 2019; pp. 323–326. [Google Scholar]
- Guo, C.; Peng, T.; Zhang, J.; Yang, Y.; Luo, Y.; Zhu, G. A lightweight pairing-free multi-authority cp-abe scheme for cloud-edge-assisted iot. In Proceedings of the 2024 9th International Conference on Computer and Communication Systems (ICCCS), Xi’an, China, 19–22 April 2024; IEEE: New York, NY, USA, 2024; pp. 991–996. [Google Scholar]
- Zhang, K.; Long, J.; Wang, X.; Dai, H.N.; Liang, K.; Imran, M. Lightweight searchable encryption protocol for industrial internet of things. IEEE Trans. Ind. Inform. 2020, 17, 4248–4259. [Google Scholar] [CrossRef]
- Dabra, M.; Gupta, B.B.; Li, K.C.; Leung, V.C.; Psannis, K.E.; Yamaguchi, S. Blockchain-assisted secure fine-grained searchable encryption for a cloud-based healthcare cyber-physical system. IEEE/CAA J. Autom. Sin. 2021, 8, 1877–1890. [Google Scholar]
- Meng, F.; Cheng, L.; Wang, M. ABDKS: Attribute-based encryption with dynamic keyword search in fog computing. Front. Comput. Sci. 2021, 15, 155810. [Google Scholar] [CrossRef]
- Chaudhari, P.; Das, M.L. Privacy preserving searchable encryption with fine-grained access control. IEEE Trans. Cloud Comput. 2019, 9, 753–762. [Google Scholar] [CrossRef]
- Yin, H.; Li, Y.; Li, F.; Deng, H.; Zhang, W.; Li, K. An efficient and access policy-hiding keyword search and data sharing scheme in cloud-assisted IoT. J. Syst. Archit. 2022, 128, 102533. [Google Scholar] [CrossRef]
- Su, J.; Zhang, L.; Mu, Y. BA-RMKABSE: Blockchain-aided ranked multi-keyword attribute-based searchable encryption with hiding policy for smart health system. Future Gener. Comput. Syst. 2022, 132, 299–309. [Google Scholar] [CrossRef]
- Gao, H.; Huang, H.; Xue, L.; Xiao, F.; Li, Q. Blockchain-enabled fine-grained searchable encryption with cloud–edge computing for electronic health records sharing. IEEE Internet Things J. 2023, 10, 18414–18425. [Google Scholar] [CrossRef]
Notation | Definition |
---|---|
Public parameters | |
Global identifiers | |
Identifiers of attribute authorities | |
Identifiers of data user and data owner | |
U | Attribute universe |
S | Attribute set |
Attribute set managed by the attribute authority belongs to the data user | |
Master secret key pair of authority | |
Attribute decryption key for user from authority | |
Ciphertext of the IoT data | |
Storage address | |
Data index | |
Search trapdoor generated by data user | |
Semi-decrypted ciphertext generated by cloud | |
The data access policy | |
A function that maps a row of matrix to an attribute | |
A function that maps a row of matrix to an attribute authority | |
The quantity of user attributes | |
k | The quantity of attributes in the access policy |
The quantities of keywords derived from the plaintext and contained in search trapdoor | |
The exponential operations on groups and bilinear pairing operations | |
The lengths of elements in group , and |
[22] | [24] | [25] | [26] | [27] | [23] | [28] | Ours | |
---|---|---|---|---|---|---|---|---|
Attribute authority | multiple | single | single | single | single | multiple | single | multiple |
Access structure | LSSS | Tree | AND | LSSS | LSSS | LSSS | LSSS | LSSS |
Multiple keywords | ✓ | ✓ | × | × | ✓ | × | × | ✓ |
Results verification | × | × | × | × | ✓ | × | ✓ | ✓ |
Blockchain | × | × | × | × | ✓ | ✓ | ✓ | ✓ |
Data storage | cloud | cloud | cloud | cloud | cloud | cloud | cloud | cloud |
Security model | IND-CPA, IND-CKA | IND-CPA, IND-CKA | IND-CP-CKA | ACKSA | IND-CKA | CKA | CKA | static, IND-CKA |
[24] | [26] | [27] | Ours | |
---|---|---|---|---|
Attribute decryption key | ||||
Data index | ||||
Search trapdoor | ||||
Partially decrypted ciphertext | - | |||
Ciphertext |
Operation | SS512 (ms) | MNT159 (ms) | MNT201 (ms) |
---|---|---|---|
0.85806 | 0.31256 | 0.43513 | |
0.86236 | 2.92539 | 3.67335 | |
0.08363 | 0.70905 | 0.82113 | |
P | 0.63634 | 2.25567 | 2.70392 |
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. |
© 2025 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Zhang, F.; Xia, X.; Gao, H.; Ma, Z.; Chen, X. A Blockchain-Enabled Multi-Authority Secure IoT Data-Sharing Scheme with Attribute-Based Searchable Encryption for Intelligent Systems. Sensors 2025, 25, 5944. https://doi.org/10.3390/s25195944
Zhang F, Xia X, Gao H, Ma Z, Chen X. A Blockchain-Enabled Multi-Authority Secure IoT Data-Sharing Scheme with Attribute-Based Searchable Encryption for Intelligent Systems. Sensors. 2025; 25(19):5944. https://doi.org/10.3390/s25195944
Chicago/Turabian StyleZhang, Fu, Xueyi Xia, Hongmin Gao, Zhaofeng Ma, and Xiubo Chen. 2025. "A Blockchain-Enabled Multi-Authority Secure IoT Data-Sharing Scheme with Attribute-Based Searchable Encryption for Intelligent Systems" Sensors 25, no. 19: 5944. https://doi.org/10.3390/s25195944
APA StyleZhang, F., Xia, X., Gao, H., Ma, Z., & Chen, X. (2025). A Blockchain-Enabled Multi-Authority Secure IoT Data-Sharing Scheme with Attribute-Based Searchable Encryption for Intelligent Systems. Sensors, 25(19), 5944. https://doi.org/10.3390/s25195944