-
Notifications
You must be signed in to change notification settings - Fork 0
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
Root namespace #2
Comments
Answering my own question here, reflecting on my previous design, I have these thoughts:
In broad strokes, I think it should be:
Where Base on that, the concrete root namespace would look like:
Additional items from #1:
|
I really like how CryptoURI supports users in telling them the nature of the object they are interacting with (see #1): Is this public? Is this a secret I need to protect? I think this a great way to reduce user error. Now, the I am not sure if ciphertexts need a CryptoURI at all. Or maybe we can use something generic as I am trying to think through the user process here:
or
These examples brought up more questions:
Am I going in the right direction here? Further, thinking about these two examples, do we really need the |
+1 with one caveat: "key wrapping" (see below)
Just a quick note on this: when a derivation hierarchy isn't in use, I've made these look more like a URN in the current implementation (these won't be valid Bech32 as I'm doing
The only hierarchical feature I wanted to support via the URIs themselves is specifying paths within a derivation hierarchy (e.g. BIP32 / HKD32), not necessarily using that to encode additional information like usage patterns. I'd suggest using the "query" section of the URL to encode that information if necessary.
You mentioned password hashes already. OTP seeds would be another example. I'd break this down as follows:
Note: as I mentioned on #1 I very much want CryptoURI to support "key wrapping" for other CryptoURIs, be it with a key-encrypting-key (KEK), or a password.
No. There are two types of keys: public and secret. I do want to very much want to make it easy for users to tell the following:
|
So how would you combine a URN with usage patterns? Or would you want to shift the key into the path in this case and use a URI? A couple thoughts on this:
Please move the URN/URI discussion to a separate issue if you feel it's too off topic here.
Okay. Good call. To recap:
At least for the first iteration. |
URNs begin with I wasn't suggesting two syntaxes (regardless it's all URI generic syntax, and a URN is a type of URI), but a way to specify a hierarchical namespace within a key. So more like: No hierarchy
HierarchySome options:
Makes the hierarchical namespace purely additive, well except for the query string
Inspired by RFC 6920: Naming Things with Hashes, which uses ...but perhaps we can move the question of syntax for hierarchical keyspaces to a separate issue, and make some tentative decisions on the core issue here.
👍 |
...based on the discussion in this thread: cryptouri/cryptouri-spec#2 Changes: - `crypto:public:digest` => `crypto:hash` - `crypto:public:key` => `crypto:pub:key` - `crypto:secret:key` => `crypto:sec:key` - `crypto:public:signature` => `crypto:sig`
I just implemented this updated namespace in the Rust implementation: |
Assuming CryptoURIs are URI/URN-like namespace starting with:
What goes in the toplevel namespace following that prefix?
The current Rust implementation places everything into:
crypto:public:
crypto:secret:
Are those names too long? Should there be more options than just that?
What information is important to convey in this namespace?
The text was updated successfully, but these errors were encountered: