Subject: [quicwg/base-drafts] Which DCID determines Initial keys (#3862)

From: Martin Thomson <[email-masked]>
Date: Tue, 07 Jul 2020 22:25:32 -0700

This is better defined elsewhere, but it doesn&#39;t hurt to repeat it.

Closes #3840.
You can view, comment on, or merge this pull request online at:

  https://github.com/quicwg/base-drafts/pull/3862

-- Commit Summary --

  * Which DCID determines Initial keys

-- File Changes --

    M draft-ietf-quic-transport.md (7)

-- Patch Links --

https://github.com/quicwg/base-drafts/pull/3862.patch
https://github.com/quicwg/base-drafts/pull/3862.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/3862

---

From: Marten Seemann <[email-masked]>
Date: Tue, 07 Jul 2020 22:30:35 -0700

@marten-seemann approved this pull request.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/3862#pullrequestreview-444423397

---

From: ekr <[email-masked]>
Date: Wed, 08 Jul 2020 05:34:23 -0700

@ekr commented on this pull request.

> +The Destination Connection ID field from the first Initial packet sent by a
+client is used to determine packet protection keys for Initial packets.  These
+keys change after receiving a Retry packet; see Section 5.2 of {{QUIC-TLS}}.

```suggestion
Initial packets derive their packet protection key from their Destination Connection ID field. This means that these keys will change after receiving a Retry packet; see Section 5.2 of {{QUIC-TLS}}.
```

I don't think it helps to single out the first Initial which actually isn't special.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/3862#pullrequestreview-444716000

---

From: Martin Thomson <[email-masked]>
Date: Wed, 08 Jul 2020 17:55:19 -0700

@martinthomson commented on this pull request.

However, this suggestion is incorrect.  You can change the value of the Destination Connection ID field.  After receiving an Initial, the client sets the Destination Connection ID field to the value the server chooses in the Source Connection ID field.  This updates the value used in Initial packets (such as an ACK), but does not change the keys.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/3862#discussion_r451903673

---

From: ekr <[email-masked]>
Date: Wed, 08 Jul 2020 19:29:51 -0700

Ugh. In that case this text needs to be really sharpened, and perhaps we need a diagram :)

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/3862#discussion_r451928566

---

From: Martin Thomson <[email-masked]>
Date: Wed, 08 Jul 2020 20:57:36 -0700

[This](https://quicwg.org/base-drafts/draft-ietf-quic-tls.html#section-5.2-7) is plenty sharp in my view.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/3862#discussion_r451949724

---

From: ianswett <[email-masked]>
Date: Thu, 09 Jul 2020 15:50:06 -0700

@ianswett approved this pull request.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/3862#pullrequestreview-446019027

---

From: Jana Iyengar <[email-masked]>
Date: Mon, 13 Jul 2020 19:26:29 -0700

@janaiyengar commented on this pull request.

How about an additional sentence that spells this out? "The Destination Connection ID field from the first Initial packet sent by a client is used to determine packet protection keys for Initial packets. While the Destination Connection ID can change on subsequent Initial packets ({{negotiating-connection-ids}}), the packet protection keys used for Initial packets do not change. The keys change however after receiving a Retry packet; see ... "

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/3862#discussion_r454059789

---

From: Martin Thomson <[email-masked]>
Date: Mon, 13 Jul 2020 20:35:37 -0700

We could, but that is the point of adding the reference.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/3862#discussion_r454078632

---

From: Jana Iyengar <[email-masked]>
Date: Mon, 13 Jul 2020 23:30:35 -0700

I'm fine with the reference, but if there's any question, then being explicit doesn't hurt. I'm fine either way. Separately, I noticed that Sec 5.2 in TLS says "the Initial packet". That should be "the first Initial packet from the client".

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/3862#discussion_r454131752

---

From: Jana Iyengar <[email-masked]>
Date: Mon, 13 Jul 2020 23:30:43 -0700

@janaiyengar approved this pull request.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/3862#pullrequestreview-447822653

---

From: Martin Thomson <[email-masked]>
Date: Tue, 14 Jul 2020 15:06:31 -0700

Merged #3862 into master.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/3862#event-3546106002