An effective handling of secure data stream in IoT
Graphical abstract
Introduction
The Internet of Things (IoT) is a key domain in which data streams are generated, and the volume of this data is expected to increase [1], [2], [3], [4], [5], [6], [7], [8], [9]. A data stream has an unbounded size, the rate at which the data is generated varies widely, and the data must be processed online or in near real–time [5], [6], [7], [9], [10], [11], [12], [13], [14], [15], [16], [17], [18], [19], [20]. A data stream collector collects data streams, and the collected information is processed to determine its knowledge or value [21]. When a data stream generated from an IoT device is transmitted to a collector, the data stream traverses a heterogeneous network composed of the IoT and Internet. The IoT often uses a slow network such as Bluetooth Low Energy (BT-LE), ZigBee, or Z-wave to accommodate the limited resources of IoT devices, while the Internet uses fast networks such as Ethernet or Wi-Fi [22]. In addition, since the IoT network has a small maximum transfer unit (MTU), as the size of data to be transmitted increases, the number of fragmentations and reassemblies for transmission increase sharply compared to the Internet. Table 1 lists the speeds and MTUs of the Internet and IoT [23], [24], [25], [26], [27], [28], [29], [30].
Owing to this difference in network performance, when data is transmitted from IoT devices to the Internet, most of the transmission time is consumed in the IoT network.
Fig. 1 shows the proportion of transmission time consumed when various sizes of data are transmitted from the low-speed IoT to the Internet. As seen in the figure, when transmitting to the collector, most of the time is consumed by the transmission to an IoT border router. Table 2 shows that this process consumes more than 80% of the transmission time in the IoT network.
Increases in transmission time and fragmentation/reassembly tasks depending on the data size are critical to IoT devices. This is because IoT devices have limited resources and are sensitive to power consumption [31]. Table 3 lists the specifications of the devices used to implement a popular IoT prototype [32]. As seen in the table, the central processing unit (CPU) used is slower than a desktop or laptop, the RAM is smaller, and the power operates at a low voltage level [33].
To solve this problem, we propose a handler that can improve the usability of the data stream. This method can be applied to an encrypted data stream, as well as applications requiring security. By compressing the data stream using low-density parity check (LDPC) codes, the size of the data stream is reduced and transmission speeds up as the size decreases.
A reduction in transmission time can help to satisfy the characteristics of the data stream, which should be processed in real time and reduce the power consumption of the IoT device.
A variety of studies have been conducted to overcome the differences between Internet and IoT networks, but the research has focused on increasing the payload by compressing the header of each protocol. However, in this study, we solved the problem by compressing the payload itself rather than the header, even if the payload was encrypted.
The results of experiments with IoT devices and collectors using Raspberry Pi and a desktop computer show that the average transmission time to a collector was reduced by 61.63%, while the average power consumption of an IoT device was reduced by 61.08%. The CPU and memory usage for performing the proposed handling increased by 0.50% and 0.30%, respectively, for a data size of 1600 KB, which was the largest usage.
The contributions of this study are as follows:
- •
Reduced transmission time to data stream collector. The data stream has characteristics that should be processed in real time. In order for the data stream to be processed, it must first be collected into a collector. In an IoT environment, however, the data stream is delayed owing to network differences. We reduced the delay by an average of 61.63% by compressing data using an LDPC code. This can help satisfy the data stream characteristics that need to be processed quickly.
- •
Reduced power consumption of IoT devices. Since an IoT network uses a slow network such as BT-LE, ZigBee, or Z-wave, the transmission time increases significantly when the size of the transmitted data stream increases. In addition, because these slow networks have small MTUs, fragmentations and reassemblies for data transmission also increase. This increase is a critical factor in IoT devices that are resource constrained and sensitive to power consumption. We reduced the power consumption for data stream transmission by compressing the data stream to reduce its size. Thus, the power consumption for a data stream that should be transmitted frequently can be reduced. In order to perform the proposed handling, the Raspberry Pi has a run time of less than 1 s, and an increase in memory and CPU usage is acceptable.
- •
Payload compression studies of packets. Studies aimed at reducing the network performance gap between the IoT and Internet have focused on the header compression of packets. In contrast, this study investigated the payload compression of packets. This method is applicable even if the payload is encrypted. This new approach could provide a new approach for existing research that focuses only on header compression.
This paper is organized as follows; Section 2 explains background for our study-basic terminology and theories. In Section 3, we discuss related works. In Section 4, we propose a method for effective handling of secure data stream. Section 5 presents the experiments and analysis, including implementation, experimental method, and interpretation of results. In Section 6, we conclude our study and discuss future work.
Section snippets
Background
In order to understand related research, this section describes the IoT network structure and its basic terminology and theories.
Network architecture of the IoT: Fig. 2 shows an example of an IPv6 network and a 6LoWPAN network [34]. All hosts, including hosts in 6LoWPAN, have IPv6 addresses. Each router is responsible for routing between hosts in the sub network and external hosts. In this study, a device in the 6LoWPAN network in Fig. 2 generates the data stream, and the server is a collector
Related works
This section describes related research. Section 3.1 describes the study of data streams related to security and time delays. Section 3.2 explains a study related to IoT protocol header compression. Section 3.3 details studies related to data compression using LDPC codes.
Effective handling of secure data stream
This section describes the proposed data stream handler to increase usability. Section 4.1 describes the flow of the data stream. Section 4.2 explains the transmission of data streams from an Internet device. Section 4.3 explains how to decompress the received data stream.
Implementation
In this section, we implemented the IoT device, IoT border router, and data stream collector.
IoT device: The IoT device was implemented using Raspberry Pi 2. We used 6LoWPAN, which utilizes BT-LE, and IoT SDK for this purpose [63]. The sending program used the modified Python example provided in [58], and the compression was written in C. The LDPC code used for compression was created using the LDPC code library [64].
IoT border router: The IoT border router was also implemented using Raspberry
Conclusion
In this paper, we proposed a handling method that reduced transmission time in a data collector and the power consumption of IoT devices that generate data streams, while maintaining the security of the encrypted data stream. The encryption algorithm used for security considered the stream cipher and compressed the data using an LDPC code to overcome the differences in performance between the IoT and the Internet. Using the Raspberry Pi 2, a desktop computer, and data stream collector, we
Acknowledgement
This work was supported by the National Research Foundation of Korea (NRF) grant funded by the Korea government (MSIP) (No. 2016R1A2B4011069).
References (66)
- et al.
External integrity verification for outsourced big data in cloud and IoT: a big picture
Future Gener. Comput. Syst.
(2015) - et al.
Data mining – past, present and future – a typical survey on data streams
Procedia Technol.
(2014) - et al.
Trends in big data analytics
J. Parallel Distrib. Comput.
(2014) - et al.
Big data: a survey
Mob. Netw. Appl.
(2014) - et al.
Research on data mining models for the internet of things
Int. Conf. Image Anal. Signal Process
(2010) - et al.
Data mining for internet of things: a survey
IEEE Commun. Surv. Tutor.
(2014) - et al.
Data mining for the internet of things: literature review and challenges
Int. J. Distrib. Sens. Netw.
(2015) - et al.
Mining big data: current status, and forecast to the future
SIGKDD Explor.
(2012) - et al.
A knowledge-based approach for real-time IoT data stream annotation and processing
2014 IEEE International Conference on Internet of Things (iThings 2014), Green Computing and Communications (GreenCom2014), and Cyber-Physical-Social Computing (CPSCom 2014)
(2014) - et al.
Energy-efficient dynamic traffic offloading and reconfiguration of networked data centers for big data stream mobile computing: review, challenges, and a case study
IEEE Network March/April 2016
(2016)