<?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.36 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-privacypass-auth-scheme-extensions-03" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.33.0 -->
  <front>
    <title abbrev="PrivateToken Authentication Extensions">The PrivateToken HTTP Authentication Scheme Extensions Parameter</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-privacypass-auth-scheme-extensions-03"/>
    <author fullname="Scott Hendrickson">
      <organization>Google</organization>
      <address>
        <email>scott@shendrickson.com</email>
      </address>
    </author>
    <author fullname="Christopher A. Wood">
      <organization/>
      <address>
        <email>caw@heapingbits.net</email>
      </address>
    </author>
    <date year="2026" month="May" day="13"/>
    <area>Security</area>
    <workgroup>Privacy Pass</workgroup>
    <keyword>token</keyword>
    <abstract>
      <?line 37?>

<t>This document specifies new parameters for the "PrivateToken" HTTP authentication scheme, called extensions.
The purpose of these extensions is to negotiate and carry public metadata for Privacy Pass protocols.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://ietf-wg-privacypass.github.io/draft-ietf-privacypass-auth-scheme-extensions/draft-ietf-privacypass-auth-scheme-extensions.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-privacypass-auth-scheme-extensions/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Privacy Pass Working Group 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/ietf-wg-privacypass/draft-ietf-privacypass-auth-scheme-extensions"/>.</t>
    </note>
  </front>
  <middle>
    <?line 42?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The primary Token structure in the "PrivateToken" HTTP authentication scheme
<xref target="AUTHSCHEME"/> is composed as follows:</t>
      <artwork><![CDATA[
struct {
    uint16_t token_type;
    uint8_t nonce[32];
    uint8_t challenge_digest[32];
    uint8_t token_key_id[Nid];
    uint8_t authenticator[Nk];
} Token;
]]></artwork>
      <t>Functionally, this structure conveys a single bit of information from the
issuance protocol: whether or not the token is valid (as indicated by a valid
authenticator value). This structure does not admit any additional information
to flow from the issuance protocol, including, for example, public metadata
that is incorporated into the issuance protocol.</t>
      <t>This document specifies a new parameter for the "PrivateToken" HTTP authentication
scheme for carrying extensions. This extensions parameter is cryptographically bound
to the Token structure via the Privacy Pass issuance protocol.</t>
      <t>This document additionally defines an optional extension negotiation scheme which
allows origins to indicate what extension types they expect, and allows clients to
respond with the extensions appropriate for their context.</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="extensions">
      <name>PrivateToken Extensions Parameter</name>
      <t>As defined in <xref section="2.2" sectionFormat="of" target="AUTHSCHEME"/>, the "PrivateToken" authentication
scheme defines one parameter, "token", which contains the base64url-encoded
Token struct. This document defines a new parameter, "extensions," which contains
the base64url-encoded representation of the following Extensions structure.
This document follows the default padding behavior described in
<xref section="3.2" sectionFormat="of" target="RFC4648"/>, so the base64url value <bcp14>MUST</bcp14> include padding.</t>
      <artwork><![CDATA[
struct {
    ExtensionType extension_type;
    opaque extension_data<0..2^16-1>;
} Extension;

enum {
    reserved(0),
    (65535)
} ExtensionType;

struct {
    Extension extensions<0..2^16-1>;
} Extensions;
]]></artwork>
      <t>The contents of Extensions are a list of Extension values, each of which is a type-length-value
structure whose semantics are determined by the type. The type and length of each
extension are 2-octet integers, in network byte order. The length of the extensions
list is also a 2-octet integer, in network byte order.</t>
      <t>Clients, Issuers, and Origins all agree on the content and encoding of this Extensions
structure, i.e., they agree on the same type-length-value list. The list <bcp14>MUST</bcp14> be ordered
by ExtensionType value, from 0 to 65535. Extension types <bcp14>MAY</bcp14> be repeated. The value of the
Extensions structure is used as-is when verifying the value of the corresponding "token" parameter
in the "PrivateToken" authentication header. As an example, Clients presenting this extension
parameter to origins would use an Authorization header field like the following:</t>
      <artwork><![CDATA[
Authorization: PrivateToken token="abc...", extensions="def..."
]]></artwork>
      <t>Since the new parameters (extensions, extension-set) are defined as containing base64url-encoded data,
