Skip to content

Project on providing security to iot devices using blockchain technology and cryptography

Notifications You must be signed in to change notification settings

NaveenKari/IOTGUARD-Blockchain-and-cryptoptography-Project

Repository files navigation

IoT-Guard : Enable Secure Communication and Authentication servies for IoT devices using Blockchain technology

start the code tracking process from Device.py

Implementation environment

In this section we deal about the usage of laptop and ESP8266 environment on which we performed our implementation.
1.Laptop:
The current scheme is implemented on a Windows 11 computer with an Intel 64-bit Core i5 processor running at 4.5 GHz and 8GB of GDDR6 VRAM, as well as Python Flask (python3) as the software configuration. We built one blockchain server, one cluster header, and one IoT device as part of our implementation of the entire process.
2.ESP8266:
ESP8266 is a low-cost Wi-Fi microchip with full TCP/IP stack and microcontroller capabilities, designed for Internet of Things (IoT) applications. ESP8266 can be used as a standalone microcontroller or as a Wi-Fi module for other microcontrollers, making it a popular choice for DIY electronics projects. It supports various communication protocols, such as HTTP, MQTT, and WebSocket, and can be programmed using the Arduino IDE or other programming languages such as MicroPython and Lua. The chip is available in different variations, such as ESP-01, ESP-12, and ESP-32, each with different pin configurations, memory, and features. ESP-01 is the smallest and cheapest version with limited GPIO pins, while ESP-32 is a more powerful and feature-rich variant with dual-core processor, more GPIO pins, and support for Bluetooth and BLE.


System Model Description


The proposed system consists of two phases, first is cluster creation and member authentication and the second is secret key generation and M2M communication. The clusters are formed based on the angular distance (AD) in the cluster formation and member authentication phase, meaning that the device must first be a certain distance away from the CH in order to join the cluster and become a CM. (called cluster radius R). When a device enters the CH range, it transmits a request to join the cluster with the device ID (Did). CH transmits the device its public-key Chpub. The device joins the cluster once it has obtained the cluster ID and the public key for CH. Additionally, the CH generates the block with the device ID on the blockchain server. During the secret-key generation and M2M conversation phases, AES encryption is used to secure M2M communication. For member to member communication the device must have the secret key generated by CH. Initially the M1 sends a request for communication to M2 M2 sends a second request to CH verification of M1 and Sk generation. CH verifies the member’s identification through the blockchain server if the member’s block exists, which means the member is authentic. If not a warning message is generated by CH to the requesting device. After The verification of M1 , CH generates a one-time secret key Sk and sends it to both members. The communicate using symmetric key encryption. In this system we used hybrid cryptosystem with blockchain technology.

Description

We use a highly scalable trust mechanism to build the clusters, allowing devices to join and exit the cluster more quickly. Every device must first join the cluster and go through a safe authentication process before it can communicate with other cluster devices. To provide reliable security we used hybrid cryptography system. ECDSA-based public-key encryption and decryption is used for communication between cluster members (CM) and cluster head (CH). Secret-key cryptography used for M2M communication, which is an AES based encryption/decryption method.

About

Project on providing security to iot devices using blockchain technology and cryptography

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages