Skip to content
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

Issuer identity keys lifecycle #14

Open
PaulBernier opened this issue Sep 21, 2018 · 4 comments
Open

Issuer identity keys lifecycle #14

PaulBernier opened this issue Sep 21, 2018 · 4 comments

Comments

@PaulBernier
Copy link
Contributor

PaulBernier commented Sep 21, 2018

First I'd like to make you aware that a new generic standard for identities on Factom is being developed by Factom Inc. and we should probably migrate to that, simply because it doesn't come with all the extra un necessary stuff for our purpose (bitcoin address, m-hashes etc). As it's not yet public I won't comment more on that, just something to be aware of.

In the current spec there is no detail on the lifecycle of the identity keys. SK1 keys can be revoked and replaced. The spec should mention the time at which the SK1 should be valid (typically at the block the issuance entry is at). The new identity spec will have a method 'identity-keys-a-tblock-height" that will help do exactly that. PR #11 is changing a lot of things (and it touch idSignature) so I can make a PR to add this after it is merged, if we agree on the point I brought up.

@AdamSLevy
Copy link
Contributor

AdamSLevy commented Sep 21, 2018 via email

@PaulBernier
Copy link
Contributor Author

To be fair, I don't think that migrating the spec to the new identity scheme will be too much rework. It's more the actual implementation that would require some rework, because you have to call different APIs and parse different entries.

The identity scheme is pretty minimal/generic, it's a chain with N keys declared assocaited to that identity and those N keys are hierarchically ordered, same as with server identities where you have those 4 SK keys, and sk4 can sign to replace sk3, sk2, sk1, and sk3 can sign to replace sk2, sk1 etc. So one thing we should probably require is that the identity issuing a token has at least M keys associated with its identity (M >=2, otherwise with a single key it's impossible to rotate). Besides that rest will be pretty much the same, just the wording will change a bit I think (like not reference SK1 key for instance)

@drkatz
Copy link
Member

drkatz commented Oct 8, 2018

Thanks @PaulBernier. Based on your knowledge of release timeline of the new identity spec, how proactive/preemptive do you recommend we should be about making those changes? (also link to Factom github branch if possible thanks!)

@PaulBernier
Copy link
Contributor Author

PaulBernier commented Oct 9, 2018

Factom Inc document on identities: https://docs.google.com/document/d/1NooBhYdRARwmfqMS0lrbFoXxgbB8cFrsWIl0d0kdhF8/edit?usp=sharing
Implementation: https://github.com/FactomProject/factom/tree/FD-670_IdentityWalletdAPI

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants