Hi Chris,

Thank you for writing down the PRs describing possible designs that we
might adopt. I think it helps a lot in understanding the details and
making accurate comparisons.

My comments inline.

2019年2月27日(水) 8:19 Christopher Wood <christopherwoo...@gmail.com>:
>
> Hi folks,
>
> Below are two PRs that seek to address the multi-CDN issue discussed
> on this list and in meetings:
>
>    1. https://github.com/tlswg/draft-ietf-tls-esni/pull/136
>    2. https://github.com/tlswg/draft-ietf-tls-esni/pull/137
>
> #136 implements the combined or stapled record approach discussed
> several times, most recently in [1]. It includes these via an ESNIKeys
> extension.

Reading the PR, I think that there is a mild privacy concern. The
issue with the unified record proposal is that it incentivizes the
operators to create more ESNI records possibly using different keys,
which is against the design principle of ESNI: provide anonymity set
by using the least number of keys.

Retaining address resolution unbundled with ESNI incentivizes the
operator to use less number of keys; for example they might just use
one key at a time. That would be a nice property to have, especially
in terms of transparency. It would help third parties verify that an
operator is actually providing an anonymity set (rather than just
pretending to use ESNI).

Also, I would like to point out that it is only when one key is used
by each of the provider at a given time that it would be possible to
use ESNI from a network that blocks DoH or DoT; a user can write the
IP addresses of services he/she wants to access in the hosts file, and
supply the ESNI key to the client he/she uses. Such a hack becomes
difficult under the unified approach, where operators could synthesize
different keys based on various conditions.

At the least, if we are to adopt #136, I think we should change the
definition of record digest included in the ClientHello extension so
that it does not cover the "address_set" extension of the ESNI record.
Otherwise, we would be exposing to the wire the fingerprint of the set
of IP addresses contained in the DNS response the client received
through a secure channel, whereas in the split record approach you
only leak the ESNI key being used and the IP address the client has
chosen.

As much as I like the idea of bundling IP addresses and ESNI key, I am
concerned if the requirement to bundle different types of records is a
requirement specific to ESNI. If not, I think we should (in the long
term) try to create a generic solution, while in the short time we
could rely on a more limited mechanism as proposed in #137.

> #137 builds on this design with a mechanism that lets
> clients detect and recover from A/AAAA and ESNI mismatch (if desired).
> It is certainly more complex in several respects. A third variant,
> which is not (yet) in PR form, is a simplification of #137 wherein
> ESNIKeys addresses are only used as filters, instead of filters *or*
> complete addresses.

I think using IP address blocks to limit the validity of the ESNI key
is a fine approach. I do not oppose to having a name-based filter if
it's impossible for certain operators to apply the IP address-based
filtering approach.

> We are asking for feedback on these PRs, as we would like to merge one
> of them for the next draft version. As #136 is simpler and permits
> extensibility, that is the current preference.
>
> Thanks in advance for your feedback.
>
> Best,
> Chris (no hat, on behalf of the authors)
>
> [1] https://mailarchive.ietf.org/arch/msg/tls/WXrPgaIsIPItDw3IQthmJk9VRlw
>
> _______________________________________________
> TLS mailing list
> TLS@ietf.org
> https://www.ietf.org/mailman/listinfo/tls



-- 
Kazuho Oku

_______________________________________________
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls

Reply via email to