Hi Ben,

On 08/06/2022 20:35, Ben Schwartz wrote:
I am supportive of this effort, but I am not convinced that the proposed
mechanism is right.

That's fair. FWIW, I do agree the issues you identify below
warrant discussion (my preference of course is to do that
after WG adoption:-)


In ECH, there are two essential deployment topologies: "shared" and
"split".  In "shared" mode there is operationally only one TLS server
(processing inner and outer ClientHellos); in "split" mode there are two.
Note that CDNs are an instance of "shared" mode, whereas "split" mode is a
novel architecture that somewhat resembles a L3 load balancer.

For coordination of ECHConfigs between CDNs and their customers, the SVCB
draft defines a clear and simple mechanism: use CNAME and/or SVCB AliasMode
to point at the CDN's record.  This avoids the need to copy any information
from the CDN zone into the customer zone, which adds complexity and creates
a risk of desynchronization.  I don't think this draft should try to
address that use case.

Correct. And the draft doesn't try address such deployments
where other mechanisms would be better. (I think you made a
comment before that some text somewhere that describes a set
of ECH or SVCB deployment options could be useful. I agree
with you about that - not sure an I-D/RFC would be the best
place for it though.)

For coordination between a "shared mode" HTTP server and its own DNS zone,
this draft could apply (although perhaps not with the current draft's path
structure).

Actually, I think you'd still need (to be able to) use a
scheme like the current draft's to handle VirtualHosts. But
I'm not particularly tied to the current path structure
either.

However, it strikes me as incomplete, as it does not convey
all the other information that an HTTP server would likely want to use to
populate its DNS zone, such as ALPN and perhaps even IP addresses.  For
this application, I would prefer a version that is extensible to future
SvcParamKeys as well (e.g. dohpath [1], oblivious [2]).

I agree that's a topic to discuss - the current draft only
does what I needed and I was only using v. simple HTTPS RRs.
My first cut for such things would be to handle 'em by
allowing that kind of data to be part of the JSON responses.
Be nice if there was some way to characterise what kinds
of data make sense there so avoid the potential slipperly
slope though. (I do agree about inner alpns though - that
definitely makes sense.)

For coordination between a "split mode" server and the "backend" origin
zone, this draft seems to provide the right functionality, but its use of
HTTP seems odd, as neither party is otherwise obligated to use HTTP at
all.

Well, my focus has been on where the ECH front-end (whether
shared or not) is a web server on which the ECH key pairs
are generated, so using HTTP there seems natural to me.

It might be preferable to tell the split mode server to publish its
ECHConfigs in a SVCB record, and instruct backends to copy it into their
HTTPS record.

Could be. My guess is organisationally that'd be harder to
arrange, for organisations where different people manage the
DNS and web servers.

This would avoid asking DNS servers to become HTTP clients.

I figure the zone factory thing is more likely a hidden
primary or similar so I don't think that's tricky, but
fair point I guess.

While DNS is not necessarily secured, ECH excludes DNS-modifying
adversaries from its threat model, so this might be acceptable (although
the location of the attack is different in this case).

Yeah, another benefit of HTTP is server authentication. An
HTTP client in the zone factory also enables validation that
the ECH keys provided actually do work, before publishing
them in the DNS, which seems desirable to me.

Alternatively, this coordination could be achieved by a simple TTL
extension to the ECHConfig structure.  Zone Factories could retrieve an
up-to-date ECHConfigList by sending an empty inner_client_hello extension,
triggering the fallback mechanism to learn the ECHConfigList and its TTL.

I thought about that (and it's noted in the draft.) The
argument against is that the retry-configs (at least as I
provide 'em from web servers) only include the most-recent
ECH public key whereas the HTTPS/SVCB RRs include that plus
the older ones that still work. I would guess what one gets
in retry-configs might be too variable to use as the source
of data to publish in the DNS. And of course, you'd also
miss out on the other data (alpn etc.) you'd like to see in
the JSON or wherever.

So in summary, I am willing to review this draft, but I would prefer to
have more discussion from first principles about the use case and mechanism
before we pick a direction.

Again, I'd argue that'd all be better done after WG adoption.

Cheers,
S.



[1]
https://datatracker.ietf.org/doc/html/draft-ietf-add-svcb-dns#section-5.1
[2]
https://www.ietf.org/archive/id/draft-pauly-ohai-svcb-config-01.html#section-3.1

On Wed, Jun 8, 2022 at 2:17 PM Sean Turner <s...@sn3rd.com> wrote:

Hi!

The author of "A well-known URI for publishing ECHConfigList values" [0]
presented at IETF 113 in dispatch [1]. He was directed to dnsop, but dnsop
passed on adopting the I-D. To explore the 2nd option suggested by
dispatch, please send a message to the TLS list by 2359 UTC 23 June 2022
that indicates:

1) Whether you are willing to review and contribute to this I-D, and
2) Whether you support adopting this I-D as a WG item.

Please include any additional information that is helpful in understanding
your position.

Thanks,
Joe and Sean

[0] https://datatracker.ietf.org/doc/draft-farrell-tls-wkesni/
[1]
https://datatracker.ietf.org/meeting/113/materials/slides-113-dispatch-a-well-known-url-for-publishing-echconfiglists-00
_______________________________________________
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls



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

Attachment: OpenPGP_0x5AB2FAF17B172BEA.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

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

Reply via email to