Replies: 1 comment
-
@Gestas, it is good to hear that you willing to take this on! Be aware though that this is quite a project. Recent changes in the internal architecture should however make it easier to implement. In particular, PR #617 started decoupling Maestral's module for keyring access from the oauth flow, therefore making it easier to store items in the keyring, regardless of their purpose. PR #637, currently WIP, moves all code specific to the Dropbox API to the Comments on what you have proposed:
This makes sense to me as an initial limitation. Limiting encryption to initially empty directories reduces the risk of accidentally encrypting shared files. Allowing encryption only by top level directory should cover most use cases.
Why not allow users to pick their own keys?
I don't know enough about cryptography to understand how this would work practically. Do you propose asymmetric encryption to share data with different recipients, therefore requiring a separate copy for each recipient's public key? Or symmetric encryption just with a different key for each folder (which may be shared with a different set of people?). I'm not completely convinced about the CLI / public API that you propose, the distinction between global encryption vs single encryption seems somewhat artificial to me in the CLI. What does the Questions which you have not addressed There are a couple of things about designing this functionality which I'd like to sort out before writing any code.
|
Beta Was this translation helpful? Give feedback.
-
I've got some time to work on #177. I'm proposing the below for my initial pull request, feedback encouraged.
MVP would include -
Encryption enabled per directory. Encryption can only be enabled on empty directories. Encryption is always recursive.
Encryption keys will be automatically generated as a 12 word mnemonic from the BIP-0039 English word list.
Keys will be stored in the key-chain as specified in the Maestral config file.
Sharing of encrypted directories will be enabled by allowing a user to add a second key to a directory.
Support for disabling encryption globally or per-directory.
File and sub-directory names will be encrypted.
MVP would not include -
GUI support.
Adding encryption in-situ. Users could encrypt existing data by enabling encryption on a new folder then copying existing data into it.
Rotating the default key.
There would be two new Maestral CLI options,
encryption
, andencrypt-dir
-encryption
- used to setup encryption the first time and check encryption status.encrypt-dir
- used for directory specific encryption configurationTo setup encryption a user would -
maestral encryption --setup
. This would return a 12 word mnemonic -To encrypt a directory -
Beta Was this translation helpful? Give feedback.
All reactions