See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/327075273 IoT Data Integrity Verification for Cyber-Physical Systems Using Blockchain Conference Paper · July 2018 DOI: 10.1109/ISORC.2018.00019 CITATIONS READS 9 911 1 author: Caciano Machado Federal University of Santa Catarina 6 PUBLICATIONS 15 CITATIONS SEE PROFILE All content following this page was uploaded by Caciano Machado on 31 August 2018. The user has requested enhancement of the downloaded file. IoT Data Integrity Verification for Cyber-Physical Systems using Blockchain Caciano Machado† and Antônio Augusto Fröhlich‡ Software/Hardware Integration Lab – LISHA Department of Informatics and Statistics – INE Federal University of Santa Catarina – UFSC PO Box 476, 88040-900 - Florianópolis, SC, Brazil {caciano† ,guto‡ } at lisha.ufsc.br Abstract—Blockchain technologies can enable decentralized and trustful features for the Internet of Things (IoT). Although, existing blockchain based solutions to provide data integrity verification for semi-trusted data storages (e.g. cloud providers) cannot respect the time determinism required by Cyber-Physical Systems (CPS). Additionally, they cannot be applied to resourceconstrained IoT devices. We propose an architecture that can take advantage of blockchain features to ensure data integrity verification of data produced by IoT devices even in the realm of CPS. Our architecture is divided into three levels each of them responsible for tasks compatible with the resources capabilities. The first level, composed of sensors, actuators and gateways, introduces the concept of Proof-of-Trust (PoT), an energyefficient, time-deterministic and secure communication based on the Trustful Space-Time Protocol (TSTP). Upper levels are responsible for keeping data persistence and integrity verification in semi-trusted storage. The work also comprises a performance evaluation of a critical path of data to demonstrate that the architecture respect time-bounded operations demanded by the sense-decide-actuate cycle of CPSs. Keywords—blockchain, data integrity verification, cyber physical systems, internet of things I. I NTRODUCTION Distributed ledgers are starting to be used to verify data integrity in the Internet of Things (IoT) [1]. However, the processing and energy demands of traditional blockchain mining algorithms based on Proof-of-Work (PoW) can hardly be matched by IoT devices [2]. Additionally, a whole class of IoT devices, namely those that are Cyber-Physical Systems (CPS), have stringent timing requirements that get hindered by most blockchain consensus algorithms [3]. Puzzlingly, this class of IoT devices, which we will refer to as CPS@IoT, has a strong need for data integrity, particularly regarding failure liability. Efforts to achieve low-energy consumption, such as Proof-of-Stake (PoS) and Proof-of- Elapsed Time (PoET), pose other restrictions from the perspective of CPS@IoT: highcost, storage capacity or the need of a Trusted Execution Environment (TEE) [4]. In order to enable data integrity verification for CPS@IoT, we propose a split blockchain architecture organized in three levels: IoT, Fog, and Cloud. The first level, IoT, aims at establishing a domain of trust for a group of CPS devices that communicate with each other and with a fog gateway exclusively using a secure, energy-efficient, time-deterministic protocol such as the Trustful Space-Time Protocol (TSTP) [5]. We named this level’s algorithm Proof-of-Trust (PoT). The second level, Fog, provides fault tolerance to IoT data and produces the cryptographic digests that are subsequently used for integrity verification. A set of collaborative fog gateways uses the Proof-of-Luck (PoL) time-predictable consensus algorithm [6] to replicate the data produced at the first level. They subsequently apply SHA-256 to generate digests for the replicated data. Data is kept at this level only until the third level acknowledges it. The third level, Cloud, permanently stores the IoT data and uses a public ledger to store the associated cryptographic digests. Only the digests are stored in the blockchain. This level does not dictate any specific secure cloud storage nor the public ledger. Data-integrity protection is one of the fundamental goals of cryptography. Primitives such as digital signatures and message authentication codes (MACs), when applied to a full file F, allow an entity in possession of F to verify that it has not been subjected to tampering. When we deal with semi-trusted remote data storages as cloud providers, we cannot blindly rely on their integrity verification mechanisms because there is no guarantee for neutral auditing (Garg and Bawa [7]). Actually, providers can act covering data lose, corruption or even tampering. Additionally, protocols that rely on third parties to audit data are prone to subversion of these entities that could act maliciously. In summary, the main contributions of this work are: 1) 2) 3) An energy-efficient and time-predictable for data integrity verification in semi-trusted storages for resource-constrained CPS@IoT; A three level blockchain architecture in which the first level is based on PoT; A proof of concept of the protocol in a WSN with our IoT platform. The remainder of this paper is organized as follows. In the next section we cover the concept of PoT explaining the TSTP protocol security. In Section III, we present our proposed split blockchain architecture and its components. In Section IV, we show real-world case studies for this architecture. In Section V, we describe an evaluation of our proposal with a proof of concept implementation. We present related works in data integrity verification and applications of blockchain for IoT in Section VI. Finally, in Section VII we conclude. II. P ROOF - OF -T RUST To bridge the gap between the time-determinim and energyefficiency requirements of conventional CPSs and the limitations of typical consensus algorithms of public ledgers we propose the concept of Proof-of-Trust (PoT). The fundamental rationale behind PoT is the fact that many CPS infrastructures now feature sophisticated secure, energy-efficient, deterministic communication protocols, such as the Trustful Space-Time Protocol (TSTP) [5]. Communicating peers in such systems (usually machines) intrinsically share a high-level of trust on each other and on the data they produce. We exploit these features to define a low-overhead, time-deterministic transaction model to store data produced by CPSs on the Cloud in a way that enables the integrity of such data to be verified. In this section, we discuss the most relevant design characteristics of such protocols communication protocols to enable PoT. A. Key Management For this task, TSTP relies on node’s uuids to add twoway authentication node’s uuid should be a 128 bit (or larger) random and secret number disclosed only for the communicating gateways. As a result, TSTP ties the previously calculated Master Secret to this uuid, validating together the Master Secret itself. As attack narrowing mechanisms, TSTP uses node’s synchronized clock information and geographic position in the key generation. Synchronized clocks are an essential part of TSTP to produce One-Time Passwords (OTPs) and could be acquired with protocols as IEEE 1588 Precision Time Protocol (PTP). Additionally, the position of nodes is used in the deployment phase requiring nodes to be placed in specific locations predefined by the user in order to advance in the Master Secret generation. Nodes outside the boundaries specified are not allowed to establish ECDH keys. Both Speculative PTP and the Heuristic Environmental Consideration Over Positioning System (HECOPS), respectively used for time synchronization and position estimation of nodes, are explained in Section II-C. TSTP trustfulness is tackled at MAC layer by extensive use of the Advanced Encryption Standard (AES) hardware accelerators available in most IEEE 802.15.4 implementations. The adoption of this widespread symmetric-key algorithm as the foundation of the infrastructure’s trustfulness brings several practical benefits (e.g. performance and power consumption), but also brings the major drawback of symmetric-key encryption: both parties must share a secret key. In summary, a Poly1305-AES hardware accelerated algorithm which input combines the node’s Master Secret, uuid and timestamp generates a OTP that is used in the key bootstrapping to validate nodes, gateways and the Master Key (Figure 1). Subsequently, the same algorithm derives shared secrets valid for their respective time windows that are used in communication authentication and encryption (Section II-B). Generating the keys before deployment and storing them for subsequent distribution would lessen the infrastructure security to the level of key management, involving humans. Generating the keys in servers and sending them to the nodes over the network would also make room for additional attacks, since decrypting the message containing the key at any time would reveal the key itself. Additionally, IoT deepens these key management issues because of the number of devices and their resource limitations [8]. B. Message Authentication and Encryption Once the Master Secret has been validated, TSTP is ready to trustful communication, derivating disposable keys based on the Master Secret, uuid and time. Both authentication and encryption mechanisms take advantage of low-cost hardware to compute AES encryption and Poly1305-AES digests. To overcome such difficulties, an Elliptic Curve DiffieHellman (ECDH) establishes shared keys (Master Secret) over insecure channels for TSTP (Figure 1). ECDH has a good processing/security trade-off, making it suitable for resourceconstrained devices. However, ECDH alone enables only confidentiality between pairs and does not authenticate them. Figure 2. Figure 1. TSTP Security Key Bootstraping TSTP Message Payload Digest Message authentication (Figure 2) is achieved with a payload digest calculated with Poly1305-AES and attached to the payload. Both payload and digest compose the data to be encrypted further (Figure 3). The key used for message encryption is produced in the same way as the OTP from the key bootstrapping explained in the previous subsection. This approach requires an attacker, besides finding out the uuid, to break the discrete logarithm problem for elliptic curves, which is far from a trivial problem. Moreover, for critical scenarios, Figure 3. TSTP Message AES Encryption ECDH and Master Secret could be regenerated periodically reduce attack impacts. C. Temporal and Spatial Synchronization Besides the application benefits of position estimation, knowing the geographic localization of nodes enables attack narrowing mechanisms covered in Section II-A. TSTP uses the Heuristic Environmental Consideration Over Positioning System (HECOPS) [9] to estimate node’s location via multilateration given that nodes can estimate their distances to one another and there are anchor nodes that know their position. Anchor nodes could be TSTP gateways with GPS receivers or pre-set positions in case of fixed devices. In addition to cryptographic secrets generation and renewal (Section II-A), high precision time synchronization is essential for CPS@IoT nodes and gateways in order to respect the sensedecide-actuate deadlines. In our architecture, precise time also plays a critical role in the IoT data replication and agreement protocols (Section III-A). The Speculative PTP (SPTP) [10] can keep a network synchronized with sub-millisecond precision time. SPTP is based on IEEE 1588 Precision Time Protocol (PTP) and enables sensors to synchronize their clocks by taking advantage of passing messages of any type and introducing only one extra message on the network. Basically, retransmitting a message M1 with PTP Req bit set and receiving the answer M2 from the original sender is sufficient to calculate the delay and synchronize clocks. Any node with enough confidence in its clock can play the Master part (and naturally, any node can be a Slave). Additionally, the gateway, which typically has more resources, could be equipped with a GPS receiver to propagate its precise clock time to slave nodes as illustrated by Figure 4. In resume, TSTP security assures data confidentiality, authenticity, integrity and temporality between the nodes and their gateways. We call these properties Proof-of-Trust (PoT). A more in-depth presentation and discussion about this protocol can be found in [11]. III. S PLIT B LOCKCHAIN Our approach to ensuring data integrity verification in the realm of CPS connected to the IoT is to split the blockchain Figure 4. TSTP’s time synchronization example. architecture into three levels depicted in Table I. It complements the functionalities of current efforts (Liu et al [1]) by creating a chain of trust of IoT data from the node to the cloud storage. Level IoT Fog Cloud Features Secure, time-deterministic, energy-efficient communication Fault tolerance (replication and digesting) Data storage and integrity verification Table I. Algorithm RT PoT Yes PoL Yes Any No P ROPOSED SPLIT BLOCKCHAIN ARCHITECTURE From the perspective of a node (sensor or actuator), it must rely on the integrity of data communication from its peers and gateways within the network. Trustful communication is provided by the first level of our architecture, IoT, which relies on the Embedded Parallel Operating System (EPOS) lightweight security adopted by TSTP that we call Proof-ofTrust (PoT) and detailed in Section II. From the point of view of the gateways, they should provide trust of data for gateways from the same network and for the nodes they serve. Gateways should also establish reliable communication with the cloud storage and the blockchain. This is achieved in the second level, Fog, and provides IoT data agreement between a few redundant gateways from a CPS in order to tolerate faults and avoid losing data. For this architecture, we assume that the set IoT gateways processes provide fault tolerance within a local network (e.g. multiple WSN sinks) or even within the same computer (e.g. multiple processor cores). IoT data, previously agreed between the redundant IoT gateways, is logged temporarily in slices which are processed further to generate and store the cryptographic digests in a public blockchain. This task is controlled by the slice manager (Section III-A) which also keeps a copy of the cryptographic digests of the slices in every working redundant IoT gateway within a CPS until the blockchain consensus. The third level, Cloud, represents the semi-trusted data storage provider used by the gateways and the blockchain of choice that supports decentralized data integrity verification without the need of third party auditors. The blockchain consolidates cryptographic digests of IoT data (Section III-B) produced within a network and prior agreed between the gateways. These digests enable further integrity verification of IoT data stored in the cloud provider. This allows the CPS system owner to verify if his data was tampered or corrupted. Our architecture relies on an Ethereum [12] Smart Contract which serve as a data storage for cryptographic digests, although any public ledger able to store and retrieve data could be used. The public Ethereum blockchain is immutable and deployed in a fully decentralized way with public auditability. This means that data stored in it cannot be repudiated and that we do not need third parties in our data integrity verification protocol. To enable the data integrity verification without compromising the time deadlines imposed by the sense-decideactuate cycle, the architecture decouples the time-deterministic part from the public blockchain integration, as illustrated in Figure 5. The elements inside the dotted box and their interactions respect well-known deadlines. We assume realtime communication for CPS network and their respective IoT gateways, as provided by PoT, detailed in Section II. We also assume real-time for the redundant gateways agreement protocol which can be achieved by algorithms as Proof-ofLuck (PoL). gateway processes that broadcast every message they receive to their peers. Upon receiving those broadcasts, each gateway process merges with their IoT data that will periodically undergo an agreement protocol. The chosen algorithm for agreement between gateways is the Proof-of-Luck (PoL) [6]. PoL relies on trusted execution environments (TEEs), such as Intel SGX-enabled CPUs. This feature increases the cost of gateways but enables timedeterministic agreement. The agreement is responsible for guaranteeing the same copy of IoT data between all redundant gateways within a TSTP network. Every gateway participating in the PoL generates a random number in the interval [0 − 1) every round of the algorithm. The greatest number of each round wins the proof and defines the values of IoT data that will be used for further steps of the data integrity verification. Gateways’ serial numbers are used as tie-breakers for eventual draws. PoL can provide data redundancy in a fail-stop model where IoT gateway processes halt when they detect malfunctioning. An important component of the architecture is the slice manager which handles data used to generate the cryptographic digests sent to the blockchain. Considering the amount of data produced by sensors and the costs for introducing data into the public ledger, our devised architecture limits the data integrity verification to time-bounded slices of data. A slice is a container that stores IoT data temporarily in memory. As illustrated in Figure 6, each slice stores data generated within two timestamps, an initial time ti, and a final time tf that determine fixed size pre-defined intervals ∆t (e.g. 1 minute, 6 hours or 4 days). Also, slices could accept delayed data when it is still valid and possible to store it in the slice. Figure 6. Figure 5. Blockchain based data integrity verification for IoT CPS A. Replication, agreement and slice hashing The architecture uses multiple gateways to provide fault tolerance for IoT CPS. These gateways must synchronize IoT data in order to prevent inconsistencies in the slices of data used to generate the cryptographic digests that are sent to the blockchain. We assume that IoT redundant gateways are interconnected with a reliable and fast network as a dedicated Gigabit Ethernet or even are processes running in different processor cores of the same device communicating using IPC mechanisms. The replication of IoT data is executed by the IoT Slice hashing When a slice is closed (dashed box in Figure 6), which means that it no longer accepts new data, a new one is created with initial timestamp tin equals to the final timestamp of the previous slice tfn−1 . The final timestamp of this new slice depends on the pre-defined time interval ∆t configured for the system. From this point forward, the slice data is destroyed and the only information kept from it is an SHA-256 digest which will be further sent to a blockchain for persistent storage. Each slice’s SHA-256 digest is kept in the memory of all redundant IoT gateways within a CPS until it is confirmed in the blockchain. Only one of the working IoT gateways proceeds with the blockchain interaction. The gateway responsible for this task and its backup are chosen using the same agreement algorithm used to agree about IoT data. In case of a slice manager gateway crash, a backup IoT gateway assumes the slice management. B. Public ledger integration and integrity verification A SHA-256 digest is calculated for each closed data slice and is sent to an API that calls a smart contract function to insert the SHA-256 digest in the blockchain as illustrated in Figure 6(2) and Figure 5(10). After the smart contract blockchain transaction receives 12 confirmations 1 we consider that the store was successful and that we can remove the digest from the slice manager memory (dashed rounded box in Figure 6). Currently, the Ethereum blockchain takes approximately 15 seconds to confirm a block, which means it takes 3 minutes to store a digest safely. Consequently, each redundant gateway should keep a copy of the digest Thus, when a block with an insertion operation reaches consensus in the Ethereum network, the SHA-256 digest of the respective slice will be eventually available locally for each Ethereum node. In a public Ethereum network, every operation that changes the state of a smart contract consumes gas 2 . Therefore, we need to earn gas prior to insertion of SHA-256 digests in the smart contract. The typical methods to earn gas are: executing a miner node, which will be rewarded by the Ethereum network for each block mined; buying ether from an exchange; receive transfers from other accounts. In a private Ethereum network, we can create ether out of thin air just by defining an amount of ether in the creation of the blockchain. Read operations are computationally cheaper than insert operations and do not consume gas because they just need to read the state of the smart contract that is already spread over the Ethereum nodes. This operation can be executed any time to verify data integrity of IoT data stored in the Cloud. When someone wants to verify whether some data stored in the cloud was not corrupted, it sends the TSTP coordinates and timestamp to the verify function. This function fetches all data within the same slice of the requested data from the cloud storage and generates again its SHA-256 digest. If the digest equals to the digest in the blockchain, then we can trust the values within the slice. Note that this method cannot distinguish which data was changed within a slice, it can only determine whether some data was changed in the slice interval. IV. C ASE S TUDY A. LISHA’s IoT platform The Software and Hardware Integration Laboratory (Laboratório de Integração de Software e Hardware – LISHA) build an IoT platform [13] that focuses on smart, trustful and important things. Smart in the sense that we can rely on Data Mining and Machine Learning applied to the very same data produced while operating in order to become more efficient. Important because we distinguish nice and useful things like smartphones 1 12 confirmations means 12 blocks created after the confirmation of the block with the submitted transaction. Waiting for 12 confirmations intends to avoid that transactions are lost in orphaned blocks because of a fork in the blockchain. 2 This is the name used to refer to an amount of ether, the Ethereum cryptocurrency. and toys from more important things as vehicles, buildings, healthcare equipment, factories and warfare machinery. Finally, trustful because we must guarantee the reliability between things and data produced by them. A key element in our IoT platform is that IoT domains preserve temporal determinism for control purposes and are connected to the cloud through fog gateways. Fog gateways act as the edge between IoT domains and the Internet, and provide services closer to the things. Most of our platform is based on EPOS Mote III hardware running EPOS 2 Operating System with the TSTP protocol. Currently, we have many deployments integrated with our platform which we can highlight a hydrologic monitoring and control system, a smart building environment and a solar farm monitoring system. B. Hydrological Monitoring and Control The Hydrological Monitoring and Control [14] begun from studies required by the Joinville city to evaluate the impact of building a new Campus of the Federal University of Santa Catarina (UFSC) in the local indicated in the map in Figure 7. These studies aimed to evaluate pluviometric patterns and to characterize the hydric system in order to estimate the impact of urbanization in superficial drainage and soil infiltration in a region that is prone to floods. Additionally, it was planned to support procedures and programs to mitigate/compensate potential impacts of urbanization, determine urban expansion and control floods. Later, these studies became a long-term project which also aims to monitor flow dynamics and water quality in the hydrographic basin. Figure 7. Joinville’s basin monitored with EPOS III Motes The limnimetric scales and rain gauges spread over the basin use EPOS Mote III hardware with the EPOS 2 Operating System and are connected to our IoT infrastructure through GPRS and the Internet. The role of the blockchain based data integrity protocol in this scenario will be to provide trust for data generated from EPOS. C. Smart Solar Building The UFSC Smart Solar Building is a live laboratory to perform experiments on sustainability, renewable energies, and intelligent automation. It operates the monitoring and automation with EPOS Mote III running on EPOS 2 with the TSTP protocol. The building has solar panels on the roof that generate electric energy that exceeds its consumption thus provides a good environment for smart grid studies in blockchain technologies. V. E VALUATION We evaluated a proof of concept to validate our architecture and estimate its impact on the sense-decide-act cycle of CPS. The proof of concept environment deployed two TSTP gateways, each one with a 1.2 GHz ARM Cortex-A53 processor with four cores ARMv8-A and 1GB of RAM. They executed a Linux kernel version 4.9.65 with glibc 2.19 and an instance of geth 3 version 1.7.2 process with mining capabilities disabled. Additionally, we run two geth 1.7.2 instances with mining enabled in an Intel Xeon server with three 2.4GHz E5620 cores. These processes represent miners from the public Ethereum network which are rewarded for executing the Proofof-Work algorithm. The interconnection between the gateways was a gigabit network switch, and the communication from TSTP gateways to the server was with a cascading of gigabit switch/routers to the university datacenter. We created a private blockchain with an account prepared with gas enough to execute the smart contracts operations for all the experiment. A simplified version of the smart contract deployed with solidity compiler version 0.4.15 is below. pragma solidity ^0.4.15; contract MACMapping { mapping (uint128 => uint256) macmap; function () public payable { } function insertMAC(uint128 id, uint256 val) public returns (bool) { macmap[id] = val; return true; } function readMAC(uint128 id) public returns (uint256 mac) { mac = macmap[id]; return mac; } } The smart contract has a mapping structure macmap which maps a 128 bit id with an SHA-256 digest. This structure is modified by insertMAC every time a new cryptographic digest is inserted in the blockchain, so its transactions have to be mined, consuming gas. The function readMAC do not change the blockchain because it just reads the state of the smart contract. In our evaluation, the IoT gateway operates as the sink of a TSTP network and executes an IoT gateway process that sends time-series data received from the WSN to the a remote semi-trusted storage. Although our scenario presents an evaluation using time series data storage, it is suitable for other types of remote semi-trusted data storages without any loss of functionality. We assumed that applications’ sensedecide-actuate procedures are real-time, and that gateways’ IoT data replication and agreement are also time bounded. The IoT gateway process also communicates with a logger using SysV IPC message queues as illustrated in Figure 5(1). The logger sends data to the remote storage and to the slice manager. The communication to the logger is critical to the sense-decideactuate cycle, so we evaluated its overhead. We measured the average time of 1000 messages from IoT gateway process to logger with 83 bytes of data. The mean obtained is 5.894µs 3 Ethereum node implementation written in Go language and standard deviation σ equals 0.144µs. The results presented an error of ±0.020µs with a confidence interval of 99, 999%. µ 5.894µs σ 0.144µs error ±0.020µs CI 99, 999% The additional delay imposed by the log mechanism is negligible for a typical TSTP WSN with IEEE 802.15.4 radios which has communication latencies in the order of hundreds of ms [15] in each hop. This demonstrates that our architecture is suitable for the sense-decide-actuate cycle and can be implemented to provide additional data integrity guarantees for remote semi-trusted storage in CPS@IoT. VI. R ELATED W ORKS The most important protocols for data integrity verification are Provable Data Possession (PDP) [16] and Proofs of Retrievability (PoR) [17], respectively used for untrusted and semi-trusted data storages. They intend to reduce I/O costs of data integrity verification using cryptographic proofs of knowledge of data instead of retrieving the entire data. Retricoin [18], Permacoin [19], Sia [20], Filecoin [] and Storj [21] enable decentralized data distribution in multiple storage providers and data integrity verification with PoR. Each of those systems is based in a blockchain which mining algorithm is the PoR itself. Furthermore, Filecoin introduces the concept of Proof-of-Replication (PoRep) that guarantees the availability and integrity of replicas in the nodes of a decentralized storage. Alternatively, considering that decentralized data storages will be not practical until they achieve acceptable efficiency for IoT, Liu et al [1] proposed a decentralized blockchainbased framework for data integrity verification for remote semi-trusted storages similar to the depicted in our architecture. In their proposal, they provide data integrity verification for both the data owners and the data consumers of cloud storage services, without relying on any third party auditors. Although, their protocol does not provide time-bounded operations and its requirements are not suitable for resourceconstrained CPS@IOT. Additionally, their work considers that one block confirmation is enough for consensus in the Ethereum blockchain, ignoring that forks could happen and undo previous already confirmed blocks. We only consider that the block is immutable in the blockchain after 12 confirmations. The Ethereum community accepts this value as safe for most transactions. The possibilities of blockchain technologies attracted the attention of the IoT related community. We highlight the following works that aim to integrate IoT with distributed ledgers. The first work is a systematic literature review [22] that classifies works according to the use of the blockchain in IoT in order to foster a decentralized and private-by-design IoT. A work in progress from Özyılmaz and Yurdakul [23] has some similarities with our architecture. They presented a proofof-concept of a LPWAN based IoT deployment to interact with a blockchain infrastructure through a gateway. Aung and Tantidham [24] discussed the application of blockchains for smart homes. Dorri et al [25] proposes the use of a blockchain without coins and without consensus protocol presenting a smart home scenario simulated in Cooja. They evaluate a hierarchical architecture which consists of three layers (smart home, cloud storage, and overlay) and argue that it is suitable for IoT processing latency and scalability requirements. Despite being an interesting proposal to provide trust for IoT, we consider that their use of blockchain terminology is controversial because of the lack of a fundamental element of conventional distributed ledgers: a distributed consensus algorithm. The work from Christidi and Devetsikiotis [26] talks about the benefits of using blockchain and smart contracts for a distributed and decentralized architecture for IoT. Another work [27] focuses on the very idea of fog computing for cloudbased IoT, where services are provided at the edge of IoT networks in order to distribute load and decrease latency. Kim and Lee dealt with the problem of authorization, authentication and trust of things [28], and suggested the use of a distributed ledger to avoid centralized third parties. The use of blockchains to guarantee the traceability of the information shared by food supply chain members (producers, processors, storage, distributors, retailers, consumers and authority organizations) using IoT was presented by Tian [29]. Some initiatives [30] [31] propose the application of smart contracts for smart grids. They intend to support auditable multiparty transactions based on predefined rules between distributed energy resources (DER) and customers, without the need of third parties. ADEPT (Autonomous Decentralized Peer-to-Peer Telemetry), is a proof-of-concept platform that consists of three elements: Ethereum, Telehash and BitTorrent to provide decentralized management and service payment for IoT devices. Filament, provides sensors with long-range radios called “Taps. Taps can form mesh networks, communicate with each other in a distributed and secure manner via a protocol called telehash, and interact with each other via smart contracts on a common blockchain. The sensors themselves do not connect to the Internet to cut down on deployment costs but can connect to gateway nodes that provide such connectivity. IOTA is a blockchainless approach that uses a directed acyclic graph (DAG) called tangle. To issue a transaction, every node must work to approve two other transactions, contributing to the network security. VII. C ONCLUSION Even though most of the existing blockchain technologies still poses technical challenges and limitations, we strongly believe that they could enable trustful and decentralized features for IoT. We proposed a blockchain based architecture that can provide trust for data produced by CPS@IoT and stored in remote semi-trusted data storages. Other similar solutions cannot be applied to such systems because they require that the nodes participate in the blockchain, which is not possible for most resource-constrained devices. In our proposal, a split blockchain architecture divides tasks between three levels to create a chain of trust for IoT data. The first level uses the lightweight TSTP security to maintain a Proof-of-Trust (PoT) between the low-resource and energy nodes. PoT guarantees time-determinism, authenticity, confidentiality and integrity of IoT data. Upper levels are responsible for keeping data persistence and integrity verification in semi-trusted storage. Besides subdividing tasks according to the computational resources available on the devices of each level, our approach additionally takes into account their inherent weakness. For example, semi-trusted remote storage such as a cloud provider, regardless of its affordable and large capacity, still needs extra security mechanisms to ensure the integrity of data because clients cannot rely on neutral verification from providers. To demonstrate that the architecture does not compromise the sense-decide-actuate cycle of CPS, we evaluated the timings from the critical path of IoT data and shown that it is insignificant compared to delays of typical TSTP communication. We also assumed that applications’ sense-decideactuate procedures are real-time as well as the replication and agreement protocols between redundant gateways within the same network. For future works, we plan to investigate the use of hash mechanisms that can verify the integrity of specific data instead of whole slices. This modification could impact in the size of verification data stored in the blockchain that could imply in financial costs for mining transactions in public ledgers. We also aim to investigate time-deterministic agreement protocols for the redundant gateways that do not need to rely on TEE. R EFERENCES [1] [2] [3] [4] [5] [6] [7] [8] [9] B. Liu, X. L. Yu, S. Chen, X. Xu, and L. Zhu, “Blockchain Based Data Integrity Service Framework for IoT Data,” in Proceedings of the 2017 IEEE International Conference on Web Services (ICWS), Honolulu, USA, 2017, pp. 468–475. A. Babay, E. Wagner, M. Dinitz, and Y. Amir, “Timely, Reliable, and Cost-Effective Internet Transport Service Using Dissemination Graphs,” in Proceedings of the 37th IEEE International Conference on Distributed Computing Systems (ICDCS), Atlanta, USA, June 2017, pp. 1–12. R. Jacob, M. Zimmerling, P. Huang, J. Beutel, and L. Thiele, “Endto-End Real-Time Guarantees in Wireless Cyber-Physical Systems,” in Proceedings of the 2016 IEEE Real-Time Systems Symposium (RTSS), Porto, Portugal, Nov 2016, pp. 167–178. F. McKeen, I. Alexandrovich, A. Berenzon, C. V. Rozas, H. Shafi, V. Shanbhogue, and U. R. Savagaonkar, “Innovative Instructions and Software Model for Isolated Execution,” in Proceedings of the 2nd ACM International Workshop on Hardware and Architectural Support for Security and Privacy (HASP), Tel-Aviv, Israel, 2013, pp. 10:1–10:1. D. Resner and A. A. Fröhlich, “Design rationale of a cross-layer, Trustful Space-Time Protocol for Wireless Sensor Networks,” in Proceedings of the 20th IEEE Conference on Emerging Technologies Factory Automation (ETFA), Luxembourg, Luxembourg, Sep. 2015, pp. 1–8. M. Milutinovic, W. He, H. Wu, and M. Kanwal, “Proof of Luck: an Efficient Blockchain Consensus Protocol,” in Proceedings of the 1st Workshop on System Software for Trusted Execution (SysTEX) at ACM/IFIP/USENIXMiddleware 2016, Trento, Italy, Dec 2016, pp. 2:1– 2:6. N. Garg and S. Bawa, “Comparative Analysis of Cloud Data Integrity Auditing Protocols,” Journal of Network and Computing Applications, vol. 66, no. C, pp. 17–32, May 2016. Q. Jing, A. V. Vasilakos, J. Wan, J. Lu, and D. Qiu, “Security of the Internet of Things: Perspectives and Challenges,” Wireless Networks, vol. 20, no. 8, pp. 2481–2501, Nov. 2014. R. Reghelin and A. A. Fröhlich, “A Decentralized Location System for Sensor Networks Using Cooperative Calibration and Heuristics,” in Proceedings of the 9th ACM International Symposium on Modeling Analysis and Simulation of Wireless and Mobile Systems (MSWiM), New York, USA, 2006, pp. 139–146. [10] [11] D. Resner, A. A. Fröhlich, and L. F. Wanner, “Speculative Precision Time Protocol: Submicrosecond clock synchronization for the IoT,” in Proceedings of the 21st IEEE International Conference on Emerging Technologies and Factory Automation (ETFA), Berlin, Germany, Sept 2016, pp. 1–8. D. Resner and A. Augusto Fröhlich, “Key Establishment and Trustful Communication for the Internet of Things,” in Proceedings of the 4th International Conference on Sensor Networks (SENSORNETS), Setúbal, Portugal, 2015, pp. 197–206. [12] G. Wood, “Ethereum: A secure decentralised generalised transaction ledger,” 2018, [Online]. Available: https://github.com/ethereum/ yellowpaper. [Accessed: 07-February-2018]. [13] A. A. Fröhlich, “The Internet of Things at LISHA,” 2017, [Online]. Available: https://iot.lisha.ufsc.br. [Accessed: 04-February-2018]. [14] S. Malutta1, G. Gracioli, J. C. Pscheidt, T. G. Neto, A. Thiesen, C. V. Arruda, C. A. Pompêo, A. A. Fröhlich, and N. B. Bonumá, “Monitoramento Hidrológico da Bacia Hidrográfica no Campus da UFSC em Joinville utilizando a Plataforma EPOSMote III,” in Proceedings of the XXII Simpósio Brasileiro de Recursos Hídricos, Florianópolis, Brazil, Nov. 2017. [15] D. Resner and A. Augusto Fröhlich, “TSTP MAC: A Foundation for the Trustful Space-Time Protocol,” in Proceedings of the 14th IEEE/IFIP International Conference on Embedded and Ubiquitous Computing (EUC 2016)., Paris, France, Sep. 2016. [16] G. Ateniese, R. Burns, R. Curtmola, J. Herring, L. Kissner, Z. Peterson, and D. Song, “Provable Data Possession at Untrusted Stores,” in Proceedings of the 14th ACM Conference on Computer and Communications Security (CCS), Alexandria, USA, 2007, pp. 598–609. [17] A. Juels and B. S. Kaliski, Jr., “PORs: Proofs of Retrievability for Large Files,” in Proceedings of the 14th ACM Conference on Computer and Communications Security (CCS), Alexandria, USA, 2007, pp. 584–597. [18] B. Sengupta, S. Bag, S. Ruj, and K. Sakurai, “Retricoin: Bitcoin Based on Compact Proofs of Retrievability,” in Proceedings of the 17th ACM International Conference on Distributed Computing and Networking (ICDCN), Singapore, Singapore, 2016, pp. 14:1–14:10. [19] A. Miller, A. Juels, E. Shi, B. Parno, and J. Katz, “Permacoin: Repurposing Bitcoin Work for Data Preservation,” in Proceedings of the 2014 IEEE Symposium on Security and Privacy, San Jose, USA, May 2014, pp. 475–490. [20] D. Vorick and L. Champine, “Sia: Simple Decentralized Storage,” Nov 2014, [Online]. Available: https://sia.tech. [Accessed: 04-February2018]. [21] S. Wilkinson, T. Boshevski, J. Brandoff, J. Prestwich, G. Hall, P. Gerbes, P. Hutchins, and C. Pollard, “Storj: A Peer-to-Peer Cloud Storage Network,” Dec 2016, [Online]. Available: https://storj.io. [Accessed: 04February-2018]. [22] M. Conoscenti, A. Vetrò, and J. C. D. Martin, “Blockchain for the Internet of Things: A systematic literature review,” in IEEE/ACS 13th International Conference of Computer Systems and Applications (AICCSA), Agadir, Morocco, Nov. 2016, pp. 1–6. [23] K. R. Özyılmaz and A. Yurdakul, “Work-in-progress: integrating lowpower IoT devices to a blockchain-based infrastructure,” in Proceedings of the 2017 IEEE International Conference on Embedded Software (EMSOFT), Seoul, South Korea, Oct 2017, pp. 1–2. [24] Y. N. Aung and T. Tantidham, “Review of Ethereum: Smart home case study,” in Proceedings of the 2nd IEEE International Conference on Information Technology (INCIT), Nakhonpathom, Thailand, Nov 2017, pp. 1–4. [25] A. Dorri, S. S. Kanhere, R. Jurdak, and P. Gauravaram, “Blockchain for IoT security and privacy: The case study of a smart home,” in Proceedings of the 2017 IEEE International Conference on Pervasive Computing and Communications Workshops (PerCom Workshops), Athens, Greece, Mar 2017, pp. 618–623. [26] K. Christidis and M. Devetsikiotis, “Blockchains and Smart Contracts for the Internet of Things,” IEEE Access, vol. 4, pp. 2292–2303, 2016. [27] M. Samaniego and R. Deters, “Hosting Virtual IoT Resources on EdgeHosts with Blockchain,” in 2016 IEEE International Conference on View publication stats [28] [29] [30] [31] Computer and Information Technology (CIT), Nadi, Fiji, Dec 2016, pp. 116–119. H. Kim and E. A. Lee, “Authentication and Authorization for the Internet of Things,” IT Professional, vol. 19, no. 5, pp. 27–33, Oct 2017. F. Tian, “A supply chain traceability system for food safety based on HACCP, blockchain Internet of things,” in 14th IEEE International Conference on Service Systems and Service Management (ICSSSM), Dalian, China, Jun 2017, pp. 1–6. M. Mylrea and S. N. G. Gourisetti, “Blockchain for smart grid resilience: Exchanging distributed energy at speed, scale and security,” in Proceedings of the 2017 Resilience Week (RWS), Wilmington, USA, Sep 2017, pp. 18–23. M. W. J. W. Paul Heitmann, Terry Oliver, “Electric power technical whitepaper - Building a robust value mechanism to facilitate transactive energy,” LO3 Energy, Tech. Rep., 2017.