Hi Marwan,

While refraining from commenting on this point on the body of your email, I do 
feel compelled to remind that all postings and contributions are covered by the 
notewell at https://www.ietf.org/about/note-well/

Specifically:

• As a participant in or attendee to any IETF activity you acknowledge that 
written, audio, video, and photographic records of meetings may be made public.

Thanks

Andrew


From: TLS <tls-boun...@ietf.org> On Behalf Of Marwan Fayed
Sent: Tuesday, October 18, 2022 3:01 PM
To: tls@ietf.org
Subject: Re: [TLS] 115 Proposal - ECH, server-side deploy risks and trade-offs

Folks,

A personal opening set of words for the public audience: The comments
below are not for public use outside the mailing list without
discussion or consent; it would be far too easy to take these words
out of context for use by special interests.

A big thanks for the thoughtful replies. The contents of this thread
so far suggest that the design of ECH, and specifically the outer-SNI,
either strongly affects or is strongly affected by deployment matters.
I claim that outer-SNI and deployment are entwined and cannot be
disentangled.

The design of outer-SNI makes assumptions and/or has dependencies, and
with details that are subtle. We might claim that deployment matters
are separate and independent, but that cannot be true if there are
logical and direct technical effects on or by servers, clients, and
the Internet that connects them. "I claim" that the community is both
professionally and ethically obliged [6] to consider deployment
matters. Also within the bounds of IETF, arguably any wg charter is
supplemented or superseded by the IETF Mission Statement and
Principles in RFC3935 [8, 9] that, in context of this thread, is full
of statements that compel consideration of deployment matters.

Permit me to be direct: There are sound technical reasons that the
current design of outer-SNI may achieve the exact opposite of what ECH
sets out to do and/or, quite possibly, that outer-SNI has an adverse
effect on the health of the Internet ecosystem. As a motivating
opener, the technical community lives and breathes notions of
“everything has a trade-off” and “nothing comes for free.” In that
spirit, I note that the challenges faced by the original ESNI in 2018
have not disappeared; at best, outer-SNI has shifted challenges from
‘middleboxes’ (although not entirely) to the clients and servers at
the endpoints. Those trade-offs and impacts should at least be
acknowledged, if not actioned.

So, first technical point: Each and every claim that bolsters ECH by
notions of “IP is identity” is a logical fallacy or factually
incorrect, and is duly ignored. For the purpose of illustration,
expansions and explanations are provided in 'Appendix' trailing this
post. However, it is of course true that “IP blocking is
easier/cheaper than SNI filtering or blocking.” Focussing on
outer-SNI, then, I’ve ‘bucketed’ the deployment details as follows:

1. Reason to revisit: ECH appears to violate the Anonymity Trilemma.
2. Server-side assumptions, considerations, and vulnerabilities.
3. Client-side considerations; inconsistent privacy means misinformed clients
4. Next steps
References
Appendix

--------------------
1. The Anonymity Trilemma [7] states, “an [anonymous communication
protocol] can only achieve two out of the following three properties:
strong anonymity…, low bandwidth overhead, and low latency overhead.”

If the trilemma exists, and there is no reason to believe it doesn’t,
then it is violated by the ECH. But if and since it is a lemma, it
cannot be violated. So either it is not a lemma, OR ECH doesn’t
violate the lemma directly, which means that ECH must be imposing a
cost, or sacrifices, of one of those properties elsewhere --- and
deserves to be inspected more closely on that basis.

Clearly, ECH is low latency and low b/w overhead, which leaves
anonymity. Note that privacy in ECH is achieved via an anonymity set
of domain names -- not of clients nor operators. In effect, privacy is
conferred on clients by ‘proxy’ of the outer-SNI. If the lemma is
true, then the gained or perceived privacy must be ‘paid’ by some
other means.

Indeed, (i) if an operator is small, or a single IP has few-to-1
domain names, then anonymity doesn’t exist; or (ii) if the operator is
large or there are lots of domain names then anonymity comes at the
cost of the operator’s identity that cannot be reliably assumed or
understood by IP (see Appendix).

