- The Internet of Things (IoT) needs data security at three critical points: point of generation, storage and usage. This paper proposes Secure Element and Blockchain based Stratagem (SEBS) as a method of securing all three points.
- When implementing SEBS or in other scenarios where Blockchain is used as Service, remote resource constrained devices cannot directly communicate with the blockchain, so an intermediary is required to receive data from the blockchain and trigger actions based on it.
- This is an issue since placing trust on the intermediary becomes imperative.
- The proposed algorithm called Secure Element based Offline Verification Algorithm (SEOVA) solves this issue with a double signature algorithm implemented using a secure element. SEOVA allows offline verification of blockchain data. Using SEOVA, a remote constrained device is able to verify blockchain data without placing trust on the intermediary or connecting to the blockchain.
How do you verify if data received through an intermediary by a remote IoT device really belongs on or comes from the blockchain?
V. Deshpande, T. Das, H. Badis and L. George, “SEBS: A Secure Element and Blockchain Stratagem for Securing IoT,” 2019 Global Information Infrastructure and Networking Symposium (GIIS), Paris, France, 2019, pp. 1-7, doi: 10.1109/GIIS48668.2019.9044957.
Figure 1: A typical IoT ecosystem secured by blockchain (as a service)
- In the context of IoT, a reliable automatic decision with high accuracy can be taken only if the sensor data is secured at 1. generation 2. storage and 3. usage.
- This is a tricky task as IoT devices/sensors are constrained with limited processing power, memory, battery autonomy, storage, etc.
- Further, in the IoT domain, the environment is completely heterogeneous making it extremely difﬁcult to implement a single security protocol across all remote entities.
- Nonetheless, the problem has been solved partially with the effective use of blockchain as secure and persistent storage for critical IoT data.
- Given the overhead of the blockchain, in most of the IoT scenarios, blockchain is used as a service (BaaS)
- Thus for Remote IoT Devices (RID), the data requested from blockchain is transmitted, in most cases, through an intermediary. (See Figure 1).
- This makes trusting the intermediary mandatory since there is no way for the RID to verify the data and its authenticity without directly connecting to the blockchain.
- Another issue is RIDs lack resources to carry out cryptography-intensive tasks apart from the obvious incapability of being able to connect to the blockchain directly.
- Furthermore, a list of all miner/verifier nodes has to be maintained and continuously updated via a secure channel for undertaking the traditional online blockchain data verification procedure.
- Secure Element based Ofﬂine Veriﬁcation Algorithm (SEOVA) is a novel algorithm to test Blockchain data afﬁliation i.e. to determine if the data coming from Blockchain through an intermediary (like in case of BaaS, RIDs), really belongs to the Blockchain.
- In SEOVA, the authors propose to alter the commonly used single signature process in blockchain data verification in favor of a novel double signature block formation process in conjunction with the apt use of Secure Element to implement the same.
- Secure Element is a tiny secure microcontroller with a “secure by design” architecture. It is commonly used for providing Trusted Execution Environment (TEE) and Trusted Storage Environment (TSE).
- Secure Element applications include: chip based credit/debit cards, biometric identity cards, biometric passports, etc.
Figure 2: SEOVA Architecture-
Secured by Secure Element installed on each miner/verifier for the blockchain.
- Fig 2. Depicts the architecture for implementing SEOVA, during the instantiation, 2 private keys (validator key PV, blockchain key PB) and supporting codes are securely injected into the Secure Element. PV is the unique private key for the particular validator and PB is the shared private key common to all validators of the blockchain. The corresponding public key (PuB) of PB is injected into the Secure Element of the concerned RIDs.
- Even if the authors propose sharing of a common private key, this process is secure and the instantiation of Secure Element is assumed to be carried out in a safe environment. Moreover, once instantiated, the possessor of the Secure Element can not copy nor extract the shared blockchain private key.
- Since the key used is asymmetric, attacks on ECC signature for getting the right key would take provably longer time than the life cycle of the IoT ecosystem in which it is being deployed.
- The process for SEOVA starts at the validator’s end. When new data D is to be added to the blockchain, the validator creates a new block B containing this data. This block is then signed by its dedicated SE twice (i.e. with PV and PB). This double signed block Bs² then disseminated across all the participating nodes,veriﬁed and ﬁnally added to the blockchain after consensus.
- On the RID, when blockchain block is received, the RID needs to only verify the signature with PuB, irrespective of the size of the blockchain network, block size and the number of verfiers/miners.
To measure the timing overhead, authors created a testbed consisting of Remote IoT Device, Blockchain nodes, and Secure Elements. They used ArduinoNano 3.0 and Raspberry Pi 2 Model B as Remote IoT Device. For the Blockchain node, they used Dell XPS with an Intel i7-8550U processor. For Secure Element, they used Multos M5-P19. To quantize the timing overhead, they performed 100 iterations of ECDSA signature and verification on each device. The averaged results with standard deviation were used.
At the RID level, usage of SEOVA leads to reducing the memory and processing overhead since all cryptography-intensive tasks are delegated to Secure Element. Further, since Secure Element has a dedicated crypto-processor, the whole signature/verification operations are 25x to 31x faster compared to their native implementation on a standard RID, not to mention the added advantage of TEE and TSE, protecting the keys. On the cost axis, since an additional hardware element is installed, depending on the security requirements (EAL1-EAL7), the cost increases by $0.50 to $10.00.
- An innovative lightweight algorithm called SEOVA is proposed to verify whether data belongs to the blockchain when received through an unsecured/untrusted channel, at RID.
- Performance evaluation showed that the SEOVA proposition can increase the performance of critical security operations by as much as 31 times, all while reducing computational and memory overheads while guaranteeing TEE and TSE.
SEOVA’s approach has a wide range of advantages against the traditional online blockchain data verification procedure:
- No need for a trusted intermediary.
- No need to connect to Blockchain for veriﬁcation. (Offline verification)
- No overhead on RID as calculation-intensive tasks delegated to Secure Element Validators cannot leak or copy PB given SE’s secure by design architecture.
- No need to change key when validators maintaining blockchain change their individual PV OR new validators are added/removed.
- Secure Element can be programmed to detect hardware tampering attempts and will subsequently cease to function if tampered with.
- Identity theft of validators through leaked PV-PB is effectively prevented as keys inside SE cannot be replicated.
The authors propose to comprehensively expand this work for its implementation with smart contracts and other distributed ledger technologies.
The research work can be applied to any comprehensive security strategy in a resource constrained IoT environment.