<?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.24 (Ruby 3.3.6) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-pauly-privacypass-for-tls-00" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.0 -->
  <front>
    <title abbrev="Privacy Pass for TLS">Including Privacy Pass Tokens in TLS Handshakes</title>
    <seriesInfo name="Internet-Draft" value="draft-pauly-privacypass-for-tls-00"/>
    <author fullname="Tommy Pauly">
      <organization>Apple</organization>
      <address>
        <email>tpauly@apple.com</email>
      </address>
    </author>
    <author fullname="Scott Hendrickson">
      <organization>Google</organization>
      <address>
        <email>scott@shendrickson.com</email>
      </address>
    </author>
    <date year="2025" month="March" day="03"/>
    <area/>
    <workgroup>Privacy Pass</workgroup>
    <abstract>
      <?line 35?>

<t>This document defines a mechanism for TLS servers to request, and TLS clients to
provide, Privacy Pass tokens as part of the Encrypted Client Hello in the TLS
handshake. This creates a way to add support for anonymous attestation and
rate-limiting to servers that are enforcing denial-of-service protections as
part of processing TLS handshakes.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-pauly-privacypass-for-tls/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Privacy Pass  mailing list (<eref target="mailto:privacy-pass@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/privacy-pass/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/privacy-pass/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/tfpauly/draft-privacypass-for-tls"/>.</t>
    </note>
  </front>
  <middle>
    <?line 44?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Privacy Pass Tokens <xref target="PPARCH"/> are cryptographic authentication messages
that can be used to verify properties of a network entity, such as proving that a
client passed some attestation check, without being linkable to other tokens
or revealing identities.</t>
      <t><xref target="PPAUTH"/> defines how Privacy Pass Tokens can be requested by HTTP servers
(via an authentication challenge) and provided by HTTP clients. This is useful
for providing privacy-preserving authentication or attestation in HTTP workflows.
However, Privacy Pass Tokens can also be used in other contexts and protocols.
For example, <xref target="I-D.sawant-eap-ppt"/> defines how to include tokens in EAP
(Extensible Authentication Protocol) exchanges.</t>
      <t>Some server deployments enforce rate-limiting on TLS <xref target="TLS13"/>
handshakes to prevent denial-of-service (DoS) attacks, particularly by rate
limiting the number of connections allowed from individual client IP addresses
or IP address subnets. This is common in scenarios where the cost of handling a
terminated TLS connection is significantly higher than handling the initial
handshake, like in L7 loadbalancers with heavy-weight protocol conversions
after termination.</t>
      <t>This enforcement can particularly impact cases where many clients are using a
particular IP subnet due to using a privacy-preserving proxy (some examples are
described in <xref target="PRIVACYPARTITIONING"/>). For such cases, even if clients
are able to provide Privacy Pass Tokens or similar proofs at the HTTP layer,
their connections might be denied or rate-limiting during TLS session
establishment.</t>
      <t>In order to signal that clients meet certain criteria (rate-limiting, etc),
without disclosing individual client identities or pseudonyms, this document
defines a way to include Privacy Pass Tokens within the TLS handshake.
Specifically, these tokens are sent within the TLS Encrypted Client Hello
<xref target="ECH"/>. This  prevents network observers from being able to
directly observe the tokens, while still allowing the TLS server to observe the
token early in the handshake.</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="overview">
      <name>Overview</name>
      <t>Clients can include Privacy Pass tokens as part of the TLS Client Hello
via the <tt>privacy_pass_token</tt> extension. This is described in <xref target="token_extension"/>.
Clients <bcp14>MAY</bcp14> be configured to always present tokens when performing a TLS
handshake with a particular server. However, in general, clients <bcp14>SHOULD NOT</bcp14>
automatically include Privacy Pass tokens; without an explicit challenge,
clients won't know the relevant token type or issuer to use.</t>
      <t>Servers can request tokens by adding the <tt>privacy_pass_challenge</tt> extension
to a TLS Hello Retry Request. This is described in <xref target="challenge_extension"/>.
Servers that want to receive Privacy Pass tokens as a way to enforce DoS
protection <bcp14>SHOULD</bcp14> send challenges to clients when these clients would
otherwise be blocked or rate-limited in some fashion.</t>
    </section>
    <section anchor="challenge_extension">
      <name>Requesting Privacy Pass Tokens</name>
      <t>In order to request that a client sends a Privacy Pass token, a
server can send a Hello Retry Request (<xref section="4.1.4" sectionFormat="comma" target="TLS13"/>) that includes a <tt>privacy_pass_challenge</tt> extension.</t>
      <t>The <tt>privacy_pass_challenge</tt> extension has the following format:</t>
      <artwork><![CDATA[
      struct {
          opaque challenge<1..2^16-1>;
          opaque token_key<0..2^16-1>;
      } PrivacyPassChallenge;
]]></artwork>
      <t>The fields are defined as follows:</t>
      <ul spacing="normal">
        <li>
          <t><tt>challenge</tt> contains a <tt>TokenChallenge</tt> structure, as defined in
<xref section="2.1.1" sectionFormat="comma" target="PPAUTH"/>.</t>
        </li>
        <li>
          <t><tt>token_key</tt> contains a public key for use with the issuance protocol,
where applicable. This is equivalent to the <tt>token-key</tt> parameter used
in HTTP authentication challenges discussed in <xref section="2.1.1" sectionFormat="comma" target="PPAUTH"/>.
The <tt>token_key</tt> may be empty (have a zero length), in which case clients
are expected to fetch the token key for a particular issuer name in
another way.</t>
        </li>
      </ul>
      <t>If a client does not include the token in the Client Hello (or subsequent Client
Hello after being challenged), the server <bcp14>MAY</bcp14> reject the request or apply
rate-limiting.</t>
      <t>Clients <bcp14>SHOULD</bcp14> apply some form of consistency check on the token challenge
to avoid (malicious) anonymity set partitioning by the server; see <xref section="6.2" sectionFormat="of" target="PPARCH"/> for more details.</t>
      <t>Servers sending challenges can use a non-empty <tt>redemption_context</tt>
in order to bind the token challenge to a particular context (such as the client
IP address, or a time window) to aid in token replay prevention.
Servers <bcp14>MAY</bcp14> combine sending <tt>privacy_pass_challenge</tt> extensions with
a <tt>cookie</tt> extension (<xref section="4.2.2" sectionFormat="comma" target="TLS13"/>). For example, servers
that cannot statefully persist the token challenge presented to the
client in the <tt>privacy_pass_challenge</tt> extension can use the <tt>cookie</tt>
extension to encode this challenge.</t>
    </section>
    <section anchor="token_extension">
      <name>Presenting Privacy Pass Tokens in Encrypted Client Hello</name>
      <t>Clients can include Privacy Pass tokens in TLS handshakes using the
<tt>privacy_pass_token</tt> extension. This extension <bcp14>MUST</bcp14> be sent in the Inner Client Hello,
using <xref target="ECH"/>. If ECH is not supported, clients <bcp14>SHOULD NOT</bcp14> use Privacy
Pass tokens in TLS in order to avoid adding more tracking entropy visible on
the wire, and making it easier to trivially replay tokens to a server.</t>
      <t>The <tt>privacy_pass_token</tt> extension has the following format:</t>
      <artwork><![CDATA[
      struct {
          opaque token<1..2^16-1>;
      } PrivacyPassToken;
]]></artwork>
      <t>The <tt>token</tt> field uses the <tt>Token</tt> structure defined in <xref section="2.1.1" sectionFormat="comma" target="PPAUTH"/>.</t>
      <t>Tokens are generally presented after receiving a challenge, but a client <bcp14>MAY</bcp14>
include a token without having received a challenge if it has other out-of-band
configuration to do so.</t>
      <section anchor="handling-inability-to-present-tokens">
        <name>Handling Inability to Present Tokens</name>
        <t>Servers need to be able to detect when clients are unable to present a token after
receiving a challenge. A client might be unable to present tokens because it
has reached a token rate limit, because it does not have a way to generate tokens
for the required token issuer, or simply because it does not support this
specification.</t>
        <t>The <bcp14>RECOMMENDED</bcp14> approach to handle such cases is for the server to include a
<tt>cookie</tt> extension (<xref section="4.2.2" sectionFormat="comma" target="TLS13"/>) along with the challenge, and
for clients to retry the handshake including the <tt>cookie</tt> extension, but
not including the <tt>privacy_pass_token</tt> extension. Servers can then assume
that the client received the challenge and was unable to generate a valid
token. The policy for what servers do in such cases will be specific
to the overall use case, and beyond the scope of this document.</t>
      </section>
    </section>
    <section anchor="applicable-types">
      <name>Applicable Token Types</name>
      <t>This document is defined such that any Privacy Pass token type would be possible
to use in the TLS handshake. However, different token types will have different
properties for latency, replay protection, and privacy.</t>
      <t>Ideally, deployments can use token types that allow for unique redemption contexts
(to prevent replay attacks) that also do not require communicating with a token
attester or issuer for each token creation (thus improving latency, and not
creating new activity that can be used to fingerprint clients). Some proposed
token types like <xref target="ARC"/> and
<xref target="BBS"/> have these properties.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Servers redeeming Privacy Pass tokens in TLS handshakes need to take care to
avoid replay attacks. Using a fresh redemption context in the challenge ensures
that tokens are equally fresh and unique.</t>
      <t>As discussed in <xref target="applicable-types"/>, token issuance types that don't require
clients talking to an issuance server with a new network request for every token
generation will have better properties for privacy, since the client won't make
a new request after each TLS handshake challenge.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="update-of-the-tls-extensiontype-registry">
        <name>Update of the TLS ExtensionType Registry</name>
        <t>IANA is requested to create the following entries in the existing registry for
ExtensionType (defined in <xref target="TLS13"/>):</t>
        <ol spacing="normal" type="1"><li>
            <t>privacy_pass_challenge(0xfd00), with the "TLS 1.3" column values set to "HRR",
"DTLS-Only" column set to "N", "Recommended" column set to "Yes".</t>
          </li>
          <li>
            <t>privacy_pass_token(TBD), with "TLS 1.3" column values set to
"CH", "DTLS-Only" column set to "N", and "Recommended" column set
to "Yes", and the "Comment" column set to "Only appears in inner CH."</t>
          </li>
        </ol>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="PPARCH">
          <front>
            <title>The Privacy Pass Architecture</title>
            <author fullname="A. Davidson" initials="A." surname="Davidson"/>
            <author fullname="J. Iyengar" initials="J." surname="Iyengar"/>
            <author fullname="C. A. Wood" initials="C. A." surname="Wood"/>
            <date month="June" year="2024"/>
            <abstract>
              <t>This document specifies the Privacy Pass architecture and requirements for its constituent protocols used for authorization based on privacy-preserving authentication mechanisms. It describes the conceptual model of Privacy Pass and its protocols, its security and privacy goals, practical deployment models, and recommendations for each deployment model, to help ensure that the desired security and privacy goals are fulfilled.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9576"/>
          <seriesInfo name="DOI" value="10.17487/RFC9576"/>
        </reference>
        <reference anchor="PPAUTH">
          <front>
            <title>The Privacy Pass Architecture</title>
            <author fullname="A. Davidson" initials="A." surname="Davidson"/>
            <author fullname="J. Iyengar" initials="J." surname="Iyengar"/>
            <author fullname="C. A. Wood" initials="C. A." surname="Wood"/>
            <date month="June" year="2024"/>
            <abstract>
              <t>This document specifies the Privacy Pass architecture and requirements for its constituent protocols used for authorization based on privacy-preserving authentication mechanisms. It describes the conceptual model of Privacy Pass and its protocols, its security and privacy goals, practical deployment models, and recommendations for each deployment model, to help ensure that the desired security and privacy goals are fulfilled.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9576"/>
          <seriesInfo name="DOI" value="10.17487/RFC9576"/>
        </reference>
        <reference anchor="TLS13">
          <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="ECH">
          <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="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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.sawant-eap-ppt">
          <front>
            <title>Extensible Authentication Protocol (EAP) Using Privacy Pass Token</title>
            <author fullname="Paresh Sawant" initials="P." surname="Sawant">
              <organization>Apple Inc.</organization>
            </author>
            <author fullname="Bart Brinckman" initials="B." surname="Brinckman">
              <organization>Cisco Systems</organization>
            </author>
            <date day="20" month="October" year="2024"/>
            <abstract>
              <t>   This document describes Extensible Authentication Protocol using
   Privacy Pass token (EAP-PPT) Version 1.  The protocol specifies use
   of the Privacy Pass token for client authentication within EAP as
   defined in RFC3748.  Privacy Pass is a privacy preserving
   authentication mechanism used for authorization, as defined in
   RFC9576.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-sawant-eap-ppt-01"/>
        </reference>
        <reference anchor="PRIVACYPARTITIONING">
          <front>
            <title>Partitioning as an Architecture for Privacy</title>
            <author fullname="M. Kühlewind" initials="M." surname="Kühlewind"/>
            <author fullname="T. Pauly" initials="T." surname="Pauly"/>
            <author fullname="C. A. Wood" initials="C. A." surname="Wood"/>
            <date month="July" year="2024"/>
            <abstract>
              <t>This document describes the principle of privacy partitioning, which selectively spreads data and communication across multiple parties as a means to improve privacy by separating user identity from user data. This document describes emerging patterns in protocols to partition what data and metadata is revealed through protocol interactions, provides common terminology, and discusses how to analyze such models.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9614"/>
          <seriesInfo name="DOI" value="10.17487/RFC9614"/>
        </reference>
        <reference anchor="ARC">
          <front>
            <title>Privacy Pass Issuance Protocol for Anonymous Rate-Limited Credentials</title>
            <author fullname="Cathie Yun" initials="C." surname="Yun">
              <organization>Apple, Inc.</organization>
            </author>
            <author fullname="Christopher A. Wood" initials="C. A." surname="Wood">
              <organization>Apple, Inc.</organization>
            </author>
            <date day="5" month="February" year="2025"/>
            <abstract>
              <t>   This document specifies the issuance and redemption protocols for
   tokens based on the Anonymous Rate-Limited Credential (ARC) protocol.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-yun-privacypass-arc-00"/>
        </reference>
        <reference anchor="BBS">
          <front>
            <title>BBS for PrivacyPass</title>
            <author fullname="Watson Ladd" initials="W." surname="Ladd">
              <organization>Akamai Technologies</organization>
            </author>
            <date day="26" month="February" year="2024"/>
            <abstract>
              <t>   Existing token types in privacy pass conflate attribution with rate
   limiting.  This document describes a token type where the issuer
   attests to a set of properties of the client, which the client can
   then selectively prove to the origin.  Repeated showings of the same
   credential are unlinkable, unlike other token types in privacy pass.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ladd-privacypass-bbs-01"/>
        </reference>
      </references>
    </references>
    <?line 238?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA6Va7XIjN3b9j6dAOD8ibZHMaDyxvbLXtizJK1WNR4qkSZUr
lXjAbpDEqrvRaaDF4arkZ9lnyZPl3AugP0Rq7FSqXB6yiQbu57nnXmg2mwlv
fKGP5eSyyoo2N9VKXjfmQWVbea2ck3f2XldOmkrevbuVF6rK3VrdazcRarFo
9APeHK1f2oZWTkSmvF7ZZnuMd5dWiNxmlSpxUt6opZ/Vqi22szq8WuPNGd6c
+cLNXr8Wrl2UxjljK7+t8crl+d1PomrLhW6ORY6Nj0VmKwfBWncsfdNqAUG+
EKrRCgJNxMY296vGtvUz8SbiQVctXpdy/89ShhMn9LFUpsDHKOSMpPzBaL+c
22ZFv6+MX7cLrPBLVudfomq7Sk2EUK1fW4gvZ3hTymVbFMEed7Ys6XhswL9g
c1WZvysP9Y/lSV0Xmp/rII7no35Q9Hye2XJ3w9vMei8vdJU3Jrt3ttqz7V+t
XY33dfTWD27dv8a7i8o2JV56gNEEebL/JmazmVQL5xuVeSHu1sZJeLktdeVl
rpem0k4qWepsjZNdmWJDOt086MZJb2Wj/7vVzk8lAot/ywqD1+k3UTf2weR6
Og5IHwJSOVmrxku7lH6t5XmVNdva61ye8gZQvygshS39io3FOoXuXLKkGWLF
s4AbtSVRVJ5L19a1xa4kqapstS1tiyUeCz1bjuQUDV6cFaY0ntIFr3YKrZWX
CEKpyVAZ/ZrryqhiZpczWmQyLaGW1xltRlqIpAUeZxoxj3fIDp24bh4tXZo8
h8vEK3lZ+cbmLe8hxL50fXz8p+vrk5vTi7/c/HT653/96sunJ5aLjWRXjarX
JpMUkrCVyYJqJY5XK+0Eq5GpSi60bB1sChWhn1luScpaN97AcJBZyUp7yjVJ
2/jtFAbM1uwb8h0Zhy0iglclpQS2c7bUI6Nma53dT+UG+WRbj2Pp1cJU92pR
aDrdQtAmul7ANwAerQpahQChow3bKaj94W6odgrEtd3sRbaoZwxESLfYyou7
u+vkVHHwYBTc/txaCOqi0NVKH3LsxmDtX4+BHKMN/8GSyFFBoRUWk/gdtjSa
4wOPnp1DkTgwFSKatyerLwu7gdoXdgNzNNMX1VOFs50vsUGwJhDU609ItSi+
t5ktsN1POFF/UiXwZYpA+v5ydjZ3aqMqP9OqntW1f2ZVT3lGxUOn5MQZ5yfX
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

-->

</rfc>
