IoT Access Control Model Based on Blockchain and Trusted Execution Environment
Abstract
:1. Introduction
2. Related Work
2.1. Internet of Things and Access Control
2.2. Blockchain-Based Internet of Things Access Control
2.3. Trusted Execution Environment and Blockchain
3. CcBAC Access Control Model
- (1)
- Only the owner has the authority to create, update, and revoke Ccoin;
- (2)
- The current Ccoin holder can transfer Ccoin freely to other participants;
- (3)
- Ccoin exchange is only permitted when conditions defined in the access policy are met, and access activities must strictly follow the policy;
- (4)
- All access activities are recorded on the chain for audit.
4. CcBAC System Implementation
4.1. Basic Elements and Functions
Algorithm 1 (createCcoin) Create a new Ccoin. |
Input: _device, _policy |
Output: tokenId |
1: Generate new tokenId |
2: Require !_exists(tokenId) |
3: Set owner BCA address of tokenId = msg.sender |
4: Set holder BCA address of tokenId = msg.sender |
5: Set device BCA address of tokenId = _device |
6: Set policy of tokenId = _policy |
7: Set timestamp = block timestamp |
8: Set isValid of tokenId = 1 |
9: Return tokenId |
Algorithm 2 (transferFrom) Transfer Ccoin to other participants. |
Input: _oldHolder, _newHolder, _tokenId 1: Require holder BCA address of tokenId == msg.sender 2: Set holder BCA address of tokenId == _newHolder 3: Send event Transfer |
Algorithm 3(updatePolicy) Modify the access policy of Ccoin. |
Input: _newPolicy, _tokenId 1: Require owner BCA address of _tokenId == msg.sender 2: Set policy of tokenId = _newPolicy 3: Send event PolicyModified |
Algorithm 4 (revokeCcoin) Revoke a Ccoin. |
Input: _tokenId 1: Require owner BCA address of _tokenId == msg.sender 2: Require _exists(tokenId) 3: Set isValid of tokenId = false 4: Send event RevokeCcoin |
Algorithm 5 (redeemCcoin) Redeem resources using Ccoin. |
Input: _tokenId 1: Require holder BCA address of _tokenId == msg.sender 2: transferFrom(msg.sender, device BCA address of _tokenId, tokenId) 3: If policyCheck(_tokenId) == true 4: then Set isValid of tokenId = false 5: And Send event AccessAllowed 6: else Send event AccessDenied |
Algorithm 6 (policyCheck) Check if the current digital or physical environment satisfies the redemption conditions defined in the access policy. |
Input: _tokenId 1: Require device BCA address of _tokenId == msg.sender 2: if device.getParam ⊆ _policy of _tokenId 3: then Return true 4: else Send event DissatisfyPolicy 5: and Return false |
4.2. Workflow
5. Experiment Simulation and Analysis
5.1. Experiment Analysis
- (1)
- Adaptive Analysis
- (2)
- Performance Analysis
- (3)
- Performance Comparison
5.2. Security Analysis
5.3. Comparative Analysis
6. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
References
- Alwarafy, A.; Al-Thelaya, K.A.; Abdallah, M.; Schneider, J.; Hamdi, M. A survey on security and privacy issues in edge-computing-assisted internet of things. IEEE Internet Things J. 2020, 8, 4004–4022. [Google Scholar] [CrossRef]
- Yang, Y.Y.; Zhou, W.; Zhao, S.R.; Liu, C.; Zhang, Y.; Wang, H.; Wang, W.; Zhang, Y. Survey of IoT security research: Threats, detection and defense. J. Commun. 2021, 42, 188–205. [Google Scholar]
- Meneghello, F.; Calore, M.; Zucchetto, D.; Polese, M.; Zanella, A. IoT: Internet of threats? A survey of practical security vulnerabilities in real IoT devices. IEEE Internet Things J. 2019, 6, 8182–8201. [Google Scholar] [CrossRef]
- Shuqin, Z.; Guangyao, B.; Hong, L.; Minzhi, Z. IoT Security Knowledge Reasoning Method of Multi-Source Data Fusion. J. Comput. Res. Dev. 2022, 59, 2735–2749. [Google Scholar]
- Liu, Q.; Jin, Z.; Chen, C.; Gao, X.; Zheng, N.; Fang, Y.; Feng, Y. Survey on Internet of Things Access Control Security. J. Comput. Res. Dev. 2022, 59, 2190–2211. [Google Scholar]
- Ravidas, S.; Lekidis, A.; Paci, F.; Zannone, N. Access control in Internet-of-Things: A survey. J. Netw. Comput. Appl. 2019, 144, 79–101. [Google Scholar] [CrossRef]
- Krishna, R.R.; Priyadarshini, A.; Jha, A.V.; Appasani, B.; Srinivasulu, A.; Bizon, N. State-of-the-art review on IoT threats and attacks: Taxonomy, challenges and solutions. Sustainability 2021, 13, 9463. [Google Scholar] [CrossRef]
- Nakamoto, S. Bitcoin: A peer-to-peer electronic cash system. In Decentralized Business Review; Elsevier: Amsterdam, The Netherlands, 2008; p. 21260. [Google Scholar]
- Wang, S.; Ouyang, L.; Yuan, Y.; Ni, X.; Han, X.; Wang, F.-Y. Blockchain-enabled smart contracts: Architecture, applications, and future trends. IEEE Trans. Syst. Man. Cybern. Syst. 2019, 49, 2266–2277. [Google Scholar] [CrossRef]
- Peng, K.; Li, M.; Huang, H.; Wang, C.; Wan, S.; Choo, K.-K.R. Security challenges and opportunities for smart contracts in Internet of Things: A survey. IEEE Internet Things J. 2021, 8, 12004–12020. [Google Scholar] [CrossRef]
- Lin, S.-Y.; Zhang, L.; Li, J.; Ji, L.; Sun, Y. A survey of application research based on blockchain smart contract. Wirel. Netw. 2022, 28, 635–690. [Google Scholar] [CrossRef]
- Rifi, N.; Rachkidi, E.; Agoulmine, N.; Taher, N.C. Towards using blockchain technology for IoT data access protection. In Proceedings of the 2017 IEEE 17th International Conference on Ubiquitous Wireless Broadband (ICUWB), Salamanca, Spain, 12–15 September 2017; pp. 1–5. [Google Scholar] [CrossRef]
- Jemel, M.; Serhrouchni, A. Decentralized access control mechanism with temporal dimension based on blockchain. In Proceedings of the 2017 IEEE 14th International Conference on E-Business Engineering (ICEBE), Shanghai, China, 4–6 November 2017; pp. 177–182. [Google Scholar] [CrossRef]
- Mei, Y. Simplification model construction of internet access control based on blockchain. J. Commun. Univ. China 2017, 24, 7–12. [Google Scholar]
- Xu, R.; Chen, Y.; Blasch, E.; Chen, G. Blendcac: A blockchain-enabled decentralized capability-based access control for iots. In Proceedings of the 2018 IEEE International Conference on Internet of Things (iThings) and IEEE Green Computing and Communications (GreenCom) and IEEE Cyber, Physical and Social Computing (CPSCom) and IEEE Smart Data (SmartData), Halifax, NS, Canada, 30 July–3 August 2018; pp. 1027–1034. [Google Scholar] [CrossRef] [Green Version]
- Qiu, J.; Tian, Z.; Du, C.; Zuo, Q.; Su, S.; Fang, B. A survey on access control in the age of internet of things. IEEE Internet Things J. 2020, 7, 4682–4696. [Google Scholar] [CrossRef]
- Salonikias, S.; Gouglidis, A.; Mavridis, I.; Gritzalis, D. Access control in the industrial internet of things. In Security and Privacy Trends in the Industrial Internet of Things; Springer: Cham, Switzerland, 2019; pp. 95–114. [Google Scholar]
- Rashid, M.; Parah, S.A.; Wani, A.R.; Gupta, S.K. Securing E-Health IoT data on cloud systems using novel extended role based access control model. In Internet of Things (IoT) Concepts and Applications; Springer: Cham, Switzerland, 2020; pp. 473–489. [Google Scholar] [CrossRef]
- Zhang, Y.; Nakanishi, R.; Sasabe, M.; Kasahara, S. Combining IOTA and attribute-based encryption for access control in the Internet of Things. Sensors 2021, 21, 5053. [Google Scholar] [CrossRef]
- Yuan, E.; Tong, J. Attributed based access control (ABAC) for web services. In Proceedings of the IEEE International Conference on Web Services (ICWS’05), Orlando, FL, USA, 11–15 July 2005. [Google Scholar] [CrossRef]
- Smari, W.W.; Clemente, P.; Lalande, J.-F. An extended attribute based access control model with trust and privacy: Application to a collaborative crisis management system. Future Gener. Comput. Syst. 2014, 31, 147–168. [Google Scholar] [CrossRef]
- Bhatt, S.; Pham, T.K.; Gupta, M.; Benson, J.; Park, J.; Sandhu, R. Attribute-based access control for AWS internet of things and secure industries of the future. IEEE Access 2021, 9, 107200–107223. [Google Scholar] [CrossRef]
- Shen, H.; Liu, S. A context-aware capability-based access control framework for the Internet of things. J. Wuhan Univ. (Nat. Sci. Ed.) 2014, 60, 424–428. [Google Scholar]
- Nakamura, S.; Enokido, T.; Takizawa, M. Information flow control based on the CapBAC (capability-based access control) model in the IoT. Int. J. Mob. Comput. Multimed. Commun. (IJMCMC) 2019, 10, 13–25. [Google Scholar] [CrossRef]
- Hussein, D.; Bertin, E.; Frey, V. A community-driven access control approach in distributed IoT environments. IEEE Commun. Mag. 2017, 55, 146–153. [Google Scholar] [CrossRef]
- Zhi, L.; Jing, W.; Xiao-su, C.; Lian-xing, J. Research on policy-based access control model. In Proceedings of the2009 International Conference on Networks Security, Wireless Communications and Trusted Computing, Wuhan, China, 25–26 April 2009; Volume 2, pp. 164–167. [Google Scholar] [CrossRef]
- Pal, S.; Hitchens, M.; Varadharajan, V.; Rabehaja, T. Policy-based access control for constrained healthcare resources in the context of the Internet of Things. J. Netw. Comput. Appl. 2019, 139, 57–74. [Google Scholar] [CrossRef]
- 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]
- Di Francesco Maesa, D.; Mori, P.; Ricci, L. Blockchain based access control. In Distributed Applications and Interoperable Systems: 17th IFIP WG 6.1 International Conference, DAIS 2017, Proceedings of the 12th International Federated Conference on Distributed Computing Techniques, DisCoTec 2017, Neuchâtel, Switzerland, 19–22 June 2017; Springer: Cham, Switzerland, 2017; pp. 206–220. [Google Scholar]
- Rouhani, S.; Belchior, R.; Cruz, R.S.; Deters, R. Distributed attribute-based access control system using permissioned blockchain. World Wide Web 2021, 24, 1617–1644. [Google Scholar] [CrossRef]
- Alansari, S.; Paci, F.; Sassone, V. A distributed access control system for cloud federations. In Proceedings of the 2017 IEEE 37th International Conference on Distributed Computing Systems (ICDCS), Atlanta, GA, USA, 5–8 June 2017; pp. 2131–2136. [Google Scholar] [CrossRef] [Green Version]
- Yan, Y.; Wei, C.; Guo, X.; Lu, X.; Zheng, X.; Liu, Q.; Zhou, C.; Song, X.; Zhao, B.; Zhang, H.; et al. Confidentiality support over financial grade consortium blockchain. In Proceedings of the 2020 ACM SIGMOD International Conference on Management of Data, Portland, OR, USA, 14–19 June 2020; pp. 2227–2240. [Google Scholar] [CrossRef]
- Enkhtaivan, B.; Takenouchi, T.; Sako, K. A fair anonymous auction scheme utilizing trusted hardware and blockchain. In Proceedings of the 2019 17th International Conference on Privacy, Security and Trust (PST), Fredericton, NB, Canada, 26–28 August 2019; pp. 1–5. [Google Scholar] [CrossRef]
- Ayoade, G.; Karande, V.; Khan, L.; Hamlen, K. Decentralized IoT data management using blockchain and trusted execution environment. In Proceedings of the 2018 IEEE International Conference on Information Reuse and Integration (IRI), Salt Lake City, UT, USA, 6–9 July 2018; pp. 15–22. [Google Scholar] [CrossRef]
- Liang, Y.; Li, Y.; Shin, B.-S. FairCs—Blockchain-based fair crowdsensing scheme using trusted execution environment. Sensors 2020, 20, 3172. [Google Scholar] [CrossRef] [PubMed]
- Cheng, J.; Li, J.; Xiong, N.; Chen, M.; Guo, H.; Yao, X. Lightweight mobile clients privacy protection using trusted execution environments for blockchain. CMC-Comput. Mater. Contin. 2020, 65, 2247–2262. [Google Scholar] [CrossRef]
- Enkhtaivan, B.; Inoue, A. Mediating data trustworthiness by using trusted hardware between iot devices and blockchain. In Proceedings of the 2020 IEEE International Conference on Smart Internet of Things (SmartIoT), Beijing, China, 14–16 August 2020; pp. 314–318. [Google Scholar] [CrossRef]
- Bentov, I.; Lee, C.; Mizrahi, A.; Rosenfeld, M. Proof of activity: Extending bitcoin’s proof of work via proof of stake [extended abstract] y. ACM SIGMETRICS Perform. Eval. Rev. 2014, 42, 34–37. [Google Scholar] [CrossRef]
- Bangyal, W.H.; Hameed, A.; Ahmad, J.; Nisar, K.; Haque, M.R.; Ibrahim, A.A.A.; Rodrigues, J.J.P.C.; Khan, M.A.; Rawat, D.B.; Etengu, R. New modified controlled bat algorithm for numerical optimization problem. Comput. Mater. Contin. 2022, 70, 2241–2259. [Google Scholar] [CrossRef]
- Bangyal, W.H.; Nisar, K.; Ibrahim, A.A.B.A.; Haque, M.R.; Rodrigues, J.J.P.C.; Rawat, D.B. Comparative analysis of low discrepancy sequence-based initialization approaches using population-based algorithms for solving the global optimization problems. Appl. Sci. 2021, 11, 7591. [Google Scholar] [CrossRef]
Type | Name of Variable | Defined by ERC-721 |
---|---|---|
uint256 | tokenId | Yes |
address | owner | Yes |
address | holder | No |
address | device | No |
json | policy | No |
uint256 | timestamp | No |
bool | isValid | No |
Functions and Events | Defined by ERC-721 |
---|---|
function transferFrom (address _from, address _to, uint256 _tokenId) external payable; | Yes |
function ownerOf (uint256 _tokenId) external view returns(address); | Yes |
function balanceOf (address _owner) external view returns(uint256); | Yes |
function createCcoin (address _device, address _owner) external view returns (uint256); | No |
function updatePolicy (json _policy, uint256 _tokenId) external; | No |
function revokeCcoin (uint256 _tokenId) external view returns (bool); | No |
function redeemCcoin (uint256 _tokenId) external; | No |
function policyCheck (uint256 _tokenId) external view returns (bool); | No |
function createCcoin (address _device, address _owner) external view returns (uint256); | No |
event Transfer (address _from, address _to, uint256 _tokenId); | Yes |
event PolicyModified (uint256 _tokenId); | No |
event RevokeCcoin (uint256 _tokenId); | No |
event AccessAllowed (address _from, address _to, uint256 _tokenId); | No |
event AccessDenied (address _from, address _to, uint256 _tokenId); | No |
event DissatisfyPolicy(address _from, address _to, uint256 _tokenId); | No |
Name | Configuration |
---|---|
Operating system | Ubuntu 18. 04. 1 GNU/Linux |
CPU | 8 Intel (R) Core (TM) i7-6700HQ CPU @ 2. 6 GHz |
Network card | Intel Corporation Ethernet Connection (2) I219-LM (rev 31) |
Memory | 16 G Samsung PC4-2400T-UA2 |
Hard disk | 512 G SSD Samsung SSD, 1 T HDD ST1000DM003-1SB1 CC4 |
TEE chip set | ARMv8-M TrustZone, LPC55S69-EVK |
Name | Massiveness | Dynamicity | Distributed |
---|---|---|---|
Traditional Access Control Models | As the data and access requests increase, access control policies grow exponentially, leading to high system overhead and low access efficiency. | Static allocation of access rights is unable to meet dynamic access needs; coarse-grained granularity cannot flexibly respond to frequent changes in access requests. | Does not support a unified standard for access control policies, making it difficult for parties to share information. |
Our Model | As the amount of data and access requests increases, the access control policy grows linearly, resulting in low system overhead and high access efficiency. | With the increase of data and access requests, the access control policy grows linearly, resulting in low system overhead and high access efficiency. | Fine granularity and good flexibility can support uniform access control policy standards among parties, and the use of blockchain storage strategy for policy storage facilitates information sharing. |
Model | Based on Blockchain | Fine-Grainedness | Security | Ease of Access | Self-Granting Authorization | Auditability | Access Process Control |
---|---|---|---|---|---|---|---|
DCapBAC [21] | No | Yes | Access control mechanism | Different requests are required for different resources, which is inconvenient for access. | No | No | No |
BlendCAC [15] | Yes | Yes | Access control mechanism; Blockchain | As above, not convenient for access. | Yes | Yes | No |
The model in reference [31] | Yes | No | Access control mechanism, Asymmetric encryption; TEE | As above, not convenient for access. | No | Yes | No |
Our model | Yes | Yes | Access control mechanism; Blockchain; TEE | Flexible access policy formulation, no need to send different requests, easy access. | Yes | Yes | Yes |
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. |
© 2023 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
Jiang, W.; Li, E.; Zhou, W.; Yang, Y.; Luo, T. IoT Access Control Model Based on Blockchain and Trusted Execution Environment. Processes 2023, 11, 723. https://doi.org/10.3390/pr11030723
Jiang W, Li E, Zhou W, Yang Y, Luo T. IoT Access Control Model Based on Blockchain and Trusted Execution Environment. Processes. 2023; 11(3):723. https://doi.org/10.3390/pr11030723
Chicago/Turabian StyleJiang, Weijin, En Li, Wenying Zhou, Ying Yang, and Tiantian Luo. 2023. "IoT Access Control Model Based on Blockchain and Trusted Execution Environment" Processes 11, no. 3: 723. https://doi.org/10.3390/pr11030723
APA StyleJiang, W., Li, E., Zhou, W., Yang, Y., & Luo, T. (2023). IoT Access Control Model Based on Blockchain and Trusted Execution Environment. Processes, 11(3), 723. https://doi.org/10.3390/pr11030723