-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Passphrase #28
base: master
Are you sure you want to change the base?
Passphrase #28
Conversation
I'd like to mention 2 scenarios that I think would be useful to consider:
So I suggest the following directory structure:
where As an illustration, I wrote a small script (based off your |
If they're being unlocked by the same passphrase there's no practical security there. As a placebo it might even be worse.
Not much to share. You'd be replacing a 54 line shell script with an extra ~1000 lines of C
Possible. Perhaps the whole wrapped decryption thing should just be a separate utility loaded into the so as a library. But that's backwards compatible with this so I don't think it's worth worrying about until this is tested and approved. |
Key wrapping in general does not add security, but it improves usability. Consider Alice and Bob both encrypt their home directory but they also share a photos directory. Clearly all three directories should have a distinct encryption key, otherwise either Alice or Bob need to reveal their home directory's key. This demonstrates both use cases:
Well 1000 lines is overstated. Regarding code sharing, here's what comes to my mind:
If you share the code you can have a high confidence that both the module and the utility behave the same and you can easily debug stuff if the module fails. Besides shell code is fragile and very easy to get wrong.
To make future changes easy I just suggest to replace all occurrences of |
Not really. All of the C code that's there right now does is read files and handle encryption. All the shell file does is write files and encrypt a folder (Using a pre-existing tool for that matter) You'd need to write from scratch:
1000 lines seems about right |
User input: |
@jnvsor It's been a while. Sorry for neglecting my duties. I've finally decided to go with this PR. However, I do want to get myself a proper test-setup already. Hence, it may take a bit until I can give you a proper review. |
Oh yeah I agree, encryption and PAM are two things you don't want to wing it with :) |
Depends on #25 and #27
The entire wrapper system is brand new, but there are no breaking
changes besides the ones already in #25 and #27
All told this PR and #25, #27 were thrown together in a few days so it
needs a bit more thorough testing, but I feel confident it won't explode
unless you do something strange with it.
I might push a commit later rewriting a large portion of the readme to
give more baby-steps instructions. Perhaps the init script shoudl be part
of the install target in the makefile? (No idea how to do that in cmake)