A blockchain-based access control solution for IoT
Huynh Thanh Tam, Nguyen Dinh Thuc, Tan Hanh
A BLOCKCHAIN-BASED ACCESS
CONTROL SOLUTION FOR IoT
Huynh Thanh Tam*, Nguyen Dinh Thuc+, Tan Hanh*
* Posts and Telecommunications Institute of Technology, HCM, Vietnam
+ University of Science, VNU-HCMC, Vietnam
Abstract—This paper proposes a security framework for
Internet of Things (IoT) based on blockchain. The solution
provides the two features: (1) Access control for IoT devices,
which allows users to pay a fee to the device’s owner to access
the device for a certain period of time. When the access time
expires, the connection will automatically be denied by a
proxy of the owner; And (2) Decentralized storage service,
providing storage space for IoT data. Device owners have to
pay for the system to rent storage space. The total amount of
payment depends on the size of the data and storage time.
The stored data on the storage system are automatically
discarded when the storage time has expired. We also present
a mechanism for privacy-preserving data sharing on peer-to-
peer networks between owners and the storage system. We
use blockchain technology to manage IoT devices, access
information, and data storage information. The Proof of
Authentication consensus is used to provide a lightweight
block verification. To store data of IoT devices, we use the
interplanetary file system (IPFS) which is a peer-to-peer
distributed file system. Our solution provides flexibility in
time-based access control comparison with other blockchain-
based access control solutions.
In this paper, we propose a decentralized security
framework for IoT, in which owners can manage and allow
users to connect their devices in a period of time depending
on the amount of payment. Moreover, because of the
limited storage space in the owners’ servers, they may
conduct a payment to store long term in the peer-to-peer
storage system, the total amount of payment depends on
the size of the data and storage time. Particularly,
considering in the context of a smart home area where has
some public areas such as kindergarten, sport areas,
parking, park. In the kindergarten, the owner has camera
devices to monitor children. Parents can access the camera
to view their children's activities by submitting a
transaction to the owner. The deadline is fixed when the
transaction is mined and added to the blockchain.
Similarly, in order to store camera data in the decentralized
storage system, the owner’s kindergarten has to share
securely their data to the administrator of the system. The
information of shared data is also published on the
blockchain. We also present a scheme for guaranteeing the
privacy, integrity, and authentication of sharing data on the
peer-to-peer network from owners to the storage system.
Comparison with the other blockchain-based access
control solutions, our solution has some advantages in
setting access time for users. And the IoT data is stored on
demand of owners, is guaranteed confidentiality and
privacy in sharing and storing processes, owners and users
can access data via a peer-to-peer network. The rest of this
paper is organized as follows. Section II introduces the
blockchain technology and IPFS. In section III IoT security
issues are presented. Section IV introduces an overview of
the blockchain-based security solutions for IoT. Our
solution is described in section V. Section VI shows our
evaluation. Finally, our conclusions are given in Section
VII.
Keywords— Blockchain, IoT, access control.
I. INTRODUCTION
IoT devices are indispensable components in smart city
systems, smart homes, etc. According to forecasts of IDC
[1], more than 150 billion devices will be connected across
the globe by 2025. Worldwide data will grow from 33
Zettabytes (ZB) in 2018 to 175 ZB by 2025, of which 90
ZB will be created on IoT devices. However, most IoT
devices are limited in computing power, storage memory
capacity, and network bandwidth. In addition, with various
types of devices used in the network, making the
deployment of security solutions faces many difficulties
and challenges.
Currently, many solutions have been proposed to
improve the security and privacy of IoT. Most solutions are
usually implemented based on centralized and hierarchical
structures. However, with the rapid growth of IoT devices,
along with the needs of device owners (called owners) such
as device management, resource sharing, data storage. That
may create many challenges in managing, privacy-
preserving data, ensuring system availability. These
problems can be solved based on the blockchain
technology.
II. BLOCKCHAIN AND IPFS
A. Blockchain
Blockchain, was first proposed in 2008 by Santosi
together to form a chain as a linked list, each block has two
main components, the block header contains management
information of block as well as chain. And the block body
Contact author: Huynh Thanh Tam,
Email: [email protected]du.vn
Arrival: 8/2020, Revised: 9/2020, Accepted: 10/2020
SOÁ 03 (CS.01) 2020
TAÏP CHÍ KHOA HOÏC COÂNG NGHEÄ THOÂNG TIN VAØ TRUYEÀN THOÂNG
15
A BLOCKCHAIN-BASED ACCESS CONTROL SOLUTION FOR IoT
holds a list of transactions. Each block is associated with a 3-layer architecture of IoT and the corresponding protocols
previous block through a hash pointer. This hash value also at these layers are shown in Table I [8][9][10].
uses to verify the integrity of the content of the previous
block. The first block of the chain is called the genesis
Table 1. IoT architecture.
Layer
Feature
Protocol
Figure 1.
Application Provide specific
HTTP, XML,
JSON, etc.
layer
applications for users
Network
layer
Receive and process
data from the
IPv6/IPv4,
IEEE
Perception layer.
802.15.4
6LoWPAN,
MQTT, etc.
Establish connections
and transfer data to
devices in the network
Perception
layer
Collect data from the
surrounding
environment and
transfer data to the
Network layer
IEEE
802.11/15, Z-
Wave,
WirelessHart,
etc.
Figure 1: An example of a blockchain.
Blockchain is a decentralized system in which the nodes
communicate directly with each other through a peer-to-
peer network. All valid transactions are mined and securely
recorded in the ledger which is stored at miner nodes. In
order to synchronize data in the ledger, the two popular
consensus algorithms are Proof of Work and Proof of
Stake.
Some security requirements for IoT, including Privacy,
Confidentiality, Integrity, Authentication, Authorization,
issues and affected security properties of IoT are presented
in Table 2.
Table 2. Attack types and security issues of IoT [10]
B. IPFS
a peer-to-peer distributed file system. Each IPFS node
owns a key pair (public and private key), in which the
public key is used to generate NodeID, and the private key
is used to sign in the IPNS service. When two nodes
initialize a connection, they exchange their public key and
NodeID with each other and then check the validity
between the NodeID and the public key being exchanged,
if the information is not correct, the connection is
terminated. Basically, there are three types of nodes,
namely: client node, retrieval miner node, and storage
miner node. Each miner node owns a distributed hash table
(DHT) to support routing and discovery of content and
peers on the network. In order to lookup or store objects,
nodes can use four remote procedure calls including PING,
STORE, FIND_NODE, and FIND_VALUE. Currently,
the S/Kademlia DHT, an extension of kademlia protocol,
is used to build the routing table [6].
By default, files are only cached temporarily and
removed by the garbage collection feature of IPFS. Hence,
in order to improve the redundancy of data on the network,
some storage miner nodes (called cluster nodes) are
configured the cluster feature. Then important files are
pinned and replicated between these cluster nodes.
Normally, cluster nodes have a large storage space and
high-speed processing capacity [7].
I: Privacy, Confidentiality, Integrity.
II: Availability.
III. IOT SECURITY ISSUES
III: Authentication, authorization, Accounting.
IV: Energy efficiency.
Internet of Things is a network that connects any
possible objects/things (tablets, smart phones, smart watch,
etc.). IoT could be applied in many fields, such as smart
home, smart city, smart agriculture, smart health, etc. The
SOÁ 03 (CS.01) 2020
TAÏP CHÍ KHOA HOÏC COÂNG NGHEÄ THOÂNG TIN VAØ TRUYEÀN THOÂNG
16
Huynh Thanh Tam, Nguyen Dinh Thuc, Tan Hanh
IV. OVERVIEW OF THE BLOCKCHAIN-BASED
SECURITY SOLUTIONS FOR IOT
based on the blockchain ledger. Owners can also make a
new GrantAccess transaction to update or revoke a
permission on their resources.
The blockchain-based security solutions for IoT can be
classified into 3 categories: access control, device
management, data security.
4 different blockchains to store access control rules,
relationships, contexts and accountability information.
This architecture provides a secure way to establish
relationships between users, devices and group of both,
allowing the assignment of attributes for these
relationships and their use in the access control
blockchain and machine learning algorithms to create a
decentralized access control framework and to provide a
dynamic optimized and self-adjusted security policy. In the
for registering and setting access control policies for their
devices by using smart contracts. The management hub
nodes, is not part of the blockchain, is the intermediary to
translate messages from devices into RPC messages and
forward them to the blockchain network, and the nodes can
also return query results on the blockchain to the IoT
devices. The policy rules in the proposed solution can
expire automatically after a certain time.
perform a smart contract. Then, both the user and the
device receive an authentication token. The user uses this
token in an authentication message signed by the user’s
private key. The IoT device verifies the signature in the
authentication message along with checks the validation of
the token and the source IP before exchanging data. The
scheme using blockchain for IoT. In which, each device is
described by a set of attributes by attribute authorities.
Blockchain is used to record the distribution of attributes.
To get the access authorization, the device involved must
prove its ownership of corresponding attributes that satisfy
the policy.
A. Access control
Access control is a security mechanism for monitoring
and controlling access to resources. Traditional solutions
often use an access control list installed on a centralized
server, connection requests will be sent to this server for
checking the validity before granting permission.
However, when the number of IoT devices connected in
the network increases significantly, and the owners need to
control their devices and data, the centralized model raises
privacy concerns, complex configuration, and a single
point of failure. Blockchain-based access control solutions
can solve these problems.
smart home, consisting of three core tiers that are: smart
home, cloud storage, and overlay. The home owner
generates and stores access control policies in the policy
header of the genesis block. The latest block’s policy
header is considered the latest policy update. The policies
include: (1) Granting access to other devices in the smart
home; (2) Granting access from the overlay network to the
smart home; (4) Granting access the local storage/cloud
storage; (3) Granting storage to the local storage/cloud
storage. The policy header has four parameters: The
“Requester” parameter refers to the requester PK in the
received overlay transaction, or is “Device ID” for local
devices. The second parameter is used to indicates the
requested action in the transaction (such as store, store
cloud, access, monitor). The third field is the ID of a device
inside the smart home, and finally, the last column
indicates the action that should be done for the transaction
(Allow, Deny).
based on blockchain. In order to open the smart door, a user
has to perform a transaction which contains information as
follows: (1) the OPEN control message, and (2) the GPS
information of the node is used to measure a distance (d)
between the smart door lock and the node. If the d is lower
than the preset range, the smart door will open. The result
of the operation is also broadcasted to the blockchain
network.
preserving access control framework called FairAccess
that allows owners to control access to their devices. In
particular, blockchain is used to stores all access control
policies for each pair (resource, requester) in form of
transactions. When device A wants to perform an operation
on device B, it sends a request to the owner of device B.
Then, the owner defines an access control policy and
transfers it to the blockchain through a GrantAccess
transaction. In case of successful validation, device A
receives an access token which is considered a license to
access device A. Device A uses this token in a GetAccess
transaction. Then when device A accesses device B, device
B verifies the signature and the validation of the token
B. Device management
A device management system includes the following
basic tasks: managing firmware; identifying and
authenticating devices; monitoring and updating
configurations for devices.
solution for IoT devices using the ethereum blockchain
platform. In this solution, each device owns an ethereum
account and uses Meter contract to send technique
parameters (such as electricity index, temperature, etc.)
periodically to the blockchain. Policy contract is used to
configure policies for devices, and devices regularly check
its related data on the blockchain to update the
corresponding parameters. For instance, when the meter of
an air conditioner reaches 150KW, the air conditioner will
switch from normal mode to saving mode.
Concerning secure firmware update: In [22],
a
manufacturer deploys a smart contract to store the hash
value of the latest firmware version in the ledger. IoT
devices can query the information of a new firmware via
smart contracts, and then download this firmware on a
distributed peer-to-peer filesystem such as IPFS. In the
SOÁ 03 (CS.01) 2020
TAÏP CHÍ KHOA HOÏC COÂNG NGHEÄ THOÂNG TIN VAØ TRUYEÀN THOÂNG
17
A BLOCKCHAIN-BASED ACCESS CONTROL SOLUTION FOR IoT
proposed solution of Lee et al. [23], IoT devices act as through the ledger of the blockchain. Some other proposed
Normal nodes in the blockchain network, they can send solutions in [32][33][34], blockchain is used as a storage
requests or respond to firmware update requests from other tool of IoT systems to record data in plaintext, cipher or
nodes in the network. The vendor operates Verification hash values.
nodes, which is responsible for maintaining the latest
firmware information. The vendor node is outside of the V. OUR SOLUTION
blockchain network but keeps a secure channel connected
In this section, we propose a security framework for IoT
to the Verification node to provide the latest firmware.
based on blockchain that provides the two features
When a normal node submits a request transaction to
including:
require a firmware update. This transaction contains the
Access control: The basic idea is to control connections
based on the time fixed on the blockchain. Particularly, the
current version information of the requesting node. In case
the current firmware is not up-to-date or not integrity, the
owner of devices registers the information of their devices
Verification node will send a metadata file containing a
on the blockchain network, all information concerning
peer list of the firmware sharing network. Then, the
devices are encrypted by a symmetric cryptosystem to
requesting node will download and update the latest
ensure privacy. To connect a device, a user has to conduct
a request transaction to the owner, then the owner sends the
firmware.
Concerning IoT devices management: In a device
decryption key securely to the user via a transaction, and
the deadline for access is fixed on the blockchain. After
public key. In order to verify a device’s identity, the device
having information of the device, the user establishes a
has to send encrypted challenge and response messages to
connection to the device, the connection is verified by a
proxy server of the owner based on information of the
TM-Coin to manage TCB measurements of IoT devices.
ledger. The connection will be automatically rejected when
The verifier can launch remote attestation of sensed data
the deadline is over.
Decentralized storage service: Servers of the owner can
from the devices using the TCB measurements published
on the blockchain without attesting to the TCBs of the
only store IoT data in a certain time because of the limited
hashes of devices’ firmware. That aims to prevent fake
devices joining to the network. The authors in [27]
storage space. The oldest data will be deleted to reserve
free space to store new data. In some cases, important files
should be stored long term, besides these files can be
proposed the BIFIT (blockchain-based identity framework
accessed from a lot of users. If the owner uses a hosting
for IoT) to automatically extract signatures for IoT devices
service that operates on a centralized model, data security
in smart homes and to create blockchain-based identities
issues and system availability will not be guaranteed [35].
To overcome the limitation, our solution provides a
decentralized storage service based on IPFS. We use some
IPFS storage nodes with large storage capacity for data
synchronization, these nodes also join the public IPFS
network. Currently, the ipfs.io is one of the largest public
for their appliance owners. The information of device’s
signature and owner’s identification is used to authenticate
in use. The correlations between appliances’ signatures and
owners’ identities are used in authentication processes.
by a blockchain address and has a minimal set of attributes
such as MAC/IP addresses, serial number, manufacturer,
owner can register the decentralized storage service to store
life cycle, and owners of the device. Using smart contracts
IoT data for a long period of time. In order to transfer IoT
to register devices, or change the ownership of devices. All
data from the owner to the storage system, we also present
information related to devices can also track in the ledger.
a mechanism for privacy-preserving data sharing on peer-
to-peer networks. All information about the service is
recorded in the ledger.
C. Data security and secure communication
dissemination and distribution system. In this system,
blockchain is used at the Data store system layer to store
the access control data from the Messaging service layer.
In the proposed security framework for smart cities of the
communication layer to provide security and privacy of
transmitted data. And the database layer in this framework
uses private ledgers to ensure scalability, performance, and
security for real-time applications in smart cities.
quality control and regulatory compliance over the
transport of medical products, the temperature of each
parcel during the shipment is sent from sensors to
blockchain for storage. In addition, the temperatures can be
assessed automatically and notify the sender and recipient
by smart contracts. And external parties can audit data
We consider in the context of a kindergarten in a smart
home area, with camera devices as IoT devices that need to
be managed. We build a private blockchain with the Proof
of Authentication consensus, in which each block has a
structure as follows:
Block Header: The header includes three fields
- Block_ID is used to identify the block.
- Previous hash is the hash value of the parent block.
- Timestamp shows that the blocks are connected in
chronological order.
Block Body: A block body contains the sequence of
transactions. Each transaction is signed by the sender. The
Genesis block contains a list of public keys of miner nodes.
The proof-of-authentication consensus works as follows:
(1) When a miner node generates a new block. It generates
a signature on this block, and then it broadcasts this block
along with the digital signature to the network.
SOÁ 03 (CS.01) 2020
TAÏP CHÍ KHOA HOÏC COÂNG NGHEÄ THOÂNG TIN VAØ TRUYEÀN THOÂNG
18
Huynh Thanh Tam, Nguyen Dinh Thuc, Tan Hanh
(2) The other miner nodes verify the signature by using the connect to the camera device, which is encrypted by a
list of public keys of the miners in the ledger. If the symmetric algorithm E along with a key (K), the output
signature is valid the new block will be added to the chain. result is assigned to 퐶1. The Sig field is the signature of the
owner in this transaction. After mining success by miners,
data is recorded in the ledger.
Figure 3: The sequence diagram of the device
registration process.
B. Access management process
Figure 2: The general architecture of the system.
As shown in Figure 4, the steps of the access
management process including:
The architecture of our system is depicted in Figure 2,
including components as follows: (1) Blockchain Miner
node; (2) IPFS Storage node; (3) Gateway node; (4) User
node; (5) Camera device. A node with high performance
can assume two roles, a blockchain miner and an IPFS
storage node.
Blockchain miner node: The node is responsible for mining
new blocks for the private blockchain.
IPFS storage node: The node has a high storage space, is
enabled the clustering service for data replication between
cluster nodes. All data is pinned to ensure always available
on the network.
Gateway node: The gateway is a normal node of the
blockchain network, and is also an IPFS client node of the
IPFS network. Moreover, the node acts as a proxy for
managing connections from outside to camera devices of
the kindergarten. The node can also store videos from IoT
devices.
Camera device: The device does not belong to the
blockchain and IPFS networks, and is connected to the
Gateway node.
User node: The node represents for user’s devices that is
used to perform blockchain transactions and connect to the
camera devices of the kindergarten. The node can also join
the public IPFS network if it wants to get data shared from
the owner’s camera devices.
(1) The user submits a transaction TX::View_Request to the
owner. The user must specify the Camera ID (CAM_ID)
and the period of access time. By default, the user can only
view a camera for a certain period of time (T). The time T
can also be determined based on the cost the user pays to
the owner. The transaction information is shown in Table
3a: Where 푃푈푈 is the public key of the user. Sig contains a
signature of the user on the transaction.
(2) The transaction is verified by miners.
(3) A miner publishes a new block on the blockchain
network.
(4) A client application is used to query transactions
corresponding the DO’s public key in the ledger. After
receiving a transaction View_Request informed by the
client application, the owner makes
a transaction
View_Reply to the user with contents as shown in Table 3b:
Table 3. The contents of transactions.
(a)
(b)
#TX::View_Request
From: 푃푈푈 to 푃푈퐷푂
CAM_ID: <ID_Camera>
Time: T
#TX::View_Reply
From: 푃푈퐷푂 to 푃푈푈
퐶2 = 퐸푃푈 (퐾)
푈
Deadline: Systime+T
Sig: Signature
Sig: Signature
Where, the key K is encrypted by an asymmetric
cryptography and the public key of the user. Therefore,
only the user can know the key K. The result is assigned to
C2; Deadline is the end time of the connection.
(5) and (6) are similar to the steps (2) and (3) above. Noted
that the deadline will be fixed at the step (6).
A. Device registration process
The sequence diagram of the device registration process
is shown in Figure 3. The owner of the kindergarten has to
submit a transaction to the blockchain network called
TX::Reristration_Cam. The contents in this transaction
including:
(7) The gateway node checks transactions View_Reply to
build an access management table, as shown in Table 4.
#TX::Registration_Cam
From: 푃푈퐷푂 to 푃푈푆푌푆
CAM_ID: <ID_Camera>
퐶1 = 퐸푘(퐶푎푚_퐼푛푓표푟푚푎푡ꢀ표푛)
Table 4. The connection management table.
Sig: Signature
Connection Management table
Where 푃푈퐷푂 is the public key of the owner, is also
considered a wallet address of the owner on the blockchain
network; 푃푈푆푌푆 is the public key of the blockchain system;
CAM_ID
1
2
…
User
푃푈푈1
푃푈푈2
Deadline
9:00 10/06/2020
10:00 10/06/2020
…
CAM_ID is an identification of
a
camera;
…
퐶푎푚_퐼푛푓표푟푚푎푡ꢀ표푛 is the necessary information to
SOÁ 03 (CS.01) 2020
TAÏP CHÍ KHOA HOÏC COÂNG NGHEÄ THOÂNG TIN VAØ TRUYEÀN THOÂNG
19
A BLOCKCHAIN-BASED ACCESS CONTROL SOLUTION FOR IoT
Figure 4. The sequence diagram of the access management process.
( )
the data. 퐶퐴 = 푠ꢀ푔푃푟퐷푂(퐻푎푠ℎ 퐷1 ).
The table will be updated at each mining round of the
blockchain network.
(8) The user performs the two decryption processes to get
the key K and Cam_Information:
(2) The owner uploads 퐷1 and 퐶퐴 to the IPFS.
(3) The IPFS network returns a path of the encrypted data
and the certificate.
(4) Create and submit a transaction (TX::Store_Request) to
the blockchain network. This transaction has the following
퐾 = 퐷푃푅푈(퐶2)
퐶푎푚_퐼푛푓표푟푚푎푡ꢀ표푛 = 퐷푘(퐶1)
Where 퐷푃푅 denotes the decryption algorithm of an necessary information:
푈
(i) Sender ( 푃푈퐷푂 ), Receiver (푃푈푆푌푆
)
(ii) The path of the encrypted data and the certificate on
the cloud.
asymmetric cryptosystem with the input is the private key
of the user 푃푅푈 and 퐶2; 퐷푘 denotes the decryption process
of a symmetric cryptosystem, the input is the key K and 퐶1.
Then, the user uses the Cam_information to connect to the
Gateway node in a format specified by the owner. For
instance,
(iii) The certificate of the data
(iv) The Storage time
(5) and (6) are the process of mining and publishing block
of the blockchain network.
ure_on _this_link”
(9) The checking process includes two steps, as shown in
Figure 5. Step1: The Gateway node checks whether the
public key of the connection exists in the connection
management table (CMT) or not? If the public key already
exists, the node verifies the signature in the connection
link; Step 2: The node checks whether the time is still valid
or not. The time checking is performed every 60 seconds.
(10) The connection is established to the camera.
C. Storage registration process
Because of the limitation of the storage space of the
gateway. Hence, the owner can transfer data to the
decentralized storage system. We propose a mechanism for
privacy-preserving data sharing on the peer-to-peer
network, as shown in Figure 6. The sequence of steps are
as follows:
(1) Encrypt and sign: This step includes the following
activities:
(i) The owner encrypts data of camera devices with a
secret key and the selected symmetric cryptography. The
output is denoted by D1.
Figure 5. The flowchart of checking connections
(ii) The owner issues a certificate to mask the integrity of
(7) The Admin of the system get the link on the blockchain.
SOÁ 03 (CS.01) 2020
TAÏP CHÍ KHOA HOÏC COÂNG NGHEÄ THOÂNG TIN VAØ TRUYEÀN THOÂNG
20
Huynh Thanh Tam, Nguyen Dinh Thuc, Tan Hanh
(8) The Admin pins the link on the IPFS cluster nodes.
(9) The Admin submits a transaction TX::Store_Reply to
the blockchain network with information as follows:
(i) Sender (푃푈푆푌푆), Receiver ( 푃푈퐷푂).
(ii) The link of data on the IPFS.
(iii) Status: Completed.
Figure 6. The sequence diagram of the storage service.
(10) and (11) are similar to the steps (5) and (6) above.
The Storage time depends on the cost the owner paid to the VII. CONCLUSION
system and the size of data. The cluster node has a tool that
automatically deletes data that is out of date on the IPFS.
Access control plays a crucial role for IoT, blockchain-
based solutions bring more advantages than other
solutions. Our solution is efficient in managing access
based on access times, and providing a decentralized
storage service for IoT. Data stored on the storage system
is guaranteed privacy by symmetric cryptosystems.
Owners or users can join the public IPFS network, and
access data through the peer-to-peer network. The Proof of
Authentication is a suitable selection for our private
blockchain network which improves miners’ performance.
VI. EVALUATION
We use the confidentiality, integrity, and availability
(CIA) model for evaluation of our system security.
Confidentiality: Sensitive data such as device
information, camera data are stored on the ledger and IPFS
in encrypted form. The connection from a user to a camera
device can be protected by using a Secure Sockets Layer
(SSL).
Integrity: For the blockchain network, the data is
guaranteed integrity by the immutable of the ledger. For
the IPFS network, files in IPFS are identified by their
hashes. These hash values are used to verify the integrity
of files. The certificates of files are also used to validate the
possession of files. Concerning the integrity of the
Connection Management Table, this table is stored at the
proxy node, in case this table is edited by adversaries, the
connections are affected for a certain period of time
because this table is reloaded from the bockchain ledger at
each mining round.
Acknowledgment. This research is funded by Vietnam
National University Ho Chi Minh City (VNU-HCM) under
grant number NCM2019-18-01.
REFERENCES
[1] A. Patrizio, “IDC: Expect 175 zettabytes of data worldwide
by 2025,” Network World, 2018.
[2] A. Narayanan, J. Bonneau, E. Felten, A. Miller, and S.
Goldfeder, “Bitcoin and cryptocurrency technologies: A
comprehensive introduction,” Princeton University Press,
2016.
[3] Z. Zheng, S. Xie, H. N. Dai, and H. Wang, “Blockchain
challenges and opportunities: A survey,” in International
Journal of Web and Grid Services, 2016.
Availability: The clustering feature of IPFS ensures that
stored data is replicated on IPFS storage nodes. Besides,
the blockchain ledger is kept at miner nodes. In cases some
nodes of IPFS and Blockchain do not work, our service will
still be provided by other mine nodes.
[4] T. T. Huynh, T. D. Nguyen, and H. Tan, “A Survey on
Security and Privacy Issues of Blockchain Technology,” in
2019 International Conference on System Science and
Engineering (ICSSE), IEEE, pp. 362-367, 2019.
SOÁ 03 (CS.01) 2020
TAÏP CHÍ KHOA HOÏC COÂNG NGHEÄ THOÂNG TIN VAØ TRUYEÀN THOÂNG
21
A BLOCKCHAIN-BASED ACCESS CONTROL SOLUTION FOR IoT
[5] J. Benet, “Ipfs-content addressed, versioned, p2p file
system,” arXiv preprint arXiv:1407.3561, 2014.
[6] T. T. Huynh, T. D. Nguyen, and H. Tan, “A Decentralized
Solution for Web Hosting. In 2019 6th NAFOSTED
Conference on Information and Computer Science (NICS),
IEEE, pp. 82-87, 2019.
[8] F. A. Alaba, M. Othman, I. A. T. Hashem, and F. Alotaibi,
“Internet of Things security: A survey,” Journal of Network
and Computer Applications, 88, 10-28, 2017.
[9] A. Kamble, and S. Bhutad, “Survey on Internet of Things
(IoT) security issues & solutions,” in 2018 2nd International
Conference on Inventive Systems and Control (ICISC),
IEEE, pp. 307-312, 2018.
[10] M. A. Khan, and K. Salah, “IoT security: Review,
blockchain solutions, and open challenges,” Future
Generation Computer Systems, 82, pp. 395-411, 2018.
[11] K. T. Nguyen, M. Laurent, and N. Oualha, “Survey on
secure communication protocols for the Internet of Things,”
Ad Hoc Networks, 32, pp. 17-31, 2015.
[24] H. Lombardo, “Blockchain Serves as Tool for Human,
Product and IoT Device Identity Validation” [online] Chain
of Things, (2017).
[25] J. Park, and K. Kim, “TM-Coin: Trustworthy management
of TCB measurements in IoT,” in 2017 IEEE International
Conference on Pervasive Computing and Communications
Workshops (PerCom Workshops), IEEE, pp. 654-659, 2017.
[26] N. Kshetri, “Can blockchain strengthen the internet of
things?” IT professional, 19(4), pp. 68-72, 2017.
[27] X. Zhu, Y. Badr, J. Pacheco, and S. Hariri, “Autonomic
identity framework for the internet of things,” in 2017
International Conference on Cloud and Autonomic
Computing (ICCAC), IEEE, pp. 69-79, 2017.
[28] A. S. Omar, and O. Basir, “Identity management in IoT
networks using blockchain and smart contracts,” in 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),
IEEE, pp. 994-1000, 2018.
[12] M. L. Das, “Privacy and security challenges in Internet of
Things,” in International Conference on Distributed
Computing and Internet Technology, Springer, Cham, pp.
33-48, 2015.
[29] S. H. Hashemi, F. Faghri, P. Rausch, and R. H. Campbell,
“World of empowered IoT users,” in 2016 IEEE First
International Conference on Internet-of-Things Design and
Implementation (IoTDI), IEEE, pp. 13-24, 2016.
[13] A. Dorri, S. S. Kanhere, R. Jurdak, and P. Gauravaram,
“Blockchain for IoT security and privacy: The case study of
a smart home,” in 2017 IEEE international conference on
pervasive computing and communications workshops
(PerCom workshops), IEEE, pp. 618-623, 2017.
[14] D. Han, H. Kim, and J. Jang, “Blockchain based smart door
lock system,” in 2017 International conference on
information and communication technology convergence
(ICTC), IEEE, pp. 1165-1167, 2017.
[15] A. Ouaddah, A. Abou Elkalam, and A. A. Ouahman,
“Towards a novel privacy-preserving access control model
based on blockchain technology in IoT,” In Europe and
MENA cooperation advances in information and
communication technologies, Springer, Cham, pp. 523-533,
2017.
[16] O. J. A. Pinno, A. R. A., Gregio, and L. C. De Bona,
“Controlchain: Blockchain as a central enabler for access
control authorizations in the IoT,” in GLOBECOM 2017-
2017 IEEE Global Communications Conference, IEEE, pp.
1-6, 2017.
[17] A. Outchakoucht, E. S. Hamza, J. P. Leroy, “Dynamic
access control policy based on blockchain and machine
learning for the internet of things,” Int. J. Adv. Comput. Sci.
Appl, 8(7), 417-424, 2017.
[18] O. Novo, “Blockchain meets IoT: An architecture for
scalable access management in IoT,” IEEE Internet of
Things Journal, 5(2), pp. 1184-1195, 2018.
[19] A. Z. Ourad, B. Belgacem, and K. Salah, “Using blockchain
for IOT access control and authentication management,” in
International Conference on Internet of Things, Springer,
Cham, pp. 150-164, 2018.
[30] K. Biswas, and V. Muthukkumarasamy, “Securing smart
cities using blockchain technology,” in 2016 IEEE 18th
international conference on high performance computing
and communications; IEEE 14th international conference on
smart city; IEEE 2nd international conference on data
science and systems (HPCC/SmartCity/DSS), IEEE, pp.
1392-1393, 2016.
[31] T. Bocek, B. B. Rodrigues, T. Strasser, and B. Stiller,
“Blockchains everywhere-a use-case of blockchains in the
pharma supply-chain,” in 2017 IFIP/IEEE symposium on
integrated network and service management (IM), IEEE, pp.
772-777, 2017.
[32] Y. Rahulamathavan, R. C.-W. Phan, M. Rajarajan, S. Misra,
and A. Kondoz, “Privacy-preserving blockchain based IoT
ecosystem using attribute-based encryption,” in Proc. IEEE
Int. Conf. Adv. Netw. Telecommun. Syst. (ANTS), Dec.
2017, pp. 1–6.
[33] M. Conoscenti, A. Vetrò, and J. C. De Martin, “Peer to peer
for privacy and decentralization in the Internet of Things,”
in Proc. IEEE/ACM 39th Int. Conf. Softw. Eng. Companion
(ICSE-C), May 2017, pp. 288–290.
[34] B. Liu, X. L. Yu, S. Chen, X. Xu, and L. Zhu, “Blockchain
based data integrity service framework for IoT data,” in
Proc. IEEE Int. Conf. Web Services (ICWS), Jun. 2017, pp.
468–475.
[35] T. T. Huynh, T. D. Nguyen, and H. Tan, “A Decentralized
Solution for Web Hosting,” In 2019 6th NAFOSTED
Conference on Information and Computer Science (NICS),
IEEE, pp. 82-87, 2019.
April, 2020).
[20] S. Ding, J. Cao, C. Li, K. Fan, and H. Li, “A novel attribute-
based access control scheme using blockchain for IoT,”
IEEE Access, 7, pp. 38431-38441, 2019.
[21] S. Huh, S. Cho, and S. Kim, “Managing IoT devices using
blockchain platform,” in 2017 19th international conference
on advanced communication technology (ICACT), IEEE,
pp. 464-467, 2017.
[22] K. Christidis, and M. Devetsikiotis, “Blockchains and smart
contracts for the internet of things,” IEEE Access, 4, pp.
2292-2303, 2016.
[23] B. Lee, and J. H. Lee, “Blockchain-based secure firmware
update for embedded devices in an Internet of Things
environment,” The Journal of Supercomputing, 73(3), pp.
1152-1167, 2017.
GIẢI PHÁP KIỂM SOÁT TRUY CẬP TRUY CẬP
DỰA TRÊN BLOCKCHAIN CHO IOT
Tóm tắt—Bài báo này đề xuất một nền tảng bảo mật cho
vạn vật kết nối internet (IoT) dựa trên blockchain. Giải
pháp cung cấp hai tính năng: (1) Kiểm soát truy cập cho
các thiết bị IoT, cho phép người dùng trả phí cho chủ sở
hữu thiết bị để truy cập một thiết bị trong một khoảng thời
gian nhất định. Khi hết thời gian truy cập, kết nối sẽ tự động
bị ngắt bởi proxy của chủ sở hữu; Và (2) Dịch vụ lưu trữ
phi tập trung, cung cấp không gian lưu trữ cho dữ liệu IoT.
SOÁ 03 (CS.01) 2020
TAÏP CHÍ KHOA HOÏC COÂNG NGHEÄ THOÂNG TIN VAØ TRUYEÀN THOÂNG
22
Huynh Thanh Tam, Nguyen Dinh Thuc, Tan Hanh
Chủ sở hữu thiết bị phải trả tiền cho hệ thống để thuê không
gian lưu trữ. Tổng số tiền thanh toán phụ thuộc vào kích
thước của dữ liệu và thời gian lưu trữ. Dữ liệu được lưu trữ
trên hệ thống lưu trữ sẽ tự động bị xóa khi hết thời gian lưu
trữ. Chúng tôi cũng trình bày một phương thức chia sẻ dữ
liệu đảm bảo tính riêng tư trên mạng ngang hàng giữa các
chủ sở hữu và hệ thống lưu trữ. Chúng tôi sử dụng công
nghệ blockchain để quản lý các thiết bị IoT, thông tin truy
cập và thông tin lưu trữ dữ liệu. Giao thức đồng thuận Bằng
chứng xác thực được sử dụng để cung cấp xác minh khối
nhẹ. Để lưu trữ dữ liệu của các thiết bị IoT, chúng tôi sử
dụng hệ thống tệp liên hành tinh (IPFS) là một hệ thống tệp
phân tán ngang hàng. Giải pháp của chúng tôi cung cấp sự
linh hoạt trong việc kiểm soát truy cập dựa trên thời gian
so với các giải pháp kiểm soát truy cập dựa trên blockchain
khác.
Từ khóa: Blockchain, IoT, kiểm soát truy cập
Huynh Thanh Tam is currently a
lecturer of the Faculty of Information
Technology
at
Posts
and
of
Telecommunications
Institute
Technology, Ho Chi Minh City
Campus. His research interests
include
blockchain,
IoT,
and
decentralized storage.
Email: tamht@ptithcm.edu.vn
Nguyen Dinh Thuc is currently a
lecturer of the Faculty of Information
Technology at University of Science,
VNU-HCMC, Vietnam. His research
interests include cryptography,
information security, and machine
learning.
Email:[email protected].edu.vn
Tan Hanh is currently a vice president
of Posts and Telecommunications
Institute of Technology. His research
interests are machine learning,
information retrieval, and data mining.
Email: tanhanh@ptithcm.edu.vn
SOÁ 03 (CS.01) 2020
TAÏP CHÍ KHOA HOÏC COÂNG NGHEÄ THOÂNG TIN VAØ TRUYEÀN THOÂNG
23
Bạn đang xem tài liệu "A blockchain-based access control solution for IoT", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
a_blockchain_based_access_control_solution_for_iot.pdf

