Hmm, these MUSTs puzzle me too. I recall a ton of fuss during ECH's design
in ensuring that frontend -> backend communication in split mode didn't
require any special channels (e.g. how the ECH acceptance signal depends
only on ClientHelloInner and not the HPKE secret). Having a backend server
know it is a backend server seems slightly inconsistent with this; if
backend servers are special entrypoints, then we could have avoided all
those constraints.

I had assumed the intended design was that TLS servers would just treat the
type=inner ClientHello as a "please swizzle your server random" marker but
otherwise not care too much about whether it received it internally (shared
mode) or somewhere over the network. (Presumably from some client-facing
server, but if not, nothing bad really happens.)

On Sat, Jul 5, 2025 at 9:40 PM Stephen Farrell <stephen.farr...@cs.tcd.ie>
wrote:

>
> Hiya,
>
> On 06/07/2025 01:14, Eric Rescorla wrote:
> > I'm confused. Backend servers already know they are backend servers, as
> in
> > S 7.2. The only new code here is that they must reject anything with
> > ECH.type == outer.
>
> Let me posit an example. Say we have CFS setup as a frontend
> and BE setup as a backend, with e.g. some VPN in between. As
> BE is ECH-aware, but has no ECH private keys, it knows how to
> produce an ECH-acceptance signal when it gets an inner CH. CFS
> and BE also need to know how to handle cases where the client
> is not ECH enabled, which will happen quite often, for some
> years at least.
>
> The current text seems to require the CFS to route connections
> to BE differently if ECH decryption worked or not, e.g. to a
> different port on BE, whereas it seems more natural to route
> those connections to the same BE port based on the inner SNI
> when ECH decryption worked, or the outer SNI if ECH wasn't
> attempted. (That's what the haproxy and nginx split-mode CFS
> code we've done can do, albeit that code hasn't been upstreamed.)
>
> If the current text requires the CFS to route connections
> differently based on whether or not ECH decryption worked,
> I'm not seeing why that's a win.
>
> But maybe I'm missing something that'd mean that BE needs to
> be configured differently based on whether ECH decryption
> worked, or whether ECH wasn't attempted. If the CFS routes
> connections to the same port on BE regardless, that seems
> ok, so I'm also not seeing a security problem if that's
> allowed.
>
> So, am I missing something? (Which happens often:-)
>
> Cheers,
> S.
>
> PS: I'm not arguing that the current text can't work, only
> that I don't understand why it's wise.
>
>
> _______________________________________________
> TLS mailing list -- tls@ietf.org
> To unsubscribe send an email to tls-le...@ietf.org
>
_______________________________________________
TLS mailing list -- tls@ietf.org
To unsubscribe send an email to tls-le...@ietf.org

Reply via email to