Submitted:
29 March 2024
Posted:
29 March 2024
You are already at the latest version
Abstract
Keywords:
1. Introduction
- In an Industry 4.0 environment, a manufacturing Execution System (MES) is a comprehensive dynamic software system that ensures production quality. It can help enterprises monitor, track, record, and control the data generated in the manufacturing process, from receiving orders, production, and process control to products.
- According to the MESA Model [3] proposed by MESA, “data collection and acquisition”, and “product tracking and historical records” are important components of MES. On the traditional MES, the historical record of the product will upload the data to the database in the system. However, the data stored in the database may be hijacked by hackers, and the tampered data may greatly affect the judgment of decision-makers or the accuracy of AI training models. Therefore, maintaining data integrity is a major challenge for enterprises in terms of information security.
- The size of each data in IOTA cannot exceed 32kb. Therefore, uploading pictures or videos may not be possible due to the size of the data.
- IOTA does not provide an access control system. That is, anyone can access all data on the IOTA Tangle network, which may lead to a loss of confidentiality, one of the three elements of information security.
- Ensure data preservation for data stored on the server.
- Ensure integrity and confidentiality of data transmitted from sensors to the server and IOTA.
- Successfully upload data exceeding IOTA storage capacity.
- Ensure the integrity of data stored on the server and detect any tampered data.
- The main contributions of our architecture are as follows:
- The data will be uploaded to IOTA, and the immutable nature of DLT will ensure the integrity of the data after it is uploaded to IOTA.
- Use containerization technology [5] to set up IOTA nodes, which can reduce the difficulty of setting up nodes, because there are lots of different hardware devices in the IoT environment.
- Set up the IOTA node on the Raspberry Pi, upload the data to tangle after the sensor receives the data, and successfully reduce the transmission path before uploading to the DLT.
- By utilizing the method we proposed, the data will be preprocessed by proposed method to ensure its integrity during transmission and storage on the server. Satisfying data preservation requirements in the IoT environment.
2. Related Works
2.1. Distributed Ledger Technology
2.2. Transmission Path Selection from Sensors to DLT
2.3. IOTA
2.4. InterPlanetary File System
2.5. Cipher Feedback
2.6. InterPlanetary File System
3. Proposed Method
3.1. System Architecture
- 3.
- Using DLT: The DLT and various consensus mechanisms to maintain the operation of the entire ledger. By utilizing the tamper-evident nature of DLT, it can successfully guarantee the integrity of data after it is uploaded to the chain.
- 4.
- Reducing the transmission path before uploading to the DLT: Taking the industrial control field as an example, after data is uploaded to the DLT, the DLT can ensure the integrity of the data. However, before uploading to the DLT, the data will first go through sensors, edge computers, and servers. The more transmission paths that the data goes through, the higher the possibility of intrusion. Therefore, reducing the transmission path before uploading to the DLT is a key factor to ensure data integrity.
3.2. Shorten the Transmission Path
- Step 1: Create container: install docker on the Raspberry Pi and create a container by docker. It allows us to use containerization technology on our devices.
- Step 2: Setup IOTA node: set up the IOTA node by using packages on the IOTA website and modifying the configuration file. The main purpose of modifying the configuration file is to increase the surrounding neighbor nodes, which is to make it synchronize with the tangle. Many other configuration files can be modified.
- Step 3: Connect the sensor to Raspberry Pi: connect sensors (Co2 sensor, water sensor, temperature sensor, etc.) to Raspberry Pi, and design a program to collect data from the sensor automatically.
- Step 4: Design a program: Design a program for uploading data to the tangle.
- Step 5: Activate the IOTA node: enable programs that collect data and upload data simultaneously.
3.3. Proposed System Model
3.4. Non-Confidential Data Upload Method
- Step 1-2: Raspberry Pi collects raw data from sensors using a program.
- Step 3: The original data is hashed to obtain the hash value of the data, to prevent data theft when uploading to IOTA.
- Step 4-5: The hash value of the raw data is uploaded to IOTA and the returned msgID is obtained.
- Step 6-7: Algorithm 1 is used to preprocess the msgID, and the preprocessed data is uploaded to the server, ensuring the integrity of the data and msgID stored on the server.

3.5. Non-Confidential Data Retrieval Method
- Step 1-2: Use the timestamp on the IVT to select which data to access, and then request the entire data from the server with a specific timestamp. The obtained data includes IVT, BL, and HDML. IVT is a random number that contains a timestamp, BL is a list that contains D, msgID, and IVT, and HDML is a list that contains HDM. HDM is the hash value of D⊕msgID.
- Step 3: Verify the integrity of msgID using Algorithm 2 to prevent hackers from replacing the msgID and leading data users to the wrong location to search for the hash value on the IOTA, and return true or false after the verification is completed, where true indicates successful verification and false indicates verification failure.
- Step 4-5: Obtain the hash value of the entire data and its corresponding milestone on the IOTA using the msgID that has integrity. Verify if the milestone indicates whether the data has been uploaded in order, or the msgID has been replaced by a malicious user.
- Step 6: Perform integrity verification on the data using the verification method proposed in Algorithm 3, and return true or false after the verification is completed, where true indicates successful verification and false indicates verification failure.



3.6. Secret Data Upload Method
- Step 1-2: Request data from sensors and return the received signal from sensors to the Raspberry Pi.
- Step 3: Convert the data into a hash value, which is H, by using a hash function.
- Step 4-5: Upload H to IOTA to ensure the data cannot be stolen from the public ledger. After uploading H, receive the msgID returned by IOTA.
- Step 6: Use Algorithm 4 proposed in this study to encrypt the data using CFB encryption. This results in a ciphertext generated within the timeout, which is CT.
- Step 7: Transmit the D and CT which generated by Algorithm 4 to the server and store it in the corresponding message chain using the timestamp of the IVT.

