An End to Centralization and Unreliable Password Managers

Password managers... an absolute necessity for the modern man.

Keeping track of so many account passwords needed to function in the modern digital era has led to the development of password managers.

However, the only popular options are all centralized, meaning if their databases can be exposed to attack via malicious hackers and human errors.

Moreover, these databases are black-boxed in regard to their security measures and require a high level of trust that these databases aren't using your sensitive data for nefarious purposes.

Most databases also charge subscription fees, leading to a continual expense for each password.

We wanted to solve these three key issues through a decentralized database with each password encrypted with a secure but open source scheme.

The Solution

We built a web-based client interface that uses your blockchain wallet's private key to encrypt your passwords with AES encryption and sent the encrypted passwords as a transaction to a stable blockchain.

Using AES ensures that anybody else viewing the blockchain can not decrypt your passwords, and using a blockchain makes your passwords less vulnerable to attack by database takeovers.

Each new password only costs the transaction fee and is available for you for free, forever.

We used Bitcoin SV's blockchain because the chain uses proof-of-work, has essentially unlimited block size, and very low transaction fees, but the source code can be reconfigured to access any blockchain of your choice.

Take a look at this link!

Challenges and Further Exploration

Because of ECIES having no standard library available, we used AES encryption as the scheme. Later implementations could use ECIES to secure yourself from browser injections that listen for your private keys while you encrypt your passwords.

Developing the interactions with the blockchain through uploading to the chain and then parsing the transaction data was an issue we resolved through use of Vue.js and BSV transaction parsers, and later on, we could implement more complex inputs and reads to allow editing of passwords.

Since BSV has such a large block size, later versions could include encrypting images and larger pieces of text and storing it on the blockchain.

Built With

  • javascript-vue-html
Share this project:

Updates