Next Article in Journal
A Study on the Variable Inductor Design by Switching the Main Paths and the Coupling Coils
Next Article in Special Issue
Dynamic Public Key Certificates with Forward Secrecy
Previous Article in Journal
A Novel Approach for Network Intrusion Detection Using Multistage Deep Learning Image Recognition
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Non-Interactive Attribute-Based Access Control Scheme by Blockchain for IoT

1
School of Computer Science, Shaanxi Normal University, Xi’an 710119, China
2
School of Computer Science and Technology, Wuhan University of Technology, Wuhan 430070, China
*
Author to whom correspondence should be addressed.
Submission received: 19 June 2021 / Revised: 24 July 2021 / Accepted: 30 July 2021 / Published: 1 August 2021

Abstract

:
As an important method of protecting data confidentiality in the Internet of Things (IoT), access control has been widely concerned. Because attribute-based access control mechanisms are dynamic, it is not only suitable to solve the dynamic access problem in IoT, but also to deal with the dynamic caused by node movement and access data change. The traditional centralized attribute-based access control mechanism has some problems: due to the large number of devices in IoT, the central trusted entity may become the bottleneck of the whole system. Moreover, when a central trusted entity is under distributed denial-of-service (DDoS) attack, the entire system may crash. Blockchain is a good way to solve the above problems. Therefore, we developed a non-interactive, attribute-based access control scheme that applies blockchain technology in IoT scenarios by using PSI technology. In addition, the attributes of data user and data holder are hidden, which protects the privacy of both parties’ attributes and access policy. Furthermore, the experimental results indicate that our scheme has high efficiency.

1. Introduction

As the evolution of the Internet, the Internet of Things (IoT) [1] has been more and more widely used in people’s lives. IoT generates a large amount of data, including personal data. Once these privacies are disclosed, it will bring great losses to users. As one of the important methods of data protection, access control mechanism can guarantee that data is only accessed by users with permission, which has made access control mechanism become an important research content in the security of IoT.
Attribute-based access control mechanism [2,3] is a dynamic access control model that uses attributes as determinants of access control. Compared with the identity-based access control mechanism, the attribute-based access control mechanism makes the attribute set be easily combined with the access structure to achieve fine-grained access control. Attribute sets can also easily represent the identities of certain groups of users, enabling one-to-many communication. Therefore, attribute-based access control can not only solve the dynamic access problem of nodes in the IoT, but also cope well with the dynamics caused by node movement and access data changes.
In traditional access control models, there is a centralized decision-maker to make access decisions based on access control policy and attribute information. Each access request is directed to the same central trusted entity, which holds all the information and makes all decisions based on the stored information. This approach has some drawbacks: when there are many devices in IoT networks, a central trusted entity may become the bottleneck of the entire system. Moreover, when a central trusted entity is under DDoS attacks, the entire system may be disabled.
Blockchain [4] is a good way to solve the above problems. Blockchain is well qualified to become the trusted third party in the access control mechanism in the IoT scenario due to its security, auditability, immutability, anonymity, and other characteristics. In terms of storage capacity, the storage capacity of blockchain is not cheap because it can only add blocks, not delete historical blocks, and as a distributed system, blockchain will keep the same content on every complete node. With the continuous development of blockchain, blockchain has evolved from a ledger database to a secure and trusted platform. The Ethereum-based blockchain has a Turing-complete virtual machine that can execute smart contracts for arbitrarily complex algorithms. Therefore, it is very practical to use smart contracts in the access control mechanism of the IoT.
To sum up, we propose a non-interactive, attribute-based access control scheme by blockchain for IoT. In our work, the data holder stores the data resources in the cloud server. When a user wants to access the data resources, the user first sends their own attribute set confidentially to the blockchain as a transaction. Subsequently, the smart contract of the blockchain will run the private set intersection (PSI) protocol to automatically determine whether the attribute set meets the access structure of the data holder. When the element number of the intersection achieves the threshold set by the data holder, the user is given access to the data holder’s cloud data. In our scheme, instead of interacting with data users to verify that a data user is qualified, the data holder deploys their own access policy on the blockchain, and a smart contract automatically determines whether a user is qualified or not. By and large, our work can be summed up in three parts:
  • We developed a non-interactive, attribute-based access control scheme by blockchain for IoT by using PSI technology. In addition, the attributes of data user and data holder are hidden, which protects the privacy of both parties’ attributes and access policy.
  • We provide complete security proof of our scheme.
  • We simulated our scheme under the Ethereum Truffle development framework and provide an efficiency analysis.
