<?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.6.22 (Ruby 3.1.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-schinazi-httpbis-unprompted-auth-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.16.0 -->
  <front>
    <title>HTTP Unprompted Authentication</title>
    <seriesInfo name="Internet-Draft" value="draft-schinazi-httpbis-unprompted-auth-01"/>
    <author initials="D." surname="Schinazi" fullname="David Schinazi">
      <organization>Google LLC</organization>
      <address>
        <postal>
          <street>1600 Amphitheatre Parkway</street>
          <city>Mountain View</city>
          <region>CA</region>
          <code>94043</code>
          <country>United States of America</country>
        </postal>
        <email>dschinazi.ietf@gmail.com</email>
      </address>
    </author>
    <author initials="D." surname="Oliver" fullname="David M. Oliver">
      <organization>Guardian Project</organization>
      <address>
        <email>david@guardianproject.info</email>
        <uri>https://guardianproject.info</uri>
      </address>
    </author>
    <author initials="J." surname="Hoyland" fullname="Jonathan Hoyland">
      <organization>Cloudflare Inc.</organization>
      <address>
        <email>jonathan.hoyland@gmail.com</email>
      </address>
    </author>
    <date year="2023" month="February" day="04"/>
    <area>Applications and Real-Time</area>
    <workgroup>HTTPBIS</workgroup>
    <keyword>secure</keyword>
    <keyword>tunnels</keyword>
    <keyword>masque</keyword>
    <keyword>http-ng</keyword>
    <abstract>
      <t>Existing HTTP authentication mechanisms are probeable in the sense that it is
possible for an unauthenticated client to probe whether an origin serves
resources that require authentication. It is possible for an origin to hide the
fact that it requires authentication by not generating Unauthorized status
codes, however that only works with non-cryptographic authentication schemes:
cryptographic schemes (such as signatures or message authentication codes)
require a fresh nonce to be signed, and there is no existing way for the origin
to share such a nonce without exposing the fact that it serves resources that
require authentication. This document proposes a new non-probeable cryptographic
authentication scheme.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://DavidSchinazi.github.io/draft-schinazi-httpbis-transport-auth/draft-schinazi-httpbis-unprompted-auth.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-schinazi-httpbis-unprompted-auth/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        HTTP Working Group mailing list (<eref target="mailto:ietf-http-wg@w3.org"/>),
        which is archived at <eref target="https://lists.w3.org/Archives/Public/ietf-http-wg/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/DavidSchinazi/draft-schinazi-httpbis-transport-auth"/>.</t>
    </note>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>Existing HTTP authentication mechanisms (see <xref section="11" sectionFormat="of" target="HTTP"/>)
are probeable in the sense that it is possible for an unauthenticated client to
probe whether an origin serves resources that require authentication. It is
possible for an origin to hide the fact that it requires authentication by not
generating Unauthorized status codes, however that only works with
non-cryptographic authentication schemes: cryptographic schemes (such as
signatures or message authentication codes) require a fresh nonce to be signed,
and there is no existing way for the origin to share such a nonce without
exposing the fact that it serves resources that require authentication. This
document proposes a new non-probeable cryptographic authentication scheme.</t>
      <t>There are scenarios where servers may want to expose the fact that
authentication is required for access to specific resources. This is left for
future work.</t>
      <section anchor="conventions">
        <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>
        <t>This document uses the following terminology from <xref section="3" sectionFormat="of" target="STRUCTURED-FIELDS"/> to specify syntax and parsing: Integer and Byte
Sequence.</t>
      </section>
    </section>
    <section anchor="compute-proof">
      <name>Computing the Authentication Proof</name>
      <t>This document only defines the Signature and HMAC authentication schemes for
uses of HTTP with TLS <xref target="TLS"/>. This includes any use of HTTP over TLS
as typically used for HTTP/2 <xref target="H2"/>, or HTTP/3 <xref target="H3"/> where the transport
protocol uses TLS as its authentication and key exchange mechanism
<xref target="QUIC-TLS"/>.</t>
      <t>The user agent leverages a TLS keying material exporter <xref target="KEY-EXPORT"/>
to generate a nonce which can be signed using the user's key. The keying
material exporter uses a label that starts with the characters
"EXPORTER-HTTP-Unprompted-Authentication-" (see <xref target="schemes"/> for the labels and
contexts used by each scheme). The TLS keying material exporter is used to
generate a 32-byte key which is then used as a nonce.</t>
    </section>
    <section anchor="header-definition">
      <name>Header Field Definition</name>
      <t>The "Unprompted-Authentication" header field allows a user agent to authenticate
with an origin server. The authentication is scoped to the HTTP request
associated with this header field. The value of the Unprompted-Authentication
header field is a credentials object, as defined in <xref section="11.4" sectionFormat="of" target="HTTP"/>.
Credentials contain an authentication scheme followed by optional authentication
parameters.</t>
    </section>
    <section anchor="authentication-parameters">
      <name>Authentication Parameters</name>
      <t>This specification defines the following authentication parameters, they can be
used by the authentication schemes defined in <xref target="schemes"/>.</t>
      <section anchor="parameter-u">
        <name>The u Parameter</name>
        <t>The <bcp14>OPTIONAL</bcp14> "u" (user ID) parameter is a byte sequence that specifies the user
ID that the user agent wishes to authenticate.</t>
      </section>
      <section anchor="parameter-p">
        <name>The p Parameter</name>
        <t>The <bcp14>OPTIONAL</bcp14> "p" (proof) parameter is a byte sequence that specifies the proof
that the user agent provides to attest to possessing the credential that matches
its user ID.</t>
      </section>
      <section anchor="parameter-s">
        <name>The s Parameter</name>
        <t>The <bcp14>OPTIONAL</bcp14> "s" (signature) parameter is an integer that specifies the
signature algorithm used to compute the proof transmitted in the "p" directive.
Its value is an integer between 0 and 255 inclusive from the IANA "TLS
SignatureAlgorithm" registry maintained at
&lt;<eref target="https://www.iana.org/assignments/tls-parameters#tls-parameters-16"/>&gt;.</t>
      </section>
      <section anchor="parameter-h">
        <name>The h Parameter</name>
        <t>The <bcp14>OPTIONAL</bcp14> "h" (hash) parameter is an integer that specifies the hash
algorithm used to compute the proof transmitted in the "p" directive. Its value
is an integer between 0 and 255 inclusive from the IANA "TLS HashAlgorithm"
registry maintained at
&lt;<eref target="https://www.iana.org/assignments/tls-parameters#tls-parameters-18"/>&gt;.</t>
      </section>
    </section>
    <section anchor="schemes">
      <name>Authentication Schemes</name>
      <t>This document defines the "Signature" and "HMAC" HTTP authentication schemes.</t>
      <section anchor="signature">
        <name>Signature</name>
        <t>The "Signature" HTTP Authentication Scheme uses asymmetric cyptography.
User agents possess a user ID and a public/private key pair, and origin servers
maintain a mapping of authorized user IDs to their associated public keys. When
using this scheme, the "u", "p", and "s" parameters are <bcp14>REQUIRED</bcp14>. The TLS keying
material export label for this scheme is
"EXPORTER-HTTP-Unprompted-Authentication-Signature" and the associated context
is empty. The nonce is then signed using the selected asymmetric signature
algorithm and transmitted as the proof directive.</t>
        <t>For example, the user ID "john.doe" authenticating using Ed25519
<xref target="ED25519"/> could produce the following header field (lines are folded
to fit):</t>
        <artwork><![CDATA[
Unprompted-Authentication: Signature u=:am9obi5kb2U=:;s=7;
p=:SW5zZXJ0IHNpZ25hdHVyZSBvZiBub25jZSBoZXJlIHdo
aWNoIHRha2VzIDUxMiBiaXRzIGZvciBFZDI1NTE5IQ==:
]]></artwork>
      </section>
      <section anchor="hmac">
        <name>HMAC</name>
        <t>The "HMAC" HTTP Authentication Scheme uses symmetric cyptography. User
agents possess a user ID and a secret key, and origin servers maintain a mapping
of authorized user IDs to their associated secret key. When using this scheme,
the "u", "p", and "h" parameters are <bcp14>REQUIRED</bcp14>. The TLS keying material export
label for this scheme is "EXPORTER-HTTP-Unprompted-Authentication-HMAC" and the
associated context is empty. The nonce is then HMACed using the selected HMAC
algorithm and transmitted as the proof directive.</t>
        <t>For example, the user ID "john.doe" authenticating using HMAC-SHA-512
<xref target="SHA"/> could produce the following header field (lines are folded to
fit):</t>
        <artwork><![CDATA[
Unprompted-Authentication: HMAC u="am9obi5kb2U=";h=6;
p="SW5zZXJ0IEhNQUMgb2Ygbm9uY2UgaGVyZSB3aGljaCB0YWtl
cyA1MTIgYml0cyBmb3IgU0hBLTUxMiEhISEhIQ=="
]]></artwork>
      </section>
      <section anchor="other-http-authentication-schemes">
        <name>Other HTTP Authentication Schemes</name>
        <t>The HTTP Authentication Scheme registry maintained by IANA at
&lt;<eref target="https://www.iana.org/assignments/http-authschemes/http-authschemes.xhtml"/>&gt;
contains entries not defined in this document. Those entries <bcp14>MAY</bcp14> be used with
Unprompted Authentication.</t>
      </section>
    </section>
    <section anchor="intermediary">
      <name>Intermediary Considerations</name>
      <t>Since the Signature and HMAC HTTP Authentication Schemes leverage TLS keying
material exporters, their output
cannot be transparently forwarded by HTTP intermediaries. HTTP intermediaries
that support this specification will validate the authentication received from
the client themselves, then inform the upstream HTTP server of the presence of
valid authentication using some other mechanism.</t>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <t>Unprompted Authentication allows a user-agent to authenticate to an origin
server while guaranteeing freshness and without the need for the server
to transmit a nonce to the user agent. This allows the server to accept
authenticated clients without revealing that it supports or expects
authentication for some resources. It also allows authentication without
the user agent leaking the presence of authentication to observers due to
clear-text TLS Client Hello extensions.</t>
      <t>The authentication proofs described in this document are not bound to individual
HTTP requests; if the same user sends an authentication proof on multiple
requests they will all be identical. This allows for better compression when
sending over the wire, but implies that client implementations that multiplex
different security contexts over a single HTTP connection need to ensure that
those contexts cannot read each other's header fields. Otherwise, one context
would be able to replay the unprompted authentication header field of another.
This constraint is met by modern Web browsers. If an attacker were to compromise
the browser such that it could access another context's memory, the attacker
might also be able to access the corresponding key, so binding authentication to
requests would not provide much benefit in practice.</t>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <section anchor="iana-header">
        <name>Unprompted-Authentication Header Field</name>
        <t>This document will request IANA to register the following entry in the "HTTP
Field Name" registry maintained at
&lt;<eref target="https://www.iana.org/assignments/http-fields"/>&gt;:</t>
        <dl spacing="compact">
          <dt>Field Name:</dt>
          <dd>
            <t>Unprompted-Authentication</t>
          </dd>
          <dt>Template:</dt>
          <dd>
            <t>None</t>
          </dd>
          <dt>Status:</dt>
          <dd>
            <t>provisional (permanent if this document is approved)</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t>This document</t>
          </dd>
          <dt>Comments:</dt>
          <dd>
            <t>None</t>
          </dd>
        </dl>
      </section>
      <section anchor="iana-schemes">
        <name>HTTP Authentication Schemes Registry</name>
        <t>This document, if approved, requests IANA to add two new entries to the
"HTTP Authentication Schemes" Registry maintained at
&lt;<eref target="https://www.iana.org/assignments/http-authschemes"/>&gt;.
Both entries have the Reference set to this document, and the Notes empty.
The Authentication Scheme Name of the entries are:</t>
        <ul spacing="normal">
          <li>Signature</li>
          <li>HMAC</li>
        </ul>
      </section>
      <section anchor="iana-exporter-label">
        <name>TLS Keying Material Exporter Labels</name>
        <t>This document, if approved, requests IANA to register the following entries in
the "TLS Exporter Labels" registry maintained at
&lt;<eref target="https://www.iana.org/assignments/tls-parameters#exporter-labels"/>&gt;:</t>
        <ul spacing="normal">
          <li>EXPORTER-HTTP-Unprompted-Authentication-Signature</li>
          <li>EXPORTER-HTTP-Unprompted-Authentication-HMAC</li>
        </ul>
        <t>Both of these entries are listed with the following qualifiers:</t>
        <dl spacing="compact">
          <dt>DTLS-OK:</dt>
          <dd>
            <t>N</t>
          </dd>
          <dt>Recommended:</dt>
          <dd>
            <t>Y</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t>This document</t>
          </dd>
        </dl>
      </section>
    </section>
  </middle>
  <back>
    <displayreference target="H2" to="HTTP/2"/>
    <displayreference target="H3" to="HTTP/3"/>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="HTTP">
          <front>
            <title>HTTP Semantics</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding">
              <organization/>
            </author>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham">
              <organization/>
            </author>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke">
              <organization/>
            </author>
            <date month="June" year="2022"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document describes the overall architecture of HTTP, establishes common terminology, and defines aspects of the protocol that are shared by all versions. In this definition are core protocol elements, extensibility mechanisms, and the "http" and "https" Uniform Resource Identifier (URI) schemes. </t>
              <t>This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="97"/>
          <seriesInfo name="RFC" value="9110"/>
          <seriesInfo name="DOI" value="10.17487/RFC9110"/>
        </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">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <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="STRUCTURED-FIELDS">
          <front>
            <title>Structured Field Values for HTTP</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham">
              <organization/>
            </author>
            <author fullname="P-H. Kamp" initials="P-H." surname="Kamp">
              <organization/>
            </author>
            <date month="February" year="2021"/>
            <abstract>
              <t>This document describes a set of data types and associated algorithms that are intended to make it easier and safer to define and handle HTTP header and trailer fields, known as "Structured Fields", "Structured Headers", or "Structured Trailers". It is intended for use by specifications of new HTTP fields that wish to use a common syntax that is more restrictive than traditional HTTP field values.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8941"/>
          <seriesInfo name="DOI" value="10.17487/RFC8941"/>
        </reference>
        <reference anchor="TLS">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla">
              <organization/>
            </author>
            <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="KEY-EXPORT">
          <front>
            <title>Keying Material Exporters for Transport Layer Security (TLS)</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla">
              <organization/>
            </author>
            <date month="March" year="2010"/>
            <abstract>
              <t>A number of protocols wish to leverage Transport Layer Security (TLS) to perform key establishment but then use some of the keying material for their own purposes.  This document describes a general mechanism for allowing that.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5705"/>
          <seriesInfo name="DOI" value="10.17487/RFC5705"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="H2">
          <front>
            <title>HTTP/2</title>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson">
              <organization/>
            </author>
            <author fullname="C. Benfield" initials="C." role="editor" surname="Benfield">
              <organization/>
            </author>
            <date month="June" year="2022"/>
            <abstract>
              <t>This specification describes an optimized expression of the semantics of the Hypertext Transfer Protocol (HTTP), referred to as HTTP version 2 (HTTP/2). HTTP/2 enables a more efficient use of network resources and a reduced latency by introducing field compression and allowing multiple concurrent exchanges on the same connection.</t>
              <t>This document obsoletes RFCs 7540 and 8740.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9113"/>
          <seriesInfo name="DOI" value="10.17487/RFC9113"/>
        </reference>
        <reference anchor="H3">
          <front>
            <title>HTTP/3</title>
            <author fullname="M. Bishop" initials="M." role="editor" surname="Bishop">
              <organization/>
            </author>
            <date month="June" year="2022"/>
            <abstract>
              <t>The QUIC transport protocol has several features that are desirable in a transport for HTTP, such as stream multiplexing, per-stream flow control, and low-latency connection establishment.  This document describes a mapping of HTTP semantics over QUIC.  This document also identifies HTTP/2 features that are subsumed by QUIC and describes how HTTP/2 extensions can be ported to HTTP/3.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9114"/>
          <seriesInfo name="DOI" value="10.17487/RFC9114"/>
        </reference>
        <reference anchor="QUIC-TLS">
          <front>
            <title>Using TLS to Secure QUIC</title>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson">
              <organization/>
            </author>
            <author fullname="S. Turner" initials="S." role="editor" surname="Turner">
              <organization/>
            </author>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document describes how Transport Layer Security (TLS) is used to secure QUIC.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9001"/>
          <seriesInfo name="DOI" value="10.17487/RFC9001"/>
        </reference>
        <reference anchor="ED25519">
          <front>
            <title>Algorithm Identifiers for Ed25519, Ed448, X25519, and X448 for Use in the Internet X.509 Public Key Infrastructure</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson">
              <organization/>
            </author>
            <author fullname="J. Schaad" initials="J." surname="Schaad">
              <organization/>
            </author>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies algorithm identifiers and ASN.1 encoding formats for elliptic curve constructs using the curve25519 and curve448 curves.  The signature algorithms covered are Ed25519 and Ed448.  The key agreement algorithms covered are X25519 and X448. The encoding for public key, private key, and Edwards-curve Digital Signature Algorithm (EdDSA) structures is provided.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8410"/>
          <seriesInfo name="DOI" value="10.17487/RFC8410"/>
        </reference>
        <reference anchor="SHA">
          <front>
            <title>US Secure Hash Algorithms (SHA and SHA-based HMAC and HKDF)</title>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd">
              <organization/>
            </author>
            <author fullname="T. Hansen" initials="T." surname="Hansen">
              <organization/>
            </author>
            <date month="May" year="2011"/>
            <abstract>
              <t>Federal Information Processing Standard, FIPS</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6234"/>
          <seriesInfo name="DOI" value="10.17487/RFC6234"/>
        </reference>
      </references>
    </references>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors would like to thank many members of the IETF community, as this
document is the fruit of many hallway conversations. Ben Schwartz contributed
ideas to this document.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
ssd/AGYrbHS7LQAA

-->

</rfc>
