This looks like a reasonable change. I hope that this moves forward.

On Wed, 26 Feb 2025 at 11:17, Nick Sullivan <nicholas.sulli...@gmail.com> wrote:
>
> Hi everyone,
>
>
> I’ve put together a draft, “Implicit ECH Configuration for TLS 1.3” 
> (https://www.ietf.org/archive/id/draft-sullivan-tls-implicit-ech-00.html), as 
> a potential starting point for improving ECH’s “do not stick out” compliance. 
> Global deployments of ECH have become biased because a single public_name 
> dominates most ECH connections, making it a prime target for fingerprinting 
> (see https://github.com/net4people/bbs/issues/417). As discussed on the TLS 
> WG mailing list (see 
> https://mailarchive.ietf.org/arch/msg/tls/4rq4sZzpI9rjYgDLJ2IO-vG9DRw/), the 
> outer SNI remains the primary identifier that enables on-path adversaries to 
> identify ECH traffic.
>
>
> To mitigate these linkability risks, various past proposals were considered. 
> One idea was to randomize or override the outer SNI rather than always using 
> the provided public_name. For example, Stephen Farrell suggested allowing 
> clients to use an arbitrary or blank outer SNI (for certain use cases like 
> censorship circumvention). This would, in theory, make the outer handshake 
> less predictable, increasing traffic diversity across ECH connections. 
> However, others in the WG (e.g. Chris Wood) cautioned that relaxing this 
> requirement essentially reintroduces domain fronting, a side-effect the group 
> was wary of.
>
> The consensus was that fallback reliability and simplicity favored sticking 
> with the public_name in SNI. See Github discussions: 
> https://github.com/tlswg/draft-ietf-tls-esni/issues/396.
>
>
> Relatedly, early drafts used an 8-byte config_id, but as documented in 
> discussions around 2020-2021, it was shortened to one byte to reduce its 
> uniqueness and tracking potential—a change that was well received by privacy 
> advocates yet noted by implementers as complicating the deployment complexity 
> for multi-key scenarios, though not enough to hinder deployment.
>
>
> Implicit ECH Configuration, introduced in draft-sullivan-tls-implicit-ech-00, 
> builds on this prior work to propose a mode of ECH that minimizes explicit 
> signaling of the server’s identity. This draft introduces an optional 
> “implicit” mode via a new extension in ECHConfigContents. When this extension 
> is present, clients MAY choose any valid outer SNI and a randomized config_id 
> instead of relying on a potentially globally dominant public_name. 
> Client-facing servers, in turn, MUST perform uniform trial decryption to 
> ensure that every handshake is processed identically, regardless of whether a 
> valid or a phony config_id or outer SNI is provided.
>
>
> This approach enables clients to adopt custom strategies for maintaining 
> broad reachability, ensuring that a single public_name does not become a 
> reliable way for external observers to distinguish ECH from ECH GREASE at 
> scale. It is also useful for improving privacy when client-facing servers 
> support only one or a small number of domains, as it enables clients to 
> choose the outer SNI such that it is not merely a direct stand-in for the 
> inner name.
>
>
> Importantly, I don’t believe this approach reintroduces domain fronting. It’s 
> not possible to use implicit configuration ECH to connect to one site on a 
> server and then trick that server into serving HTTP responses for a second, 
> different site when the TLS certificate used to establish the connection is 
> not authoritative for that second site – the essential thing that 
> distinguishes domain fronting from other techniques. Implicit mode 
> effectively relegates the outer SNI to a mostly symbolic role for these 
> connections, used solely for ensuring network reachability—similar to how 
> certain legacy TLS 1.2 messages were retained in TLS 1.3 to address network 
> ossification issues.
>
>
> This change may have fit into the main ECH draft if it had been proposed 
> earlier. However, ECH has already been submitted to IESG for publication, so 
> I put this together as a standalone extension. I welcome your feedback on 
> this proposal as we work to reduce fingerprinting risks without sacrificing 
> deployability.
>
>
> Nick
>
> _______________________________________________
> 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