PDF  PubReader

Islam and Shin: BUAV: A Blockchain Based Secure UA V-Assisted Data Acquisition Scheme in Internet of Things

Anik Islam and Soo Young Shin

BUAV: A Blockchain Based Secure UA V-Assisted Data Acquisition Scheme in Internet of Things

Abstract: Internet of things (IoT), mobile edge computing (MEC), and unmanned aerial vehicle (UA V) have attracted significant attention in both industry and academic research. By consolidating these technologies, IoT can be facilitated with improved connectivity, better data transmission, energy saving, and other advantages. However, the communication between these entities is subject to potential cyber threats. In addition, the integrity of the data must be maintained after storing into local storage. Blockchain is a data structure that supports features like pseudonymity, data integrity etc. This paper represents a blockchain based data acquisition process in which information is gathered from IoTs using UA V as a relay and is securely kept in blockchain at MEC server. In the proposed scheme, data are encrypted prior to transfer to MEC server with the assistance of a UA V . Upon receiving the data, MEC server validates the data and the identity of the sender. Successful validation is followed by stocking of the data into blockchain, subsequent to obtaining consent from the validators. Security analysis is conducted in order to show the feasibility of the proposed secure scheme. Finally, the performance of the proposed scheme is analyzed via simulation and implementation.

Keywords: blockchain , internet of things , mec , security , unmanned aerial vehicle

I. INTRODUCTION

INTERNET of things (IoT) has generated considerable attention not only in industrial fields but also in academic research. IoT is a network of objects, equipped with sensors, actuators, software, etc., that are connected via Internet. Moreover, these objects can collect information from their surroundings and can interchange these data among each other [1]. Based on the promising possibilities attributed to IoT, an estimation of appending 30 billion devices in the network by 2020 has been made [2]. However, IoT is not only confined to sensing and information interchange. Currently, IoT can make spontaneous decisions based on the sensed data. IoT has improved the quality of our lives by contributing to the development of several different sectors including healthcare [3]–[8], agriculture [9]–[12], smart homes [13]–[15], smart grids [16]–[20], and others [21].

Unmanned aerial vehicles (UAVs) is an example of an emerging technology that achieved widespread popularity owing to its potential for diverse applications. Initially, UAVs were confined to applications within the military. However, the use of these devices has subsequently been extended to civil applications [22]. The advantages of UAVs is their ease of deployment, low maintenance and acquisition cost, and the ability to access almost any areas [23]. Moreover, some UAVs contain sensors, actuators, high computational power, etc., which not only can accumulate data along with spatial information but also can process it, reach decisions and act according to the decision [24]–[26]. UAVs can be posted to locations that are difficult to access in order to provide assistance to IoTs. Occasionally, UAVs can operate as a server while providing services to IoTs. In addition, UAVs can spread network connection to IoTs for the non-lineof- sight zones. Moreover, UAVs can save the energy of devices by assisting in forwarding the data and can quickly be replaced in the occurrence of a fault, while providing assistance to IoTs. UAVs can also cover a large area which can help to optimize the deployment cost.

Mobile edge computing (MEC) is another promising initiative that draws cloud computing facilities closer to user proximity at the edge of the mobile network and provides services by utilizing radio access networks (RANs) [27]. The purpose of MEC is to provide ultra-low latency, high bandwidth, and real-time services to mobile subscribers [28]. However, collecting data from IoTs via the cloud creates latency issues, along with challenges related to low throughput and single-node failure [29]. MEC is a potential candidate for alleviating the aforementioned issues by providing real-time data acquisition services from IoT devices via the utilization of UAVs. However, the data acquisition process is prone to threats like the man-inthe- middle, spoofing etc. Moreover, the collected data may experience unauthorised modifications in the storage, which may lead to uncertainty regarding the integrity of the data. Therefore, a secure scheme for data acquisition via UAV is required.

Among the existing studies, in [30], a UAV based fog computing platform that aids IoT devices has been proposed. In addition, an architecture in which information is obtained from IoT using UAV (sometimes UAV to UAV) and stored in the cloud has been appended. In [31], UAV served as a fog node so that it could provide real-time assistance to IoT devices. However, this may consume a significant amount of energy and may reduce the flight time of UAV. In [31], an approach was proposed in which UAVs are deployed based on client positions so that the client can perform queries and acquire data from IoTs with less delay. In [31], UAV served as a gateway for data acquisition and UAVs were controlled using UAVs control server. In that proposed scheme, data are stored in the global server that serves the client by obtaining data from UAVs. In [32], a UAV-assisted data collection scheme for a wireless sensor network (WSN) was presented. To perform data acquisition, they first divided that region into multiple areas. Subsequently, they deployed UAVs based on the plan established while dividing the region. In [33], a smart farming scheme was presented in which UAV was utilized to communicate with ground sensors and aid these sensors. In [33], a testbed considering IEEE 802.15.4-based communication between UAV and ground sensors was implemented. A prototype was presented in wherein a UAV served as a base station (BS) and performed wireless power transfer and communications with sensors simultaneously, in [34]. In [35], a RESTful approach was presented in which UAV equipped with IoT relays data to cloud services along with a vertical handover mechanism in which UAV can shift between different modes of communication such as Wi-Fi and satellite for beyond-line-of-sight communication issues, to increase reliability. However, the aforementioned schemes did not consider any security issues while deploying UAVs. In addition, they did not add information regarding data management after collecting from IoTs, which may create an issue concerning the integrity of stored data.

Blockchain is a distributed ledger technology that is shared among peers in a network where the peers hold the same copies of the ledger [36]. Blockchain was first introduced by Satoshi Nakamoto in a white paper, called "Bitcoin: A peer-to-peer electronic cash system", in 2008 [37]. Initially, blockchain was confined to the documentation of financial transactions. However, owing to its promising functionality (e.g., immutability, smart contract, etc.), this technology is currently in use in the recording of medical data, tracking of products in the supply chain, etc. [38]. In blockchain, data are deposited in a block and each block has a unique hash, which is generated based on the content of the block [39]. Each block points to the previous block’s hash; thus, blocks stay in the chain, and that is why it is called blockchain. Blockchain adopts asymmetric encryption to maintain security [40]. Each user holds a private key and a public key that is generated from the private key. Every user uses this public key as an identity in the network, and thus, the identity of the user remains obscured [41]. However, blockchain also utilizes a Merkle tree [39]. A Merkle tree is a structure that is generated from the hash of the data. Any alteration in the data causes a change in the Merkle tree. By utilizing the Merkle tree, blockchain preserves the integrity of data. However, to add a block to the chain, every node, called a miner or validator, must agree on the validity of the block [42]. These characteristics can be possible solutions against the aforementioned issues (i.e., cyber threats and data integrity) in data acquisition from IoT using a UAV.

A blockchain based data acquisition scheme is proposed in which data are gathered from IoTs via UAV and kept securely in blockchain at MEC, to alleviate the aforementioned issues. The major contributions of this paper are summarized as follows.

A scheme is proposed to perform data acquisition from IoT devices.

A discussion on security based on different vulnerabilities is provided.

The impact of [TeX:] $$\eta \text { -hash }$$ bloom filter1 is simulated both in MATLAB for edge server and Python for UAV.

1Bloom filter is a data structure to check the existence of an item in a set consuming less memory [43].

We have implemented the proposed scheme and the performance is examined by throughput, processing time, energy consumption, and latency.

We have implemented blockchain using ethereum and the performance is investigated in terms of write, read, latency, and delay.

The rest of the sections are arranged as follows: Section II represents the data acquisition scheme. In Section III, the process of data acquisition is depicted. Section IV illustrates a security analysis of the proposed scheme. The simulation and experimental setup are discussed in Section V. Finally, Section VI summarizes the mains conclusions and examines future research directions.

II. PROPOSED SCHEME

We devise a blockchain based data acquisition scheme (termed as “BUAV”) that facilitates the collection of data from IoTs using a UAV, as presented in Fig. 1.

A. Basic Idea

BUAV concentrates on data acquisition from IoT devices using UAVs as well as the deposition of the collected data in a secure way to avoid compromising data integrity and BUAV also ensures secure data transmission. It was assumed that all valid IoT devices and UAVs are registered in the scheme. In BUAV, IoT devices intend to transmit data to the MEC. Before transferring data, IoT device performs encryption. This data is then transmitted to UAVs along with their identity. Upon receiving the data, UAVs perform decryption and check the validity of the identity of the sender. For validating devices, [TeX:] $$\eta$$-hash bloom filter is adopted in BUAV. However, if the identity is not valid, then UAVs discard the data and append that invalid identity to a vulnerable list. If the invalid identity continues to transmit data, then UAVs block the communication channel for that identity for a specific period. In BUAV, UAV decrypts and validates the data in order to prevent malicious devices at an early stage. If a malicious device continuously sends invalid data and UAV just forwards it to the server without any validation then MECS gets a lot of traffic containing invalid data. But, MECS cannot block the sender because data are coming through the UAV (if MECS wants to block the sender then it has to block UAV) and only UAV can identify the sender. That is why UAV decrypts the data and prevents malicious devices from reaching the server. However, for a valid identity, UAVs forward the data to the MEC server. When MEC server receives the data, MEC server verifies the validity of the sender. In case of a valid identity, MEC stores the data in blockchain. When data is added to the network, block sealing process is initiated. Upon receiving the acknowledgement from other validators, data is added to the network including a private cloud.

Fig. 1.

Data acquisition from IoTs to MEC server using a UAV.
1.png
B. Entities

BUAV consists of four entities: IoT device (IoTD), UAV, MEC server (MECS), and private cloud (PC). The entities of BUAV are depicted below:

IoTD: IoT device collects data and transmits it to the MECS. This device consists of sensors and actuators and it can both sense the environment and perform tasks according to the instruction.

UAV: UAV receives data from IoTD and relays these data to the server. UAV also authorizes requests prior to forwarding to the server. Every UAV maintains a list of IoTDs and other UAVs, which it utilizes to perform the authentication process using [TeX:] $$\eta$$-hash bloom filters before forwarding data to MECS.

MECS: MEC server collects data from IoTD via UAV that are subsequently stored in blockchain. MEC not only maintains basic information (i.e., device name, mac address, device type, etc.) but also spatial information (i.e., latitude, longitude, etc.) that assists MEC server in maintaining the data acquisition process. MEC server also validates UAV and IoTD before including data into blockchain.

PC: The private cloud is composed of private servers; the PC is linked with MECS via backhaul networks. Since the PC is also serving as a client of blockchain, it also gets the update when new data is added to MECS.

C. Notations

A list of common notations including their description is compiled in Table1.

III. COMMUNICATIONS IN THE PROPOSED SCHEME

A. Registration

We assumed that valid IoTDs and UAVs are registered users. Prior to registration in the system, UAV or IoTD generates a

Table 1.

Notations with description.
Notation Description
[TeX:] $$\sigma, \Upsilon,$$ IoT Device, MEC server, UAV.
[TeX:] $$\hat{S}_{\hbar}, \wp, \varrho$$ Random salt hash, Private key, Public key.
[TeX:] $$\psi(\cdot), \Gamma(.), \kappa_{s}$$ Hash function, Key generator, Key size.
[TeX:] $$\beta F(.), \Theta(.)$$ Bloom filter, Signature generator.
[TeX:] $$\xi(.), \zeta(.)$$ Encryption function, Decryption function.
[TeX:] $$\omega(.)$$ Signature verification function.
[TeX:] $$\partial \tilde{V}(.)$$ Validate blocks proposed by a validator.
[TeX:] $$V_{L}, B_{L}$$ Vulnerable list, Blocked list.
[TeX:] $$\tau_{\hat{t} t}^{\{a \rightarrow b\}}$$ Transmission delay from a to b.

unique hash based on the mac address of the device [TeX:] $$\delta_{m a c},$$ timestamp [TeX:] $$\tau_{c},$$ and random salt hash [TeX:] $$\hat{S}_{\hbar}.$$ Let h be the hash,

(1)
[TeX:] $$h=\psi\left(\delta_{m a c}, \tau_{c}, \hat{S}_{\hbar}\right) | \psi:\{0,1\}^{*} \rightarrow\{0,1\}^{l},$$

where h is used to generate private key [TeX:] $$\wp_{\kappa}$$ and subsequently, a public key [TeX:] $$\varrho_{\kappa}$$ is created from [TeX:] $$\wp_{\kappa}.$$ Let ^E is a point on the elliptic curve containing (x, y).

(2)
[TeX:] $$\begin{aligned} \wp_{\kappa}=\Gamma(h) & | \Gamma:\{0,1\}^{*} \rightarrow\{0,1\}^{\kappa_{s}} \\ \hat{\varrho}_{\kappa}=& \wp_{\kappa} \otimes\left(\hat{E}_{x}, \hat{E}_{y}\right) \end{aligned}.$$

After generating keys, IoTD transmits [TeX:] $$\varrho_{\kappa}$$ to MECS along with device information (i.e., [TeX:] $$\delta_{m a c},$$ latitude, longitude, etc.). [TeX:] $$\hat{\varrho}_{\kappa}$$ is used as an identity of a IoTD. MECS then stores these information in a smart contract [TeX:] $$\mathrm{C}_{\delta}$$ of blockchain.

B. Data Generation

BUAV utilizes [TeX:] $$\eta \text { -hash }$$ bloom filters [TeX:] $$(\eta=1,2, \cdots)$$ to validate IoTDs before forwarding data to MECS. MECS fetches the device list from [TeX:] $$\mathrm{C}_{\delta} . \text { Let } \bar{\partial}$$ be the list,

[TeX:] $$\overline{\mathfrak{d}}=\bigcup C_{\delta}\left(\mathfrak{d}^{\mathfrak{k}}\right), \mathfrak{k} \leq \mathfrak{l}_{\mathfrak{r}}.$$

Here, [TeX:] $$\mathfrak{k}$$ is the location containing [TeX:] $$\langle l a t, l o n\rangle$$ and [TeX:] $$\mathfrak{r}$$ is radius of the location of . Prior to validating IoTD, UAV requires filter table [TeX:] $$\overline{\mathfrak{F}} | \mathfrak{F} \in\{0,1\}.$$ When a UAV registers or connect with MECS, MECS generates [TeX:] $$\overline{\mathfrak{F}}$$ and shares it with UAV. Let [TeX:] $$\overline{\mathfrak{F}}$$ is the generated table,

(3)
[TeX:] $$\begin{array}{c}{\bar{\Im}=\bigcup_{i=1}^{n} \bigcap_{j=1}^{\eta} \beta F_{j}\left(\mathfrak{d}_{i}\right)} \\ {| \beta F:\{0,1\}^{*} \rightarrow \nu \cap \Im_{\nu} \in\{0,1\} \cap k \in\{0,1,2\}}\end{array},$$

where n is the total number of devices. [TeX:] $$\eta$$ is the number of hashes that are employed in the process. Bloom filter has a false positive issue that can be reduced by controlling the number of hash functions and data size [43]. However, there is a limit to the use of hash functions in the bloom filter. Let n is number of [TeX:] $$\mathfrak{d},$$ and p is the acceptance of false positive rate [44],

(4)
[TeX:] $$m=\left\lceil\frac{-n \times \ln (p)}{\ln (2)^{2}}\right\rceil | p \in(0,1], \eta=\left\lfloor\frac{m}{n} \times \ln (2)\right\rfloor,$$

where [TeX:] $$\eta$$ is the maximum number of hash function that is suitable for [TeX:] $$\beta F.$$

C. Data Transmission

In BUAV, a IoTD starts transmitting a data to MECS [TeX:] $$\Upsilon$$ via UAV . Prior to transmitting , creates a signature [TeX:] $$\varepsilon$$ from by employing the private key [TeX:] $$\wp_{\kappa}^{\sigma} \text { of } \sigma,$$

(5)
[TeX:] $$\begin{aligned} \varepsilon=\Theta_{\varphi_{\kappa}^{\sigma}}(\psi(\alpha)) | \psi:\{0,1\}^{*} & \rightarrow\{0,1\}^{l}, \\ \Theta:\{0,1\}^{*} & \rightarrow\{0,1\}^{\prime}. \end{aligned}$$

After generating [TeX:] $$\varepsilon, \sigma \text { encrypts } \alpha$$ along with [TeX:] $$\varepsilon \text { and } \hat{\varrho}_{\kappa}^{\sigma}$$ by using the public key [TeX:] $$\hat{\varrho}_{\kappa}^{\mathcal{U}} \text { of } \Psi . \text { Let } \beta$$ is the encrypted data,

(6)
[TeX:] $$\beta=\xi_{\hat{\varrho}_{\kappa}^{J}}\left(\alpha, \varepsilon, \hat{\varrho}_{\kappa}^{\sigma}\right).$$

Subsequently, transmits to . Let [TeX:] $$\tau_{p}$$ is the total processing time for preparing data at ,

(7)
[TeX:] $$\tau_{p}^{\sigma}=\tau_{\varepsilon}^{\sigma}+\tau_{\beta}^{\sigma}.$$
v

Here, [TeX:] $$\tau_{\varepsilon}^{\sigma} \text { and } \tau_{\beta}^{\sigma}$$ is the processing time for [TeX:] $$\varepsilon \text { and } \beta,$$ respectively. Let [TeX:] $$T^{\{\sigma \rightarrow \mho\}}$$ be the time for the transmission of from[TeX:] $$\sigma \text { to } \mho,$$

(8)
[TeX:] $$T^{\{\sigma \rightarrow \mho\}}=\tau_{p}^{\sigma}+\tau_{d}^{\{\sigma \rightarrow \mho\}},$$

where [TeX:] $$\tau_{d}^{\{\sigma \rightarrow \mho\}}$$ is the transmission delay from [TeX:] $$\sigma \text { to } \mho.$$ Upon receiving [TeX:] $$\beta, \mho \text { decrypts } \beta$$ by employing the private key [TeX:] $$\wp_{\kappa}^{\mho}$$ of , as shown in Algorithm 1. Let [TeX:] $$\breve{d}$$ is the decrypted data,

