diba-io / carbonado

An apocalypse-resistant data storage format for the truly paranoid.
MIT License
105 stars 7 forks source link

Web Storage Provider #18

Open cryptoquick opened 1 year ago

cryptoquick commented 1 year ago

A web storage provider will have a private key in a configuration file, and will use that along with the public key the file is signed by to encrypt it locally. All Carbonado files must be either signed or encrypted.

It will also store chunks in 8 separate folders, which are recommended to be moved to separate storage volume arrays.

This makes #11 obsolete because for private files, the key is simply not shared. If a storage provider is told to store a file that's not encrypted, it checks the signature and creates an ECDH key that encrypts the file using a shared secret. If the storage provider is paid to, it will provide the content.

This will also need to support key blacklisting and whitelisting. Whitelisting will be useful for storage providers who only want to support specific users, and blacklisting is useful for if someone is trying to share bad files using the same key across different storage providers.