{"action":"opened","number":432,"pull_request":{"url":"https://api.github.com/repos/tlswg/tls13-spec/pulls/432","id":63627791,"html_url":"https://github.com/tlswg/tls13-spec/pull/432","diff_url":"https://github.com/tlswg/tls13-spec/pull/432.diff","patch_url":"https://github.com/tlswg/tls13-spec/pull/432.patch","issue_url":"https://api.github.com/repos/tlswg/tls13-spec/issues/432","number":432,"state":"open","locked":false,"title":"Clarify verification requirements of KeyUpdate","user":{"login":"siyengar","id":1054756,"avatar_url":"https://avatars.githubusercontent.com/u/1054756?v=3","gravatar_id":"","url":"https://api.github.com/users/siyengar","html_url":"https://github.com/siyengar","followers_url":"https://api.github.com/users/siyengar/followers","following_url":"https://api.github.com/users/siyengar/following{/other_user}","gists_url":"https://api.github.com/users/siyengar/gists{/gist_id}","starred_url":"https://api.github.com/users/siyengar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/siyengar/subscriptions","organizations_url":"https://api.github.com/users/siyengar/orgs","repos_url":"https://api.github.com/users/siyengar/repos","events_url":"https://api.github.com/users/siyengar/events{/privacy}","received_events_url":"https://api.github.com/users/siyengar/received_events","type":"User","site_admin":false},"body":"The current wording of KeyUpdate a bit ambiguous, and leaves out certain areas needed for enforcement and might result in a security issue if not implemented correctly\r\n\r\nA sender of the keyupdate has no choice of which key to encrypt the keyupdate with, however the recipient does. \r\nIt has 2 choices:\r\na. Use old key and reset the sequence number after acking the keyupdate\r\nb. Use the new key for the key update and reset the sequence number before acking the keyupdate.\r\n\r\nThis distinction is very important for security. If a client uses option b), this causes a security vuln. Because the sequence numbers are reset after a key update, an attacker could truncate (application data) records from the old stream, wait for the key update from the client, and then let new packets through. The client or server has no way of figuring out this has happened. \r\n\r\nIf a receiver verifies that the KeyUpdate is received with the old key before accepting messages encrypted with the new key, then this attack is prevented.","created_at":"2016-03-21T20:34:24Z","updated_at":"2016-03-21T20:34:25Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/tlswg/tls13-spec/pulls/432/commits","review_comments_url":"https://api.github.com/repos/tlswg/tls13-spec/pulls/432/comments","review_comment_url":"https://api.github.com/repos/tlswg/tls13-spec/pulls/comments{/number}","comments_url":"https://api.github.com/repos/tlswg/tls13-spec/issues/432/comments","statuses_url":"https://api.github.com/repos/tlswg/tls13-spec/statuses/ad0f8199d04b81599d5d055259f77dae3ed5c3aa","head":{"label":"siyengar:patch-1","ref":"patch-1","sha":"ad0f8199d04b81599d5d055259f77dae3ed5c3aa","user":{"login":"siyengar","id":1054756,"avatar_url":"https://avatars.githubusercontent.com/u/1054756?v=3","gravatar_id":"","url":"https://api.github.com/users/siyengar","html_url":"https://github.com/siyengar","followers_url":"https://api.github.com/users/siyengar/followers","following_url":"https://api.github.com/users/siyengar/following{/other_user}","gists_url":"https://api.github.com/users/siyengar/gists{/gist_id}","starred_url":"https://api.github.com/users/siyengar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/siyengar/subscriptions","organizations_url":"https://api.github.com/users/siyengar/orgs","repos_url":"https://api.github.com/users/siyengar/repos","events_url":"https://api.github.com/users/siyengar/events{/privacy}","received_events_url":"https://api.github.com/users/siyengar/received_events","type":"User","site_admin":false},"repo":{"id":54353884,"name":"tls13-spec","full_name":"siyengar/tls13-spec","owner":{"login":"siyengar","id":1054756,"avatar_url":"https://avatars.githubusercontent.com/u/1054756?v=3","gravatar_id":"","url":"https://api.github.com/users/siyengar","html_url":"https://github.com/siyengar","followers_url":"https://api.github.com/users/siyengar/followers","following_url":"https://api.github.com/users/siyengar/following{/other_user}","gists_url":"https://api.github.com/users/siyengar/gists{/gist_id}","starred_url":"https://api.github.com/users/siyengar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/siyengar/subscriptions","organizations_url":"https://api.github.com/users/siyengar/orgs","repos_url":"https://api.github.com/users/siyengar/repos","events_url":"https://api.github.com/users/siyengar/events{/privacy}","received_events_url":"https://api.github.com/users/siyengar/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/siyengar/tls13-spec","description":"TLS 1.3 Specification","fork":true,"url":"https://api.github.com/repos/siyengar/tls13-spec","forks_url":"https://api.github.com/repos/siyengar/tls13-spec/forks","keys_url":"https://api.github.com/repos/siyengar/tls13-spec/keys{/key_id}","collaborators_url":"https://api.github.com/repos/siyengar/tls13-spec/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/siyengar/tls13-spec/teams","hooks_url":"https://api.github.com/repos/siyengar/tls13-spec/hooks","issue_events_url":"https://api.github.com/repos/siyengar/tls13-spec/issues/events{/number}","events_url":"https://api.github.com/repos/siyengar/tls13-spec/events","assignees_url":"https://api.github.com/repos/siyengar/tls13-spec/assignees{/user}","branches_url":"https://api.github.com/repos/siyengar/tls13-spec/branches{/branch}","tags_url":"https://api.github.com/repos/siyengar/tls13-spec/tags","blobs_url":"https://api.github.com/repos/siyengar/tls13-spec/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/siyengar/tls13-spec/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/siyengar/tls13-spec/git/refs{/sha}","trees_url":"https://api.github.com/repos/siyengar/tls13-spec/git/trees{/sha}","statuses_url":"https://api.github.com/repos/siyengar/tls13-spec/statuses/{sha}","languages_url":"https://api.github.com/repos/siyengar/tls13-spec/languages","stargazers_url":"https://api.github.com/repos/siyengar/tls13-spec/stargazers","contributors_url":"https://api.github.com/repos/siyengar/tls13-spec/contributors","subscribers_url":"https://api.github.com/repos/siyengar/tls13-spec/subscribers","subscription_url":"https://api.github.com/repos/siyengar/tls13-spec/subscription","commits_url":"https://api.github.com/repos/siyengar/tls13-spec/commits{/sha}","git_commits_url":"https://api.github.com/repos/siyengar/tls13-spec/git/commits{/sha}","comments_url":"https://api.github.com/repos/siyengar/tls13-spec/comments{/number}","issue_comment_url":"https://api.github.com/repos/siyengar/tls13-spec/issues/comments{/number}","contents_url":"https://api.github.com/repos/siyengar/tls13-spec/contents/{+path}","compare_url":"https://api.github.com/repos/siyengar/tls13-spec/compare/{base}...{head}","merges_url":"https://api.github.com/repos/siyengar/tls13-spec/merges","archive_url":"https://api.github.com/repos/siyengar/tls13-spec/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/siyengar/tls13-spec/downloads","issues_url":"https://api.github.com/repos/siyengar/tls13-spec/issues{/number}","pulls_url":"https://api.github.com/repos/siyengar/tls13-spec/pulls{/number}","milestones_url":"https://api.github.com/repos/siyengar/tls13-spec/milestones{/number}","notifications_url":"https://api.github.com/repos/siyengar/tls13-spec/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/siyengar/tls13-spec/labels{/name}","releases_url":"https://api.github.com/repos/siyengar/tls13-spec/releases{/id}","deployments_url":"https://api.github.com/repos/siyengar/tls13-spec/deployments","created_at":"2016-03-21T02:28:42Z","updated_at":"2016-03-21T02:28:42Z","pushed_at":"2016-03-21T20:34:18Z","git_url":"git://github.com/siyengar/tls13-spec.git","ssh_url":"git@github.com:siyengar/tls13-spec.git","clone_url":"https://github.com/siyengar/tls13-spec.git","svn_url":"https://github.com/siyengar/tls13-spec","homepage":null,"size":2310,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"tlswg:master","ref":"master","sha":"fec25c38d0b3f51023aab573f74d04d666d27ab5","user":{"login":"tlswg","id":6699659,"avatar_url":"https://avatars.githubusercontent.com/u/6699659?v=3","gravatar_id":"","url":"https://api.github.com/users/tlswg","html_url":"https://github.com/tlswg","followers_url":"https://api.github.com/users/tlswg/followers","following_url":"https://api.github.com/users/tlswg/following{/other_user}","gists_url":"https://api.github.com/users/tlswg/gists{/gist_id}","starred_url":"https://api.github.com/users/tlswg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tlswg/subscriptions","organizations_url":"https://api.github.com/users/tlswg/orgs","repos_url":"https://api.github.com/users/tlswg/repos","events_url":"https://api.github.com/users/tlswg/events{/privacy}","received_events_url":"https://api.github.com/users/tlswg/received_events","type":"Organization","site_admin":false},"repo":{"id":18887842,"name":"tls13-spec","full_name":"tlswg/tls13-spec","owner":{"login":"tlswg","id":6699659,"avatar_url":"https://avatars.githubusercontent.com/u/6699659?v=3","gravatar_id":"","url":"https://api.github.com/users/tlswg","html_url":"https://github.com/tlswg","followers_url":"https://api.github.com/users/tlswg/followers","following_url":"https://api.github.com/users/tlswg/following{/other_user}","gists_url":"https://api.github.com/users/tlswg/gists{/gist_id}","starred_url":"https://api.github.com/users/tlswg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tlswg/subscriptions","organizations_url":"https://api.github.com/users/tlswg/orgs","repos_url":"https://api.github.com/users/tlswg/repos","events_url":"https://api.github.com/users/tlswg/events{/privacy}","received_events_url":"https://api.github.com/users/tlswg/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/tlswg/tls13-spec","description":"TLS 1.3 Specification","fork":false,"url":"https://api.github.com/repos/tlswg/tls13-spec","forks_url":"https://api.github.com/repos/tlswg/tls13-spec/forks","keys_url":"https://api.github.com/repos/tlswg/tls13-spec/keys{/key_id}","collaborators_url":"https://api.github.com/repos/tlswg/tls13-spec/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/tlswg/tls13-spec/teams","hooks_url":"https://api.github.com/repos/tlswg/tls13-spec/hooks","issue_events_url":"https://api.github.com/repos/tlswg/tls13-spec/issues/events{/number}","events_url":"https://api.github.com/repos/tlswg/tls13-spec/events","assignees_url":"https://api.github.com/repos/tlswg/tls13-spec/assignees{/user}","branches_url":"https://api.github.com/repos/tlswg/tls13-spec/branches{/branch}","tags_url":"https://api.github.com/repos/tlswg/tls13-spec/tags","blobs_url":"https://api.github.com/repos/tlswg/tls13-spec/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/tlswg/tls13-spec/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/tlswg/tls13-spec/git/refs{/sha}","trees_url":"https://api.github.com/repos/tlswg/tls13-spec/git/trees{/sha}","statuses_url":"https://api.github.com/repos/tlswg/tls13-spec/statuses/{sha}","languages_url":"https://api.github.com/repos/tlswg/tls13-spec/languages","stargazers_url":"https://api.github.com/repos/tlswg/tls13-spec/stargazers","contributors_url":"https://api.github.com/repos/tlswg/tls13-spec/contributors","subscribers_url":"https://api.github.com/repos/tlswg/tls13-spec/subscribers","subscription_url":"https://api.github.com/repos/tlswg/tls13-spec/subscription","commits_url":"https://api.github.com/repos/tlswg/tls13-spec/commits{/sha}","git_commits_url":"https://api.github.com/repos/tlswg/tls13-spec/git/commits{/sha}","comments_url":"https://api.github.com/repos/tlswg/tls13-spec/comments{/number}","issue_comment_url":"https://api.github.com/repos/tlswg/tls13-spec/issues/comments{/number}","contents_url":"https://api.github.com/repos/tlswg/tls13-spec/contents/{+path}","compare_url":"https://api.github.com/repos/tlswg/tls13-spec/compare/{base}...{head}","merges_url":"https://api.github.com/repos/tlswg/tls13-spec/merges","archive_url":"https://api.github.com/repos/tlswg/tls13-spec/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/tlswg/tls13-spec/downloads","issues_url":"https://api.github.com/repos/tlswg/tls13-spec/issues{/number}","pulls_url":"https://api.github.com/repos/tlswg/tls13-spec/pulls{/number}","milestones_url":"https://api.github.com/repos/tlswg/tls13-spec/milestones{/number}","notifications_url":"https://api.github.com/repos/tlswg/tls13-spec/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/tlswg/tls13-spec/labels{/name}","releases_url":"https://api.github.com/repos/tlswg/tls13-spec/releases{/id}","deployments_url":"https://api.github.com/repos/tlswg/tls13-spec/deployments","created_at":"2014-04-17T17:52:32Z","updated_at":"2016-03-20T19:05:28Z","pushed_at":"2016-03-21T20:33:24Z","git_url":"git://github.com/tlswg/tls13-spec.git","ssh_url":"git@github.com:tlswg/tls13-spec.git","clone_url":"https://github.com/tlswg/tls13-spec.git","svn_url":"https://github.com/tlswg/tls13-spec","homepage":null,"size":3618,"stargazers_count":122,"watchers_count":122,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":56,"mirror_url":null,"open_issues_count":38,"forks":56,"open_issues":38,"watchers":122,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/tlswg/tls13-spec/pulls/432"},"html":{"href":"https://github.com/tlswg/tls13-spec/pull/432"},"issue":{"href":"https://api.github.com/repos/tlswg/tls13-spec/issues/432"},"comments":{"href":"https://api.github.com/repos/tlswg/tls13-spec/issues/432/comments"},"review_comments":{"href":"https://api.github.com/repos/tlswg/tls13-spec/pulls/432/comments"},"review_comment":{"href":"https://api.github.com/repos/tlswg/tls13-spec/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/tlswg/tls13-spec/pulls/432/commits"},"statuses":{"href":"https://api.github.com/repos/tlswg/tls13-spec/statuses/ad0f8199d04b81599d5d055259f77dae3ed5c3aa"}},"merged":false,"mergeable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"commits":1,"additions":6,"deletions":0,"changed_files":1}}