(9)
[TeX:] $$\breve{d}=\zeta_{\wp_{\kappa}^{\mho}}(\beta).$$

After obtaining [TeX:] $$\breve{d},\mho$$ first checks [TeX:] $$B_{L}$$ and subsequently, it checks the validity of [TeX:] $$\hat{\varrho}_{\kappa}^{\sigma}$$ by utilizing [TeX:] $$\beta F$$. Let [TeX:] $$\ddot{f}$$ is the validity result,

Algorithm 1
data processing in UAV.
pseudo1.png

(10)
[TeX:] $$\ddot{f}=\bigcap_{j=1}^{\eta} \beta F_{j}\left(\hat{\varrho}_{\kappa}^{\sigma}\right) \text { where } \ddot{f} \in\{0,1\}.$$

If [TeX:] $$\ddot{f}$$ is 0 then [TeX:] $$\hat{\varrho}_{\kappa}^{\sigma}$$ is not valid. discards [TeX:] $$\breve{d}$$ instantly and places [TeX:] $$\hat{\varrho}_{\kappa}^{\sigma} \text { under } V_{L} . \text { If } \hat{\varrho}_{\kappa}^{\sigma}$$ continues to transmit invalid requests then after a threshold number of requests [TeX:] $$\Re_{n}^{\mho}, \mho \text { adds } \hat{\varrho}_{\kappa}^{\sigma} \text { to } B_{L}.$$ However, for the valid [TeX:] $$\hat{\varrho}_{\kappa}^{\sigma}, \mho$$ encrypts the data along with [TeX:] $$\hat{\varrho}_{\kappa}^{\mho}, \alpha, \hat{\varrho}_{\kappa}^{\sigma},$$ and [TeX:] $$\varepsilon$$ by using the public key of [TeX:] $$\Upsilon . \text { Let } \gamma$$ is the encrypted data,

(11)
[TeX:] $$\gamma=\xi_{\hat{\varrho}_{\kappa}}^{\curlyvee}\left(\alpha, \varepsilon, \hat{\varrho}_{\kappa}^{\sigma}, \hat{\varrho}_{\kappa}^{\mho}\right).$$

Subsequently, forwards[TeX:] $$\gamma \text { to } \Upsilon.$$ Let [TeX:] $$\tau_{p}$$ is the total processing time for preparing data at ,

(12)
[TeX:] $$\tau_{p}^{\mho}=\tau_{\tilde{d}}^{\mho}+\tau_{\dot{f}}^{\mho}+\tau_{\gamma}^{\mho},$$

where [TeX:] $$\tau_{\breve{d}}^{\mho}, \tau_{\ddot{f}}^{\mho}, \text { and } \tau_{\gamma}^{\mho}$$ is the processing time for [TeX:] $$\breve{d},\ddot{f}$$ and [TeX:] $$\gamma,$$ respectively. Let [TeX:] $$T^{\{\mho \rightarrow \Upsilon\}}$$ is the time to transmit [TeX:] $$\gamma \text { from } \mho \text { to } \Upsilon,$$

(13)
[TeX:] $$T^{\{\mho \rightarrow \Upsilon\}}=\tau_{p}^{\mho}+\tau_{d}^{\{\mho \rightarrow \Upsilon\}},$$

where [TeX:] $$\tau_{d}^{\{\mho \rightarrow \Upsilon\}}$$ is the transmission delay from [TeX:] $$\mho \text { to } \Upsilon$$

When [TeX:] $$\Upsilon \text { receives } \gamma, \Upsilon \text { decrypts } \gamma$$ by employing the private key [TeX:] $$\wp_{\kappa}^{\curlyvee} \text { of } \Upsilon,$$ as shown in Algorithm 2. Let [TeX:] $$\tilde{d}$$ is the decrypted data,

(14)
[TeX:] $$\tilde{d}=\zeta_{\rho_{\kappa}^{\pi}}(\gamma).$$

After getting [TeX:] $$\tilde{d}, \Upsilon$$ first checks the [TeX:] $$B_{L}$$ and subsequently, [TeX:] $$\Upsilon$$ checks the validity of [TeX:] $$\hat{\varrho}_{\kappa}^{\mho} \text { and } \hat{\varrho}_{\kappa}^{\sigma} \text { by using } \beta F$$. Let [TeX:] $$\check{f}$$ is the validity result,

(15)
[TeX:] $$\begin{aligned} \check{f}=& \bigcap_{j=1}^{\eta} \beta F_{j}\left(\hat{\varrho}_{\kappa}^{\mho}\right) \cap \beta F_{j}\left(\hat{\varrho}_{\kappa}^{\sigma}\right) \\ & \text { where } \check{f} \in\{0,1\}. \end{aligned}$$

If [TeX:] $$\check{f}$$ is 0 then either [TeX:] $$\hat{\varrho}_{\kappa}^{\mho} \text { or } \hat{\varrho}_{\kappa_{1}}^{\sigma}$$ is not valid. [TeX:] $$\Upsilon \text { discards } \tilde{d}$$ instantly and put [TeX:] $$\hat{\varrho}_{\kappa}^{\mho} \text { in } \bar{V}_{L} \text { . If } \hat{\varrho}_{\kappa}^{\mho}$$ continues to transmit invalid

Fig. 2.

Data acquisition from IoTs to MEC server using a UAV.
2.png

requests then after a threshold number of requests [TeX:] $$\ddot{\Re}_{n}^{\curlyvee}, \Upsilon$$ puts [TeX:] $$\hat{\mho_{\kappa}^{J} \text { in } B_{L}$$ and the channel is blocked for a threshold amount of time [TeX:] $$\ddot{\Re}_{\tau}^{\curlyvee}.$$ However, for the valid [TeX:] $$\hat{\mho}_{\kappa}^{J}, \Upsilon$$ continues to process [TeX:] $\tilde{d}.$$ Before adding to storage, [TeX:] $$\Upsilon$$ checks the integrity of checks the integrity of by verifying the signature of [TeX:] $$\sigma . \text { Let } \ddot{v}$$ is verification result,

(16)
[TeX:] $$\ddot{v}=\omega_{\hat{\varrho}_{\kappa}^{\sigma}}(\alpha, \varepsilon) \text { where } \ddot{v} \in\{\text { true, false }\}.$$

If [TeX:] $$\ddot{v} \text { is true, then } \Upsilon$$ transmits [TeX:] $$\alpha$$ for validating and adding in the blockchain. Let [TeX:] $$\tau_{p}$$ is the total processing time for validating data at [TeX:] $$\Upsilon$$

(17)
[TeX:] $$\tau_{p}^{\Upsilon}=\tau_{\tilde{d}}^{\Upsilon}+\tau_{\check{f}}^{\Upsilon}+\tau_{\ddot{v}}^{\Upsilon},$$

where [TeX:] $$\tau_{\tilde{d}}^{\mho}, \tau_{\check{f}}^{\mho}, \text { and } \tau_{\ddot{v}}^{\mho}$$ are the processing time for [TeX:] $$\tilde{d}, \check{f}, \text { and } \ddot{v},$$ respectively. Let [TeX:] $$T^{\{\sigma \rightarrow \mho \rightarrow \Upsilon\}}$$ is the total time to transmit and process successfully from [TeX:] $$\sigma \text { to } \Upsilon \text { via } \mho$$ including the validation process. By adding (8) and (13), it can be written that,

(18)
[TeX:] $$T^{\{\sigma \rightarrow \mho \rightarrow \Upsilon\}}=T^{\{\sigma \rightarrow \mho\}}+T^{\{\mho \rightarrow \Upsilon\}}.$$

When [TeX:] $$\alpha \text { is valid, } \Upsilon$$ starts to add [TeX:] $$\alpha$$ to the blockchain [TeX:] $$\mathbb{B}.$$ We considered a private blockchain network in which the identity of validators [TeX:] $$\ddot{\nu}$$ (those that create blocks) is known to everyone. In BUAV, each block holds a [TeX:] $$\mathcal{T}^{\prime}$$ number of transactions, as illustrated in Fig. 2. In Fig. 2, the first block is the genesis block that contains the list of validators, chainId (i.e., network id), etc. After that, each blockchain contains the data of IoT devices. However, a validator proposes a block [TeX:] $$$$ and other validators validate the block. This process is performed in a round-robin algorithm. Let [TeX:] $$\hat{f}$$ contains the validation result,

(19)
[TeX:] $$\hat{f}=\bigcap_{z=1}^{\check{m}} \partial \tilde{V}_{z}\left(\varkappa_{\alpha}\right),$$

where [TeX:] $$\ddot{m}$$ is the total number of validators. Once, every validator validates the block, the block is appended in the chain.

D. UAV Requisition

If disconnects with and cannot reconnect with , transmits request [TeX:] $$\ddot{r} \text { to } \Upsilon$$ to send information regarding new [TeX:] $$$$ in order to facilitate the transfer of data. There exists a direct communication link between IoTD and MECS. However, IoTD utilizes that channel only when IoTD cannot locate any UAV nearby. Moreover, transmitting data through that channel drains more energy than the communication channel that exists between IoT and UAV. Therefore, continuous transmission can decrease the lifetime of the battery of IoTD. In order to increase the lifetime,

Algorithm 2
data validation in MECS.
pseudo2.png

BUAV utilizes UAV for relaying data. Prior to sending [TeX:] $$\ddot{r}, \sigma$$ creates a signature [TeX:] $$\ddot{\varepsilon} \text { from } \ddot{r}$$ by employing the private key [TeX:] $$\wp_{\kappa}^{\sigma} \ \mathrm{of} \ \sigma,$$

(20)
[TeX:] $$\begin{aligned} \ddot{\varepsilon}=\Theta_{\wp_{\kappa}^{\sigma}}(\psi(\ddot{r})) | \psi:\{0,1\}^{*} & \rightarrow\{0,1\}^{l}, \\ \Theta:\{0,1\}^{*} & \rightarrow\{0,1\}^{l}. \end{aligned}$$

Subsequently, [TeX:] $$\sigma \text { encrypts } \ddot{r} \text { along with } \hat{\varrho}_{\kappa}^{\sigma} \text { and } \ddot{\varepsilon}$$ by employing [TeX:] $$\hat{\varrho}_{\kappa}^{\Upsilon} . \text { Let } \hat{\beta}$$ is the encrypted data,

(21)
[TeX:] $$\hat{\beta}=\xi_{\hat{\varrho}_{\kappa}^{\curlyvee}}\left(\ddot{r}, \ddot{\varepsilon}, \hat{\varrho}_{\kappa}^{\sigma}\right).$$

Upon receiving [TeX:] $$\hat{\beta}, \gamma$$ performs a decryption by using [TeX:] $$\wp_{\kappa}^{\curlyvee},$$ as shown in Algorithm 3. Let [TeX:] $$\acute{d}$$ is the decrypted data,

(22)
[TeX:] $$\acute{d}=\zeta_{\wp_{\kappa}^{\curlyvee}}(\hat{\beta}).$$

After obtaining [TeX:] $$\acute{d}, \Upsilon$$ checks the validity of [TeX:] $$\hat{\varrho}_{\kappa}^{\sigma}$$ by utilizing [TeX:] $$\beta F . \text { Let } \grave{f}$$ is the validity result,

(23)
[TeX:] $$\grave{f}=\bigcap_{j=1}^{\eta} \beta F_{j}\left(\hat{\varrho}_{\kappa}^{\sigma}\right) \text { where } \grave{f} \in\{0,1\}.$$

If [TeX:] $$\grave{f}$$ returns a value of 1, then [TeX:] $$\Upsilon$$ continues to process the request. Prior to searching [TeX:] $$\mho \ \text { for } \sigma, \Upsilon$$ verifies the signature which is transmitted within the request. Let [TeX:] $$\check{v}$$ is verification result,

(24)
[TeX:] $$\check{v}=\omega_{\hat{\varrho}_{\kappa}^{\sigma}}(\ddot{r}, \ddot{\varepsilon}) \text { where } \check{v} \in\{\text {true}, \text { false }\}.$$

If [TeX:] $$\check{v}$$ contains true then [TeX:] $$\Upsilon$$ retrieves the spatial information of . Subsequently, [TeX:] $$\Upsilon$$ retrieves all UAVs from the list of devices [TeX:] $$\ddot{\sigma} . \text { Let } \overline{\mho}$$ is the collection of UAVs,

(25)
[TeX:] $$\overline{\mho}=\bigcup_{k==1}\left(\ddot{\sigma}^{k}\right).$$

After retrieving [TeX:] $$\overline{\mho}, \Upsilon$$ calculates the geo distance between [TeX:] $$\sigma\text { and } \overline{\mho}.$$ Subsequently, [TeX:] $$\Upsilon$$ sorts the list in the ascending order based on the geo distance and picks the top threshold number [TeX:] $$\Re_{g d}^{\mho} \text { of } \mho.$$ Before transmitting the results, [TeX:] $$\Upsilon$$ first creates a signature [TeX:] $$\varepsilon_{\Upsilon} \text { by employing } \wp_{\kappa}^{\Upsilon},$$

Algorithm 3
UAV requisition procces in MECS.
pseudo3.png

(26)
[TeX:] $$\varepsilon_{\Upsilon}=\Theta_{\wp_{\kappa}^{\curlyvee}}\left(\psi\left(\overline{\mho}_{g d}\right)\right) | \psi:\{0,1\}^{*} \rightarrow\{0,1\}^{l} \\ \Theta:\{0,1\}^{*} \rightarrow\{0,1\}^{l}.$$

Here, [TeX:] $$\overline{\mho}_{gd}$$ is the list of selected , where [TeX:] $$\overline{\mho}_{gd}=\bigcup_{i=1}^{\Re_{g d}^{\mho}}(\overline{\mho_{i}})$$ After generating [TeX:] $$\varepsilon_{\Upsilon}, \Upsilon \text { encrypts } \overline{mho}_{gd}$$ by employing [TeX:] $$\hat{\varrho}_{\kappa}^{\sigma} . \text { Let } \hat{\gamma}$$ is the encrypted data,

(27)
[TeX:] $$\hat{\gamma}=\xi_{\hat{\varrho}_{\kappa}^{\sigma}}\left(\overline{\mho}_{g d}, \varepsilon_{\Upsilon}\right).$$

After completing [TeX:] $$\hat{\gamma}, \Upsilon \text { returns } \hat{\gamma} \text { to } \sigma.$$ Upon receiving [TeX:] $$\hat{\gamma}, \sigma$$ first performs a decryption by using [TeX:] $$\wp_{\kappa}^{\sigma}$$,

(28)
[TeX:] $$\dot{d}=\zeta_{\varphi_{\kappa}^{\sigma}}(\hat{\gamma}).$$

Subsequently, [TeX:] $$\sigma$$ verifies the integrity from [TeX:] $$\varepsilon_{\Upsilon} . \text { Let } \dot{v}$$ is the result of verification,

(29)
[TeX:] $$\dot{v}=\omega_{\hat{\varrho}_{\kappa}^{\mathrm{T}}}\left(\overline{\mho}_{g d}, \varepsilon_{\Upsilon}\right) \text { where } \dot{v} \in\{\text {true,false}\}.$$

If [TeX:] $$\dot{v}$$ returns a value of true then reads the list, connects with a suitable , and continues to transmit data. Let [TeX:] $$T^{\{\sigma \rightarrow \Upsilon \rightarrow \sigma\}}$$ is the total time for requisitioning a UAV and get response from [TeX:] $$\Upsilon,$$

(30)
[TeX:] $$\begin{array}{l}{T^{\{\sigma \rightarrow \Upsilon \rightarrow \sigma\}}=\tau_{\ddot{\varepsilon}}^{\sigma}+\tau_{\hat{\beta}}^{\sigma}+\tau_{\hat{t} t}^{\{\sigma \rightarrow \Upsilon\}}+\tau_{\acute{d}}^{\Upsilon}+\tau_{\grave{f}}^{\Upsilon}} \\ {\quad+\tau_{\check{v}}^{\Upsilon}+\tau \frac{\Upsilon}{{\mho}}+\tau_{\ddot{u}_{d i s t}}^{\Upsilon}+\tau_{\varepsilon_{\Upsilon}}^{\Upsilon}+\tau_{\hat{\gamma}}^{\Upsilon}+\tau_{\hat{t} t}^{\{\Upsilon \rightarrow \sigma\}}}.\end{array}$$

IV. SECURITY ANALYSIS

A. Protection Against Eavesdroppers

In BUAV, data is transferred from [TeX:] $$\sigma \text { to } \Upsilon \text { via } \mho$$ and in addition, sends the request for [TeX:] $$\mho \text { to } \Upsilon.$$ The area between and , and [TeX:] $$\Upsilon, \text { and } \sigma$$ are vulnerable to an eavesdropper [TeX:] $$\vartheta.$$ However, BUAV provides protection against eavesdroppers. In BUAV, every [TeX:] $$\sigma, \Upsilon, \text { and } \mho \text { have their own } \wp_{\kappa}$$ and a corresponding [TeX:] $$\hat{\varrho}_{\kappa} . \text { When } \sigma \text { transmits } \alpha \text { to } \mho, \sigma$$ encrypts the information by utilizing (6). Upon receiving , it is decrypted by using (9) and the identity is verified using (10). After verification, reencrypts information using (11) and forwards [TeX:] $$\gamma \text { to } \Upsilon.$$ While requesting the location of a new [TeX:] $$\mho, \sigma$$ first encrypts the request using (21) and sends the request to [TeX:] $$\Upsilon.$$ Upon receiving [TeX:] $$\hat{\beta},$$ it is decrypted by [TeX:] $$\Upsilon$$ by using (22) and the identity is verified by employing (23). After processing the request, [TeX:] $$\Upsilon$$ encrypts the response using (27) and returns to . In order to read data between [TeX:] $$\sigma \text { and } \mho, \vartheta \text { requires knowledge of } \wp_{\kappa}^{\mho},$$ which is only known to . Without [TeX:] $$\wp_{\kappa}^{\mho}, \vartheta$$ cannot decrypt the data. If [TeX:] $$\vartheta \text { intends to read } \gamma$$ then [TeX:] $$\wp_{\kappa}^{\Upsilon}$$ is needed which is only known to [TeX:] $$\Upsilon.$$ In order to read [TeX:] $$\text { and } \hat{\gamma}, \vartheta$$ needs to know [TeX:] $$\hat{\varrho}_{\kappa}^{\Upsilon} \text { and } \hat{\varrho}_{\kappa}^{\sigma},$$ respectively, which are not publicly available. As such, [TeX:] $$\vartheta$$ cannot exercise eavesdropping in BUAV.

B. Key-Spoof Resistance

An attacker [TeX:] $$\ddot{\vartheta}$$ cannot directly perform eavesdropping because [TeX:] $$\wp_{\kappa}$$ is unknown to [TeX:] $$\ddot{\vartheta}.$$ To determine [TeX:] $$\wp_{\kappa},\ddot{\vartheta}$$ must guess [TeX:] $$\wp_{\kappa.$$ According to (1), [TeX:] $$\wp_{\kappa.$$ is generated using [TeX:] $$\delta_{m a c}, \tau_{c} \text { and } \hat{S}_{\hbar} \cdot \tau_{c} \text { and } \hat{S}_{\hbar}$$ are totally random. Suppose, [TeX:] $$\wp_{\kappa}$$ is 32 bytes or 256 bits long. To predict the correct [TeX:] $$\wp_{\kappa},\ddot{\vartheta}$$ has to go through the sequence of 256. For 256 bits, there are [TeX:] $$2^{256}$$ possible sequences and among them, only one can be the right [TeX:] $$\wp_{\kappa}.$$ The probability of predicting [TeX:] $$\wp_{\kappa}$$ is [TeX:] $$1 / 2^{256}=2^{-256}$$ and that is not practically feasible. Let, [TeX:] $$\delta_{m a c}$$ be [TeX:] $$\hat{i} \text { bits, } \tau_{c} \text { represents } \hat{j} \text { bits, and } \hat{S}_{\hbar} \text { represents } \hat{k}.$$ If [TeX:] $$\ddot{\vartheta}$$ wants to guess the properties of [TeX:] $$\wp_{\kappa},$$ then the probability of guessing correclty is [TeX:] $$1 / 2^{\hat{i}} \times 1 / 2^{\hat{j}} \times 1 / 2^{\hat{k}}=2^{-\hat{i}} \times 2^{-\hat{j}} \times 2^{-\hat{k}},$$ which is also not practically feasible.

which is also not practically feasible.

In BUAV, [TeX:] $$\sigma \text { transfers } \alpha \text { to } \Upsilon, \text { via } \mho . \text { When } \Upsilon \text { receives } \gamma$$ from [TeX:] $$\mho, \Upsilon$$ first decrypts [TeX:] $$\gamma$$ by employing (14) and subsequently, verifies the identity using (15). However, [TeX:] $$\Upsilon$$ requires verification that data originates from the original sender, [TeX:] $$\sigma . \ \mho \text { decrypts } \beta$$ by employing (9) and retrieves . In this case, there is a vulnerability in that the data may experience alteration. Before transmitting [TeX:] $$\alpha, \sigma$$ creates a signature of using (5). When [TeX:] $$\Upsilon \text { receives } \alpha, \Upsilon$$ verifies by employing (16). If [TeX:] $$\ddot{v} \text { is } f a l s e, \text { then } \alpha$$ is altered and [TeX:] $$\Upsilon \text { discards } \alpha . \Upsilon$$ only appends data to blockchain when [TeX:] $$\ddot{{v}}$$ is true. During the requisition of [TeX:] $$\mho, \sigma$$ creates a signature by utilizing (20), so that, [TeX:] $$\Upsilon$$ can verify the authenticity of using (24). Based on this approach, BUAV prevents altered data from being appended to Blockchain. After storing data in traditional databases, there is the possibility that the data may be altered. Considering this issue, BUAV stores the data in Blockchain. When data arrives at [TeX:] $$\Upsilon, \text { after verification, } \Upsilon$$ transmits the data to the blockchain network. Once the data is received in the network, validators create blocks after utilizing (19). Given that data is stored in the chain, every validator holds the same copy of the data. In blockchain, every block has a unique hash which is the identity of that block. The next block keeps the hash of the previous block and they are chained together. However, this hash is generated from the data, timestamp, nonce, etc. To main

Table 2.

Simulation parameters.
Parameters Values
Devices, [TeX:] $$\eta$$ [500, ,10000], [1, 2, 3]
[TeX:] $$\mathrm{MECS}_{\mathrm{CPU}}$$

Intel(R) Core(TM) i5-4670

CPU @ 3.40 GHz

[TeX:] $$\mathrm{MECS}_{\mathrm{STORAGE,RAM,OS}}$$ 1 TB, 32 GB, Ubuntu 18.04.1
[TeX:] $$\mathrm{UAV}_{\mathrm{CPU}}$$

Broadcom BCM2837B0,

Cortex-A53 (ARMv8) 64-bit

SoC @ 1.4 GHz

[TeX:] $$\mathrm{UAV}_{\mathrm{STORAGE,RAM,OS}}$$ 16 GB, 1 GB, Raspbian Stretch

tain integrity, blockchain uses a Merkle tree. This is a structure in which the leaf nodes holds the hash of the data. When an alteration is performed to the data, the hash of the tree is also changed. Subsequently, the hash of the block is also changed and thus, the chain of blocks break. To restore the chain, consent from the majority of the validator is required, which makes these changes technically unfeasible.

V. PERFORMANCE EVALUATION

This section represents the performance evaluation of BUAV. The performance is analyzed by simulation and experiment and the results are discussed is two subsections.

A. Simulation Results

A simulation was performed using MATLAB for estimating the effects in MEC server and another simulation was performed for estimating the effects in UAV. In UAV, Python was utilized for simulating results. The simulation parameters are provided in Table 2. For simulation purposes, an Intel(R) Core(TM) i5-4670 CPU @ 3.40 GHz was used as MEC server with 32 GB RAM. For UAV, Broadcom BCM2837B0, Cortex- A53 (ARMv8) 64-bit SoC @ 1.4 GHz was used with 1 GB RAM.

Fig. 3 demonstrates the results of the simulation that were performed in the MEC server. The time for processing the data of [TeX:] $$\eta \text { -hash }$$ bloom filter that contains information on the different number of devices is shown in Fig. 3(a). Milliseconds was considered as the unit of the processing time. In Fig. 3(a), processing time increases with the increase in the number of devices. In addition, the value of [TeX:] $$\eta$$ affects the processing time. Increasing the number of [TeX:] $$\eta$$ results in an increase in the processing time. As a result, [TeX:] $$\eta=3$$ requires more time than [TeX:] $$\eta=2, \text { and } \eta=2$$ [TeX:] $$\eta=2, \text { and } \eta=2$$ requires more time-consuming than [TeX:] $$\eta=1.$$

Fig. 3(b) illustrates the expected transmission of data containing information for the different devices that are generated from [TeX:] $$\eta \text { -hash }$$ bloom filter. An increase in the number of devices also results in an increase in the data size. However, [TeX:] $$\eta=1,2, \text { and } 3$$ produces the same amount of data because data in the list contains either 0 or 1 and the size of 0 and 1 is same. Therefore, differences in [TeX:] $$\eta$$ have no impact on the data size generated from [TeX:] $$\eta \text { -hash }$$ bloom filter.

Fig. 3(c) depicts the transmission of data generated from bloom filter and other data structure apart from bloom filter containing the information of the different number of devices. A hash table was considered as a non-bloom filter data structure.

Table 3.

Experimental parameters.
Parameters Values

[TeX:] $$\eta$$

Wi-Fi, Bluetooth

[TeX:] $$\psi(.),$$Encryption

1

48 Mbps, Bluetooth 4.2

SHA-256, RSA (key = 1024)

[TeX:] $$\text{IoTD}_{n}$$

[TeX:] $$\text{IoTD}_{CPU}$$

[TeX:] $$\text{IoTD}_{STORAGE,RAM,OS}$$

4

Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC @ 1.4 GHz

4 GB, 1 GB, Raspbian Stretch

[TeX:] $$\text{UAV}_{n}$$

[TeX:] $$\text{UAV}_{CPU}$$

[TeX:] $$\text{UAV}_{STORAGE,RAM,OS}$$

1

Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC @ 1.4 GHz

16 GB, 1 GB, Raspbian Stretch

Given that, there is no influence of [TeX:] $$\eta$$ on data size, [TeX:] $$\eta=1$$ was used for this simulation. The amount of data in both the bloom filter and the hash table increases with an increase in the number of devices. However, the data size of the hash table increases dramatically in comparison with the bloom filter. In particular, the hash table is initially twice of the data size of the bloom filter. For more devices, this difference approaches thrice the data size of the bloom filter. Therefore, by using a bloom filter, BUAV compresses space in a UAV.

Fig. 4 demonstrates the simulation results that were obtained for the UAV. The time for validating the identity of the different devices utilizing [TeX:] $$\eta \text { -hash }$$ bloom filter is shown in Fig. 4(a). Milliseconds was considered as the unit for the validation time. With the increase in the number of devices that require validation, the validation time also increases. The change in the value of [TeX:] $$\eta$$ leads to a change in the validation time. Increasing the number of [TeX:] $$\eta$$ requires more time for the validation process. This is the reason why [TeX:] $$\eta=3$$ requires more time than [TeX:] $$\eta=2 \text { and } \eta=2$$ requires more time than [TeX:] $$\eta=1.$$

Fig. 4(b) illustrates the energy consumption during the validation process. Joule was considered as the unit of energy consumption. With the increase in the number of devices for the validation process, energy consumption also increases. Given that, the increase in [TeX:] $$\eta$$ requires more time for the validation process, [TeX:] $$\eta=3$$ consumes more energy than [TeX:] $$\eta=2 \text { and } \eta=2$$ consumes more energy than [TeX:] $$\eta=1.$$

Fig. 4(c) represents the time required to validate the devices in the presence of malicious devices. This simulation was performed for 10,000 devices. The increase in the percentage of malicious devices, even in the 100 percentage malicious devices scenario, does not affect the validation time. This is because, for both valid and malicious devices, [TeX:] $$\eta \text { -hash }$$ bloom filter checks either 0 or 1. However, the validation time increases with an increase in [TeX:] $$\eta;$$ but, it remains the same for different percentages of malicious devices.

Fig. 5 demonstrates the rate of false positive for the different percentage of malicious devices. As bloom filter surrounds with the false positive issue, it is necessary to check the false positive rate. 10,000 devices were considered for this simulation. In this simulation, the false positive rate is 0 for [TeX:] $$\eta=1,2, \text { and } 3,$$ even

Fig. 3.

Results of simulation that was performed in MEC server: (a) Time for processing devices, (b) expected transmission of processed data, and (c) expected transmission of processed data for [TeX:] $$\eta \text { -hash }$$ bloom filter and for without [TeX:] $$\eta \text { -hash }$$ bloom filter.
3.png

Fig. 4.

Results of simulation that was performed in UAV: (a) Time for validating devices, (b) energy consumption during the validation, and (c) time for validating devices in the presence of malicious devices.
4.png

Fig. 5.

Rate of false detection for validating devices.
5.png

in the 100 percentage malicious devices scenario.

B. Experimental Results

The experiment was performed indoor, as shown in Fig. 6. The parameters used in the experiment are described in Table 3. An Intel(R) Core(TM) i5-4670 CPU @ 3.40 GHz was used as MEC server with 32 GB RAM. Node.js was used to create the server. 4 raspberry pi 3 model b+ were utilized and sensors (i.e., flame, temperature, humidity, light) were attached in these devices. These devices were considered as IoTD with the primary task of sensing the environment and transmitting the result to the MEC server via UAV. The middleware in IoTD was built using Python. The communication between UAV and IoTD was performed over Bluetooth and the communication between UAV and MEC server was performed over Wi-Fi. Parrot Bebop 2 was used as a UAV and raspberry pi 3 model b+ was attached for maintaining communication with IoTD and MEC server, as shown in Fig. 6(a). The middleware for UAV was written using Python. IoTDs were deployed randomly and UAV was placed in the center of IoTDs, as shown in Figs. 6(b) and 6(c). The proposed scheme was built over ethereum. In ethereum, a private network was created, named BUAV-B, containing 10 validators. Geth was used as an ethereum client and web.js for RPC call. In order to set up 10 validators, 10 computers were used to create a local area network (LAN). Each pc contained geth and connected with each other. Proof of authority (PoA) was used for performing the consensus mechanism.

Fig. 7 shows the energy consumption for transferring data from a IoTD to other entities (e.g., UAV, MEC server, and cloud) directly. Intel(R) Xeon(R) Processor E5-2697A V4@2.60 GHz with 32 GB RAM was considered for the cloud server and the cloud server is hosted in US server at 69,162,66,34. CentOS 7.5 was used as the OS in the cloud server. In order to connect to the cloud, the IoT device is connected with the ipTIME A2004NS-R router and the EFM ipTIME A2004NS-R is connected to the internet. To connect to the MEC server, an ipTime N100 mini was used to open an access point from the MEC server. To connect to the UAV, Bluetooth 4.2 was used. Fig. 7 shows that it requires

Fig. 6.

Experimental setup: (a) Hardware details of UAV, (b) UAV with IoTDs, and (3) data acquisition from IoTDs to MEC server via UAV.
6.png

Fig. 7.

Energy consumption of IoT devices to communicate with UAV, MEC server, and cloud server for different data sizes.
7.png

more energy to communicate with the cloud, and with the increase in data size, energy consumption also increases. On the contrary, communication with the MEC server consumes less energy although the energy consumption increases with an increase in the size of the data. Communication with UAV consumes less energy than the MEC server which is almost half of the MEC server because communicating using Bluetooth consumes less energy than Wi-Fi. With an increase in data size, the energy consumption increases very slowly in contrast with the MEC and cloud server. From the results, direct communication with the cloud server, IoTs spent more energy than with the MEC server and direct communication with the MEC, IoTs spent more energy than with UAV.

Fig. 8 demonstrates the result of the experiments performed in the network. In Fig. 8(a), the throughput of the network over different time is presented. The communication channel of BUAV is compared before and after the application of security. Over time, in both channel’s throughput increases. However, the throughput of the channel without security is higher than the channel with security. This is because, after applying security, data has to be validated before being forwarded to the next hop.

Fig. 8(b) illustrates the total amount of data received in MEC server. For this experiment, 1 and 3 were considered as valid IoTDs and 2 and 4 were considered as malicious IoTDs. This simulation was performed for 10 s. Data from IoT-1 and IoT-3 successfully reached MEC server because both of them are valid. As a result, both successfully passed the validation process in UAV and 10,370 and 10,889 bytes received at MEC server, respectively. However, data from IoT-2 and IoT-4 were discarded in UAV because they could not pass the validation because they are not in the device list. Therefore, IoT-2 and IoT-4 cannot reach MEC server.

Fig. 8(c) shows the time to process security actions in IoT device, UAV, and MEC server for different data sizes. Equation (7) was utilized for IoT device, (12) was utilized for UAV, and (17) was utilized for the MEC server in order to calculate the processing time. The processing time increased with the increase of the data size for IoT device, UAV, and MEC server. However, MEC server’s computation power is much higher than that of UAV and IoT. That is why the processing time for MEC server is negligible in contrast with IoT device and UAV. However, UAV performs a decryption process which is slower than encryption. As such, the processing time is higher in UAV than IoT device.

Fig. 8(d) represents the energy consumption during the processing of security actions in IoT device, UAV, and MEC server for different data sizes. Energy consumption in the CPU was considered while processing the security actions of the MEC server. Given that, the CPU has significant computational power, the processing time is much less in comparison with that of UAV and IoT device. However, MEC server requires a large amount of energy in order to maintain continuity. With the increase in the data size, the energy consumption of the IoT device, UAV and MEC server also increases. Given that, UAV has a decryption mechanism in security actions, it consumes more power than IoT device.

Fig. 8(e) depicts the processing time for performing individual security mechanism for different data sizes. Given that, MEC has significant computational power, the difference in the processing time between MEC and IoT/UAV is very high. It is notable that the processing time for every action increases with an increase in the data size. However, decryption requires more time than encryption and signing the data is more time consuming than verifying the data. In RSA, the private key is larger than the public key and due to its size, more time is needed for processing. Both decryption and signing use a private key in order to decrypt and sign, respectively. As such, decryption and signing require more time in contrast to encryption and verifying. However, this phenomenon is also visible in the MEC server. Despite its high computation capability, decryption and signing take more time than encryption and verifying.

Fig. 8(f) represents the latency for searching UAV that varies

Fig. 8.

Results of experiment that was performed in BUAV: (a) Throughput of the network, (b) transferred of data to MEC server both from valid devices and malicious devices, (c) time for processing the security modules on different data size, (d) processing time for individual security actions on different data size, (e) energy consumption for performing individual security actions on different data size, and (f) latency for requisitioning UAV to MEC server.
8.png

Fig. 9.

Results of experiment that was performed in BUAV-B: (a) Data added in the blockchain over time, (b) data added while the absence of validators in the network over time, (c) data retrieved over time, (d) latency while appending a data over different validator, and (e) delay while transferring data via different channel w.r.t both including and excluding blockchain.
9.png

for the different number of UAVs. Equation (30) was utilized in order to calculate latency. However, with the increase in the number of UAVs, latency also increases. For more UAVs, it is required more time to calculate distance and more time to sort the data set which increases the latency. Overall, that increase in latency is very small.

Fig. 9 illustrates the result of the experiments performed in blockchain in MEC server. Fig. 9(a) shows the amount of data that was added in blockchain over time. 2, 5, 8, and 10 validator scenarios were considered during these experiments. With the increase in time, the amount of data addition also increased. However, these increases vary depending on the number of validators. The speed of adding data is almost the same for 2 and 5, and the speed of data addition is almost the same for 5 and 10. However, with the increase of the validator, the rate of addition of data in the blockchain decreases. In PoA, from the onset, everyone has the list of validators and blocks are appended in a round robin manner. Prior to the addition of the block in the chain, it is necessary to get an agreement by validators which increases the delay in the network and as a result of this delay, the amount of data also decreases.

Fig. 9(b) represents the changes of the data added in blockchain over time when considering the different percentage of validators that are not available for the validation process. 10 validators were considered while performing this experiment. The experiment was performed for the full active node (everyone is active), 10% down (10% of the total validators), 20% down (20% of the total validators), 30% down (30% of the total validators), and 40% down (40% of the total validators). However, in PoA, one validator proposes a block and the other validators sign it if the proposal is valid. This process proceeds one at a time in a round robin way. However, if a validator is not available for the validation process, he misses the chance to propose a block, his chance moves to the next validator, and this process goes on. But, this creates a delay in the network which causes a decrease in the amount of data added to the network in contrast with the full active node. With the increase in the percentage of unavailability of validators, the rate of addition of data in the network decreases.

Fig. 9(c) outlines the number of queries that can be performed at different times. In blockchain, everyone has the same version of the data and during data reading from blockchain, data were retrieved from the local copy of the requester. This is why the validators do not play a role during the reading of data from blockchain. However, how many queries can be performed at different times were considered. With the increase in time, the queries also increase.

Fig. 9(d) describes the latency associated with the addition of data in blockchain for the different validators. From 2 to 10 validators appearance were considered. In Fig. 9(d), latency increases with the increasing number of validators. It is notable that, to sign a block, a delay is created from the validators. Thus, an increase in the number of validators increases latency.

Fig. 9(e) presents the delay in transferring data from IoTD to MEC server. In this experiments, data were transmitted in two ways: (1) Transmit 1 [TeX:] $$(\mathrm{IoTD} \rightarrow \mathrm{UAV} \rightarrow \mathrm{MECS}),$$ and (2) Transmit 2 [TeX:] $$(\mathrm{IoTD} \rightarrow \mathrm{UAV} \rightarrow \mathrm{UAV} \rightarrow \mathrm{MECS}).$$ Transmission by including blockchain [TeX:] $$\text { (IoTD } \rightarrow \text { UAV } \rightarrow \text { MECS } \rightarrow \text { Blockchain and }\text { IoTD } \rightarrow \text { UAV } \rightarrow \text { UAV } \rightarrow \text { MECS } \rightarrow \text { Blockchain) }$$ and excluding blockchain were considered. For the case without blockchain, the delay in Transmit 2 is higher than Transmit 1. This is because, in Transmit 2, the data has to pass through one more hop than in the case of Transmit 1. In addition, this data also experiences more security mechanisms than Transmit 1, which increases the delay in Transmit 2 in compare to Transmit 1. In comparison with the exclusion of blockchain, the incorporation of blockchain increases the delay in both Transmit 1 and Transmit 2. This is because the inclusion of blockchain introduces additional latency during the addition of the block in blockchain along with the security validation delay in MEC server.

VI. CONCLUSIONS AND FUTURE WORK

In this paper, a secure data collection scheme was introduced in which data are collected from IoT devices (IoTDs) with the assistance of unmanned aerial vehicle (UAV). After collection, the data are stored securely in blockchain at mobile edge computing (MEC) server. While transferring data from IoTDs, encryption is performed using UAV’s public key and a signature is created using IoTD’s private key. UAV receives that data and after the decryption, the identity of IoTD is validated using [TeX:] $$\eta \text { -hash }$$ bloom filter. Subsequently, data are forwarded to MECS and after validating, it is stored by MEC in blockchain that is signed by the validators. Simulations were performed using MATLAB in order to examine the impact of [TeX:] $$\eta \text { -hash }$$ bloom filter for both in MEC server and UAV. Implementation of BUAV was done and experiments were performed in that implementation in to order to test the feasibility. Some future directions are listed below:

BUAV supports single UAV in the data acquisition which can be extended with multi-UAV to increase the quality of service. But, providing security for multi-UAV is very challenging which can be a future research topic.

The dynamic distribution of IoT devices and mobility of UAV during secure data acquisition needs to be investigated which can be subjected to future works.

BUAV does not consider the incentivization of the validator which is kept for future research.

Biography

Anik Islam

Anik Islam was born in 1992. He received the B.Sc. in software engineering and M.Sc. degrees in computer science from American International UniversityBangladesh (AIUB), Dhaka, Bangladesh, in 2014 and 2017, respectively. He is currently working toward the Ph. D. degree with the WENS Laboratory, Kumoh National Institute of Technology, Gumi, South Korea. He has more than 5 years of experience of working in the software development field. He has participated in various software competitions with good achievements. His major research interests include blockchain, internet of things, unmanned aerial vehicle, social internet of things, edge computing, and distributed system.

Biography

Soo Young Shin

Soo Young Shin received his Ph. D. degree in Electrical Engineering and Computer Science from Seoul National University on 2006. He was with WiMAX Design Lab, Samsung Electronics, Suwon, South Korea from 2007 to 2010. He joined as Full-time Professor to School of Electronics, Kumoh National Institute of Technology, Gumi, South Korea. He is currently an Associate Professor. He was a Post Doc. Researcher at University of Washington, Seattle, WA, USA from 2006 to 2007. In addition, he was a visiting scholar to University of the British Columbia at 2017. His research interests include wireless communications, next generation mobile wireless broadband networks, signal processing, Internet of things, etc.

References

  • 1 P. Asghari, A. M. Rahmani, H. H. S. Javadi, "Internet of things applications: A systematic review," Computer Netw., vol. 148, pp. 241-261, 2019.doi:[[[10.1016/j.comnet.2018.12.008]]]
  • 2 J. Portilla, G. Mujica, J. Lee, T. Riesgo, "The extreme edge at the bottom of the internet of things: A review," IEEE SensorsJ., vol. 19, no. 9, pp. 3179-3190, 2019.doi:[[[10.1109/JSEN.2019.2891911]]]
  • 3 M. M. Alam, H. Malik, M. I. Khan, T. Pardy, A. Kuusik, Y. L. Moullec, "A survey on the roles of communication technologies in IoT-based personalized healthcare applications," IEEE Access, vol. 6, pp. 3661136631-3661136631, 2018.doi:[[[10.1109/ACCESS.2018.2853148]]]
  • 4 D. He, R. Ye, S. Chan, M. Guizani, Y. Xu, "Privacy in the internet of things for smart healthcare," IEEE Commun. Mag., vol. 56, no. 4, pp. 38-44, Apr, 2018.doi:[[[10.1109/MCOM.2018.1700809]]]
  • 5 A. A. Abdellatif, M. G. Khafagy, A. Mohamed, C. Chiasserini, "Eegbased transceiver design with data decomposition for healthcare IoT applications," IEEE Internet Things J., vol. 5, no. 5, pp. 3569-3579, Oct, 2018.custom:[[[-]]]
  • 6 M. Elhoseny, G. Ramírez-González, O. M. Abu-Elnasr, S. A. Shawkat, A. N, A. Farouk, "Secure medical data transmission model for IoTbased healthcare systems," IEEE Access, vol. 6, pp. 20596-20608, 2018.custom:[[[-]]]
  • 7 E. Luo, M. Z. A. Bhuiyan, G. Wang, M. A. Rahman, J. Wu, M. Atiquzzaman, "Privacyprotector: Privacy-protected patient data collection in IoTbased healthcare systems," IEEE Commun. Mag., vol. 56, no. 2, pp. 163168-163168, Feb, 2018.custom:[[[-]]]
  • 8 P. Verma, S. K. Sood, "Fog assisted-IoT enabled patient health monitoring in smart homes," IEEE Internet Things J., vol. 5, no. 3, pp. 17891796-17891796, June, 2018.doi:[[[10.1109/JIOT.2018.2803201]]]
  • 9 R. Dagar, S. Som, S. K. Khatri, "Smart farming - IoT in agriculture," in Proc.ICIRCA, pp. 1052-1056, July, 2018.custom:[[[-]]]
  • 10 S. J. Balakrishna, H. Marellapudi, N. A. Manga, "IoT based status tracking and controlling of motor in agricultural farms," in Proc. IEEE UPCON, pp. 1-5, Nov, 2018.doi:[[[10.1109/UPCON.2018.8596944]]]
  • 11 I. Zyrianoff, A. Heideker, D. Silva, C. Kamienski, "Scalability of an internet of things platform for smart water management for agriculture," in Proc.FRUCT, pp. 432-439, Nov, 2018.doi:[[[10.23919/FRUCT.2018.8588086]]]
  • 12 V. Ramachandran, R. Ramalakshmi, S. Srinivasan, "An automated irrigation system for smart agriculture using the internet of things," in Proc. ICARCV, pp. 210-215, Nov, 2018.doi:[[[10.1109/ICARCV.2018.8581221]]]
  • 13 Y. Meng, W. Zhang, H. Zhu, X. S. Shen, "Securing consumer IoT in the smart home: Architecture, challenges, and countermeasures," IEEE WirelessCommun., vol. 25, no. 6, pp. 53-59, Dec, 2018.doi:[[[10.1109/MWC.2017.1800100]]]
  • 14 A. Elsts et al., "Enabling healthcare in smart homes: The sphere IoT network infrastructure," IEEE Commun. Mag., vol. 56, no. 12, pp. 164-170, Dec, 2018.doi:[[[10.1109/MCOM.2017.1700791]]]
  • 15 P. Wang, F. Ye, X. Chen, "A smart home gateway platform for data collection and awareness," IEEE Commun. Mag., vol. 56, no. 9, pp. 8793-8793, Sept, 2018.doi:[[[10.1109/MCOM.2018.1701217]]]
  • 16 C. K. Lee, H. Liu, D. Fuhs, A. Kores, E. Waffenschmidt, "Smart lighting systems as a demand response solution for future smart grids," IEEE J.EmergingSel.TopicsPowerElectron.p. 1, 2019.doi:[[[10.1109/JESTPE.2018.2890385]]]
  • 17 Y. Li, X. Cheng, Y. Cao, D. Wang, L. Yang, "Smart choice for the smart grid: Narrowband internet of things (NB-IoT)," IEEE Internet ThingsJ., vol. 5, no. 3, pp. 1505-1515, June, 2018.doi:[[[10.1109/JIOT.2017.2781251]]]
  • 18 L. d. M. B. A. Dib, V. Fernandes, M. de L. Filomeno, M. V. Ribeiro, "Hybrid plc/wireless communication for smart grids and internet of things applications," IEEE Internet Things J., vol. 5, no. 2, pp. 655-667, Apr, 2018.doi:[[[10.1109/JIOT.2017.2764747]]]
  • 19 Y. Sun, L. Lampe, V. W. S. Wong, "Smart meter privacy: Exploiting the potential of household energy storage units," IEEE Internet Things J., vol. 5, no. 1, pp. 69-78, Feb, 2018.doi:[[[10.1109/JIOT.2017.2771370]]]
  • 20 H. A. H. Hassan, D. Renga, M. Meo, L. Nuaymi, "A novel energy model for renewable energy-enabled cellular networks providing ancillary services to the smart grid," IEEE Trans. Green Commun. Netw., vol. 3, no. 2, pp. 381-396, June, 2019.doi:[[[10.1109/TGCN.2019.2893203]]]
  • 21 D. E. Kouicem, A. Bouabdallah, H. Lakhlef, "Internet of things security: A top-down survey," Comput. Netw., vol. 141, pp. 199-221, Aug, 2018.doi:[[[10.1016/j.comnet.2018.03.012]]]
  • 22 L. Gupta, R. Jain, G. Vaszkun, "Survey of important issues in UA V communication networks," IEEE Commun. Surveys Tuts.Secondquarter, vol. 18, no. 2, pp. 1123-1152, 2016.custom:[[[-]]]
  • 23 S. Hayat, E. Yanmaz, R. Muzaffar, "Survey on unmanned aerial vehicle networks for civil applications: A communications viewpoint," IEEE Commun. Surveys Tuts.Fourthquarter, vol. 18, no. 4, pp. 2624-2661, 2016.doi:[[[10.1109/COMST.2016.2560343]]]
  • 24 Q. Zhang et al., "IoT enabled UA V: Network architecture and routing algorithm," IEEE InternetThingsJ., vol. 6, no. 2, pp. 3727-2742, 2019.custom:[[[-]]]
  • 25 T. Lagkas, V. Argyriou, S. Bibi, P. Sarigiannidis, "UA V IoT framework views and challenges: Towards protecting drones as "things"," Sensors, vol. 18, no. 11, Nov, 2018.custom:[[[-]]]
  • 26 S. K. Datta, J. Dugelay, C. Bonnet, "IoT based UA V platform for emergency services," in Proc.IEEE ICTC, pp. 144-147, Oct, 2018.custom:[[[-]]]
  • 27 H. Elazhary, "Internet of things (IoT), mobile cloud, cloudlet, mobile IoT, IoT cloud, fog, mobile edge, and edge emerging computing paradigms: Disambiguation and research directions," J.Netw.Comput.Appl., vol. 128, pp. 105-140, Nov, 2019.doi:[[[10.1016/j.jnca.2018.10.021]]]
  • 28 R. Roman, J. Lopez, M. Mambo, "Mobile edge computing, fog et al.: A survey and analysis of security threats and challenges," FutureGenerationComput.Syst., vol. 78, pp. 680-698, Jan, 2018.doi:[[[10.1016/j.future.2016.11.009]]]
  • 29 Y. Ai, M. Peng, K. Zhang, "Edge computing technologies for internet of things: A primer," Digital Commun. Netw., vol. 4, no. 2, pp. 77-86, Apr, 2018.custom:[[[-]]]
  • 30 N. Mohamed, J. Al-Jaroodi, I. Jawhar, H. Noura, S. Mahmoud, "UA VFog: A UA V-based fog computing for internet of things," in Proc. IEEE SmartWorld/SCALCOM/UIC/ATC/CBDCom/IOP/SCI, pp. 1-8, Aug, 2017.custom:[[[-]]]
  • 31 V. Sharma, R. Kumar, R. Kaur, "UA V-assisted content-based sensor search in IoTs," Electron.Lett., vol. 53, no. 11, pp. 724-726, Apr, 2017.custom:[[[-]]]
  • 32 S. Liu, Z. Wei, Z. Guo, X. Yuan, Z. Feng, "Performance analysis of UA Vs assisted data collection in wireless sensor network," in Proc. IEEE VTCSpring, pp. 1-5, June, 2018.custom:[[[-]]]
  • 33 M. Bacco, A. Berton, A. Gotta, L. Caviglione, "Ieee 802.15.4 airground UA V communications in smart farming scenarios," IEEE Commun. Lett., vol. 22, no. 9, pp. 1910-1913, Sept, 2018.custom:[[[-]]]
  • 34 X. He, J. Bito, M. M. Tentzeris, "A drone-based wireless power transfer anc communications platform," in Proc.IEEE WPTC, pp. 1-4, May, 2017.doi:[[[10.1109/WPT.2017.7953846]]]
  • 35 A. S. Gaur, J. Budakoti, C. Lung, A. Redmond, "IoT-equipped UA V communications with seamless vertical handover," in Proc. IEEE IDSC, pp. 459-465, Aug, 2017.custom:[[[-]]]
  • 36 X. Wang, X. Zha, W. Ni, R. P. Liu, Y. J. Guo, X. Niu, K. Zheng, "Survey on blockchain for internet of things," Comput.Commun., 2019.doi:[[[10.1016/j.comcom.2019.01.006]]]
  • 37 I. Makhdoom, M. Abolhasan, H. Abbas, W. Ni, "Blockchain’s adoption in IoT: The challenges, and a way forward," J. Netw. Comput. Appl., vol. 125, pp. 251-279, Nov, 2019.custom:[[[-]]]
  • 38 Q. Feng, D. He, S. Zeadally, M. K. Khan, N. Kumar, "A survey on privacy protection in blockchain system," J.Netw.Comput.Appl., vol. 126, pp. 45-58, Nov, 2019.doi:[[[10.1016/j.jnca.2018.10.020]]]
  • 39 Y. Yu, Y. Li, J. Tian, J. Liu, "Blockchain-based solutions to security and privacy issues in the internet of things," IEEE WirelessCommun., vol. 25, no. 6, pp. 12-18, Dec, 2018.doi:[[[10.1109/MWC.2017.1800116]]]
  • 40 T. M. Fernández-Caramés, P. Fraga-Lamas, "A review on the use of blockchain for the internet of things," IEEE Access, vol. 6, pp. 3297933001-3297933001, May, 2018.doi:[[[10.1109/ACCESS.2018.2842685]]]
  • 41 A. Islam, M. B. Uddin, M. F. Kader, S. Y. Shin, "Blockchain based secure data handover scheme in non-orthogonal multiple access," in Proc. IEEE ICWT, pp. 1-5, July, 2018.doi:[[[10.1109/ICWT.2018.8527732]]]
  • 42 A. Reyna, C. Martín, J. Chen, E. Soler, M. Díaz, "On blockchain and its integration with IoT. challenges and opportunities," FutureGeneration Comput.Syst., vol. 88, pp. 173-190, Nov, 2018.doi:[[[10.1016/j.future.2018.05.046]]]
  • 43 F. Grandi, "On the analysis of bloom filters," Inf. Process. Lett., vol. 129, pp. 35-39, Jan, 2018.doi:[[[10.1016/j.ipl.2017.09.004]]]
  • 44 L. Luo, D. Guo, R. T. B. Ma, O. Rottenstreich, X. Luo, "Optimizing bloom filter: Challenges, solutions, and comparisons," IEEE Commun. SurveysTuts., vol. 21, no. 2, pp. 1912-1949, Dec, 2018.doi:[[[10.1109/COMST.2018.2889329]]]