<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.23 (Ruby 3.3.6) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-sullivan-tls-implicit-ech-00" category="std" consensus="true" submissionType="IETF" updates="draft-ietf-tls-esni-23" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.27.0 -->
  <front>
    <title abbrev="Implicit ECH Config">Implicit ECH Configuration for TLS 1.3</title>
    <seriesInfo name="Internet-Draft" value="draft-sullivan-tls-implicit-ech-00"/>
    <author initials="N." surname="Sullivan" fullname="Nick Sullivan">
      <organization>Cryptography Consulting LLC</organization>
      <address>
        <email>nicholas.sullivan+ietf@gmail.com</email>
      </address>
    </author>
    <date year="2025" month="February" day="26"/>
    <area/>
    <workgroup>Transport Layer Security</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 36?>

<t>This document updates the TLS Encrypted ClientHello (ECH) specification
<xref target="ECH-DRAFT"/> to support an implicit mode in
ECH signaled by a new <tt>implicit_ech</tt> extension in <tt>ECHConfigContents</tt>.
Clients that detect this extension override certain base ECH rules:</t>
      <ul spacing="normal">
        <li>
          <t>They <bcp14>MAY</bcp14> choose any outer SNI instead of <tt>public_name</tt>.</t>
        </li>
        <li>
          <t>They <bcp14>MAY</bcp14> choose any value for the <tt>config_id</tt> without an
application profile or being externally configured.</t>
        </li>
        <li>
          <t>They <bcp14>MAY</bcp14> use another value than ECHConfig.contents.public_name
in the "server_name" extension (rather than they <bcp14>SHOULD</bcp14> use it)</t>
        </li>
      </ul>
      <t>Client-facing servers that include <tt>implicit_ech</tt> in the ECHConfig <bcp14>MUST</bcp14> accommodate
flexible <tt>config_id</tt> usage as defined in Section 10.4. of <xref target="ECH-DRAFT"/>.
This approach enables the removal of stable identifiers (fixed config ID and
known public_name) that on-path adversaries can use to fingerprint a
connection.</t>
      <t>This improves upon the "Do Not Stick Out" design goal
from Section 10.10.4 of <xref target="ECH-DRAFT"/> by allowing clients to choose
unpredictable identifiers on the wire in the scenario where the set of
ECH configurations the client encounters is small and therefore
popular <tt>public_name</tt> or <tt>config_id</tt> values "stick out".</t>
      <t>Note that this increases CPU usage in multi-key deployments because
client-facing servers must perform uniform trial decryption to handle arbitrary
<tt>config_id</tt> values.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
    Transport Layer Security  mailing list (tls@ietf.org),
    which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/tls/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/grittygrease/draft-sullivan-tls-implicit-ech"/>.</t>
    </note>
  </front>
  <middle>
    <?line 66?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The Encrypted ClientHello (ECH) protocol <xref target="ECH-DRAFT"/> is designed to hide
sensitive TLS handshake parameters, including the real SNI, from passive
observers. In the base ECH model, the client sets its outer SNI to
the public_name and config_id from the ECHConfig. Both of these can
become stable fingerprints that on-path adversaries recognize.</t>
      <t>In implicit mode, the client <bcp14>MAY</bcp14>:</t>
      <ol spacing="normal" type="1"><li>
          <t>Select any outer SNI (rather than the public_name).</t>
        </li>
        <li>
          <t>Select any config_id instead of taking it from the ECH configuration
(without an application profile or extenal configuration agreement).</t>
        </li>
      </ol>
      <t>Client-facing servers that publish or accept implicit ECH configurations
must adjust key selection (e.g., single-key usage,
uniform trial decryption), removing reliance on stable config IDs or
well-known <tt>public_name</tt> values. This design helps conceal ECH usage
from on-path adversaries, though deployments may see increased CPU usage.</t>
      <t>This proposal also addresses a timing side-channel in GREASE vs. real ECH,
by requiring client-facing servers supporting implicit ECH always to perform trial
decryption as defined in Section 10.4. of <xref target="ECH-DRAFT"/> — ensuring consistent
behavior regardless of ECH key validity.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="implicit-ech-extension">
      <name>Implicit ECH Extension</name>
      <section anchor="extension-definition-and-semantics">
        <name>Extension Definition and Semantics</name>
        <t>A new ECHConfig extension type is defined to indicate implicit mode. If this
extension is present in ECHConfigContents.extensions, clients and client-facing
servers follow the rules described here, overriding certain parts of the base ECH
specification.</t>
        <t>The extension has the following format:</t>
        <artwork><![CDATA[
    enum { implicit_ech(TBD), (65535) } ECHConfigExtensionType;

    struct { // No data; presence indicates "implicit" usage } ImplicitECHConfig;
]]></artwork>
        <t>The extension_data is zero-length. The presence of this extension in the
ECHConfig signals to the client that the client-facing server is configured
for implicit ECH and follows the requirements of this document.</t>
      </section>
      <section anchor="overridden-rules-in-the-base-ech-specification">
        <name>Overridden Rules in the Base ECH Specification</name>
        <t>When the implicit_ech extension is found in ECHConfigContents.extensions, the
following rules in <xref target="ECH-DRAFT"/> are overridden:</t>
        <ul spacing="normal">
          <li>
            <t>The requirements for choosing the config_id in the ClientHello (Section 6.1.1.
of <xref target="ECH-DRAFT"/>). In implicit mode, the client <bcp14>MAY</bcp14> choose any value for
the config_id.</t>
          </li>
          <li>
            <t>Outer SNI usage (Section 6.1 of <xref target="ECH-DRAFT"/> says the client <bcp14>SHOULD</bcp14> set the
value of the "server_name" extension to ECHConfig.contents.public_name. In
implicit mode, the client <bcp14>MAY</bcp14> choose any valid domain name for the outer SNI.</t>
          </li>
        </ul>
        <t>Note that the validation rules in Section 6.1.7 of <xref target="ECH-DRAFT"/> still apply
and the client is still expected to validate that the certificate
is valid for ECHConfig.contents.public_name (not the "server_name" chosen by
the client) when the client-facing server rejects ECH.</t>
      </section>
    </section>
    <section anchor="client-behavior">
      <name>Client Behavior</name>
      <t>If the client sees the implicit_ech extension in an ECHConfig:</t>
      <ul spacing="normal">
        <li>
          <t>It <bcp14>MAY</bcp14> select any valid DNS name for the "server_name" extension,
ignoring public_name.</t>
        </li>
        <li>
          <t>It <bcp14>MAY</bcp14> produce a random or arbitrary config_id, rather than
using ECHConfigContents.key_config.config_id</t>
        </li>
      </ul>
      <t>Other aspects of the base ECH spec remain unchanged. In particular, the client
still picks a cipher suite from key_config.cipher_suites, produces a valid HPKE
ephemeral key, and encrypts ClientHelloInner into the payload field.</t>
      <t>If the client-facing server issues an ECH retry hint (for example, in
EncryptedExtensions), the client <bcp14>MUST</bcp14> still confirm that the server certificate
is valid for the public_name from the ECHConfig used to establish the connection.
Note that this may be a different name than the one sent in the outer SNI.</t>
      <t>As described in Section 6.1.1 of <xref target="ECH-DRAFT"/>, in the event of HRR, the config_id
<bcp14>MUST</bcp14> be left unchanged for the second ClientHelloOuter.</t>
    </section>
    <section anchor="client-facing-server-behavior">
      <name>Client-Facing Server Behavior</name>
      <t>A client-facing server that supports Implicit ECH on an IP address shared
with non-ECH services or GREASE ECH clients <bcp14>MUST</bcp14> attempt to decrypt the
encrypted ClientHello for every incoming connection that presents an ECH
extension. This requirement applies even if the <tt>config_id</tt> is not
recognized, so GREASE and valid ECH connections appear indistinguishable
from a timing perspective.</t>
      <t>If the decryption attempt succeeds, the server proceeds with the handshake using
the inner ClientHello and the appropriate certificate chain for the actual
(inner) SNI. If the decryption attempt fails, there are two possibilities:</t>
      <ol spacing="normal" type="1"><li>
          <t>The client was connecting to a domain that does not support ECH</t>
        </li>
        <li>
          <t>The client used a different ECHConfig than those currently supported on
the client-facing server.</t>
        </li>
      </ol>
      <t>After trial decryption, if the server recognizes the outer SNI, has a
certificate that covers it, and supports non-ECH connections for this
domain, then the server proceeds with a standard TLS handshake based
on the indicated SNI. Otherwise, the server <bcp14>MAY</bcp14> send an ECH retry hint
in the <tt>ServerHello</tt>, accompanied by:</t>
      <ol spacing="normal" type="1"><li>
          <t>A newly issued or updated ECHConfig, possibly including the implicit
flag again.</t>
        </li>
        <li>
          <t>A server certificate that is valid for the public_name in one of the
supported ECH configurations, ensuring the client can verify it.</t>
        </li>
      </ol>
      <t>If multiple ECH keys are in rotation, perform uniform trial decryption
to avoid timing signals that reveal actual vs. unknown config_id usage. The
server <bcp14>SHOULD</bcp14> attempt ECH decryption first to avoid revealing whether
the <tt>config_id</tt> was recognized.</t>
      <t>In this model, trial decryption on every connection ensures that GREASE
and real ECH connections are handled uniformly, preventing timing
side-channels.</t>
      <t>If the client’s ClientHello does not contain an ECH extension, the server
proceeds with a standard TLS handshake based on the indicated SNI. This
fallback behavior should remain unchanged from existing TLS handling. The
presence or absence of ECH extension data in the ClientHello is the primary
trigger for the server’s ECH logic.</t>
    </section>
    <section anchor="deployment-considerations">
      <name>Deployment Considerations</name>
      <t>Implicit config_id usage may require additional CPU overhead from trial
decryption for GREASE ECH handshakes. A single-key environment simplifies
ignoring the config_id and yields more uniform performance.</t>
      <t>Supporting implicit ECH configurations limits the number of different ECH
keys supported by a server on the same IP address since the outer SNI and
config_id can no longer be used to choose the appropriate ECH configuration.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="timing-side-channels-from-unknown-ids">
        <name>Timing Side-Channels from Unknown IDs</name>
        <t>In standard ECH, the server might quickly reject unknown hashed IDs. Implicit ECH
requires the server to attempt uniform decryption for IDs, reducing
the ECH vs. ECH GREASE timing gap.</t>
      </section>
      <section anchor="hiding-the-known-publicname">
        <name>Hiding the Known public_name</name>
        <t>By not placing <tt>public_name</tt> in the actual outer SNI, on-path adversaries
cannot block a known name. The client uses <tt>public_name</tt> only to authenticate
ECH retry hints, so an active attacker cannot degrade ECH without a valid
certificate.</t>
      </section>
      <section anchor="cpu-overhead">
        <name>CPU Overhead</name>
        <t>Randomized config_id and outer SNI usage can lead to increased CPU usage
from trial decryption. This cost grows if more than one ECH keys are
in use on the same server. Operators should consider minimizing the number
of active keys to mitigate this cost.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document requests that IANA add the following entry to the "ECHConfig
Extension" registry:</t>
      <ul spacing="normal">
        <li>
          <t>Value: TBD (suggested code point for <tt>implicit_ech</tt>)</t>
        </li>
        <li>
          <t>Extension Name: implicit_ech</t>
        </li>
        <li>
          <t>Recommended: Yes</t>
        </li>
        <li>
          <t>Reference: This document</t>
        </li>
        <li>
          <t>Notes: If present, the ECHConfig is "implicit," enabling ephemeral config_id
usage and flexible outer SNI.</t>
        </li>
      </ul>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="RFC2119">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner"/>
          <date month="March" year="1997"/>
          <abstract>
            <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="2119"/>
        <seriesInfo name="DOI" value="10.17487/RFC2119"/>
      </reference>
      <reference anchor="RFC8446">
        <front>
          <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
          <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
          <date month="August" year="2018"/>
          <abstract>
            <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
            <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8446"/>
        <seriesInfo name="DOI" value="10.17487/RFC8446"/>
      </reference>
      <reference anchor="I-D.draft-ietf-tls-esni-23">
        <front>
          <title>TLS Encrypted Client Hello</title>
          <author fullname="Eric Rescorla" initials="E." surname="Rescorla">
            <organization>Independent</organization>
          </author>
          <author fullname="Kazuho Oku" initials="K." surname="Oku">
            <organization>Fastly</organization>
          </author>
          <author fullname="Nick Sullivan" initials="N." surname="Sullivan">
            <organization>Cryptography Consulting LLC</organization>
          </author>
          <author fullname="Christopher A. Wood" initials="C. A." surname="Wood">
            <organization>Cloudflare</organization>
          </author>
          <date day="19" month="February" year="2025"/>
          <abstract>
            <t>   This document describes a mechanism in Transport Layer Security (TLS)
   for encrypting a ClientHello message under a server public key.

Discussion Venues

   This note is to be removed before publishing as an RFC.

   Source for this draft and an issue tracker can be found at
   https://github.com/tlswg/draft-ietf-tls-esni
   (https://github.com/tlswg/draft-ietf-tls-esni).

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-tls-esni-23"/>
      </reference>
      <reference anchor="ECH-DRAFT">
        <front>
          <title>TLS Encrypted Client Hello</title>
          <author fullname="Eric Rescorla" initials="E." surname="Rescorla">
            <organization>Independent</organization>
          </author>
          <author fullname="Kazuho Oku" initials="K." surname="Oku">
            <organization>Fastly</organization>
          </author>
          <author fullname="Nick Sullivan" initials="N." surname="Sullivan">
            <organization>Cryptography Consulting LLC</organization>
          </author>
          <author fullname="Christopher A. Wood" initials="C. A." surname="Wood">
            <organization>Cloudflare</organization>
          </author>
          <date day="19" month="February" year="2025"/>
          <abstract>
            <t>   This document describes a mechanism in Transport Layer Security (TLS)
   for encrypting a ClientHello message under a server public key.

Discussion Venues

   This note is to be removed before publishing as an RFC.

   Source for this draft and an issue tracker can be found at
   https://github.com/tlswg/draft-ietf-tls-esni
   (https://github.com/tlswg/draft-ietf-tls-esni).

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-tls-esni-23"/>
      </reference>
      <reference anchor="RFC8174">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author fullname="B. Leiba" initials="B." surname="Leiba"/>
          <date month="May" year="2017"/>
          <abstract>
            <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="8174"/>
        <seriesInfo name="DOI" value="10.17487/RFC8174"/>
      </reference>
    </references>
    <?line 264?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Marwan Fayed and Chris Patton provided ideas and contributions to this draft.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
1FT8H6mEBzjtJwAA

-->

</rfc>
