| Literature DB >> 33954238 |
Mohammed Amine Bouras1, Boming Xia1, Adnan Omer Abuassba2, Huansheng Ning1, Qinghua Lu3.
Abstract
Access control is a critical aspect for improving the privacy and security of IoT systems. A consortium is a public or private association or a group of two or more institutes, businesses, and companies that collaborate to achieve common goals or form a resource pool to enable the sharing economy aspect. However, most access control methods are based on centralized solutions, which may lead to problems like data leakage and single-point failure. Blockchain technology has its intrinsic feature of distribution, which can be used to tackle the centralized problem of traditional access control schemes. Nevertheless, blockchain itself comes with certain limitations like the lack of scalability and poor performance. To bridge the gap of these problems, here we present a decentralized capability-based access control architecture designed for IoT consortium networks named IoT-CCAC. A blockchain-based database is utilized in our solution for better performance since it exhibits favorable features of both blockchain and conventional databases. The performance of IoT-CCAC is evaluated to demonstrate the superiority of our proposed architecture. IoT-CCAC is a secure, salable, effective solution that meets the enterprise and business's needs and adaptable for different IoT interoperability scenarios.Entities:
Keywords: Blockchain-based database; Capability-based access control; Consortium networks; Internet of things (IoT)
Year: 2021 PMID: 33954238 PMCID: PMC8049119 DOI: 10.7717/peerj-cs.455
Source DB: PubMed Journal: PeerJ Comput Sci ISSN: 2376-5992
Comparison of three access control methods (Ouaddah et al., 2017).
| AC approach | Role-based AC | Attribute-based AC | Capability-based AC |
|---|---|---|---|
| Description | Employs pre-defined roles that carry a specific set of privileges. To grant access you have to give the object a role | Uses policies which are defined according to a set of selected attributes from the user, subject, resource, and environment attributes and so on | Uses a communicable, unforgeable token of authority. The token references an object along with an associated set of access rights |
| Scalability | Not scalable as pre-defining roles for billions of devices is not possible and will drive to many errors when assigning roles to fast-changing devices | The access policies are defined on attribute which gives it the scalability feature because in a complex system or nested policies the more granular your system is the more is efficient to handle billions of devices | Scalability is made possible by providing tokens only (the management of tokens are easier and efficient), but it can be a problem for complex systems (many components) where a user may handle tens of tokens where each token represents an access right |
| Heterogeneity | Moderate | High | High |
| Dynamicity | Low | High | Moderate |
| (A role is not dynamic as it’s pre-defined and changing a role will affect all the associated devices) | (The access policies are defined by a set of conditions which makes it dynamic and more robust to changes) | (every time I change the policy I need to change the token) | |
| Lightweight | Moderate | Moderate | High |
| Flexibility | Moderate | High | High |
| Granularity | Low | High | Moderate |
IoT-CCAC terms and descriptions.
| Term | Description |
|---|---|
| Domain | a member of group of organization participating in the consortium network |
| Subject | a human user or a device that interacts with the consortium network and applications |
| Resource | an entity as a service in the network, such as a temperature sensor or a document data |
| Asset | the digital representation of a physical resource owned by a participating domain |
| Service | a service or an application initiated by several domains under a collaborative project |
| Profile | the representation of an asset inside a service |
| Context | environmental information gathered from resources, such as location and time |
| Statement | a document defines the access rights granted to a subject to access a resource |
Figure 1IoT-CCAC system architecture.
Figure 2Token generation sequence diagram.
Figure 3Authorization process.
Comparison between traditional database and blockchain for IoT access control (Tseng et al., 2020).
| Database | Blockchain | ||||
|---|---|---|---|---|---|
| Advantages | Disadvantages | Advantages | Disadvantages | ||
| IoT access control security requirements | Reliability | – | Data mutability | Data immutability | Data mutability |
| Availability | Data mutability | Single point of failure | Decentralized architecture/fault tolerance | – | |
| Integrity | – | Centralized authority/data mutability | Data immutability/transaction conformation | – | |
| Confidentiality | – | Centralized authority/exposed data | Owner-controlled data/encrypted data | – | |
| Transparency | – | Centralized authority | Decentralized authority | – | |
| IoT access control performance requirements | Performance | High transaction performance/low latency | – | – | Low transaction performance/high latency |
| Scalability | High Scalability | – | – | Scalability comes with price | |
| Capacity | Easy to run at any capacity | – | – | Resource and energy-intensive consumption | |
| Usability | Easy to use and to deploy | – | – | Configuration of different components | |
| Maintenance | Low cost | – | – | High cost | |
Figure 4IoT-CCAC & blockchain integration.
Computing and communication cost for each system transaction (average time of 100 transactions is presented).
| Transaction type | Preparation Time (ms) | Fulfillment Time (ms) | Commit Time Offline (ms) | Commit Time Online (ms) |
|---|---|---|---|---|
| Asset | 1.2 | 2 | 110 | 1,210 |
| Service | 1 | 2.4 | 110 | 1,170 |
| Profile | 1.5 | 3 | 110 | 640 |
| Statement | 1 | 2.6 | 110 | 900 |
Figure 5Execution time of creating transactions.
Figure 6Execution time of authenticating transactions.
Figure 7Latency time of 50 simultaneous authentication transactions.