3.7. Secret Data Retrieval Method
- Step 1-2: Using the timestamp, the client retrieves the required data from the server, which returns CL and BL. CL is a list of ciphertexts, while BL only includes IVT and D because the integrity of the msgID has not yet been verified.
- Step 3: The retrieved CL is decrypted using CFB decryption and the key to generate P, which is D⊕msgID. Then, the BL[0,1,...,n]D obtained from the server is used to XOR each P to obtain the msgID with integrity.
- Step 4: After obtaining the verified msgID, it can be added to BL. Therefore, BL includes D, IVT, and msgID.
- Step 5-6: Using msgID, the IOTA is queried for the hash value of D. All hash values corresponding to msgID are placed in a list, which is HL. The milestone generated by the transaction is queried, and all queried milestones are placed in a list to form MSL.
- Step 7: Using Algorithm 3, the integrity of D is verified. BL, HL, and MSL are checked to ensure that the hash value of the data is consistent. The order of the milestones is also checked to detect any abnormalities in the milestones, which indicate that the msgID has been replaced.
3.8. Large Data Upload Method
- Step 1-2: Retrieve data from IoT devices and return it to the Raspberry Pi.
- Step 3-4: Upload the data to IPFS and retrieve the IPFS CID, which can be used to locate the file on IPFS.
- Step 5-6: Upload the IPFS CID to IOTA and retrieve the corresponding msgID.
- Step 7: Upload the obtained msgID to the server for storage.
3.9. Large Data Upload Method
- Step 1-2: Request a specific msgID of D from the server and receive the server's response containing the msgID.
- Step 3-4: Use the msgID to request the IPFS CID from IOTA and receive the CID.
- Step 5-6: Use the CID to request D from IPFS and wait for IPFS to retrieve the data from the nodes and return D to the client.
4. Implementation and Experimental Results
- Raspberry Pi: The Raspberry Pi specifications are Broadcom BCM2711, Quad-core Cortex-A72 (ARM v8) 64-bit SoC, 8GB RAM, and OS with Red Hat Enterprise Linux9.
- DHT11 sensor: The DHT11 is a basic, ultra-low-cost digital temperature and humidity sensor. It uses a capacitive humidity sensor and a thermistor to measure the surrounding air and spits out a digital signal on the data pin.
4.1. Security Analysis
4.2. Performance Analysis
5. Conclusions
References
- X. Zheng; S. Sun; R. R. Mukkamala; R. Vatrapu; and J. Ordieres-Meré. Accelerating Health Data Sharing: A Solution Based on the Internet of Things and Distributed Ledger Technologies. Journal of Medical Internet Research, 2019; 21, 1–12.
- O. Lamtzidis; and J. Gialelis. “An IOTA Based Distributed Sensor Node System,” Proceedings of 2018 IEEE Globecom Workshops, Abu Dhabi, United Arab Emirates, December 9- December 13, pp. 1-6, 2018.
- “New MESA Model: A Framework for Smarter Manufacturing,” MESA International. 2022. Available online: https://mesa.org/topics-resources/mesa-model/ (accessed May 2023).
- S. Nakamoto, “Bitcoin: A Peer-To-Peer Electronic Cash System,” Bitcoin.org. 2008. Available online: https://bitcoin.org/bitcoin.pdf/ (accessed May 2023).
- K. Kumar; and M. Kurhekar. “Economically Efficient Virtualization over Cloud Using Docker Containers,” Proceedings of 2016 IEEE International Conference on Cloud Computing in Emerging Markets, Bangalore, India, October 19-October 21, pp. 95–100, 2016.
- R. Soltani; L. Saxena; R. Joshi; and S. Sampalli. “Protecting Routing Data in WSNs with Use of IOTA Tangle,” Proceeding of The 19th International Conference on Mobile Systems and Pervasive Computing, Niagara Falls, Canada, August 9-August 11, vol. 203, pp. 197–204, 2022.
- W. F. Silvano, and R. Marcelino, Iota Tangle: A Cryptocurrency to Communicate Internet-of-Things Data. Future Generation Computer Systems, 2020; 112, 307–319.
- S. Popov. “The Tangle,” White paper, 2018, vol. 1, no. 3.
- V. Mani; P. Manickam; Y. Alotaibi; S. Alghamdi; and O. I. Khalaf. “Hyperledger Healthchain: Patient-Centric IPFS-Based Storage of Health Records. Electronics 2021, 10, 3003. [CrossRef]
- T. Alsboui, Y. Qin, R. Hill, and H. Al-Aqrabi. “Enabling Distributed Intelligence for the Internet of Things with IOTA and Mobile Agents. Computing 2020, 102, 1345–1363.
- K. Zhang; J. Tian; H. Xiao, Y. Zhao; W. Zhao; and J. Chen. “A Numerical Splitting and Adaptive Privacy Budget-Allocation-Based LDP Mechanism for Privacy Preservation in Blockchain-Powered IoT. IEEE Internet of Things Journal 2023, 10, 6733–6741. [CrossRef]
- J. Jayabalan; and N. Jeyanthi. “Scalable Blockchain Model Using Offchain IPFS Storage for Healthcare Data Security and Privacy. Journal of Parallel and Distributed Computing 2022, 164, 152–167. [CrossRef]
- C. Lin, P. C. Tseng, P. H. Chen, and S. J. Chiou. “Securing Industrial Control Systems: Enhancing Data Preservation in IoT with Streamlined IOTA Integration,“ Proceedings of 4th IFSA Winter Conference on Automation, Robotics & Communications for Industry 4.0 / 5.0, (ARCI’ 2024), 7-9 February 2024, Innsbruck, Austria.















Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2024 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).