they will contain characters that require double-quotes. Therefore, parameter values for "token" and
"extensions" <bcp14>MUST</bcp14> be enclosed in double-quotes.</t>
      <t>Future documents may specify extensions to be included in this structure.
Registration details for these extensions are in <xref target="iana"/>.</t>
      <t>Each Privacy Pass issuance protocol, identified by a token type, specifies the structure
of the PrivateToken value to be used. Extensions are bound to the resulting tokens via the
issuance protocol. In particular, the value of an Extensions structure is provided as
metadata for the issuance protocol. Issuance protocols are specified in
<xref target="PUBLIC-ISSUANCE"/>.</t>
    </section>
    <section anchor="privatetoken-challenge-extension-parameter">
      <name>PrivateToken Challenge Extension Parameter</name>
      <t>As defined in <xref section="2.1" sectionFormat="of" target="AUTHSCHEME"/>, the "PrivateToken" authentication
scheme defines two parameters, "challenge" which contains the base64url-encoded
TokenChallenge struct, and a "token-key" which contains the base64url-encoded
public key used for this challenge. This document defines two <bcp14>OPTIONAL</bcp14> new parameters,
"extension-set," which contains the base64url-encoded representation of the
following ExtensionSet structure, and "extensions" which contain the base64url-encoded
representation of the Extensions structure defined in <xref target="extensions"/>. This document
follows the default padding behavior described in <xref section="3.2" sectionFormat="of" target="RFC4648"/>, so the
base64url value <bcp14>MUST</bcp14> include padding.</t>
      <artwork><![CDATA[
struct {
    enum { false(0), true(1) } Bool;
    Bool is_required;
    ExtensionType extension_type;
} ExtensionEntry;

enum {
    reserved(0),
    (65535)
} ExtensionType;

struct {
    ExtensionEntry extension_types<0..2^16-1>;
} ExtensionSet;
]]></artwork>
      <t>The contents of ExtensionSet is a list of ExtensionEntry structs containing extensions (defined in <xref target="extensions"/>),
each of which is a type-length-value structure whose semantics are determined by the type, and a bit marking whether
the extension is required or optional. The type and length of each ExtensionType is a 2-octet integer, in network byte order. The
length of the extension_types list is also a 2-octet integer, in network byte order.</t>
      <t>ExtensionTypes are to be defined outside of this document.</t>
      <t>The extensions parameter is to be used for pre-populated extension structs the origin suggests
to the client.</t>
      <t>When presented with an ExtensionSet, a client should expect to be rejected if not providing required extensions.
A client <bcp14>MAY</bcp14> provide optional extensions. A client <bcp14>MAY</bcp14> use the pre-populated extension
provided by the origin, or craft its own.</t>
      <artwork><![CDATA[
WWW-Authenticate:
  PrivateToken challenge="abc...", token-key="123...", extension-set="%00%01%00%02..." extensions="def..."
]]></artwork>
    </section>
    <section anchor="negotiation">
      <name>Extensions Negotiation</name>
      <t>In some Privacy Pass deployments, the set
of extensions may be well known to Clients and Origins and thus do not require negotiation.
In this case, no extension-set or extensions are provided by the origin in the PrivateToken.
In other settings, negotiation may be required. However, negotiation can raise privacy
risks, by partitioning Clients by their chosen provided extensions risking Origin-Client
unlinkability. Some of these risks may be mitigated if all Clients in a given redemption
context respond to negotiation in the same manner. However, if
Clients have different observable behavior, e.g., if certain extension use is determined
by user choice, Origins can observe this differential behavior and therefore partition
Clients in a redemption context.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Privacy considerations for tokens that include additional information are discussed
in <xref target="ARCHITECTURE"/>. Additional
considerations for use of extensions, including those that arise when deciding which
extensions to use, are described in <xref target="negotiation"/>. The TLS Protocol <xref section="1.3" sectionFormat="comma" target="RFC8446"/>
provides the transport layer security guarantees that protect the transmission of the
PrivateToken and its extensions.</t>
      <t>The primary security concern introduced by the extensions parameter is the risk of client tagging
