Thank you for your close review.

I have made a PR in response to these comments:
PR https://github.com/tlswg/draft-ietf-tls-esni/pull/648

Detailed responses below.

## Editorial

> 10.1 »Security and Privacy Goals« starts with definitions
> (active/passive) that aren’t really Security/Privacy goals.
> Since “passive” is then used distinguishingly in only three places, it
> is not clear that this passage is particularly useful.
> It is also puzzling to sort filtering middleboxes under “passive”.

They are passive from the perspective of ECH's threat model;
this is part of why I think this paragraph is useful.

> 10.1: I cannot find a discussion of a “threat model” under this name
> in RFC 8446.

This is a citation for TLS 1.3. I have added a citation for
3552 behind threat model.


> 10.1: This section starts using the term “host” as a noun with a
> distinguishing quality that in this document is probably related to
> server_name, but not explained (“host” as a noun does not occur in RFC
> 8446).

I changed the term "host" to "server name".

>
> 10.2 appears to address integrity only, where the heading might
> suggest some discussion about confidentiality.

The final sentence addresses confidentiality or the lack thereof.


> I don’t understand the last sentence of 10.3 (“servers with high
> load”…).

I rewrote this a bit.


> 11.3: After »A "Y" or "N" value indicating if the extension is TLS WG
recommends
> that the extension be supported.« — can’t parse »Adding a value with a
> value of "Y" requires Standards Action .« -- s/value/registration/ ?

Fixed.


> 10.11: I would have expected a brief discussion on how granularizing
> the padding to 32 byte steps cannot be used by an attacker to extract
> information beyond that granularity (by causing the client to vary the
> size before padding, straddling a step).

The attacker doesn't control CH at all, so I'm not sure why this
would be needed.


> ## Nits
>
> Please do a pass of replacing “which” with “that” where a restrictive
> clause is intended (usually easy to find by the lack of a comma, about
> two dozen occurrences)

This is one of those folklore grammar rules that does not
match actual English usage, like not splitting infinitives.

http://itre.cis.upenn.edu/~myl/languagelog/archives/001484.html


