-
Notifications
You must be signed in to change notification settings - Fork 5
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
Publick Keys revocation #4
Comments
Cool, let's chat. |
Some thoughts on this (derived largely from ipfs-shipyard/pm-idm#2 (comment)). There are two types of functions that we tend to worry about here:
We also need to take into account the threat model and timing around revocation/rotation. For example:
Below are some thoughts on how to solve this using a blockchain/global consensus system (which while not in the IPID spirit, is what most of the DID space is using) and an IPNS/eventual consistency system. I will use as a short-hand blockchain = global consensus system and IPNS = eventual consistency system. BlockchainBefore Key Compromise
After Key Compromise
IPNSEventually consistent systems' lack of total global order makes using the breakdown of "before" vs "after" generally difficult, since depending on the state of the network "after" can always look like "before". Revocation
The security tradeoff here with a blockchain is related to availability, if an attacker can eclipse or distort a users' view of IPNS to see only one update instead of two then they are successful. Given that this is a forking attack some of the standard solutions to mitigate forking attacks can be employed (e.g. Keybase uses user tracking of keys, but any sort of embedding DIDs into other data to increase the amount of the network that needs to be forked is useful) RotationAs with blockchains this is very difficult to figure out after the key has been compromised. Additionally, since before and after are harder to tell apart here, we have difficulty even before the key has been compromised. However, there are some options for key rotation that are viable and exist outside the IPNS/blockchain system.
Rotation => Revocation, but that's not the whole storyIt is worth noting that if we wanted to, we could use our solution to rotation to help with revocation. For example, if users were willing to use a single trusted authority for key rotation it could also be used for discovering/dealing with revocation. However, these schemes are generally not as easy to work with (or secure) as the revocation schemes so separating revocation from rotation is likely a good way to go. |
At the time of this issue, the DID spec mentions that:
A discussion on how we can further develop the IPID specification to establish how the revocation is performed and tracked would be worthwhile.
The text was updated successfully, but these errors were encountered: