Performance Analysis of Advanced IoT Encryption on Serialization Concept: Application Optimization Approach

—This study investigates the effect of serialization concepts with cipher algorithms and block mode on structured data on execution time in low-level computing IoT devices. The research was conducted based on IoT devices, which are currently widely used in online transactions. The result of overheating on the CPU is fatal if the encryption load is not reduced. One of the consequences is an increase in the maintenance obligations. So that from this influence, the user experience level will have bad influence. This study uses experimental methods by exploring serialization, ciphers, and block mode using benchmarks to get better data combination algorithms. The four test data groups used in benchmarking will produce an experimental benchmark dataset on the selected AES, Serpent, Rijndael, BlowFish, and block mode ciphers. This study indicates that YAML minify provides an optimal encryption time of 21% and decryption of 27% than JSON Pretty if an average of the whole test is taken. On the other hand, the AES cipher has a significant effect on the encryption and decryption process, which is 51% more optimal for the YAML minify serialization


I. INTRODUCTION
Computers and IoT are useful in assisting the activities of certain individuals or business groups. These business domains include Trade, Transportation, Health [1]- [4], and other specific matters discussed in research [5]- [7]. With the expansion of computers, all devices equipped with a microprocessor have been embedded to sustain mobility and the device's toughness. Devices controlled automatically or remotely are a family of IoT (Internet of Things) supporting devices. IoT uses the M2M (machine-to-machine) concept communication [8] without any human relationship [2] [9].
Communication between IoT devices uses information data and instructions that have been designed or regulated by the manufacturer. The information sent and received by devices usually does not want to be known or understood by parties or devices [10][4] [11] [12] with no interest in destroying or converting the information. Therefore, manufacturers should consider durability and safety at a low cost [13]. The information security risks can be in the form of modifications or interruptions, and these risks can affect the continuity of the process or business flow that is running [8] [12] [14]. In tackling these threats, data encryption is required [15]. Encryption is a method used to convert original data into artificial data to become rugged and not accessible for humans to read. The encryption process's drawback tends to impose more processing on the microprocessor embedded in an IoT device. It can result from small and limited microprocessor capabilities [16] [17] and large amounts of data in the encryption process [18]- [20]. As a result of an encryption algorithm's complexity, the microprocessor on the IoT device is more burdened.
The direct effect of microprocessor devices that get high loads or pressures to overheat is the length of the computation process of a device so that it affects UX (User Experience) because it can reduce the level of efficiency [21][22] Users will feel bored in waiting for computation so that it has an impact on ongoing business processes [21] [22][23] [24]. On the other hand, the impact of overheating microprocessor pressure is that the device is not durable. It harms device providers that have to carry out more routine maintenance. In [3] research discussed one method of encrypting data with a Catalan object base and two structural combinations on IoT devices; however, that study did not discuss the concept of serialization in structured data to the encryption process. Therefore, The research related to the analysis and evaluation of several algorithms that are often used in data encryption which includes; AES, Rijndael, Serpent and Blowfish. The encryption process uses several different data serialization concepts to improve application performance on IoT systems thus that it can provide less computation, time and memory and provide a better impact on user UX (User Experience) while sustaining a level of security information. At the same time, the advantages for companies that will be gained from this article are used as an option for IoT device providers in dealing with the problem of overheating on the low-level computational microprocessor utilized.
The rest of this article is organized as follows. Section II discusses previous research that has been carried out as a literature study for the author. Section III discusses the research methods used. The experiment is a method used by the author to obtain benchmark data on a combination of serialization, cipher and block mode. Section IV provides data design, benchmark flow design, data collection process and analysis process from experiments. Section V concludes this article.

II. RELATED WORKS
Data is an essential thing in business that must be secured when transmitted over public networks. It relates to attacks that threaten data modification and interruption. Encryption and data authentication schemes that are implemented can shield data from these attacks to not be read by unauthorized people [4] [10]. Nevertheless, on the other hand, encryption can burden the microprocessor [3], resulting in overheating. Sudip Maitra et al. Have published research related to evaluating the performance of the encryption algorithm on IoT devices with the XTEA and AES algorithms to obtain an algorithm with more optimal memory, time, and energy. The research has been conducted using an experimental method utilizing an oscilloscope device to help identify the energy consumed in the encryption process. From these results, it was found that the XTEA algorithm is better in terms of efficiency if the IoT device does not use the AES accelerator [18]. On the other hand, Geovandro C. et al. Has researched the evaluation of cryptographic algorithms' performance on IoT and operating systems [17].
Nur Rachmat et al. has implemented the analysis of the performance of Rijndael, Serpent, Twofish on an android smartphone. The conclusion of the research that Serpent has good performance at execution time [25]. Furthermore, Muzafer H. Saračević et al. have been carried out providing a proposal to use encryption on Catalan object-based IoT and two structural combinations. In this research, the whole procedure is based on the Catalan number's characteristics and the representation numbers and combinatorial problems. Apart from improving the quality of encryption, that study recommended lightweight computing like e-health and smart cities [3]. Moreover, several studies are almost similar in [26]- [28].

III. RESEARCH METHOD
Researchers use the research method to collect data that followed up as material for investigation and analysis. The research method provides information from the research design to be composed of time, place, and data source. At this condition, the researcher applies experimental research methods. It will provide an overview of the effect of data serialization of pretty JSON, JSON minify, YAML, and YAML minify as machine-to-machine communication. It is against several encryption algorithms/ciphers at AES, Blowfish, Rijndael, and Serpent on IoT devices to get better device performance. The steps taken in this study were coding, data collection, data grouping, benchmarking, and the analysis process. The procedure of the research method used in this study can be seen in Fig. 1.

A. Research Tools
Tools are vastly crucial in research since it can affect the results of the analysis to be performed. This study uses an IoT device in the form of Orange Pi Zero. It is a tiny computing device with a more complex system to assist the data collection process with specifications shown in Table I.

B. Data Collection
Data will operate as serialized data in JSON and YAML with the pretty and minify schemes in this process. From some of these data serialization concepts, the next step is to benchmark the data encryption process to adjust the system or algorithm to get better processing on specific platforms [29]. The benchmarking process in this study uses the Golang programming language. The author uses that in benchmarking to get data benchmarks with low-level programming languages [30]. Thus the golang application will be compiled into binary so that it becomes faster [31].

C. Data Grouping
The grouping process will determine the percentage level of time efficiency or processing carried out in the encryption and decryption process. The process will group on the type of encryption or decryption used based on data serialization. From the benchmark results obtained, researchers can compare these results. A more efficient variety of data serialization, cipher, and block mode combination will be discovered for the IoT application encryption and decryption process.

A. Benchmark Design
Several schemes of the data structure to be used in the benchmark have different characteristics so that the data used will have various levels of influence. The data sample is traditional data commonly used in communication between devices. The traditional JSON data structure is used as a variety of file sizes, including 1.5 KB, 2.1 KB, 3.0 KB and 3.5 KB. The data will be converted with serialization concept.
At this step, some of the cipher and block mode algorithms listed in Table II will be designed as a benchmark process stage executed after the data serialization process. In this case, it is assumed that the data have been through the serialization process such as JSON and YAML with the concept of minifying and pretty. The process diagram can be seen in Fig. 2. (IJACSA) International Journal of Advanced Computer Science and Applications, Vol. 11, No. 12, 2020 675 | P a g e www.ijacsa.thesai.org In Fig. 2, there are data arrays and secret keys that have been provided. The data is used in the serialization process and converted into an appropriate data structure. Furthermore, in the benchmarking process section, the data used is data that has gone through serialization. In conducting benchmarks, serialized data will be looped with the number of n in the benchmark function algorithm and block mode using the provided secret key. After the benchmarking is complete, the performance dataset will be used to conduct research using comparative analysis.
In Table III, Schemes 1 and 2 are schemes that are often operated in serialized data encryption and usually used in applications. Meanwhile, Schemes 3 and 4 are comparison schemes using different data serialization concepts and rarely used from traditional types. With these functions' combination, the benchmark process will be carried out to gain speed/application optimization on the IoT encryption process.

B. Experiment Flow Design
In directing experiments, the Package Benchmark used by the researcher used a package that was already installed in the Golang programming language. In contrast, the operating system's encryption package is libmcrypt-dev, which is also embedded in the Operating System used to have a better effect on library performance. Furthermore, the encrypt library used in the project is able to be seen in the repository (https://github.com/mfpierre/go-mcrypt). In preparing the benchmark function, the researcher provides a specimen that can be seen in Fig. 3. In Fig. 3, there is a function with the prefix 'Benchmark' which serves as a marker that the function is applied to perform benchmarking tests against "ChipperName" and "BlockMode." The 'testing' package determines the number of iterations performed in the function. At the same time, 'EncryptAlg' is a function been arranged as an application helper according to the list in Table II and has been adjusted in Table III assuming the 'Data' variable has been serialized first or in 'DecryptAlg' variable 'Data' is data that have been encrypted.

C. Benchmark Result
The purpose of the benchmark process is to find the average execution time of each algorithm on the cipher and block mode used in encryption. The results of this benchmark will then be analyzed in the data analysis step. The formula for the benchmark calculation of all sample data is as follows.
Where in that function, x is the benchmark function used in Fig. 3. y is the data serialization function. n is total sample data, in this case, the researcher uses four data samples that have been described, and S is the list of sample data used and has been used to serialize. From the results of calculations using the formula 1, the data to be obtained will be listed as in Tables IV and V on each scheme, cipher and block mode used.
In Table IV and V to measure the percentage of time reduction from scheme 1 with scheme 4 uses the formula which can be seen in formula 2 -4. In this formula, j(x) is a function to get the total benchmark value from the JSON serialization data because b is a function used for serializing JSON data. y(x) is a function to get the total benchmark value from the YAML serialization since m was the YAML minify function. In that formula, the value of n is given 4 because this value is the total of the data sample. S is a list of sample data used. Thus that in calculating the percentage obtained from the value f(x).

D. Analysis
All benchmark data will be grouped and analyzed more deeply; thus, it becomes more informative data in graphical form. In this study, four data samples have been converted into four types of data structures tested on 20 combinations of cipher and block. In this case, the comparison graph is assumed to be derived from the execution time's total evaluation result. A comparison of the traditional scheme 1 against scheme 4 on the cipher used can be seen in Fig. 4 to 11.        Based on Fig. 4 to 11 in the comparison results of schemes 1 and 4 in Table III, the YAML minify serializations method gets an upbeat assessment of the encryption and decryption side. As for the algorithm and block mode used, AES ECB gets better speed than BlowFish, Serpent, and Rijndael. Block modes that provide better performance are ECB, CFB, and OFB. The proposed encryption flow on the low-level IoT platform uses YAML data serialization with the minify scheme. It uses the AES ECB algorithm based on the graphic data described. However, this is very relative to the device used.

V. CONCLUSION
This research evaluated the cipher and block mode's performance based on several data serialization schemes on low computing devices. The trials' convener carried out using several data serialization. The results were not too significant between scheme one and scheme four on a particular cipher. However, this experiment could have a very significant timecutting effect on the AES cipher trial with an average of 51% pruning. However, the overall average for encryption will be obtained at 21.85% and 27.36% in decryption. With this research. The hope that it will allow developers to select cipher, block mode, and data serialization to reduce the execution time in the encryption or decryption process.
In the benchmarking process, the author only uses one IoT device. In this case, the author cannot give a definite measure of the figures presented. The author directed a still new system benchmark, and there are no applications that burden the microprocessor. However, it can explain how the serialization, cipher, and block mode combination affects these devices' performance.
The hope for the future, there is further research on this field. For example, by changing data type, data length, protocol, a programming language used or adding the other IoT platform with processor architecture changed.