Hierarchical Blockchain-Based Multi-Chaincode Access Control for Securing IoT Systems
Abstract
:1. Introduction
- We propose a multi-layer blockchain-based solution for protecting the privacy and security of IoT systems and enhancing system scalability. The solution achieves a light-weight security mechanism by adopting a local private blockchain to meet the IoT requirements;
- Multiple-chaincode-based access control is used to guarantee secure communication with different entities without Trusting Third Parties (TTP);
- We evaluate our solution by conducting a prototype implementation. The results show that our system is more effective and efficient in terms of transaction latency and throughput; we also perform a security analysis of the proposed solution along with other current studies in the literature.
2. Literature Sources Review
2.1. Background
2.1.1. Blockchain
- Decentralization: The nature of the decentralization of the blockchain empowers all the network participants to participate in the approving process of the transactions, in contrast to the centralized systems in which the transaction processes are approved by a single administrator;
- Security: Blockchain technology is immutable, and the records cannot be modified until approved by the majority of the blockchain network members;
- Traceability: Each participant in a blockchain network has the same transactions recorded in the ledger; therefore, it can be audited easily. A timestamp is assigned to each transaction to ensure its traceability;
- Trust: Blockchain network participants rely on the P2P network to interact with each other, rather than relying on third parties to secure transactions.
2.1.2. Hyperledger Fabric
- Peers and clients: Peers are the nodes that make up the Hyperledger Fabric network and host the chaincode and ledger. There are two types of peers: endorsing peers are responsible for identifying and endorsing transactions by checking which node generated them before submitting them to a committing peer. The committing peer is responsible for validating transactions and committing them to the ledger. A client is an entity that can interact with the peers in order to submit transactions. In general, clients are applications created by a Software Development Kit (SDK) or a Command Line Interface (CLI);
- Endorsement policies: Hyperledger Fabric uses endorsement policies that define how many organizations would need to validate transactions to accept other members of the network to store a copy on their ledger. Logic expressions are used to formulate endorsement policies, such as AND (‘Org1.p1’, ‘Org2.p2’), which means that any transaction must be endorsed by both Org1.p1 and Org2.p2;
- Chaincode: The smart contract of the Hyperledger Fabric platform is called a chaincode. It can be defined as a set of programs written in languages such as Go or Java and which controls transactions in the blockchain. We utilize the terms “chaincodes” and “smart contracts” interchangeably. The chaincode allows for interactions with the transactional parties according to the terms and rules defined in the smart contract;
- Channels: In order to achieve data confidentiality and privacy, this platform uses channels that provide an isolated communication scheme to the various organizations of the blockchain network. Furthermore, organizations can join various blockchain networks through multiple channels;
- Ordering Service (Orderer): This is a group of nodes that are responsible for packaging the transactions into blocks and distributing them to the P2P network. In order to commit blocks in the local ledger of each peer, it must be verified by the peers;
- Certificate Authorities (CA): This issues certificates to the network members, such as the nodes and administrators. The certificates are used to identify the components of a particular organization and to sign a transaction. Hyperledger Fabric may contain various organizations, and each organization has many members. Thus, the certificate mapping for members of the organization can be reached through the Membership Service Provider (MSP).
2.1.3. Blockchain-Based Access Control
2.2. Related Work
3. Proposed Hierarchical Blockchain Architecture-Based Access Control for IoT Systems
3.1. Main Parts of The System
3.1.1. Edge Blockchain Manager (EBCM)
3.1.2. Aggregated Edge Blockchain Manager (AEBCM)
3.1.3. Cloud Consortium Blockchain Manager (CCBCM)
3.2. Use Case: Smart Vehicle
3.2.1. Storing and Accessing IoT Data
Algorithm 1 EBCM |
Require: AccessRequest, Signature |
Ensure: Store/Resource, Denied |
|
Algorithm 2 CCBCM |
Require: AccessRequest, Signature |
Ensure: Resource, Access-denied |
|
3.2.2. Smart Contract and Transaction Processing
3.2.3. Attribute-Based AC Model
4. Simulation Analysis and Results
4.1. Development Environment
4.2. Performance Evaluation
4.2.1. Performance Analysis Based on Send Rates
4.2.2. Performance Analysis Based on User Groups
4.3. Comparative and Significance Analysis
4.4. Security Analysis
- Confidentiality means only authorized users are allowed to access a resource. In our framework, communication between subjects and objects is protected by public key encryption;
- A system with integrity protects the data against modification by unauthorized users. In our architecture, the system inherits the tamper-proof feature from blockchain technology. Consequently, all transactions in the system persist and cannot be modified by an unauthorized entity. The hash function guarantees data integrity, and each blockchain’s blocks include the hash value of the preceding block. Therefore, any change in data integrity through the verification process is easily detectable;
- Availability ensures that the data or service is made available for authenticated entities. In our system, every identity is approved and verified. In addition, our framework prevents any identity from exhibiting malicious behavior by dropping their transaction, because our system is based on the permissioned blockchain, which means that all members of the network are known. Furthermore, the blockchain replication feature ensures availability while each node of the blockchain has kept a copy of the ledger and is synchronized by replication.
5. Conclusions
Author Contributions
Funding
Conflicts of Interest
Abbreviations
IoT | Internet of Things |
ABAC | Attribute-Based Access Control |
MAC | Mandatory Access Control |
DAC | Discretionary Access Control |
RBAC | Role-based Access Control |
EBCM | Edge Blockchain Manager |
AEBCM | Aggregated Edge Blockchain Manager |
CCBCM | Cloud Consortium Blockchain Manager |
P2P | Peer-to-Peer |
PoW | Proof of Work |
PBFT | Practical Byzantine Fault Tolerance |
SDK | Software Development Kit |
CLI | Command Line Interface |
CA | Certificate Authorities |
MSP | Member Service Provider |
CapBAC | Capability-Based Access Control |
IPFS | Inter-Planetary File System |
PoS | Proof of Stake |
TTP | Trusting Third Parties |
BC | Blockchain |
Tracc | Access Transaction |
Trstore | Store Transaction |
R.prv | Requester’s Private Key |
R.pub | Requester’s Public Key |
ms | Milliseconds |
DoS | Denial of Service |
DDoS | Distributed Denial of Service |
HLF | Hyperledger Fabric |
ABIs | Application Binary Interfaces |
References
- Hassija, V.; Chamola, V.; Saxena, V.; Jain, D.; Goyal, P.; Sikdar, B. A survey on IoT security: Application areas, security threats, and solution architectures. IEEE Access 2019, 7, 82721–82743. [Google Scholar] [CrossRef]
- Denning, D.E. A lattice model of secure information flow. Commun. ACM 1976, 19, 236–243. [Google Scholar] [CrossRef]
- Downs, D.D.; Rub, J.R.; Kung, K.C.; Jordan, C.S. Issues in Discretionary Access Control. In Proceedings of the 1985 IEEE Symposium on Security and Privacy, Oakland, CA, USA, 22–24 April 1985; p. 208. [Google Scholar] [CrossRef]
- Sandhu, R.S. Role-based access control. Adv. Comput. 1998, 46, 237–286. [Google Scholar]
- Ouaddah, A.; Mousannif, H.; Abou Elkalam, A.; Ouahman, A.A. Access control in the Internet of Things: Big challenges and new opportunities. Comput. Netw. 2017, 112, 237–262. [Google Scholar] [CrossRef]
- Nakamoto, S.; Bitcoin, A. A Peer-to-Peer Electronic Cash System. 2008. Available online: https://bitcoin.org/bitcoin.pdf (accessed on 20 October 2021).
- Hassan, M.U.; Rehmani, M.H.; Chen, J. Privacy preservation in blockchain based IoT systems: Integration issues, prospects, challenges, and future research directions. Future Gener. Comput. Syst. 2019, 97, 512–529. [Google Scholar] [CrossRef]
- Abdi, A.I.; Eassa, F.E.; Jambi, K.; Almarhabi, K.; AL-Ghamdi, A.S.A. Blockchain Platforms and Access Control Classification for IoT Systems. Symmetry 2020, 12, 1663. [Google Scholar] [CrossRef]
- Xu, X.; Weber, I.; Staples, M.; Zhu, L.; Bosch, J.; Bass, L.; Pautasso, C.; Rimba, P. A taxonomy of blockchain-based systems for architecture design. In Proceedings of the 2017 IEEE International Conference on Software Architecture (ICSA), Gothenburg, Sweden, 3–7 April 2017; pp. 243–252. [Google Scholar]
- Androulaki, E.; Barger, A.; Bortnikov, V.; Cachin, C.; Christidis, K.; De Caro, A.; Enyeart, D.; Ferris, C.; Laventman, G.; Manevich, Y.; et al. Hyperledger fabric: A distributed operating system for permissioned blockchains. In Proceedings of the Thirteenth EuroSys Conference ACM, Porto, Portugal, 23–26 April 2018; pp. 1–15. [Google Scholar]
- Hu, V.C.; Ferraiolo, D.; Kuhn, R.; Friedman, A.R.; Lang, A.J.; Cogdell, M.M.; Schnitzer, A.; Sandlin, K.; Miller, R.; Scarfone, K. Guide to Attribute Based Access Control (ABAC) Definition and Considerations (Draft). NIST Spec. Publ. 2013, 800, 1–54. [Google Scholar]
- Ouaddah, A.; Abou Elkalam, A.; Ait Ouahman, A. FairAccess: A new Blockchain-based access control framework for the Internet of Things. Secur. Commun. Netw. 2016, 9, 5943–5964. [Google Scholar] [CrossRef]
- Xue, J.; Xu, C.; Zhang, Y. Private Blockchain-Based Secure Access Control for Smart Home Systems. KSII Trans. Internet Inf. Syst. 2018, 12, 6057–6078. [Google Scholar]
- Xu, R.; Chen, Y.; Blasch, E.; Chen, G. BlendCAC: A smart contract enabled decentralized capability-based access control mechanism for the IoT. Computers 2018, 7, 39. [Google Scholar] [CrossRef] [Green Version]
- Novo, O. Blockchain meets IoT: An architecture for scalable access management in IoT. IEEE Internet Things J. 2018, 5, 1184–1195. [Google Scholar] [CrossRef]
- Huang, Z.; Su, X.; Zhang, Y.; Shi, C.; Zhang, H.; Xie, L. A decentralized solution for IoT data trusted exchange based-on blockchain. In Proceedings of the 2017 3rd IEEE International Conference on Computer and Communications (ICCC), Chengdu, China, 13–16 December 2017; pp. 1180–1184. [Google Scholar]
- Ali, M.S.; Dolui, K.; Antonelli, F. IoT data privacy via blockchains and IPFS. In Proceedings of the Seventh International Conference on the Internet of Things, Linz, Austria, 22–25 October 2017; pp. 1–7. [Google Scholar]
- Jo, B.W.; Khan, R.M.A.; Lee, Y.S. Hybrid blockchain and internet-of-things network for underground structure health monitoring. Sensors 2018, 18, 4268. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Zhang, Y.; Kasahara, S.; Shen, Y.; Jiang, X.; Wan, J. Smart contract-based access control for the internet of things. IEEE Internet Things J. 2018, 6, 1594–1605. [Google Scholar] [CrossRef] [Green Version]
- Dukkipati, C.; Zhang, Y.; Cheng, L.C. Decentralized, BlockChain Based Access Control Framework for the Heterogeneous Internet of Things. In Proceedings of the Third ACM Workshop on Attribute-Based Access Control, Tempe, AZ, USA, 19–21 March 2018; pp. 61–69. [Google Scholar]
- Dorri, A.; Kanhere, S.S.; Jurdak, R.; Gauravaram, P. Blockchain for IoT security and privacy: The case study of a smart home. In Proceedings of the 2017 IEEE International Conference on Pervasive Computing and Communications Workshops (PerCom Workshops), Kona, HI, USA, 13–17 March 2017; pp. 618–623. [Google Scholar]
- Dorri, A.; Kanhere, S.S.; Jurdak, R. Towards an Optimized BlockChain for IoT. In Proceedings of the 2017 IEEE/ACM Second International Conference on Internet-of-Things Design and Implementation (IoTDI), Pittsburgh, PA, USA, 18–21 April 2017; pp. 173–178. [Google Scholar]
- Maesa, D.D.F.; Mori, P.; Ricci, L. Blockchain based access control. In Distributed Applications and Interoperable Systems; Chen, L.Y., Reiser, H.P., Eds.; Springer: Berlin/Heidelberg, Germany, 2017; pp. 206–220. [Google Scholar]
- Cruz, J.P.; Kaji, Y.; Yanai, N. RBAC-SC: Role-Based Access Control Using Smart Contract. IEEE Access 2018, 6, 12240–12251. [Google Scholar] [CrossRef]
- Al Breiki, H.; Al Qassem, L.; Salah, K.; Rehman, M.H.U.; Sevtinovic, D. Decentralized Access Control for IoT Data Using Blockchain and Trusted Oracles. In Proceedings of the 2019 IEEE International Conference on Industrial Internet (ICII), Orlando, FL, USA, 11–12 November 2019; pp. 248–257. [Google Scholar]
- Uddin, M.A.; Stranieri, A.; Gondal, I.; Balasurbramanian, V. A Lightweight Blockchain Based Framework for Underwater IoT. Electronics 2019, 8, 1552. [Google Scholar] [CrossRef] [Green Version]
- Ye, H.; Park, S. Reliable Vehicle Data Storage Using Blockchain and IPFS. Electronics 2021, 10, 1130. [Google Scholar] [CrossRef]
- Na, D.; Park, S. Fusion Chain: A Decentralized Lightweight Blockchain for IoT Security and Privacy. Electronics 2021, 10, 391. [Google Scholar] [CrossRef]
- Peng, Z.; Xu, C.; Wang, H.; Huang, J.; Xu, J.; Chu, X. P2B-Trace: Privacy-Preserving Blockchain-Based Contact Tracing to Combat Pandemics. In Proceedings of the 2021 International Conference on Management of Data, SIGMOD/PODS’21, China (Virtual Event), 20–25 June 2021; pp. 2389–2393. [Google Scholar]
- Ali, A.; Rahim, H.A.; Pasha, M.F.; Dowsley, R.; Masud, M.; Ali, J.; Baz, M. Security, Privacy, and Reliability in Digital Healthcare Systems Using Blockchain. Electronics 2021, 10, 2034. [Google Scholar] [CrossRef]
- Peng, Z.; Xu, J.; Chu, X.; Gao, S.; Yao, Y.; Gu, R.; Tang, Y. Vfchain: Enabling verifiable and auditable federated learning via blockchain systems. IEEE Trans. Netw. Sci. Eng. 2021, 9, 173–186. [Google Scholar] [CrossRef]
- Joshi, G.P.; Perumal, E.; Shankar, K.; Tariq, U.; Ahmad, T.; Ibrahim, A. Toward Blockchain-Enabled Privacy-Preserving Data Transmission in Cluster-Based Vehicular Networks. Electronics 2021, 9, 1358. [Google Scholar] [CrossRef]
- Wu, H.; Peng, Z.; Guo, S.; Yang, Y.; Xiao, B. VQL: Efficient and Verifiable Cloud Query Services for Blockchain Systems. IEEE Trans. Parallel Distrib. Syst. 2022, 33, 1393–1406. [Google Scholar] [CrossRef]
- Wood, G. Ethereum: A secure decentralised generalised transaction ledger. Ethereum Proj. Yellow Pap. 2014, 151, 1–32. [Google Scholar]
- Kousaridas, A.; Falangitis, S.; Magdalinos, P.; Alonistioti, N.; Dillinger, M. SYSTAS: Density-based algorithm for clusters discovery in wireless networks. In Proceedings of the 2015 IEEE 26th Annual International Symposium on Personal, Indoor, and Mobile Radio Communications (PIMRC), Hong Kong, China, 30 August–2 September 2015; pp. 2126–2131. [Google Scholar]
- Szabo, N. Formalizing and securing relationships on public networks. First Monday 1997, 2. [Google Scholar] [CrossRef]
- Hyperledger Caliper—Hyperledger. Available online: https://www.hyperledger.org/use/caliper (accessed on 20 November 2021).
- Performance, Hyperledger and Scale Working Group and others. Available online: https://www.hyperledger.org/wp-content/uploads/2018/10/HL_Whitepaper_Metrics_PDF_V1.01.pdf (accessed on 15 December 2021).
- Komninos, N.; Philippou, E.; Pitsillides, A. Survey in Smart Grid and Smart Home Security: Issues, Challenges and Countermeasures. IEEE Commun. Surv. Tutorials 2014, 16, 1933–1954. [Google Scholar] [CrossRef]
References | Auto-Policy Enforcement | On-Chain Policy Management | Security | Fee-less | Privacy Protection | Trustworthy (without TTP) | Scalability |
---|---|---|---|---|---|---|---|
Maesa et al. [23] | No | No | Yes | No | No | Yes | No |
Novo [15] | Yes | Yes | Yes | No | Yes | Yes | Yes |
Ouaddah et al. [12] | No | Yes | Yes | No | Yes | Yes | No |
Dukkipati et al. [20] | Yes | No | Yes | Yes | Yes | No | No |
Uddin et al. [26] | No | Yes | Yes | No | Yes | Yes | Yes |
Ali et al. [17] | Yes | Yes | Yes | No | Yes | Yes | Yes |
Dorri [22] | No | Yes | Yes | Yes | Yes | Yes | Yes |
Proposed system | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 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
Abdi, A.I.; Eassa, F.E.; Jambi, K.; Almarhabi, K.; Khemakhem, M.; Basuhail, A.; Yamin, M. Hierarchical Blockchain-Based Multi-Chaincode Access Control for Securing IoT Systems. Electronics 2022, 11, 711. https://doi.org/10.3390/electronics11050711
Abdi AI, Eassa FE, Jambi K, Almarhabi K, Khemakhem M, Basuhail A, Yamin M. Hierarchical Blockchain-Based Multi-Chaincode Access Control for Securing IoT Systems. Electronics. 2022; 11(5):711. https://doi.org/10.3390/electronics11050711
Chicago/Turabian StyleAbdi, Adam Ibrahim, Fathy Elbouraey Eassa, Kamal Jambi, Khalid Almarhabi, Maher Khemakhem, Abdullah Basuhail, and Mohammad Yamin. 2022. "Hierarchical Blockchain-Based Multi-Chaincode Access Control for Securing IoT Systems" Electronics 11, no. 5: 711. https://doi.org/10.3390/electronics11050711
APA StyleAbdi, A. I., Eassa, F. E., Jambi, K., Almarhabi, K., Khemakhem, M., Basuhail, A., & Yamin, M. (2022). Hierarchical Blockchain-Based Multi-Chaincode Access Control for Securing IoT Systems. Electronics, 11(5), 711. https://doi.org/10.3390/electronics11050711