The rest of our work is shown below. The related work and preliminaries are given in Section 2 and Section 3. In Section 4 and Section 5, our system model and security model are introduced. In Section 6, we provide our concrete access control scheme. The complete security analysis is presented in Section 7. In Section 8, we present comparisons and performance analysis. In the end, we provide a summary in Section 9.

2. Related Work

Traditional centralized attribute-based access control mechanisms have emerged one after another. For example, Yuan et al. [5], in order to deal with the issues around the fact that the access control models at that time were mostly static and coarse-grained, and thus were not suitable for the dynamic and temporary network service-oriented environment of information access, they proposed an attribute-based access control model, which was depended on the attributes of subjects, environments, and so on. To protect data access in the IoT, Hemdi et al. [6] developed an attribute-based access control mechanism. Their system is able to apply policies to find unauthorized users. Ouechtati et al. [7] proposed an access control system for IoT named Trust ABAC to deal with problems such as the limited storage capacity of mobile devices in the IoT.
However, this type of centralized attribute-based access control mechanism has some drawbacks: firstly, when there are many devices in IoT networks, a central trusted entity may become the bottleneck of the entire system. Moreover, when a central trusted entity is under DDoS attacks, the entire system may be disabled. To solve these problems, blockchain technology has been extensively studied by many scholars and applied to access control mechanisms [8,9,10,11,12].
Blockchain has the ability to technically force all participants to comply with the integrity under the assumption that none of the participants are trustworthy, and it has immutability and privacy protection. Thus, blockchain can become a trusted third platform in the access control for IoT. Some researchers focus on the reliable storage capacity of blockchain. They make use of the characteristics of blockchain, such as immutability and auditability, to provide a secure storage space. Dorri et al. [13] came up with an access control scheme in which the access policies are stored on blockchain and the immutable property of blockchain is used to generate a chronological and immutable transaction history. Alansari et al. [14] used blockchain as a platform to store access policies and users’ attributes. The computation-intensive part is executed in Intel SGX, which is a secure hardware external to the chain. Blockchain is only used as a trusted platform to prevent data tampering.
In terms of storage capacity, since blockchain can only add blocks, it cannot delete historical blocks. In addition, as a distributed system, blockchain stores the same content on every full node, and thus the storage capacity of blockchain is not cheap. Therefore, some scholars do not store data on blockchain, the blockchain only stores hashes pointing to the data, and the blockchain is treated as a trusted platform for executable smart contracts. For example, a blockchain-based data access control protocol was provided by Rifi et al. [15] to address the issue of private personal data and sensitive medical data being collected. They took advantage of the computing power of blockchain to maintain authentication and communication between different nodes through three different types of smart contracts, and the transaction data are kept in another database. Cruz et al. [16] proposed a platform called RBAC-SC that leverages Ethereum’s smart contract technology for the cross-organizational utilization of users. Zhang et al. [17] developed an access control scheme using smart contract to implement access control in IoT scenarios. An attribute-based access control scheme called TrustAccess was provided by Gao et al. [18] to prevent access policy and attributes leakage.
Blockchain has now evolved from a ledger database to a secure and trusted platform. The trusted computing power provided by blockchain is more valuable than the expensive storage capacity. Therefore, when using blockchain storage, users should store access control data, not data generated by IoT devices. In our proposed scheme, the blockchain stores access policies and users’ attributes. The smart contract is applied to determine whether an attribute of a data user meets the access structure of the data holder.

3. Background

3.1. Private Set Intersection (PSI)

Private Set Intersection protocol [19,20,21,22] can compute the intersection of two parties’ sets secretly, and the two parties know only the cardinality or elements of the intersection and no other information.

3.2. Threshold Secret Sharing Scheme