or tracking through the metadata itself. The size and specific content of the extension metadata
can potetntially add extra, observable bits of information that a service could use to tag clients.
Mitigations include mechanisms to monitor that clients are getting evenly distributed bits,
mechanisms to ensure clients fairly pick their own metadata, and mechanisms to ensure that
clients understand the total traffic on the system. These are out of scope.</t>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <t>IANA is requested to create a new "Privacy Pass PrivateToken Extensions" registry
in the "Privacy Pass Parameters" page to list possible extension values and their meaning.
Each extension has a two-byte type, so the maximum possible value is 0xFFFF = 65535.</t>
      <t>Template:</t>
      <ul spacing="normal">
        <li>
          <t>Type: The two-byte extension type</t>
        </li>
        <li>
          <t>Name: Name of the extension</t>
        </li>
        <li>
          <t>Value: Syntax and semantics of the extension</t>
        </li>
        <li>
          <t>Reference: Where this extension and its value are defined</t>
        </li>
        <li>
          <t>Notes: Any notes associated with the entry</t>
        </li>
      </ul>
      <t>New entries in this registry are subject to the Specification Required
registration policy (<xref section="4.6" sectionFormat="comma" target="RFC8126"/>). Designated experts need to
ensure that the extension is sufficiently clearly defined and, importantly,
has a clear description of the privacy implications of using the extension,
framed in the context of partitioning the client anonymity set as described
in <xref target="ARCHITECTURE"/>.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="AUTHSCHEME">
          <front>
            <title>The Privacy Pass HTTP Authentication Scheme</title>
            <author fullname="Tommy Pauly" initials="T." surname="Pauly">
              <organization>Apple Inc.</organization>
            </author>
            <author fullname="Steven Valdez" initials="S." surname="Valdez">
              <organization>Google LLC</organization>
            </author>
            <author fullname="Christopher A. Wood" initials="C. A." surname="Wood">
              <organization>Cloudflare</organization>
            </author>
            <date day="23" month="October" year="2023"/>
            <abstract>
              <t>   This document defines an HTTP authentication scheme for Privacy Pass,
   a privacy-preserving authentication mechanism used for authorization.
   The authentication scheme in this document can be used by clients to
   redeem Privacy Pass tokens with an origin.  It can also be used by
   origins to challenge clients to present Privacy Pass tokens.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-privacypass-auth-scheme-15"/>
        </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="RFC4648">
          <front>
            <title>The Base16, Base32, and Base64 Data Encodings</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <date month="October" year="2006"/>
            <abstract>
              <t>This document describes the commonly used base 64, base 32, and base 16 encoding schemes. It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4648"/>
          <seriesInfo name="DOI" value="10.17487/RFC4648"/>
        </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="RFC8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <date month="June" year="2017"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="PUBLIC-ISSUANCE">
          <front>
            <title>Public Metadata Issuance</title>
            <author fullname="Scott Hendrickson" initials="S." surname="Hendrickson">
              <organization>Google</organization>
            </author>
            <author fullname="Christopher A. Wood" initials="C. A." surname="Wood">
              <organization>Cloudflare, Inc.</organization>
            </author>
            <date day="25" month="November" year="2023"/>
            <abstract>
              <t>   This document specifies Privacy Pass issuance protocols that encode
   public information visible to the Client, Attester, Issuer, and
   Origin into each token.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hendrickson-privacypass-public-metadata-03"/>
        </reference>
        <reference anchor="ARCHITECTURE">
          <front>
            <title>Privacy Pass Issuance Protocols</title>
            <author fullname="S. Celi" initials="S." surname="Celi"/>
            <author fullname="A. Davidson" initials="A." surname="Davidson"/>
            <author fullname="S. Valdez" initials="S." surname="Valdez"/>
            <author fullname="C. A. Wood" initials="C. A." surname="Wood"/>
            <date month="June" year="2024"/>
            <abstract>
              <t>This document specifies two variants of the two-message issuance protocol for Privacy Pass tokens: one that produces tokens that are privately verifiable using the Issuer Private Key and one that produces tokens that are publicly verifiable using the Issuer Public Key. Instances of "issuance protocol" and "issuance protocols" in the text of this document are used interchangeably to refer to the two variants of the Privacy Pass issuance protocol.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9578"/>
          <seriesInfo name="DOI" value="10.17487/RFC9578"/>
        </reference>
      </references>
    </references>
    <?line 247?>



  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
