Subject: [TLS] ESNI/ECH: minor progress, much githubbery

From: Stephen Farrell <[email-masked]>
Date: Mon, 28 Sep 2020 20:54:33 +0100

Hiya,

Today I read over the diff between the latest ESNI/ECH
version and draft-07. [1] I have the following comments:

1. The volume of discussion on github is a deterrent. (*)
I can't keep up with that and coding at the same time
so (being busy elsewhere) paused my coding work in the hope
that the noise would fade over time. Consider this a noise-
reduction plea to allow time for implementation and
testing.

2. Almost all the changes seems fine but near-trivial.
The move to expand/extract from hashes doesn't seem
to add much. I hope there's some theory-justification
for it. I don't see 3 months of significant improvement
so please consider that we may have hit diminishing
returns in the mega-discussion.

3. (This isn't new, but no harm repeating:-) I don't
plan to adhere to the MUST send the public_name from
the ECHConfig. That makes sense for a browser but for
a command line tool, or similar, my conclusion is that
overriding can be justified, so I treat that as a
SHOULD. (I allow such an override for the openssl
s_client version I've done and similarly for curl.)

FWIW, I hope to now have time to resume coding. I won't
have time to process the volume of mails generated by
recent github discussion as well so plan to pay attention
to the text, openssl code and the mailing list. I
might or might not notice something significant in
the githubbery, so would be happy if significant changes
(if any) can be sent to the list.

Cheers,
S.

[1]
https://tools.ietf.org/rfcdiff?url1=https://tools.ietf.org/id/draft-ietf-tls-esni.txt&url2=https://tlswg.github.io/draft-ietf-tls-esni/draft-ietf-tls-esni.txt#part-2

(*) I get mail when there are comments on that repo. I
have gotten 784 since June 1 when draft-07 was published.
There were also 557 github emanations related to SVCB
in the same timeframe.

---

From: Rob Sayre <[email-masked]>
Date: Mon, 28 Sep 2020 19:58:20 -0700

> 1. The volume of discussion on github is a deterrent. (*)

I agree the churn has seemed surprisingly heavy. The changes look
well-meaning, but I don't really see a plan.

Are there OpenSSL / NSS / etc implementations others can work from?
Probably the best way to lock this in and ship is to write the code.

thanks,
Rob

---

From: Christopher Patton <[email-masked]>
Date: Tue, 29 Sep 2020 07:50:46 -0700

Hi Rob,

> Probably the best way to lock this in and ship is to write the code.

There are three implementations I'm aware of, all works in progress:

   1. Cloudflare's prototype (written by me):
   https://github.com/cloudflare/go/pull/30
   2. boringSSL: https://bugs.chromium.org/p/boringssl/issues/detail?id=275
   3. NSS: https://bugzilla.mozilla.org/show_bug.cgi?id=1654332

The first (1.) is nearly complete and undergoing review.

Best,
Chris P

On Mon, Sep 28, 2020 at 7:58 PM Rob Sayre <[email-masked]> wrote:

> On Mon, Sep 28, 2020 at 12:55 PM Stephen Farrell <
> [email-masked]> wrote:
>
>>
>> Hiya,
>>
> _______________________________________________
> TLS mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/tls
>

---

From: Stephen Farrell <[email-masked]>
Date: Tue, 29 Sep 2020 15:55:54 +0100

>    3. NSS: https://bugzilla.mozilla.org/show_bug.cgi?id=1654332

Mine has a readme at [1]. It works fine for draft-02 to
draft-04. Later stuff (draft isn't working yet. As I said
I had parked it for a bit, but am back working on it now.

Were there agreement on it, I think now would be a good
time to pause breaking changes 'till we have some of the
above interoping on the latest version.

S

[1] https://github.com/sftcd/openssl/tree/master/esnistuff

---

From: David Fifield <[email-masked]>
Date: Tue, 29 Sep 2020 11:35:47 -0600

> [1] https://github.com/sftcd/openssl/tree/master/esnistuff

There is also this, implementing draft-05:
https://www.tunnelbear.com/blog/tunnelbear-implements-encrypted-sni/
https://boringssl-review.googlesource.com/c/boringssl/+/42644

---

From: Rob Sayre <[email-masked]>
Date: Tue, 29 Sep 2020 10:59:52 -0700

On Tue, Sep 29, 2020 at 7:50 AM Christopher Patton <[email-masked]>
wrote:

>    2. boringSSL:
>    https://bugs.chromium.org/p/boringssl/issues/detail?id=275

Great. I will work to get Rustls interoperating with it. The current
code[1] only implements draft -02.

thanks,
Rob

[1] https://github.com/ctz/rustls/pull/318

---

From: Christopher Patton <[email-masked]>
Date: Tue, 29 Sep 2020 11:30:52 -0700

Sweet! Please let me know if you find any bugs on my end.  Feel free to
chime in on the PR.

Chris P.

---

From: Rob Sayre <[email-masked]>
Date: Wed, 30 Sep 2020 20:56:13 -0700

On Mon, Sep 28, 2020 at 12:55 PM Stephen Farrell <[email-masked]>
wrote:

> plan to adhere to the MUST send the public_name
>

I should also add I don't care about this requirement, and it is
unenforceable anyway.

thanks,
Rob