In (S, T)—threshold secret sharing structure [23], let secret A be divided into T pieces, each of which is held by one party, such that A can be reconstructed from pieces held by at least S parties. In addition, these parties cannot obtain any information from pieces less than S.

4. System Model

In this section, as shown in Figure 1, our system model is given. The model consists of four parties, which are blockchain, cloud server, data user, and data holder.
(1) A data holder stores data in a cloud server.
(2) The data holder uploads access policy to blockchain as a transaction.
(3) If a user wants to obtain the data holder’s data, the user first sends their attributes set and public key to blockchain as a transaction.
(4) The smart contract of blockchain runs PSI protocol to obtain cardinality of the intersection. When the element number of the intersection reaches the threshold set by the data holder, the user is allowed to access the data holder’s data.
(5) The data holder uses the public key that belongs to the selected data user to encrypt the data address or access token.
(6) The data holder sends the ciphertext to the data user.

5. Security Model

We only assume that adversaries are semi-honest rather than malicious in our security model. This is because if a data holder is malicious in our scenario, they may lie about having some important data to attract users to access. Users will no longer trust the data holder if they find that they have been cheated. The data holder will lose the opportunity to service data users and earn service fees. If a data user is malicious in our scenario, they may fake their own attributes to accommodate the data holder’s access structure. Since the PSI protocol is used in our scheme, neither the data user nor the data holder knows which attributes the other has.
In the security model, the adversary corrupts one of the parties. This party abides the protocol directives but may learn more information than allowed after getting transcript of messages. Security of a two-party computing protocol means that both parties do not disclose their input, i.e., security is confidentiality.
Let R : { 0 , 1 } * × { 0 , 1 } * { 0 , 1 } * × { 0 , 1 } * be a function, R 1 ( p , q ) and R 2 ( p , q ) are the first element and the second element of R ( p , q ) , respectively. Let T P P be a two-party protocol that computes R . V I E W 1 T P P ( p , q ) = { p , d 1 , n 1 1 , , n 1 t } represents the view of the data holder, where d 1 is the random number generated by the data holder during the execution of the protocol, and n 1 i ( i = 1 , , t ) represents the i message received by the data holder. Similarly, V I E W 2 T P P ( p , q ) = { q , d 2 , n 2 1 , , n 2 t } represents the view of the data user. Let O U T P U T 1 T P P ( p , q ) and O U T P U T 2 T P P ( p , q ) be the outputs of the two respective parties.
We say that T P P computes R securely if there exist probabilistic polynomial time algorithms S i m 1 and S i m 2 such that
{ ( S i m 1 ( p , R 1 ( p , q ) ) , R 2 ( p , q ) ) } p , q { 0 , 1 } * c { V I E W 1 T P P ( p , q ) , O U T P U T 2 T P P ( p , q ) } p , q { 0 , 1 } *
{ ( R 1 ( p , q ) , S i m 2 ( q , R 2 ( p , q ) ) ) } p , q { 0 , 1 } * c { O U T P U T 1 T P P ( p , q ) , V I E W 2 T P P ( p , q ) } p , q { 0 , 1 } *
where | p | = | q | , S i m 1 and S i m 2 are simulators. The symbol c represents computationally indistinguishable.

6. Our Proposed Scheme