> Thank you for the many section references; two more could be used in
> »<p id="section-10.8-3">Note that, if the cookie includes a key name,
> analogous to Section 4 of« and »<p id="section-6.1-7.3.1”>[…] (see
> Appendix D.4 of <span>[<a href="#RFC8446" class="cite
> xref">RFC8446</a>]</span>) when ECH is negotiated.«

Done.

> There are at least 17 occurrences of ‘bytes’ for counting lengths in
> bytes and 3 of ‘octet’/‘octets’.

I changed these all to "bytes".


> Please expand HRR on first use.

Done.


> Please define “ECH key” (8 occurrences) and “ECH record” (5
> occurrences).

I am replacing ECH record with HTTPS record, which is already
defined. Defined ECH key.


> Please define “application profile” and “application profile standard”
> (10.4 uses “application using (D)TLS” — is that the same?)

I don't believe this is a necessary change. TLS 1.3 already uses
this term without definition in RFC 8446 S 9.1.


> 1: »the SNI remains the primary explicit signal used to determine the
> server's identity.« -- used by whom?

By observers. Addresed.


> Figure 2 uses private.example.com in the second variant where
> private.example.org is used in the first; may want to use .org here as
well

Fixed.



> 5: it is slightly surprising that the definition list explaining
> config_id and cipher_suite does this in an order different from the
> TPL in the figure above

I take your point, but I think this is reflects the difference
between code (avoiding forward references) and text (top down).


> 5.1: The first figure has a cliff-hanger (length_of_padding); maybe
> add a reference to 6.1.3.

Done.


> 5.2: »This value does not include Handshake structure's four-byte
> header in TLS,«

Removed the comma.


> 6.1.1: »Including ClientHelloOuterAAD as the HPKE AAD binds the
> ClientHelloOuter to the ClientHelloInner, this preventing attackers«
> s/this/thus/ ?

Fixed.

> 6.1.3: »through -their length«

Fixed.

> 6.1.3: »that have sensitive-length fields« (hyphen ➔ space)

This appears to be some kind of rendering error. It's fine in
the markdown. I'll trust the RPC to fix it.


> 6.1.6 »yield a tracking vector« — for whom?
> ➔ supply the server with a tracking vector?

I think this is OK as-is.


> 6.1.7: »reference identity« -- define?

Added a reference to RFC 6125.

> 6.1.7: »(e.g. [RFC3986], Section 7.4 and [WHATWG-IPV4])«
> The "and" does not work here

Fixed.

> 6.2.2: »Correctly-implemented client will ignore those extensions.«

Fixed.


> 10.9: could use superscript in place of 2^64
> (This of course only applies to usage in text, which seems to be the
> only one here.)

Markdown again. I'll let the RPC address.

> 10.10.4: »out-of-scope. including, «

Fixed.

> I assume “page” in 11.3 is what is now called “registry group”?

Yes. Fixed.


On Fri, Mar 14, 2025 at 5:35 AM Carsten Bormann via Datatracker <
nore...@ietf.org> wrote:

> Reviewer: Carsten Bormann
> Review result: Ready with Nits
>
>
> (Insert ARTART boilerplate here.)
>
> Thank you for this draft, it is in very good shape.
> The document is explicit about the different configurations the
> protocol can be run in, the participants, their roles, the security
> and privacy objectives that can be achieved as well as the security
> considerations, and it discusses (and addresses!) deployment
> considerations.
>
> This specification is ready with nits.
> A few editorial observations and a few nits below.
>
> ## Editorial
>
> 10.1 »Security and Privacy Goals« starts with definitions
> (active/passive) that aren’t really Security/Privacy goals.
> Since “passive” is then used distinguishingly in only three places, it
> is not clear that this passage is particularly useful.
> It is also puzzling to sort filtering middleboxes under “passive”.
>
> 10.1: I cannot find a discussion of a “threat model” under this name
> in RFC 8446.
>
> 10.1: This section starts using the term “host” as a noun with a
> distinguishing quality that in this document is probably related to
> server_name, but not explained (“host” as a noun does not occur in RFC
> 8446).
>
> 10.2 appears to address integrity only, where the heading might
> suggest some discussion about confidentiality.
>
> I don’t understand the last sentence of 10.3 (“servers with high
> load”…).
>
> 11.3: After »A "Y" or "N" value indicating if the extension is TLS WG
> recommends
> that the extension be supported.« — can’t parse »Adding a value with a
> value of "Y" requires Standards Action .« -- s/value/registration/ ?
>
> 10.11: I would have expected a brief discussion on how granularizing
> the padding to 32 byte steps cannot be used by an attacker to extract
> information beyond that granularity (by causing the client to vary the
> size before padding, straddling a step).
>
> ## Nits
>
> Please do a pass of replacing “which” with “that” where a restrictive
> clause is intended (usually easy to find by the lack of a comma, about
> two dozen occurrences)
>
> Thank you for the many section references; two more could be used in
> »<p id="section-10.8-3">Note that, if the cookie includes a key name,
> analogous to Section 4 of« and »<p id="section-6.1-7.3.1”>[…] (see
> Appendix D.4 of <span>[<a href="#RFC8446" class="cite
> xref">RFC8446</a>]</span>) when ECH is negotiated.«
>
> There are at least 17 occurrences of ‘bytes’ for counting lengths in
> bytes and 3 of ‘octet’/‘octets’.
>
> Please expand HRR on first use.
>
> Please define “ECH key” (8 occurrences) and “ECH record” (5
> occurrences).
>
> Please define “application profile” and “application profile standard”
> (10.4 uses “application using (D)TLS” — is that the same?)
>
> 1: »the SNI remains the primary explicit signal used to determine the
> server's identity.« -- used by whom?
>
> Figure 2 uses private.example.com in the second variant where
> private.example.org is used in the first; may want to use .org here as
> well
>
> 5: it is slightly surprising that the definition list explaining
> config_id and cipher_suite does this in an order different from the
> TPL in the figure above
>
> 5.1: The first figure has a cliff-hanger (length_of_padding); maybe
> add a reference to 6.1.3.
>
> 5.2: »This value does not include Handshake structure's four-byte
> header in TLS,«
>
> 6.1.1: »Including ClientHelloOuterAAD as the HPKE AAD binds the
> ClientHelloOuter to the ClientHelloInner, this preventing attackers«
> s/this/thus/ ?
>
> 6.1.3: »through -their length«
>
> 6.1.3: »that have sensitive-length fields« (hyphen ➔ space)
>
> 6.1.6 »yield a tracking vector« — for whom?
> ➔ supply the server with a tracking vector?
>
> 6.1.7: »reference identity« -- define?
>
> 6.1.7: »(e.g. [RFC3986], Section 7.4 and [WHATWG-IPV4])«
> The "and" does not work here
>
> 6.2.2: »Correctly-implemented client will ignore those extensions.«
>
> 10.9: could use superscript in place of 2^64
> (This of course only applies to usage in text, which seems to be the
> only one here.)
>
> 10.10.4: »out-of-scope. including, «
>
> I assume “page” in 11.3 is what is now called “registry group”?
>
>
>
>
_______________________________________________
TLS mailing list -- tls@ietf.org
To unsubscribe send an email to tls-le...@ietf.org

Reply via email to