I have no wish to make the following statement, especially given the
hard work that’s gone into ECH and that it’s something (certainly I
find) highly desirable, but here goes: On the basis of the lemma, one
could humbly reason that ECH fails to provide privacy as it should be
because it either offers little-to-no more privacy in some cases, or
achieves some level of privacy strictly by always trading operator
identity.

Only the wg can determine whether that means ECH meets, or is unable
to meet, its stated privacy goals, but these points matter for
deployment considerations, as described below.

--------------------
2. Server-side

First, reiterating a point that in the absence of fixed outer-SNI, IP
does *not* reliably identify operators (see Appendix); also where an
IP is provably attached to an operator, without fixed outer-SNI there
are levels of indirection and effort needed to make the association
visible.

2A.
Server-side considerations fall in two buckets: An operator manages
authoritative DNS for a zone/domain, or it does not. Consider the
former. An operator has an IP on which half of names are ECH-enabled
and half are not. If IP blocking is easier and more likely, then an IP
block triggered by ECH penalizes non-ECH connections. This is not only
unintended by ECH, but is an "over-reach" of the idea that outer-SNI
is inconsequential b/c IP blocking is easier.

Now extend that notion out to the large-scale operators that manage
their own DNS and that advertise tens, thousands, or more of IPs,
each having some-to-all names that are ECH-enabled. This is the ideal
setup for ECH. Recall that the outer-SNI is fixed for all domains and
IPs. Since the claim is that IP blocks are easier than SNI blocks
(because the claim is of course true), then notions of “easier to
block by IP” is worse than inconsequential, and severs large numbers
of clients from large parts of the Internet. Is this really the
argument for “outer-SNI doesn’t matter” ?

Moreover, consider authoritative DNS that is not managed or owned by
the operator -- a common setup, for example, used by owners of content
for load balancing [5] across multiple IPs at different operators. In
this case, ECH ‘on-by-default’ in TLS stacks injects risk into the
operator’s reachability, because IP blocks are easier than ECH blocks.
This is a risk that the operator cannot control. Are we suggesting
it’s ok for the content owner’s auth DNS to trigger an IP block on IPs
they don’t own, operate, or control, and that would take the other
content on the operator’s IP down with it? This is a risk injected by
ECH because of (at least) the way outer-SNI is deployed, which happens
because of “easier to block IPs” thinking, and is solved only by
disabling ECH in the “open source TLS stacks” on which operators will
rely.

2B.
ECH, and specifically deployment of fixed outer-SNI, matters to small
or “bedroom closet” operator deployments, too, because they are
completely left behind. Either they enable and confer (at best) no
additional privacy to clients (see Sections 1., above, and 3., below),
or the small operators move their service to a large operator. We
should be asking if this fits with the IETF Mission Statement and
principles set out in RFC3935 “to make the Internet work better” [9].

--------------------
3. Client-side. Also re-stating for the wider audience that comments
are not intended for public use outside the wg without discussion or
consent.

A sincere question: If the goal of ECH is privacy, and since privacy
is variable according to the size of anonymity set, how does this
*safely* get deployed to clients? In particular, how does the client
or user know the level of privacy for a given connection?

Explanation: The anonymity set for a domain cannot be known from a
query and, since IPs can change [2, 3, 5], knowing the anonymity set
requires a client to be aware of all DNS responses for all zones at
all moments in time -- which of course is infeasible, if not
impossible. For example, worldwide DNS queries for all zones in the
.com, .org, .info., and .net zone files in August 2022 revealed that
43% of names map to a single unique IP that is not shared with other
names [10] -- but that is only four zone files, in one moment in time,
from one vantage point on each of five continents, so lots could be
different today or elsewhere.

If the outer-SNI is about privacy, should users know how much privacy
they’re getting? (I note that fixed outer-SNI on Twitter or Facebook
arguably provides little more privacy than a bedroom closet.)
Alternatively, if the goal of outer-SNI is censorship circumvention
(and ignoring that this is a no-op for many operators), then does the
outer-SNI create a false (and unrecognized) sense of privacy that puts
clients or users in vulnerable populations at risk?

Here, too, RFC 3935 arguably compels consideration. The mere existence
of these questions implies that there are design and deployment
considerations attached to outer-SNI that impact clients. These may or
may not violate the stated goals, but there should be at least
acknowledgement, if not consensus.

--------------------
4. Possible next steps?

Honestly, 'next steps' is the reason to post to the list! At a
minimum, I humbly suggest that opportunities be made to discuss at
115. There is a direct link between outer-SNI and deployment, not
least that is affected by ECH design goals.

I defer to the wg to decide the ‘how’ of that discussion, but I humbly
suggest that it should absolutely be within the framework of the tls
wg (RFC3935).

Thanks for consideration, especially given the nature of the content.
--marwan

--------------------
References (also for Appendix)

[1] RFC791, Internet Protocol, https://www.rfc-editor.org/rfc/rfc791
(2.3 and beyond)
[2] Fayed et al., “The ties that un-bind:...” ACM SIGCOMM’21,
https://doi.org/10.1145/3452296.3472922
[3] “The ties that un-bind:...,” 12-min video,
https://youtu.be/zg6944L-B3M?t=2137
[4] ICANN, WHOIS Accuracy, https://whois.icann.org/en/accuracy
[5] RFC 1794, “DNS Support for Load Balancing,”
https://datatracker.ietf.org/doc/rfc1794
[6] Henning Schulzrinne, “Networking: The Newest Civil Engineering
Challenge,” https://youtu.be/5lvXIqI_mQ4?t=1435 (direct link to “With
impact comes responsibility”
[7] Das et al., “Anonymity Trilemma:..,” IEEE S&P’18 (Oakland),
https://doi.org/10.1109/SP.2018.00011
[8] IETF Mission and Principles, https://www.ietf.org/about/mission
[9] RFC 3935, “A Mission Statement for the IETF,”
https://datatracker.ietf.org/doc/rfc3935
[10] Work in preparation; discussable in a closed forum.

--------------------
Appendix (also begging forgiveness in advance for the rather strong
tone for what follows).

On one very and immediate technical matter, there needs to be absolute
clarity: Each and every claim that bolsters ECH by relying on IP as
identity is a fallacy. This position is easily proven, unequivocal and
wholly defensible. With no effort, there are (at least) three ways to
make this point.

A1.
Arguments that dismiss concerns about outer-SNI using IP are a logical
fallacy, as follows:
(i) Blocking IPs is bad because “IP is not identity”. See RFC791 [1]
which makes clear that IPs have no relationship with what’s behind
them, more recently Addressing Agility [2, 3] and beyond. Throughout,
this notion is either explicit, or understood to be true, and is
factually correct -- and is the basis of IP blocking being bad.
(ii) In ECH, outer-SNI is dismissed as identifying operators is said
to be inconsequential because “IP is identity.”
(iii) It is not possible for (i) and (ii) to both be true, and (i) is
most definitely true

Ergo (ii) must be a fallacy. Our suggesting otherwise as a community
sacrifices credibility.

A2.
IP addresses do not uniquely nor reliably identify an operator, nor
use of the IP. IPs are borrowed, leased, loaned, and passed around,
often without any public record. Some operators have BYOIP products,
in which owners of IP space provide LoAs to operators to advertise
that IP space -- which may or may not terminate with the operator.
Alongside, WHOIS records are known to be inaccurate [4]. Furthermore,
any assumed use of an IP address sets up the assumption for failure.
IP addresses can change for any reason at any time [2,3]. Each of
these statements is true whether an operator owns the IPs on which ECH
is deployed, or not.

========== End of Appendix, and post ==========

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

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

Reply via email to