Let Electronics 10 01855 i001 be a group of prime order q , g and h be generators of Electronics 10 01855 i001, and Electronics 10 01855 i002 be a bilinear map. Let X = { x 1 , x 2 , , x m } be data holder’s attributes set; Y = { y 1 , y 2 , , y n } be data user’s attributes set, where x i ( i = 1 , , m ) ; and y j ( j = 1 , , n ) be elements of Electronics 10 01855 i001.
(1)
A data holder creates a polynomial
Q ( x ) = i = 1 m ( x x i ) = q 0 + q 1 x + + q m x m
The data holder selects t 0 , t 1 , , t m randomly from Electronics 10 01855 i003 and makes T 0 = g t 0 , T 1 = g t 1 , , T m = g t m public. Then, S 0 = h g q 0 t 0 , S 1 = h g q 1 t 1 , , S m = h g q m t m are sent to the smart contract of blockchain by the data holder.
(2)
For each y Y , a data user chooses s randomly from Electronics 10 01855 i003. Then, they compute and send
( T 0 s y 0 , T 1 s y 1 , T 2 s y 2 , , T m s y m ) = ( g s t 0 y 0 , g s t 1 y 1 , g s t 2 y 2 , , g s t m y m )
to blockchain.
(3)
Then, the smart contract on blockchain computes
F = i = 0 m T i s y i = g s i = 0 m t i y i
E = i = 0 m e ( h g q i t i , T i s y i ) = i = 0 m e ( h g q i t i , g s t i y i ) = i = 0 m e ( g , h ) s t i y i e ( g , g ) s q i y i = e ( g , h ) s i = 0 m t i y i e ( g , g ) s Q ( y ) = e ( F , h ) e ( g , g ) s Q ( y )
If and only if y X , Q ( y ) = 0 , E = e ( F , h ) , then the smart contract outputs 1, which means the y uploaded by the data user is in the data holder’s attributes set. Otherwise, the smart contract outputs 0. In the above process, the smart contract only knows the number of y that is in the data holder’s attributes set. Therefore, in our scheme, the privacy of the access policy and the privacy of the attributes of both parties are protected.
• The function of h :
If there is no h in our scheme, S 0 = g q 0 t 0 , S 1 = g q 1 t 1 , , S m = g q m t m . In this case, anyone can tell if y X by checking that i = 0 m e ( T i , S i ) y i = i = 0 m e ( g t i , g q i t i ) y i = e ( g , g ) Q ( y ) = 1 . If the h is introduced into our scheme, we have i = 0 m e ( T i , S i ) y i = e ( g , h ) i = 0 m t i y i e ( g , g ) Q ( y ) . Since i = 0 m t i y i is a random polynomial, e ( g , g ) Q ( y ) is hidden by e ( g , h ) i = 0 m t i y i .
• The function of s :
If there is no s , then for any y , anyone can figure out T 1 y and compare it with the T 1 y in T 0 y 0 , T 1 y , T 2 y 2 , , T m y m of the data user uploaded to the blockchain to determine whether y Y .

7. Security Analysis

(1) A data user is a semi-honest adversary:
The simulator S i m 1 , which simulates the data holder, is created as follows: X , | X Y | , and | Y | are taken as inputs, which means that the simulator S i m 1 can obtain nothing except the data holder’s input X and | X Y | and | Y | obtained after the end of the protocol.
Moreover, S i m 1 obtains public parameters T 0 = g t 0 , T 1 = g t 1 , , T m = g t m , and S 0 = h g q 0 t 0 , S 1 = h g q 1 t 1 , , S m = h g q m t m . For y Y , ( T 0 s y 0 , T 1 s y 1 , T 2 s y 2 , , T m s y m ) = ( g s t 0 y 0 , g s t 1 y 1 , g s t 2 y 2 , , g s t m y m ) sent by the data user to blockchain can be simulated by S i m 1 . The following procedure is performed | Y | times ( X 0 is initially set to be empty):
• If the smart contract outputs 1, Electronics 10 01855 i004, x R X \ X 0 , computes and outputs T 0 s x 0 , T 1 s x 1 , , T m s x m , X 0 = X 0 { x } . Because x X \ X 0 , Q ( x ) = 0 , T 0 s x 0 , T 1 s x 1 , , T m s x m satisfies E = e ( F , h ) . Moreover, due to the randomness of s , the tuple T 0 s x 0 , T 1 s x 1 , , T m s x m is indistinguishable from the tuple of the data user sent to blockchain in the real experiment.
• If the smart contract outputs 0, x G \ X , compute T 0 s x 0 , T 1 s x 1 , , T m s x m so that E = e ( F , h ) is not true, unless Q ( x ) = 0 . However, the probability of this event is negligible.
The data holder can obtain X , | X Y | , and | Y | . Anything else the data holder sees can be simulated by S i m 1 . Thus, the data holder cannot obtain any other useful information about the protocol.
(2) A data holder is a semi-honest adversary:
The simulator S i m 2 , which simulates the data user, is constructed as follows: Y , | X Y | , and | X | = m are taken as inputs, and | X Y | elements are picked in Y . Moreover, m | X Y | elements are picked in G \ Y to form set X . Then, construct polynomial Q ( x ) = q 0 + q 1 x + + q m x m in the data holder’s way. Electronics 10 01855 i005, outputs T 0 = g t 0 , T 1 = g t 1 , , T m = g t m and S 0 = h g q 0 t 0 , S 1 = h g q 1 t 1 , , S m = h g q m t m . These two tuples make | X Y | elements in Y satisfy E = e ( F , h ) .
The data user can obtain Y , | X Y | , and | X | . Anything else the data user sees can be simulated by S i m 2 . Thus, the data user cannot obtain any other useful information about the protocol.
(3) Access policy privacy
In our scheme, the smart contract runs the private set intersection protocol to determine whether the attributes set of a data user meets the access structure of the data holder. The data user does not know the specific access policy of the data holder.
(4) Attribute privacy
In our scheme, the attributes of the data holder X = { x 1 , x 2 , , x m } are converted to a polynomial Q(x), and the coefficients of the polynomial q 0 , , q m are then placed on the exponent of S 0 , S 1 , , S m . Next, S 0 = h g q 0 t 0 , S 1 = h g q 1 t 1 , , S m = h g q m t m are sent to the smart contract of blockchain by the data holder. Thus, the privacy of data holder’s attributes is protected. Moreover, for each y Y , a data user chooses s randomly from Electronics 10 01855 i003. Then, the data user computes and sends ( T 0 s y 0 , T 1 s y 1 , T 2 s y 2 , , T m s y m ) = ( g s t 0 y 0 , g s t 1 y 1 , g s t 2 y 2 , , g s t m y m ) to blockchain. The attributes of the data user are hidden in the exponent of g. Therefore, the privacy of data user’s attributes is protected.

