Conversation
vasco-santos
left a comment
There was a problem hiding this comment.
Thanks for putting this together @Gozala
Did not have much time yet to think about this, but my initial thoughts would be more towards the Secure supreme key strategy. I would see services having a owner, which would be dotstorage admin
| Additionally cross service interaction e.g. service `did:key:zUpload` invoking `access/resolve` capability on service `did:key:zAccess` implies that: | ||
|
|
||
| 1. `did:key:zAccess` needs to issue UCAN that delagets "access/resolve" to `did:key:zUpload`. | ||
| 2. `did:key:zUpload` need to keep delegated UCAN around in order to invoke `access/reslove`. |
There was a problem hiding this comment.
| 2. `did:key:zUpload` need to keep delegated UCAN around in order to invoke `access/reslove`. | |
| 2. `did:key:zUpload` needs to keep delegated UCAN around in order to invoke `access/reslove`. |
hugomrdias
left a comment
There was a problem hiding this comment.
i like the secure supreme key model and it fit well with my idea of having an UCAN worker in front of all the other workers so we dont replicate ucan logic everywhere.
Co-authored-by: Vasco Santos <santos.vasco10@gmail.com> Co-authored-by: Hugo Dias <hugomrdias@gmail.com>
|
@mikeal @hugomrdias I have realized that there is a problem with the idea of having a static DID only for the routing purposes. More specifically we have been going under assumption that a hardware "service key" will simply delegate it's capabilities to "service provider" actor who's keys will be rotating frequently. However doing this would prevent "service provider" from deriving capability (from received invocation) and delegating it to a different actor, because invocation audience will be "service key" not the "service provider". This is problematic because "store/*" provider already derives "identity/resolve" from "store/add" in order resolve an account for the did car is added to. We could go different route and delegate
Unfortunately I don't currently have solution to offer. Pref-light request to resolve provider DID had been offered previously which I suppose will work, but it has problems of it's own:
It is also worth considering that if we rotate keys every 24H this would require engaging that hardware "service key" every 24h which in turn would be too frequent for human interaction and if automated it would create another attack surface.
|
|
Closing this in favor of #7 which share same general idea |
Also can be viewed as formatted document at https://hackmd.io/@gozala/ucan-keypair (comments are disabled as I'd like feedback here instead).