{"action":"created","issue":{"url":"https://api.github.com/repos/hyperledger/indy-hipe/issues/48","repository_url":"https://api.github.com/repos/hyperledger/indy-hipe","labels_url":"https://api.github.com/repos/hyperledger/indy-hipe/issues/48/labels{/name}","comments_url":"https://api.github.com/repos/hyperledger/indy-hipe/issues/48/comments","events_url":"https://api.github.com/repos/hyperledger/indy-hipe/issues/48/events","html_url":"https://github.com/hyperledger/indy-hipe/pull/48","id":372643714,"node_id":"MDExOlB1bGxSZXF1ZXN0MjI0NzcxOTM2","number":48,"title":"propose HIPE: support multiple keys and endpoints for a DID","user":{"login":"lovesh","id":3115401,"node_id":"MDQ6VXNlcjMxMTU0MDE=","avatar_url":"https://avatars0.githubusercontent.com/u/3115401?v=4","gravatar_id":"","url":"https://api.github.com/users/lovesh","html_url":"https://github.com/lovesh","followers_url":"https://api.github.com/users/lovesh/followers","following_url":"https://api.github.com/users/lovesh/following{/other_user}","gists_url":"https://api.github.com/users/lovesh/gists{/gist_id}","starred_url":"https://api.github.com/users/lovesh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lovesh/subscriptions","organizations_url":"https://api.github.com/users/lovesh/orgs","repos_url":"https://api.github.com/users/lovesh/repos","events_url":"https://api.github.com/users/lovesh/events{/privacy}","received_events_url":"https://api.github.com/users/lovesh/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2018-10-22T18:35:24Z","updated_at":"2018-12-18T05:51:27Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/hyperledger/indy-hipe/pulls/48","html_url":"https://github.com/hyperledger/indy-hipe/pull/48","diff_url":"https://github.com/hyperledger/indy-hipe/pull/48.diff","patch_url":"https://github.com/hyperledger/indy-hipe/pull/48.patch"},"body":""},"comment":{"url":"https://api.github.com/repos/hyperledger/indy-hipe/issues/comments/448105044","html_url":"https://github.com/hyperledger/indy-hipe/pull/48#issuecomment-448105044","issue_url":"https://api.github.com/repos/hyperledger/indy-hipe/issues/48","id":448105044,"node_id":"MDEyOklzc3VlQ29tbWVudDQ0ODEwNTA0NA==","user":{"login":"lovesh","id":3115401,"node_id":"MDQ6VXNlcjMxMTU0MDE=","avatar_url":"https://avatars0.githubusercontent.com/u/3115401?v=4","gravatar_id":"","url":"https://api.github.com/users/lovesh","html_url":"https://github.com/lovesh","followers_url":"https://api.github.com/users/lovesh/followers","following_url":"https://api.github.com/users/lovesh/following{/other_user}","gists_url":"https://api.github.com/users/lovesh/gists{/gist_id}","starred_url":"https://api.github.com/users/lovesh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lovesh/subscriptions","organizations_url":"https://api.github.com/users/lovesh/orgs","repos_url":"https://api.github.com/users/lovesh/repos","events_url":"https://api.github.com/users/lovesh/events{/privacy}","received_events_url":"https://api.github.com/users/lovesh/received_events","type":"User","site_admin":false},"created_at":"2018-12-18T05:51:27Z","updated_at":"2018-12-18T05:51:27Z","author_association":"MEMBER","body":"> Sam Smith did a really interesting talk at the Fall 2018 IIW about a good way of handling key rotation. Notably, when creating a new key, generate two keypairs, one as the current key, a second as the \"rotation\" key. Then, when a rotation (update) is done, the \"rotation\" key becomes the current key (it's never been used before), and the new key is the new \"rotation\" key - not used until the next rotation. The benefit is that if the current key is compromised without loss of the wallet, the attacker cannot rotation the key - they don't have the private key of the the \"rotation\" key. Evidently this technique is used by others. Check with Sam for a reference.\r\n> \r\n> Might be worth considering if we are going to be updating the key handling anyway.\r\n\r\nIf i understand correctly, the DID doc will specify the \"rotation key\", eg. while creating a new DID doc, i generate 2 keys `k1` and `k2` and put both in the DID doc. Here `k1` will be my current key and `k2` will be my key after rotation. The DID doc registry (ledger, etc) will ensure that my next key is `k2` and nothing else. This is problematic as nobody can change my keys unless he holds my wallet. Currently it is proposed to give priviledges to others for key change which will be difficult with such a scheme.\r\nSecondly key compromise without wallet seems less common since keys never leave the wallet so it was either a flaw in the cryptographic scheme (signature/ciphertext reveals key) or a side-channel."}}
{"actor":{"display_login":"lovesh"}}