8. Comparisons and Performance Analysis

As can be seen in Table 1, we first compared our scheme with [8,9,10,18] in terms of attribute privacy, access policy privacy, and so on. In terms of no intermediary party involved, Zhang et al. [8] and Chen et al. [10] need an intermediary party to distribute keys. However, in our scheme, no intermediate party is required to distribute keys. In terms of access policy privacy, in our scheme, the smart contract runs the private set intersection protocol to determine whether the attributes set of a data user meets the access structure of the data holder. The data user does not know the specific access policy of the data holder. In terms of attribute privacy, in our scheme, the attributes of the data holder X = { x 1 , x 2 , , x m } are converted to a polynomial Q(x), and the coefficients of the polynomial q 0 , , q m are then placed on the exponent of S 0 , S 1 , , S m . Then, S 0 = h g q 0 t 0 , S 1 = h g q 1 t 1 , , S m = h g q m t m are sent to the smart contract of blockchain by the data holder. Thus, the privacy of data holder’s attributes is protected. Moreover, for each y Y , a data user chooses s randomly from Electronics 10 01855 i003. Then, the data user computes and sends ( T 0 s y 0 , T 1 s y 1 , T 2 s y 2 , , T m s y m ) = ( g s t 0 y 0 , g s t 1 y 1 , g s t 2 y 2 , , g s t m y m ) to blockchain. The attributes of the data user are hidden in the exponent of g. Thus, the privacy of data user’s attributes is protected. In terms of fine granularity, since the access control mechanism we have proposed is an attribute-based access control mechanism, we can implement fine-grained access control. In terms of encrypted storage, in our scheme, after selecting a data user, the data holder uses the public key that belongs to the selected data user to encrypt the data address or access token and sends to the data user. In terms of non-interactivity, in our scheme, the data user and the data holder do not need to interact for access control operations.
Only our proposed scheme can satisfy the above six properties, which are attribute privacy, access policy privacy, fine granularity, encrypted storage, non-interactive, and no intermediary party involved. In addition, as shown in Figure 2, since the scheme in [18] is interactive and our scheme is non-interactive, the efficiency of our scheme is higher than that in [18].
The scheme in [18] is interactive. Because in their scheme, the data user first generates a proof to prove his attributes set satisfies the access policy of the data owner. Then, the data owner generates the decryption key for the data user by the data user’s attributes. In addition, the authors of [18] claim that their scheme protects the privacy of access policies. However, in [18], x is a part of C T , from which we can know the specific attribute of decrypting a ciphertext. Then, we can derive all the attributes that satisfy the data owner’s access policy. That is, the privacy of the access policy is compromised.
Next, we perform an experiment to simulate our proposed scheme. We simulate our proposed scheme on a laptop. The experimental settings are shown in Table 2.
For time measurement, we used Java (11.0.3) as the programming language and Java Pairing-Based Cryptography Library (JPBC Lib-2.0.0) as the Cryptography Library. As shown in Figure 3a–c, we set m = 10, 20, 30, 40, 50 attributes to measure the time cost of data holder, data user, and verification. Moreover, taking the average of five measurements, we found the setup time of our scheme to be 2719 ms.
Figure 3a shows the time spent by the data holder in the first step in our scheme to create the polynomial Q ( x ) = i = 1 m ( x x i ) = q 0 + q 1 x + + q m x m according to the number of its attributes and calculate T 0 = g t 0 , T 1 = g t 1 , , T m = g t m and S 0 = h g q 0 t 0 , S 1 = h g q 1 t 1 , , S m = h g q m t m .
Figure 3b shows the time spent by the data user in the second step in our scheme to calculate ( T 0 s y 0 , T 1 s y 1 , T 2 s y 2 , , T m s y m ) = ( g s t 0 y 0 , g s t 1 y 1 , g s t 2 y 2 , , g s t m y m ) .
Figure 3c shows the time spent by the smart contract on blockchain to calculate F = i = 0 m T i s y i = g s i = 0 m t i y i  and  E = i = 0 m e ( h g q i t i , T i s y i ) .
The Ethereum transaction price was 1 ETH = USD 339 when this paper was written. Suppose the gas price is 1gas = 1 × 10 9 wei. 1wei = 1 × 10 - 18 ETH , so 1gas = 1 × 10 - 9 ETH = 3.39 × 10 - 7 USD. We measured the smart contract gas consumption of storing attribute elements. As shown in Table 3, we set 10, 20, 30, 40, and 50 attributes to perform gas consumption computations.

9. Conclusions

We have developed a non-interactive access control scheme by blockchain for IoT by using PSI technology. A data holder uploads data to a cloud server. If a user wants to access the data, the data user first writes attributes to blockchain as a transaction. Next, the PSI protocol is run by a smart contract to determine whether the attributes set meets the threshold structure. If the condition is met, the data user is allowed to access the data holder’s data. Then, the data holder uses the selected user’s public key to encrypt the data address and sends it to the user. Our scheme is able to protect both the privacy of access policy and the privacy of attributes while ensuring trusted access control. In addition, a complete security proof is given. On the basis of the Ethereum Truffle development framework, we simulated the scheme in the Windows 10 system, and the experimental results indicate that our scheme has high efficiency.

Author Contributions

Conceptualization, Q.Y., Y.Z., T.W., Z.X. and B.Y.; methodology, Q.Y.; software, Q.Y. and M.Z.; validation, Q.Y., M.Z., Y.Z., T.W., Z.X. and B.Y.; formal analysis, Q.Y.; investigation, Q.Y.; resources, B.Y.; data curation, Q.Y.; writing—original draft preparation, Q.Y.; writing—review and editing, Q.Y.; visualization, Q.Y.; supervision, Q.Y.; project administration, B.Y.; funding acquisition, B.Y. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the National Natural Science Foundation of China, grant number U2001205.

Data Availability Statement

The experimental data of this paper is true and reliable. The relevant code link in this paper is https://github.com/QiliangYang/An-Access-Control-Scheme-by-Using-Blockchain-in-Cloud-Storage-Environment (accessed on 1 August 2021).

Acknowledgments

The authors would like to thank the anonymous reviewers for your helpful comments.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Ashton, K. That ‘internet of things’ thing. RFID J. 2009, 22, 97–114. [Google Scholar]
  2. Chen, Y.W.; Meng, L.H.; Zhou, H.; Xue, G.T. A Blockchain-Based Medical Data Sharing Mechanism with Attribute-Based Access Control and Privacy Protection. Wirel. Commun. Mob. Computing. 2021, 2021, 6685762:1–6685762:12. [Google Scholar] [CrossRef]
  3. Yin, H.; Xiong, Y.Q.; Zhang, J.X.; Ou, L.; Liao, S.L.; Qin, Z. A Key-Policy Searchable Attribute-Based Encryption Scheme for Efficient Keyword Search and Fine-Grained Access Control over Encrypted Data. Electronics 2019, 8, 265. [Google Scholar] [CrossRef] [Green Version]
  4. Nakamoto, S. Bitcoin: A Peer-to-Peer Electronic Cash System. 2009. Available online: https://bitcoin.org/bitcoin.pdf (accessed on 1 March 2009).
  5. Yuan, E.; Tong, J. Attributed based access control (ABAC) for Web services. In Proceedings of the 2005 IEEE International Conference on Web Services (ICWS 2005), Orlando, FL, USA, 11–15 July 2005; pp. 561–569. [Google Scholar]
  6. Hemdi, M.; Deters, R. Using REST based protocol to enable ABAC within IoT systems. In Proceedings of the 2016 IEEE 7th Annual Information Technology, Electronics and Mobile Communication Conference, Vancouver, BC, Canada, 13–15 August 2016; pp. 1–7. [Google Scholar]
  7. Ouechtati, H.; Azzouna, N.B. Trust-ABAC towards an access control system for the Internet of things. In Proceedings of the 12th Green, Pervasive, and Cloud Computing International Conference (GPC 2017), Cetara, Italy, 11–14 May 2017; pp. 75–89. [Google Scholar]
  8. Zhang, Y.; Li, B.; Liu, B.; Wu, J.; Wang, Y.; Yang, X. An Attribute-Based Collaborative Access Control Scheme Using Blockchain for IoT Devices. Electronics 2020, 9, 285. [Google Scholar] [CrossRef] [Green Version]
  9. Song, L.; Ju, X.; Zhu, Z.; Li, M. An access control model for the Internet of Things based on zero-knowledge token and blockchain. J. Wirel. Commun. Netw. 2021, 2021, 1–20. [Google Scholar]
  10. Chen, H.; Wan, W.; Xia, J.; Zhang, S.; Zhang, J.; Peng, X.; Fan, X. Task-attribute-based access control scheme for iot via blockchain. Comput. Mater. Contin. 2020, 65, 2441–2453. [Google Scholar]
  11. Ouaddah, A.; Kalam, A.A.E.; Ouahman, A.A. FairAccess: A new Blockchain-based access control framework for the Internet of Things. Secur. Commun. Netw. 2016, 9, 5943–5964. [Google Scholar] [CrossRef]
  12. Alphand, O.; Amoretti, M.; Claeys, T.; Dall’Asta, S.; Duda, A.; Ferrari, G.; Rousseau, F.; Tourancheau, B.; Veltri, L.; Zanichelli, F. IoTChain: A blockchain security architecture for the Internet of Things. In Proceedings of the 2018 IEEE Wireless Communications and Networking Conference (WCNC 2018), Barcelona, Spain, 15–18 April 2018; pp. 1–6. [Google Scholar]
  13. 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 2017). Kona, Big Island, HI, USA, 13–17 March 2017; pp. 618–623. [Google Scholar]
  14. Alansari, S.; Paci, F.; Sassone, V. A distributed access control system for cloud federations. In Proceedings of the 37th IEEE International Conference on Distributed Computing Systems (ICDCS 2017), Atlanta, GA, USA, 5–8 June 2017; pp. 2131–2136. [Google Scholar]
  15. Rifi, N.; Rachkidi, E.; Agoulmine, N.; Taher, N.C. Towards using blockchain technology for IoT data access protection. In Proceedings of the 17th IEEE International Conference on Ubiquitous Wireless Broadband (ICUWB 2017), Salamanca, Spain, 12–15 September 2017; pp. 1–5. [Google Scholar]
  16. 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]
  17. Zhang, Y.; Kasahara, S.; Shen, Y.; Jiang, X.; Wan, J. Smart contract-based access control for the Internet of things. IEEE Internet Things J. 2019, 6, 1594–1605. [Google Scholar] [CrossRef] [Green Version]
  18. Gao, S.; Piao, G.R.; Zhu, J.M.; Ma, X.D.; Ma, J.F. TrustAccess: A Trustworthy Secure Ciphertext-Policy and Attribute Hiding Access Control Scheme Based on Blockchain. IEEE Trans. Veh. Technol. 2020, 69, 5784–5798. [Google Scholar] [CrossRef]
  19. Pinkas, B.; Rosulek, M.; Trieu, N.; Yanai, A. PSI from PaXoS: Fast, Malicious Private Set Intersection. In Proceedings of the 39th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Zagreb, Croatia, 10–14 May 2020; pp. 739–767. [Google Scholar]
  20. Ruan, O.; Wang, Z.; Mi, J.; Zhang, M.W. New Approach to Set Representation and Practical Private Set-Intersection Protocols. IEEE Access 2019, 7, 64897–64906. [Google Scholar] [CrossRef]
  21. Lv, S.Y.; Ye, J.H.; Yin, S.J.; Cheng, X.C.; Feng, C.; Liu, X.Y.; Li, R.; Li, Z.H.; Liu, Z.L.; Zhou, L. Unbalanced private set intersection cardinality protocol with low communication cost. Future Gener. Comput. Syst. 2020, 102, 1054–1061. [Google Scholar] [CrossRef]
  22. Cristofaro, E.D.; Tsudik, G. Practical Private Set Intersection Protocols with Linear Complexity. In Proceedings of the 14th Financial Cryptography, Tenerife, Canary Islands, Spain, 25–28 January 2010; pp. 143–159. [Google Scholar]
  23. Shima, K.; Doi, H. New Proof Techniques Using the Properties of Circulant Matrices for XOR-based (k, n) Threshold Secret Sharing Schemes. J. Inf. Process. 2021, 29, 266–274. [Google Scholar]
Figure 1. System Model.
Figure 1. System Model.
Electronics 10 01855 g001
Figure 2. The comparison of verification time of our scheme and [18].
Figure 2. The comparison of verification time of our scheme and [18].
Electronics 10 01855 g002
Figure 3. (a) Time cost of data holder; (b) time cost of data user; (c) verification time cost.
Figure 3. (a) Time cost of data holder; (b) time cost of data user; (c) verification time cost.
Electronics 10 01855 g003
Table 1. Comparisons with previous works.
Table 1. Comparisons with previous works.
SchemeNo Intermediary Party InvolvedAccess Policy PrivacyAttribute PrivacyFine GranularityEncrypted StorageNon-Interactive
[8]
[9]
[10]
[18]
Ours
Table 2. Experimental setup.
Table 2. Experimental setup.
LanguageJava (Program Version 11.0.3)
Operating systemWindows 10
Processor2.60GHz Intel i5-4200H Processor
Memory8 GB
Cryptography LibraryJava Pairing-Based Cryptography Library (JPBC Lib-2.0.0)
Table 3. The smart contract cost of storing attribute elements.
Table 3. The smart contract cost of storing attribute elements.
Number of AttributesGas UsedUSD
1078,0890.0264
2098,1390.0332
30133,1960.0451
40168,2580.0570
50203,3270.0689
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Yang, Q.; Zhang, M.; Zhou, Y.; Wang, T.; Xia, Z.; Yang, B. A Non-Interactive Attribute-Based Access Control Scheme by Blockchain for IoT. Electronics 2021, 10, 1855. https://0-doi-org.brum.beds.ac.uk/10.3390/electronics10151855

AMA Style

Yang Q, Zhang M, Zhou Y, Wang T, Xia Z, Yang B. A Non-Interactive Attribute-Based Access Control Scheme by Blockchain for IoT. Electronics. 2021; 10(15):1855. https://0-doi-org.brum.beds.ac.uk/10.3390/electronics10151855

Chicago/Turabian Style

Yang, Qiliang, Mingrui Zhang, Yanwei Zhou, Tao Wang, Zhe Xia, and Bo Yang. 2021. "A Non-Interactive Attribute-Based Access Control Scheme by Blockchain for IoT" Electronics 10, no. 15: 1855. https://0-doi-org.brum.beds.ac.uk/10.3390/electronics10151855

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop