Key Management Servers and Services are expensive, which leads to a traditional lack of safety for the securing of server application passwords.
Expand upon the Crypt Keeper library to produce a simple to setup key management server
This is the total amount allocated to Expand Key Crypt Library - Key Management Server Application.
None
No dependancies
Project will be fully open source
In early 2023, The Morphium developed a simple Python based key management toolset to secure important application passwords (database passwords, skeys, etc) behind a gatekeeper. The tool is already available and has been fully open source since day one. The package uses the following logic:
1) Have a list of allowed IP Addresses to initiate access requests.
2) Have a list of servers allowed to retrieve keys.
3) An API request is sent from an authorized computer to enable a 5 minute access window.
4) Request uses 2FA as part of this authorization attempt.
5) If the request fails 3 times within a short period of time, the interface is entirely locked out for an hour, with no option to reset.
6) If the request is authenticated, the gatekeeper will allow retrieval of keys for the next 5 minutes.
7) An application requests a key as part of its start up procedure to access a database, etc.
8) The key is never stored on the application server, and only ever held in the applications running memory.
https://github.com/TheMorphium/crypt_keeper
This proposal is to expand on this library to make the tool even more usable. We would like to build a precompiled binary package (docker image, iso, etc) that can be installed easily to a virtual machine or raspberry pi, further tighten security, and create a web console to manage access. Presently the tool is built to be innaccessible except from a direct console connection. But it should be possible to create a one way interface that can onboard new servers and passwords, without exposing keys.
As a stretch goal, we would like to set up the web interface to support code updates, as well as support seed phrase key creation, so that a new instance would be able to reproduce identical keys to a previous installation.
This proposal allows for a significantly higher level of protection for application developers, with little to no cost for implementing.
Success will be measured by ease of use, and ease of installation.
The entire project is open source, and will forever remain as such. Anyone with an interest will be able to monitor the progress in the repository.
Success should be easy to achieve, as the original key management logic has been written and proven. The functionality that would be added should follow well known paths to accomplishment.
The main goal is to make the package as easy to implement as possible. Currently the package is fully functional, but requires knowledge of how to use set it up withing a python environment, how to harden a virtual appliance, and tedious console configuration.
Entire project should be completed within a 3 month timeframe.
The following are the deliverables for this project:
Packaged installation for application
Harden security
Web Interface to manage Key Management
All monies recieved would be used to cover labor costs, which are being highly subsidized by the developer.
Security is paramount for all blockchain developers. If this Key Management Server prevents a single attack, it will have served its purpose.
Huth S0lo - Lead Developer
Chase Donovan - Front End Developer