[TLS] Re: Implicit ECH Config for TLS 1.3 – addressing public_name fingerprinting
Loganaden Velvindron <loganaden@gmail.com> Wed, 26 February 2025 10:55 UTC
Return-Path: <loganaden@gmail.com>
X-Original-To: tls@mail2.ietf.org
Delivered-To: tls@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 20FC61BAF9D for <tls@mail2.ietf.org>; Wed, 26 Feb 2025 02:55:59 -0800 (PST)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.099
X-Spam-Level:
X-Spam-Status: No, score=-2.099 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietfa.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietfa.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id kZdtMyHmV30f for <tls@mail2.ietf.org>; Wed, 26 Feb 2025 02:55:57 -0800 (PST)
Received: from mail-pj1-x1034.google.com (mail-pj1-x1034.google.com [IPv6:2607:f8b0:4864:20::1034]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id 19BBA1BAF6A for <TLS@ietf.org>; Wed, 26 Feb 2025 02:55:45 -0800 (PST)
Received: by mail-pj1-x1034.google.com with SMTP id 98e67ed59e1d1-2fe82414cf7so995003a91.0 for <TLS@ietf.org>; Wed, 26 Feb 2025 02:55:45 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740567344; x=1741172144; darn=ietf.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=TbjCAVZXEqt2seR4QU4UBB4W2ToEuM9qBHQQh+Embto=; b=EB3Hmbx4sIYfRN0/uqJvt7D3Leelzd+FIKAhZ9V4HBo3KH8WmDBR2HTZiQ/ZfTS3n5 cCiqvAP9OWiUHc2LNZipnmlzu2XepDti+idnjlqdWx95LhyNvEnMOldc4m25RkfFGBUT Die4r2Uu/WH1czToDWhLksyFdD0uQMLjUk819lZ2MHyZIrEkD+UX8PeooT7NJRlRK6G5 gorsk09XYO1ftmc14EdY7j97D0GQunwndo3aYCglDmmd6BZ4gHYmcJhwtfca31dGi+XT 8yqDQCDEB7owoJcMfacN4cwIQhnY5pob3qk/XlxUOVgltfnsdUjgHocFhFj0tAj2uVCi jYSw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740567344; x=1741172144; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=TbjCAVZXEqt2seR4QU4UBB4W2ToEuM9qBHQQh+Embto=; b=w7Uql8fnaw7SYayDUciSpcQqrIO+Exb/f6+4HjkKcHYuuLcSP0q81hbt6FZbLZO3LE zBvp78GUnxkP/0RF/WSTriQ/CdVq9Ltlww7x+ctmFfGeLFgFECs/eYOEy9d+KVZwflwK fQmAvfS4zPrB6zMUyL7CYMesL4CrkMeJN87rLZBiv8sOYu2eSkw2Y1QAXSJQiDGqYrs1 06MKXZMGPVpx/NGrGGlx0DxtXczXVRkHJT93UKns2NtYdNbbA/FIuZo1ct/5WtF26Pab ZPD5Z2b9YqO0+n+XbTNkxRY9PDLtOpFSM83i8zCuRSF+23Xyw7d/RSpw+fx+BP9WLvFI YOGA==
X-Gm-Message-State: AOJu0YxdhcPRE4SslFThJ+iDVtOXjbgSXGozYm+SEsUk5EcJmbktbSov MYfM0hlWXOtR4hI6o3Rd80u7QvrstHz/wDkq/dqFCIJDFrbaO28MnKmKyq2RZw3AZysPKehMAnW BLLRAhK6ZKxxGLxgXqUTEQKKvzn4=
X-Gm-Gg: ASbGncuNAmf7XgeaFMbTWRY7NXv0/X6aG/ZZJo/+JBEPESsLhNsrePsDdHl9fv1+KTi 6AK6szVJuxruUjW5uw8HHdKLd++KjyQEqQ1SOlw+piJV3Fx/bMF+0cxI+3NdV5wJQE8JQBP2yh9 Ikr8SquZ0=
X-Google-Smtp-Source: AGHT+IGIxg12rRducRuBAichF8cQtJnWdYI5r4HZX2sWYf8HwrDRZpHS0T9t5tHsO7HfwwAoWbnzTmQYrcU4+Mnn+Go=
X-Received: by 2002:a17:90b:4ec6:b0:2ea:696d:732f with SMTP id 98e67ed59e1d1-2fe692c6ba8mr11011080a91.29.1740567344083; Wed, 26 Feb 2025 02:55:44 -0800 (PST)
MIME-Version: 1.0
References: <CAOjisRzBNG2KdAZXssnR9Ura9HuAUKxOH+VLCAE5B9MfYyeT2A@mail.gmail.com>
In-Reply-To: <CAOjisRzBNG2KdAZXssnR9Ura9HuAUKxOH+VLCAE5B9MfYyeT2A@mail.gmail.com>
From: Loganaden Velvindron <loganaden@gmail.com>
Date: Wed, 26 Feb 2025 14:55:29 +0400
X-Gm-Features: AWEUYZkL3LbF90tGAx4KwZLG6BL4HaBssKfilf815IpCZ_YLtTegDD8L-6dGtUY
Message-ID: <CAOp4FwQ4qhW0WFReeyb0bmnd__DxM1W5UuaK6c6iBF4LskPaug@mail.gmail.com>
To: Nick Sullivan <nicholas.sullivan@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Message-ID-Hash: QBFNQWTJQWFRHAS53PFLVJACQHNYY5UH
X-Message-ID-Hash: QBFNQWTJQWFRHAS53PFLVJACQHNYY5UH
X-MailFrom: loganaden@gmail.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-tls.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: "tls@ietf.org" <TLS@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [TLS] Re: Implicit ECH Config for TLS 1.3 – addressing public_name fingerprinting
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <tls.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/_6G5nUyYY9VBCUa8JoYqiACAN1g>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tls>
List-Help: <mailto:tls-request@ietf.org?subject=help>
List-Owner: <mailto:tls-owner@ietf.org>
List-Post: <mailto:tls@ietf.org>
List-Subscribe: <mailto:tls-join@ietf.org>
List-Unsubscribe: <mailto:tls-leave@ietf.org>
This looks like a reasonable change. I hope that this moves forward. On Wed, 26 Feb 2025 at 11:17, Nick Sullivan <nicholas.sullivan@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-leave@ietf.org
- [TLS] Implicit ECH Config for TLS 1.3 – addressin… Nick Sullivan
- [TLS] Re: Implicit ECH Config for TLS 1.3 – addre… Raghu Saxena
- [TLS] Re: Implicit ECH Config for TLS 1.3 – addre… Yaroslav Rosomakho
- [TLS] Re: Implicit ECH Config for TLS 1.3 – addre… Yaroslav Rosomakho
- [TLS] Re: Implicit ECH Config for TLS 1.3 – addre… Nick Sullivan
- [TLS] Re: Implicit ECH Config for TLS 1.3 – addre… Loganaden Velvindron
- [TLS] Re: Implicit ECH Config for TLS 1.3 – addre… Eric Rescorla
- [TLS] Re: Implicit ECH Config for TLS 1.3 – addre… Nick Sullivan
- [TLS] Re: Implicit ECH Config for TLS 1.3 – addre… Nick Sullivan
- [TLS] Re: Implicit ECH Config for TLS 1.3 – addre… Stephen Farrell
- [TLS] Re: Implicit ECH Config for TLS 1.3 – addre… Christopher Patton
- [TLS] Re: Implicit ECH Config for TLS 1.3 – addre… Martin Thomson
- [TLS] Re: Implicit ECH Config for TLS 1.3 – addre… Stephen Farrell
- [TLS] Re: Implicit ECH Config for TLS 1.3 – addre… Kazuho Oku