<?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.29 (Ruby 3.4.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-tls-key-share-prediction-03" category="std" consensus="true" submissionType="IETF" updates="8446" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.30.0 -->
  <front>
    <title>TLS Key Share Prediction</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-tls-key-share-prediction-03"/>
    <author initials="D." surname="Benjamin" fullname="David Benjamin">
      <organization>Google LLC</organization>
      <address>
        <email>davidben@google.com</email>
      </address>
    </author>
    <date year="2025" month="August" day="29"/>
    <area>Security</area>
    <workgroup>Transport Layer Security</workgroup>
    <abstract>
      <?line 34?>

<t>This document defines a mechanism for servers to communicate key share preferences in DNS. Clients may use this information to reduce TLS handshake round-trips.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://tlswg.github.io/tls-key-share-prediction/draft-ietf-tls-key-share-prediction.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-tls-key-share-prediction/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Transport Layer Security Working Group mailing list (<eref target="mailto:tls@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/tls/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/tls/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/tlswg/tls-key-share-prediction"/>.</t>
    </note>
  </front>
  <middle>
    <?line 38?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Named groups in TLS 1.3 <xref target="RFC8446"/> are negotiated with two lists in the ClientHello: The client sends its full preferences in the <tt>supported_groups</tt> extension, but also generates key shares for a subset in the <tt>key_share</tt> extension. Named groups in this subset may be used in one, while named groups outside the subset requires a HelloRetryRequest and two round trips. The additional round trip is undesirable for performance, but unused key shares consume network and computational resources, so clients often do not generate key shares for all groups.</t>
      <t>Post-quantum key encapsulation methods (KEMs) have large keys and ciphertexts, so network costs are particularly pronounced. As a TLS ecosystem transitions from one post-quantum KEM to another, it is challenging to pick key shares without prior knowledge of the server's policies:</t>
      <ol spacing="normal" type="1"><li>
          <t>Predicting both post-quantum KEMs consumes excessive bandwidth on the unused option.</t>
        </li>
        <li>
          <t>Predicting the old post-quantum KEM adds a round-trip cost to newer servers. Servers will be unlikely to transition as a result.</t>
        </li>
        <li>
          <t>Predicting the new post-quantum KEM adds a round-trip cost to older servers. Particularly early in the transition, when most servers do not implement the new KEM, this may significantly regress performance.</t>
        </li>
      </ol>
      <t>This document defines a method for servers to declare their named group preferences in DNS, using SVCB or HTTPS resource records <xref target="RFC9460"/>. This allows the client to predict key shares more accurately.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
"SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" 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>
    </section>
    <section anchor="dns-service-parameter">
      <name>DNS Service Parameter</name>
      <t>This document defines the <tt>tls-supported-groups</tt> SvcParamKey <xref target="RFC9460"/>, which specifies the endpoint's TLS supported group preferences, as a non-empty sequence of TLS NamedGroup codepoints in order of decreasing preference, with no duplicates. This allows clients connecting to the endpoint to reduce the likelihood of needing a HelloRetryRequest.</t>
      <section anchor="format">
        <name>Format</name>
        <t>The presentation <tt>value</tt> of the SvcParamValue is a non-empty comma-separated list (<xref section="A.1" sectionFormat="of" target="RFC9460"/>) of decimal integers between 0 and 65535 (inclusive) in ASCII, with no duplicate integers. Any other <tt>value</tt> is a syntax error. To enable simpler parsing, this SvcParam MUST NOT contain escape sequences.</t>
        <t>The wire format of the SvcParamValue is a sequence of 2-octet numeric values in network byte order. An empty list of values is invalid, as is a list containing duplicates.</t>
        <t>For example, a TLS server which prefers <tt>x25519</tt> (29) and also supports <tt>secp256r1</tt> (23) would add a <tt>tls-supported-groups</tt> SvcParamValue containing 29 and 23. The presentation <tt>value</tt> would be "29,23". The wire format of the SvcParamValue would be four octets, represented in hexadecimal as <tt>001d0017</tt>.</t>
        <t>The following is an example of the value appearing in a complete DNS record in the presentation syntax:</t>
        <sourcecode type="dns"><![CDATA[
example.net.  7200  IN SVCB 3 server.example.net. (
    port="8004" tls-supported-groups=29,23 )
]]></sourcecode>
      </section>
      <section anchor="configuring-services">
        <name>Configuring Services</name>
        <t>Services SHOULD include supported TLS named groups, in order of decreasing preference in the <tt>tls-supported-groups</tt> parameter of their HTTPS or SVCB endpoints. As TLS preferences are updated, services SHOULD update the DNS record to match. Services MAY include GREASE values <xref target="RFC8701"/> in this list.</t>
      </section>
      <section anchor="client-behavior">
        <name>Client Behavior</name>
        <t>When connecting to a service endpoint whose HTTPS or SVCB record contains the <tt>tls-supported-groups</tt> parameter, the client evaluates the server preferences against its own to predict which named group will be chosen. When evaluating the server preferences, the client MUST ignore any codepoints that it does not support or recognize. If there is a named group in common, the client MAY send a <tt>key_share</tt> extension containing just that named group in the initial ClientHello. To avoid downgrade attacks, the client MUST continue to send its full preferences in the <tt>supported_groups</tt> extension. See <xref target="security-considerations"/> for additional discussion on downgrades.</t>
      </section>
      <section anchor="misprediction">
        <name>Misprediction</name>
        <t>Although this service parameter is intended to reduce key share mispredictions, mispredictions may still occur in some scenarios. For example:</t>
        <ul spacing="normal">
          <li>
            <t>The client has fetched a stale HTTPS or SVCB record that no longer reflects the server preferences</t>
          </li>
          <li>
            <t>The server is in the process of deploying a change to named group preferences, and different server instances temporary evaluate different preferences</t>
          </li>
          <li>
            <t>The client was unable to fetch the HTTPS or SVCB record</t>
          </li>
          <li>
            <t>The client and server implement incompatible selection algorithms, such that client's evaluation of the service parameter did not match the server's final selection</t>
          </li>
        </ul>
        <t>Clients and servers MUST correctly handle mispredictions by responding to and sending HelloRetryRequest, respectively.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This document introduces a mechanism for clients to vary the <tt>key_share</tt> extension based on DNS. DNS responses are unauthenticated in many deployments, so this can permit attacker influence over the client's predicted named groups. That, in turn, can influence the named group selected by the TLS server, as TLS's downgrade protections only extend to the ClientHello itself. However, the client continues to send its full preferences in <tt>supported_groups</tt>, so this influence is limited by the server's named group selection policy:</t>
      <t>Servers which select purely based on preference orders will first select a named group on <tt>supported_groups</tt>, and then consider <tt>key_share</tt> only to send HelloRetryRequest or ServerHello. When connecting to such servers, attackers cannot influence the selection with this mechanism.</t>
      <t>However, some servers prioritize round-trip times over preference orders. That is, when choosing between a named group in <tt>key_share</tt> and a more preferable (e.g. more secure) named group not in <tt>key_share</tt>, these servers will select the less preferable one in <tt>key_share</tt>. In this case, an attacker may be able to influence the selection by forging an HTTPS or SVCB record. Per <xref section="4.2.8" sectionFormat="of" target="RFC8446"/>, the client's <tt>key_share</tt> extension does not reflect its full preference list in <tt>supported_groups</tt>. Thus, this server behavior is only appropriate when the two options are of comparable preference, such that round trip concerns dominate. In particular, it is NOT RECOMMENDED when choosing between post-quantum and classical named groups.</t>
      <t>As these semantics were already prescribed in <xref target="RFC8446"/>, it is safe for clients to admit attacker control over the set of named groups preferred in <tt>key_share</tt>, provided <tt>supported_groups</tt> always reflects the true client preference. Servers are expected to evaluate the combination of <tt>key_share</tt> and <tt>supported_groups</tt> according to the defined semantics and their selection goals.</t>
      <t>To reduce the risk of downgrade attacks with incorrectly deployed servers, clients MAY choose to ignore <tt>tls-supported-groups</tt> when the result would predict a less preferred group. For example, a client that implements a combination of post-quantum groups and ECDH groups MAY limit its influence to predicting post-quantum groups. This optimizes transitions between post-quantum groups, where the bandwidth concerns are more pronounced, but means ECDH-only servers cannot take advantage of the mechanism.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document updates the Service Parameter Keys registry <xref target="RFC9460"/> with the following entry:</t>
      <table>
        <thead>
          <tr>
            <th align="left">Number</th>
            <th align="left">Name</th>
            <th align="left">Meaning</th>
            <th align="left">Format Reference</th>
            <th align="left">Change Controller</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">9</td>
            <td align="left">tls-supported-groups</td>
            <td align="left">Supported groups in TLS</td>
            <td align="left">(this document) <xref target="format"/></td>
            <td align="left">IETF</td>
          </tr>
        </tbody>
      </table>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <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="RFC9460">
        <front>
          <title>Service Binding and Parameter Specification via the DNS (SVCB and HTTPS Resource Records)</title>
          <author fullname="B. Schwartz" initials="B." surname="Schwartz"/>
          <author fullname="M. Bishop" initials="M." surname="Bishop"/>
          <author fullname="E. Nygren" initials="E." surname="Nygren"/>
          <date month="November" year="2023"/>
          <abstract>
            <t>This document specifies the "SVCB" ("Service Binding") and "HTTPS" DNS resource record (RR) types to facilitate the lookup of information needed to make connections to network services, such as for HTTP origins. SVCB records allow a service to be provided from multiple alternative endpoints, each with associated parameters (such as transport protocol configuration), and are extensible to support future uses (such as keys for encrypting the TLS ClientHello). They also enable aliasing of apex domains, which is not possible with CNAME. The HTTPS RR is a variation of SVCB for use with HTTP (see RFC 9110, "HTTP Semantics"). By providing more information to the client before it attempts to establish a connection, these records offer potential benefits to both performance and privacy.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9460"/>
        <seriesInfo name="DOI" value="10.17487/RFC9460"/>
      </reference>
      <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="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>
      <reference anchor="RFC8701">
        <front>
          <title>Applying Generate Random Extensions And Sustain Extensibility (GREASE) to TLS Extensibility</title>
          <author fullname="D. Benjamin" initials="D." surname="Benjamin"/>
          <date month="January" year="2020"/>
          <abstract>
            <t>This document describes GREASE (Generate Random Extensions And Sustain Extensibility), a mechanism to prevent extensibility failures in the TLS ecosystem. It reserves a set of TLS protocol values that may be advertised to ensure peers correctly handle unknown values.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8701"/>
        <seriesInfo name="DOI" value="10.17487/RFC8701"/>
      </reference>
    </references>
    <?line 123?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The author would like to thank David Adrian, Bob Beck, Sophie Schmieg, Martin Thomson, and Bas Westerbaan for discussions and review of this document.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
5iD+FWAjAAA=

-->

</rfc>
