Skip to content

Latest commit

 

History

History
90 lines (58 loc) · 4 KB

README.md

File metadata and controls

90 lines (58 loc) · 4 KB

Inimical DKAP

The blockchain-based KMS must be installed on each participating device and uniquely identified by an address (similar to the identifier for a Bitcoin wallet). Every peer on this Rinkeby Testnet must be pre-approved by a steward. It must be capable of generating SSH key pairs for devices and storing the public key on the blockchain as a transaction. When a user attempts to SSH to this device, the KMS must refer to the blockchain for the user’s public key and device; if the key is accurate, up to date and from the correct originating device (as identified by address), the connection is established.

The KMS must periodically compare its blockchain with that of its peers to obtain updates (installing and uninstalling keys as instructed) and identify fraudulent transactions (e.g., a device has more than one keypair assigned to it, a keypair is installed for an unknown peer, etc.).

The KMS on all participating devices must be able to continue to function if any single device fails.

There must also be one or more appointed wardens to take executive action if warranted (e.g., a new device is added and must be listed as a peer, or a device is stolen, and all the keys assigned to that device must be purged from the canonical blockchain).

Pre-requisite

Python => 3.8
Pip
Metamask wallet ( Wallet Address , Private Key of Wallet)
SSH agent
SSH key-gen
Windows

Installation and Usage of MetaMask wallet

Click here to download.
Create / Login your MetaMask Wallet.
Create at least 2 wallet address.
Request for testnet ethereum at this website.

SSH Agent for Node Machine

Enable SSH Agent if disabled using the following command in PowerShell terminal as Administrator.
Set-Service -Name ssh-agent -StartupType Manual
Start SSH Agent service.
Start-Service ssh-agent

Wallet Configuration for Admin / Node machine

Admin / Node text file to change accordingly to your wallet address and private key
image

image

Deploy Smart Contract

Proceed to Remix on any browser.
Load the solidity code contract.sol onto Remix IDE
Make necessary changes to wallet address of the administrator machine image
image

Compile the code with 0.87+commit
image
Change the environment to Injected Web3 with selected wallet Deploy image

Modify with new deployed contract address image

Node

Download project source code from github
pip install -r requirements.txt
python main_node.py

image

Peer

Download project source code from github
pip install -r requirements.txt
python main_peer.py

image

Admin

Download project source code from github
pip install -r requirements.txt
python main_admin.py

image