Book Image

Hands-On Cybersecurity with Blockchain

By : Rajneesh Gupta
Book Image

Hands-On Cybersecurity with Blockchain

By: Rajneesh Gupta

Overview of this book

Blockchain technology is being welcomed as one of the most revolutionary and impactful innovations of today. Blockchain technology was first identified in the world’s most popular digital currency, Bitcoin, but has now changed the outlook of several organizations and empowered them to use it even for storage and transfer of value. This book will start by introducing you to the common cyberthreat landscape and common attacks such as malware, phishing, insider threats, and DDoS. The next set of chapters will help you to understand the workings of Blockchain technology, Ethereum and Hyperledger architecture and how they fit into the cybersecurity ecosystem. These chapters will also help you to write your first distributed application on Ethereum Blockchain and the Hyperledger Fabric framework. Later, you will learn about the security triad and its adaptation with Blockchain. The last set of chapters will take you through the core concepts of cybersecurity, such as DDoS protection, PKI-based identity, 2FA, and DNS security. You will learn how Blockchain plays a crucial role in transforming cybersecurity solutions. Toward the end of the book, you will also encounter some real-world deployment examples of Blockchain in security cases, and also understand the short-term challenges and future of cybersecurity with Blockchain.
Table of Contents (17 chapters)
Title Page
About Packt
Contributors
Preface
Index

Lab


To turn up the entire project, we will have to deploy the sub-component of this project. The source has been taken from GitHub, which can be found at the following link: https://github.com/hoxxep/Ethereum-2FA.

This has the following files in it:

The files in the preceding screenshot are explained as follows:

  • contracts: This folder includes our smart contract, TwoFactorAuth.sol
  • migrations: This folder consists of migration files to deploy the contract to the blockchain
  • test: This folder consists of server.js, which is responsible for event authentication in our contract
  • node_modules: This folder includes all the libraries
  • truffle.js: This configuration file consists of a set of configurations to connect to the blockchain
  • package.json: This is where we specify a configuration of our project, such as name and scripts

Components

The following are the three core components of this project, shown in the following diagram:

  • A blockchain network (which we will develop with the Ganache CLI)
  • A smart contract...