<?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.13 (Ruby 3.1.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-schinazi-httpbis-transport-auth-07" category="exp" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.13.0 -->
  <front>
    <title abbrev="HTTP Transport Authentication">HTTP Transport Authentication</title>
    <seriesInfo name="Internet-Draft" value="draft-schinazi-httpbis-transport-auth-07"/>
    <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>
    <date year="2022" month="July" day="11"/>
    <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-transport-auth.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-schinazi-httpbis-transport-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 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 Augmented BNF defined in <xref target="ABNF"/> and updated by
<xref target="ABNF2"/> along with the "#rule" extension defined in <xref section="5.6.1" sectionFormat="of" target="HTTP"/>. The rules below are defined in <xref target="HTTP"/> and <xref target="OID"/>.</t>
        <artwork><![CDATA[
  OWS           = <OWS, see {{Section 5.6.3 of HTTP}}>
  quoted-string = <quoted-string, see {{Section 5.6.4 of HTTP}}>
  token         = <token, see {{Section 5.6.2 of HTTP}}>
  token68       = <token68, see {{Section 5.6.3 of HTTP}}>
  oid           = <oid, see {{Section 2 of OID}}>
]]></artwork>
      </section>
    </section>
    <section anchor="compute-proof">
      <name>Computing the Authentication Proof</name>
      <t>This document only defines Transport Authentication for uses of HTTP with TLS.
This includes any use of HTTP over TLS as typically used for HTTP/2, or
HTTP/3 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-id's key. The keying
material exporter uses a label that starts with the characters
"EXPORTER-HTTP-Transport-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 "Transport-Authentication" header allows a user agent to authenticate with
an origin server. The authentication is scoped to the HTTP request associated
with this header.</t>
      <artwork><![CDATA[
  Transport-Authentication = tpauth-scheme *( OWS ";" OWS param )
  tpauth-scheme            = token
  param                    = token "=" ( token / quoted-string )
]]></artwork>
      <section anchor="directive-u">
        <name>The u Directive</name>
        <t>The <bcp14>OPTIONAL</bcp14> "u" (user-id) directive specifies the user-id that the user
agent wishes to authenticate. It is encoded using
Base64 (<xref section="4" sectionFormat="of" target="BASE64"/>).</t>
        <artwork><![CDATA[
    u = token68
]]></artwork>
      </section>
      <section anchor="directive-p">
        <name>The p Directive</name>
        <t>The <bcp14>OPTIONAL</bcp14> "p" (proof) directive specifies the proof that the user agent
provides to attest to possessing the credential that matches its user-id.
It is encoded using Base64 (<xref section="4" sectionFormat="of" target="BASE64"/>).</t>
        <artwork><![CDATA[
    p = token68
]]></artwork>
      </section>
      <section anchor="directive-a">
        <name>The a Directive</name>
        <t>The <bcp14>OPTIONAL</bcp14> "a" (algorithm) directive specifies the algorithm used to compute
the proof transmitted in the "p" directive.</t>
        <artwork><![CDATA[
    a = oid
]]></artwork>
      </section>
    </section>
    <section anchor="schemes">
      <name>Transport Authentication Schemes</name>
      <t>The Transport Authentication Framework allows defining Transport
Authentication Schemes, which specify how to authenticate user-ids. This
documents defined the "Signature" and "HMAC" schemes.</t>
      <section anchor="signature">
        <name>Signature</name>
        <t>The "Signature" Transport 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 "a" directives are <bcp14>REQUIRED</bcp14>.
The TLS keying material export label for this scheme is
"EXPORTER-HTTP-Transport-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 (lines are folded to
fit):</t>
        <artwork><![CDATA[
Transport-Authentication: Signature u="am9obi5kb2U=";
a=1.3.101.112;
p="SW5zZXJ0IHNpZ25hdHVyZSBvZiBub25jZSBoZXJlIHdo
aWNoIHRha2VzIDUxMiBiaXRzIGZvciBFZDI1NTE5IQ=="
]]></artwork>
      </section>
      <section anchor="hmac">
        <name>HMAC</name>
        <t>The "HMAC" Transport 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 "a" directives are <bcp14>REQUIRED</bcp14>.
The TLS keying material export label for this scheme is
"EXPORTER-HTTP-Transport-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 (lines are folded to fit):</t>
        <artwork><![CDATA[
Transport-Authentication: HMAC u="am9obi5kb2U=";
a=2.16.840.1.101.3.4.2.3;
p="SW5zZXJ0IEhNQUMgb2Ygbm9uY2UgaGVyZSB3aGljaCB0YWtl
cyA1MTIgYml0cyBmb3IgU0hBLTUxMiEhISEhIQ=="
]]></artwork>
      </section>
    </section>
    <section anchor="intermediary">
      <name>Intermediary Considerations</name>
      <t>Since Transport Authentication authenticates the underlying transport by
leveraging TLS keying material exporters, it 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>Transport 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>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <section anchor="iana-header">
        <name>Transport-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>Transport-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>Transport Authentication Schemes Registry</name>
        <t>This document, if approved, requests IANA to create a new "HTTP Transport
Authentication Schemes" Registry. This new registry contains strings and is
covered by the First Come First Served policy from <xref section="4.4" sectionFormat="of" target="IANA-POLICY"/>. Each entry contains an optional "Reference" field.</t>
        <t>It initially contains the following entries:</t>
        <ul spacing="normal">
          <li>Signature</li>
          <li>HMAC</li>
        </ul>
        <t>The reference for both is this document.</t>
      </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
<eref target="https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#exporter-labels">https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#exporter-labels</eref></t>
        <ul spacing="normal">
          <li>EXPORTER-HTTP-Transport-Authentication-Signature</li>
          <li>EXPORTER-HTTP-Transport-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>
    <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="ABNF">
          <front>
            <title>Augmented BNF for Syntax Specifications: ABNF</title>
            <author fullname="D. Crocker" initials="D." role="editor" surname="Crocker">
              <organization/>
            </author>
            <author fullname="P. Overell" initials="P." surname="Overell">
              <organization/>
            </author>
            <date month="January" year="2008"/>
            <abstract>
              <t>Internet technical specifications often need to define a formal syntax.  Over the years, a modified version of Backus-Naur Form (BNF), called Augmented BNF (ABNF), has been popular among many Internet specifications.  The current specification documents ABNF. It balances compactness and simplicity with reasonable representational power.  The differences between standard BNF and ABNF involve naming rules, repetition, alternatives, order-independence, and value ranges.  This specification also supplies additional rule definitions and encoding for a core lexical analyzer of the type common to several Internet specifications.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="68"/>
          <seriesInfo name="RFC" value="5234"/>
          <seriesInfo name="DOI" value="10.17487/RFC5234"/>
        </reference>
        <reference anchor="ABNF2">
          <front>
            <title>Case-Sensitive String Support in ABNF</title>
            <author fullname="P. Kyzivat" initials="P." surname="Kyzivat">
              <organization/>
            </author>
            <date month="December" year="2014"/>
            <abstract>
              <t>This document extends the base definition of ABNF (Augmented Backus-Naur Form) to include a way to specify US-ASCII string literals that are matched in a case-sensitive manner.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7405"/>
          <seriesInfo name="DOI" value="10.17487/RFC7405"/>
        </reference>
        <reference anchor="OID">
          <front>
            <title>A URN Namespace of Object Identifiers</title>
            <author fullname="M. Mealling" initials="M." surname="Mealling">
              <organization/>
            </author>
            <date month="February" year="2001"/>
            <abstract>
              <t>This document describes a Uniform Resource Name (URN) namespace that contains Object Identifiers (OIDs).  This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3061"/>
          <seriesInfo name="DOI" value="10.17487/RFC3061"/>
        </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>
        <reference anchor="BASE64">
          <front>
            <title>The Base16, Base32, and Base64 Data Encodings</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson">
              <organization/>
            </author>
            <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="IANA-POLICY">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton">
              <organization/>
            </author>
            <author fullname="B. Leiba" initials="B." surname="Leiba">
              <organization/>
            </author>
            <author fullname="T. Narten" initials="T." surname="Narten">
              <organization/>
            </author>
            <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>
        <name>Informative References</name>
        <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. Using the OID for the
signature and HMAC algorithms was inspired by Signature Authentication in
IKEv2.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
sOgvl2INuOngdf+hg7ns347HAiqKKAAA

-->

</rfc>
