-
Notifications
You must be signed in to change notification settings - Fork 7
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
Initial Cryptographic Support to have (some parts of) models en/de/crypted #284
Comments
No, the basics of this should of course work completely without any client/server; just locally. At its core, this is just an URI scheme, with a ResourceProvider? Like the (TBD)
Are there existing standards for this? Decrypt is via a key in TPM; may shell out to exec Model https://enola.dev/secret is:
CLI is via (TBD) Enola Actions, on Things; e.g. generate key, list keys, encrypt URL, decrypt secret. Password 🔑 Manager is then trivial and an obvious 1st application: just e.g. a class Website Thing, with a password property. The #607 format should directly support this. models/people/ can then contain e.g. phone numbers... 🔒 |
Actually, The "decrypted Form" of such secrets should use |
Or https://github.com/microsoft/TSS.MSR/blob/main/TSS.Java/src/samples/Samples.java ? But likely PITA. So just using https://github.com/Foxboron/age-plugin-tpm (or https://github.com/remko/age-plugin-se; both from https://github.com/FiloSottile/awesome-age) may be a way to go. Maybe 🤔 shell exec only once to decrypt one key into another in-memory, and then use that one... is that a good idea? |
It could be fun to make it add initial basic crypto support to this project.
The way I imagine it working is that you would "tag" (with Proto extensions, perhaps?) some parts of models marked
secret
. It would be nice to keep this nicely "modular" and avoid having to "bake this into the core" of Enola.The
secret
parts of any model would then be encrypted on the client (CLI, for now, Web, later) and stored "encrypted at rest" on the server (e.g. in the File System Repository), and could later be decrypted again on the client.There are a bunch of pre-requisites for this, at least including:
enola put
is missing, and it seems less fun without thatenola --server
is missing, as the "flip side" of the (existing)enola server
[This was done in feat (cli): Introduce --server (still un-tested & un-documented) #300 and fix (cli): Download Descriptor Protos from Server (and --server etc. docz) #312.]The text was updated successfully, but these errors were encountered: