50A Blockchain Based Authentication and Security Mechanism For IoT
50A Blockchain Based Authentication and Security Mechanism For IoT
net/publication/328247073
CITATIONS READS
25 5,580
4 authors, including:
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Wei Peng on 25 December 2019.
Abstract—The existing identity authentication of IoT any cooperating group of attacker nodes [1]. The data stored
devices mostly depends on an intermediary institution, i.e. a in the blockchain cannot be tampered with, even if the
CA server, which is considered under the risk of single-point- attacker comes from the internal system.
failure attack. Even worse, the critical data of authenticated
devices can be tampered by inner attacks without being The blockchain technology provides feasible solutions
identified. To address these issues, we utilize blockchain for the identity authentication and security protection of IoT
technology, which serves as a secure tamper-proof distributed devices. The threshold of deployment and management
ledger for IoT devices. In the proposed method, we assign a blockchain is relatively low. Even if the intelligent devices
unique ID for each individual device and record them into the have limited computing resources, blockchain can be
blockchain, so that they can authenticate each other without a deployed. Applying blockchain in the IoT makes the
central authority. We also design a data protection mechanism centralized network structure become decentralized or multi-
by hashing significant data (i.e. firmware) into the blockchain centralized, which can greatly improve the security of the
where any state changes of the data can be detected system. It is necessary to save device ID, public key and
immediately. Finally, we implement a prototype based on an hash of critical data in the ledger before a device access to
open source blockchain platform Hyperledger Fabric to verify the IoT. Through the use of asymmetric cryptography, the
the proposed system. peer-to-peer identity authentication equals to verifying the
correctness of the matching between a public key and a
Keywords—blockchain; authentication; security; data
protection;
device ID [2]. By checking the hash of critical data of
devices, any modification of the data can be detected
immediately.
I. INTRODUCTION
With the development of the Internet of Things (IoT), the II. RELATED WORKS
number of networked devices is increasing explosively.
However, security issues of IoT can cause disastrous While blockchain was born with Bitcoin, its applications
consequences to our human life. For example, the Mirai have gone far beyond Bitcoin or digital currency. Blockchain
botnet was used to attack the Internet infrastructure firm Dyn could revolutionize many fields, such as finance, accounting,
which resulted many of the Internet’s top destinations offline management, and law [15]. Blockchain and its applications
in 2016. Thus, IoT devices require strong self-protection are studied and alternative model for authentication,
capabilities to defend malicious attacks from inner or outer authorization and security protection is proposed by scholars
areas. The authentication mechanism can secure the identity around the world.
of the IoT devices in the network, which is the first gateway Ouaddah A et al. [3] proposed a blockchain-based IoT
to the network security. It is necessary to authenticate the access control framework with the goal of providing a
identities of devices in the network, and the traditional reference model for the framework proposed in the
authentication of the IoT is mostly based on the Public Key specification of objectives, models, architectures, and
Infrastructure(PKI), which requires a central authority. mechanisms in the IoT. Xu Q et al. [4] proposed a
Blockchain, as a distributed ledger technology, creates a blockchain-based decentralized Docker Trust (DDT)
trustless environment which can entirely remove the solution, which greatly reduces the risk of DoS and provides
dependence on the central authority. Each node achieves the signature verification services for Docker images. Rodrigues
consistency of storage data through a consensus algorithm in B et al. [5] proposes a new architecture through emerging
blockchain network. The system is secure as long as the technologies such as blockchain and smart contracts,
honest nodes control collectively control more hashrate than providing new opportunities for flexible and efficient DDoS
mitigation solutions across multiple domains. Zyskind G et In order to prevent illegal devices accessing the IoT, we
al. [6] proposes a decentralized personal data management use public key cryptography to authenticate IoT entities.
system to ensure that users own and control their data and The biggest difference is that we introduce a peer-to-peer
implements an agreement that turns the blockchain into an authentication methodology without third party based on
automatic access control manager that does not require third- blockchain.
party trust. Kumari S et al. [7] proposed a new architecture
design by combining emerging technologies such as B. Security protection
blockchain and smart contracts, introducing new In the IoT, ensure the reliability of the IoT devices
opportunities for flexible and efficient DDoS mitigation provides security protection. Even if a device has passed the
solutions across multiple domains. Lee B et al. [8] proposes a authentication of other nodes, it still has the risk of being
new firmware update scheme using blockchain technology attacked by malicious users due to software or system
for securely checking the firmware version, verifying the vulnerabilities during the execution of the task. The intruder
correctness of the firmware and downloading the latest usually will modify the network entity to leave a backdoor in
firmware of the embedded device. Moinet A et al. [9] the device to prepare for subsequent infiltration and modify
proposed a new security model and protocol based on the key configuration file in the device and cause damage to
blockchain technology to ensure the validity and integrity of the entire network.
password authentication data and the associated peer trust
level from the beginning to the end of the sensor network In order to discover potential intrusions quickly, we
lifecycle. Lundbaek L N et al. [10] proposes to use a regularly verify that whether critical data have been
blockchain to record the hash of the financial process tampered with.
transaction to increase its credibility and the credibility of the
audit. Yin W et al. [11] proposed a new anti-quantum C. Assumptions
transaction authentication scheme in the blockchain.
Alexopoulos N et al. [2] pointed out that in the trust 1) Enrollment Control
management certification, blockchain technology and openly We use a permission chain with access control rights
distributed ledger (ODL) can usually provide considerable ensured by the system administrator for the proposed
advantages compared to previous methods. Zhang L et al. system. A device needs to register in blockchain before it
[12] uses blockchain technology to design a fully distributed accesses to the network. The access control layer in the
user authentication framework. In their framework, users permission chain ensures that only devices with legal
store their identities in a blockchain, store encrypted personal identities can register information in the blockchain.
information in a blockchain store, and attach a smart contract
to grant different permissions to each site/application. ZHOU 2) Secure Channel
Zhicheng et al. [13] proposed an efficient cross-domain For simplicity, we assume a secure information channel to
authentication scheme based on blockchain technology. The avoid man-in-the-middle attacks (MITM) [16]. It means
scheme includes the trust model and architecture of the that no third party can intercept and modify messages.
BlockChain Certificate Authority (BCCA), and the This secure channel is mainly used to ensure the integrity
blockchain certificate format and user cross-domain of the information. Nodes can communicate with each
authentication. Authentication protocols, as well as security other and verify information reliably.
and efficiency. Abdullah N et al. [14] proposes a blockchain-
based method for enhancing large data validation in a 3) Fast Synchronization
distributed environment. When a device registers in the blockchain, it only needs to
The above studies mostly focus on trust management, request the ledger from a small number of nodes rather
data security and security protection. Our model’s advantage than performing long-term synchronization of block data.
in comparison with other works lies with its generic nature The nodes for synchronization are selected randomly, so
and simplicity. Our research addresses the security of IoT we can assume that these nodes are trustworthy.
and especially identity authentication and security protection
for IoT devices. IV. SYSTEM MODEL
Blockchain, as an open, secure and distributed
III. PROBLEM DEFINITION transaction ledger technology, can flexibly adapt to complex
and changing network environments. The failure of some
A. Authentication nodes does not affect the stable operation of the system.
In the IoT, ensure the validity of identity of a device Distributed authentication between nodes prevents malicious
accessing to the network is the base of security. nodes from invading the network. Even if a small number of
Authentication is a mechanism by which a network nodes are compromised, the ledger will not be tampered
determines whether the user has access to certain resources.. with.
The authentication can be categorized into three categories: In a multi-node network, the identity information of the
what-you-know (knowledge), what-you-have (possession) devices need to be registered in the blockchain every time a
and who-you-are (ownership) [17]. new device is added. Each device's ID, public key, hash of
critical data and other information are stored in the
blockchain ledger. At the same time, each device is a node in security key module. The private key is encrypted and
the blockchain network and the consensus mechanism make stored locally, and the public key is stored in blockchain
sure that each node stores the same information. Whenever ledger. After receiving the registration information, the
peer-to-peer communication occurs, public key cryptography consensus node regards it as a registration event, generates a
can be used for identity authentication between IoT devices. block after consensus with other consensus nodes and
synchronizes to other non-consensus nodes. In the process
Enrollment of devices of enrollment, it also needs to store the hash value of critical
data such as the local configuration file and firmware in the
blockchain so as to prepare for subsequent data integrity
verification.
Identity authentication Table 1. The roles and functions of nodes
Roles Functions
Generate blocks;
Integrity verification Consensus nodes Verify blocks;
Participate in consensus.
Figure 1. System process
Non-consensus nodes Transfer data.
The system process is mainly divided into three steps. All
devices need to complete the registration in the blockchain
C. A P2P identity authentication method
before authentication. When a device needs to access the
network, it will be authenticated using the registration Assuming device A sends a connection request including
information in the blockchain. After authentication, device message M to device B which is in a network, the identity
will be verified the integrity of the hash of the critical authentication process is as follows.
information in order to discover potential intrusion behavior.
The process of our system is shown in Figure 1 and the A sends connection request (ID_A, M_signed_ by_A) to B;
system model is shown in Figure 2 // B query Key_A and verify the identity of A
If (Key_A_exists _in_local)
Verify the identity of A;
Else
If (Key_A_exists_in_consensus_nodes)
Verify the identity of A;
Else
Reject the connection request of A;
A. Environmental deployment
According to the IoT application scenario, we decided to
deploy a permission chain on the IoT cluster. We deployed a
blockchain network on the Raspberry Pi based on the open
source project Hyperledger Fabric. Each Raspberry Pi acts
Figure 6. The interaction between devices and blockchain
as a node in the blockchain network and nodes are
connected by ad hoc.
C. CSPRNG-based key generation technology
In the IoT, each device corresponds to a pair of key,
including a private key and a public key. This key pair
represents the identity of the device. A private key is a
number chosen randomly and the public key can be
generated by elliptic curve multiplication