<?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.3.8) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-privacypass-auth-scheme-extensions-02" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.1 -->
  <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-02"/>
    <author fullname="Scott Hendrickson">
      <organization>Google</organization>
      <address>
        <email>scott@shendrickson.com</email>
      </address>
    </author>
    <author fullname="Christopher A. Wood">
      <organization>Cloudflare, Inc.</organization>
      <address>
        <email>caw@heapingbits.net</email>
      </address>
    </author>
    <date year="2025" month="May" day="27"/>
    <area>Security</area>
    <workgroup>Privacy Pass</workgroup>
    <keyword>token</keyword>
    <abstract>
      <?line 38?>

<t>This document specifies new parameters for the "PrivateToken" HTTP authentication
scheme. This purpose of these parameters is to negotiate and carry extensions for Privacy Pass
protocols that support public metadata.</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 44?>

<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, otherwise referred to as
public metadata, 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>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. Candidate 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 strucuture defined in {#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 #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. T he 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="0x0001,0x0002..." 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 section="6.1" sectionFormat="of" target="ARCHITECTURE"/>. Additional
considerations for use of extensions, including those that arise when deciding which
extensions to use, are described in <xref target="negotiation"/>.</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 section="6.1" sectionFormat="of" 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="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>The Privacy Pass Architecture</title>
            <author fullname="Alex Davidson" initials="A." surname="Davidson">
              <organization>LIP</organization>
            </author>
            <author fullname="Jana Iyengar" initials="J." surname="Iyengar">
              <organization>Fastly</organization>
            </author>
            <author fullname="Christopher A. Wood" initials="C. A." surname="Wood">
              <organization>Cloudflare</organization>
            </author>
            <date day="25" month="September" year="2023"/>
            <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 that helps ensure the desired security and
   privacy goals are fulfilled.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-privacypass-architecture-16"/>
        </reference>
      </references>
    </references>
    <?line 237?>



  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA61a3XLbNha+x1NglZukI7K243qzTtNUdZzaM4mTtZ3NdDLd
DERCEmqKYAnSitbjPss+yz7ZfucA/JPlNum0F60MAgfn/3znoFEUicpUmT6U
o8uFlm9Lc60qfWmvdC5PLi/fykldLXRemURVxubyIlnopZbHnyqdOyw4+VaV
aqkrXY6Emk5LfQ1SAzIbFLqjI4ElPbfl+lC6KhUitUkOWocyLdWsioyuZlFB
pJJ1oZyLFChFjjmIdEsm2tkTrp4ujaM/q3UBAqfHly9FXi+nujwUKW45FAm2
4kTtDmVV1lqAz8dClVqB3wud1KWp1iOxsuXVvLR10UiRrCGhA69Xeo2P6aGQ
kaxIMHGt8xqEpdx+QErPy+g9aJp8Ln+kbbS+VCbDehAtItm+J2FjW87p+9xU
i3qKHayB1byvhK+/SDdELYP4rgK1RVUV7vDrr7dQjf2VsbFfRv/LdseLapmN
hKCvtiRNgj0pZ3WWebtfJLaq5InO09IkV87m/B1aUbn5D7vPofzR2nmm+YMO
inR07Hu36M7FiV2O7tI/WpTGVbZY6FJOYvne2nTLDUeZrdNZBt8Yy9M8ift3
JWr1/UKrAvacmsrFua6EyG25xNlrOIMw+az3l4iiSKqpq0qVYOPlwjgJL6+X
CAjpCp2YmdFO5noliyaOnAQFiZgZxtHIx6MaRJPwOo4lUy7qsrBOSzuj4/jR
o4nPlcVFc1sZkJQqTyFMWa5lZx++uO/EoihtZROb4fBCgeO6KGxZ4aJpZhIJ
0grBpWIv59KkKSwjHkBrVWnTOmEWBSUWOMdS4TKfEqAPfKxLLU3+mZJKL6m4
ufnb5N3lycXRyfHr42en0Yv495zv9pYEhzOQXlKpSMQssysH2/z222/CMyJv
2MS1yavdg4+VD++PFL1P2w9PsJ7bPNEfHu/9PFxOFirLdD7XH1MzR6jd3eEJ
IoN8NOmHM5NufO5JassPZ1f4fOs19ZS5FC/rnHWJe9ZjKAwydSpEYrvWayeV
dPDKTEs4JrlA64lQ3qy0S1K0QJKsFaSQjWUP5WqhKwoI2D63FZuD+SXNXavM
pPIh9GbylPiDEqdrXMUfxIBxWqv1o+CLHX+pJQ8HZZUuwZnKcT5NjZenz6WA
g85gnJZbeYfbMfYnWZ1C0DF7q/6klkWGQN1wScH+aojvxCIqSmYd+rbbCcf3
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
dTH5x7mFg5Re3acquRLi/41MEzXJIwAA

-->

</rfc>
