Subject: [quicwg/base-drafts] Minor TLS draft editorial corrections (#2446)

From: martinduke <[email-masked]>
Date: Fri, 08 Feb 2019 18:11:39 -0800

I am not quite as sure of these, but I believe they match the intent better.
You can view, comment on, or merge this pull request online at:

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

-- Commit Summary --

  * Minor TLS draft editorial corrections

-- File Changes --

    M draft-ietf-quic-tls.md (37)

-- Patch Links --

https://github.com/quicwg/base-drafts/pull/2446.patch
https://github.com/quicwg/base-drafts/pull/2446.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/2446

---

From: MikkelFJ <[email-masked]>
Date: Fri, 08 Feb 2019 23:57:06 -0800

mikkelfj commented on this pull request.

> @@ -216,10 +216,12 @@ Note that this omits the EndOfEarlyData message, which is not used in QUIC (see
 
 Data is protected using a number of encryption levels:
 
-- Plaintext
-- Early Data (0-RTT) Keys
-- Handshake Keys
-- Application Data (1-RTT) Keys
+- Initial Keys can be derived by any observer, and so they do not
+  provide cryptographic protection or authentication.
+- Early Data (0-RTT) Keys. These keys are not forward-secure and must protect
+  only idempotent data.
+- Handshake Keys do not authenticate either endpoint.
+- Application Data (1-RTT) Keys provide full authentication and encryption.

I think this looses to overview of what levels exist. This bullet list now replaces an overview with an explanation. Perhaps keep the original list, and add an explanation below.

> @@ -269,7 +271,7 @@ At a high level, there are two main interactions between the TLS and QUIC
 components:
 
 * The TLS component sends and receives messages via the QUIC component, with
-  QUIC providing a reliable stream abstraction to TLS.
+  QUIC providing a reliable stream and record abstraction to TLS.

I'm not sure QUIC provides the record abstraction, at least not entirely, it only handles the record protection. TLS still does its own internal record framing as I understand it, but don't take my word for it.

-- 
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/2446#pullrequestreview-201855103

---

From: martinduke <[email-masked]>
Date: Sat, 09 Feb 2019 11:30:34 -0800

martinduke commented on this pull request.

 components:

This is the big draft-14 change, is it not?

-- 
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/2446#discussion_r255310402

---

From: MikkelFJ <[email-masked]>
Date: Sat, 09 Feb 2019 12:29:59 -0800

components:

Well, not sure about 14, possibly, but the big change was to remove TLS encryption layer piped through already encrypted QUIC. But as I understand it, TLS still maintains its own record structure and framing within the QUIC crypto stream. So in a sense it both is and isn't TLS records.

-- 
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/2446#discussion_r255312408

---

From: Martin Thomson <[email-masked]>
Date: Sun, 10 Feb 2019 16:32:10 -0800

martinthomson requested changes on this pull request.

 components:

The separation of CRYPTO into different spaces doesn't really result in a record-like abstraction.

>                       1-RTT --------------->
                                               Handshake Received
                                           Rekey rx to 1-RTT keys
-                                                   Get Handshake

This bit (and the next) need to remain for NewSessionTicket.

Do you think that it would help to identify which TLS messages are being sent and received here?

 
-- Plaintext

I tend to agree with @mikkelfj here.  The short names are easier to get at without the extra text.

-- 
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/2446#pullrequestreview-201931903

---

From: martinduke <[email-masked]>
Date: Sun, 10 Feb 2019 20:26:52 -0800

Handshake Received
                                           Rekey rx to 1-RTT keys
-                                                   Get Handshake

 I would have said no, except for the bit about the NST. I might file another PR about that. The kind of ugly thing about this diagram is rekeying the rx from 0RTT to Handshake. There's no actual trigger for this; in practice we're actually keeping both keys, of course.

 
-- Plaintext

OK, this is going away, except for s/Plaintext/Initial

 components:

It's not the separate spaces, it's the crypto frame itself. We're stripping out the TLS record layer and replacing it with the frame. I'm not sure how you can compare the figures at the start of Sections 2 and 3 and come to a different conclusion.

-- 
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/2446#discussion_r255379382

---

From: martinduke <[email-masked]>
Date: Sun, 10 Feb 2019 20:27:31 -0800

@martinduke pushed 1 commit.

755559b0e6d3653a6d4e8aaaa841efd795d8df23  Update to reflect reviews

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/2446/files/5329e0ef079ef30e81e99eec1f9a4d9d9ba60179..755559b0e6d3653a6d4e8aaaa841efd795d8df23

---

From: Mike Bishop <[email-masked]>
Date: Tue, 12 Feb 2019 00:04:51 +0000 (UTC)

MikeBishop commented on this pull request.

                                               Handshake Received
                                           Rekey rx to 1-RTT keys
-                                                   Get Handshake

Perhaps it would be more appropriate to say "Install Handshake rx keys," then?  We have the separate PR forthcoming about when keys from previous levels are dropped; perhaps in this diagram we could exclusively talk about installing them.

-- 
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/2446#discussion_r255748330

---

From: martinduke <[email-masked]>
Date: Fri, 15 Feb 2019 14:56:21 +0000 (UTC)

83793ef5f0c83635d9bface209af0c2f8d18bfd8  Refer to "installing keys" instead of "rekeying"

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/2446/files/755559b0e6d3653a6d4e8aaaa841efd795d8df23..83793ef5f0c83635d9bface209af0c2f8d18bfd8