<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.0.43 -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
]>

<?rfc toc="yes"?>
<?rfc tocindent="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>
<?rfc strict="yes"?>
<?rfc compact="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc docmapping="yes"?>

<rfc ipr="trust200902" docName="draft-thomson-http-replay-00" category="std">

  <front>
    <title abbrev="HTTP Early Data">Using Early Data in HTTP</title>

    <author initials="M." surname="Thomson" fullname="Martin Thomson">
      <organization>Mozilla</organization>
      <address>
        <email>martin.thomson@gmail.com</email>
      </address>
    </author>
    <author initials="M." surname="Nottingham" fullname="Mark Nottingham">
      <organization>true</organization>
      <address>
        <email>mnot@mnot.net</email>
      </address>
    </author>
    <author initials="W." surname="Tarreau" fullname="Willy Tarreau">
      <organization>HAProxy Technologies</organization>
      <address>
        <email>willy@haproxy.org</email>
      </address>
    </author>

    <date year="2017" month="June" day="22"/>

    <area>ART</area>
    <workgroup>httpbis</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>This document explains the risks of using early data for HTTP and describes
techniques for reducing them. In particular, it defines a mechanism that
enables clients to communicate with servers about early data, to assure correct
operation.</t>



    </abstract>


  </front>

  <middle>


<section anchor="introduction" title="Introduction">

<t>TLS 1.3 <xref target="TLS13"/> introduces the concept of early data
(also known as zero round trip data or 0-RTT data). Early data allows a client to send data
to a server in the first round trip of a connection, without waiting for the
TLS handshake to complete if the client has spoken to the same server recently.</t>

<t>When used with HTTP <xref target="HTTP"/>, early data allows clients to send
requests immediately, avoiding the one or two round trip delay needed for the
TLS handshake. This is a significant performance enhancement; however, it has
significant limitations.</t>

<t>The primary risk of using early data is that an attacker might capture and
replay the request(s) it contains. TLS <xref target="TLS13"/> describes techniques that can
be used to reduce the likelihood that an attacker can successfully replay a
request, but these techniques can be difficult to deploy, and still leave some
possibility of a successful attack.</t>

<t>Note that this is different from automated or user-initiated retries; replays
are under the control of an attacker, and are therefore malicious.</t>

<t>To help mitigate the risk of replays in HTTP, this document gives an overview
of techniques for controlling these risks in servers, and defines requirements
for clients when sending requests in early data.</t>

<t>The advice in this document also applies to use of 0-RTT in HTTP over QUIC
<xref target="HQ"/>.</t>

<section anchor="conventions-and-definitions" title="Conventions and Definitions">

<t>The words “MUST”, “MUST NOT”, “SHOULD”, and “MAY” are used in this document.
It’s not shouting; when they are capitalized, they have the special meaning
defined in <xref target="RFC2119"/>.</t>

</section>
</section>
<section anchor="supporting-early-data-in-http-servers" title="Supporting Early Data in HTTP Servers">

<t>A server decides whether or not to offer a client the ability to send early
data on future connections when sending the TLS session ticket.</t>

<t>When a server enables early data, there are a number of techniques it can use
to mitigate the risks of replay:</t>

<t><list style="numbers">
  <t>The server can choose whether it will process early data before the TLS
handshake completes. By deferring processing, it can ensure that only a
successfully completed connection is used for the request(s) therein.
Assuming that a replayed ClientHello will not result in additional
connections being made by the client, this provides the server with some
assurance that the early data was not replayed.</t>
  <t>If the server receives multiple requests in early data, it can determine
whether to defer HTTP processing on a per-request basis. This may require
buffering the responses to preserve ordering in HTTP/1.1.</t>
  <t>The server can cause a client to retry a request and not use early data by
responding with the 4NN (Too Early) status code (<xref target="status"/>), in cases where
the risk of replay is judged too great.</t>
  <t>Finally, TLS <xref target="TLS13"/> describes several mitigation strategies that reduce
the ability of an attacker to successfully replay early data. Servers are
strongly encouraged to implement these techniques, but to also recognize
that they are imperfect.</t>
</list></t>

<t>For a given request, the level of tolerance to replay risk is specific to the
resource it operates upon (and therefore only known to the origin server). In
general, if a request does not have state-changing side effects on a resource,
the consequences of replay are not significant.</t>

<t>The request method’s safety (<xref target="RFC7231"/>, Section 4.2.1) is one way to
determine this. However, some resources do elect to associate side effects with
safe methods, so this cannot be universally relied upon.</t>

<t>It is RECOMMENDED that origin servers allow resources to explicitly configure
whether early data is appropriate in requests. Absent such explicit
information, they SHOULD mitigate against early data in requests that have
unsafe methods, using the techniques outlined above.</t>

<t>Intermediary servers do not have sufficient information to make this
determination, so <xref target="status"/> describes a way for the origin to signal to them
that a particular request isn’t appropriate for early data. Intermediaries that
accept early data MUST implement that mechanism.</t>

<t>Note that a server cannot choose to selectively reject early data. TLS only
permits a server to accept all early data, or none of it. Once a server has
decided to accept early data, it MUST process all requests in early data, even
if the server rejects the request by sending a 4NN (Too Early) response.</t>

<t>A server can limit the amount of early data with the <spanx style="verb">max_early_data_size</spanx>
field of the <spanx style="verb">early_data</spanx> TLS extension. This can be used to avoid committing
an arbitrary amount of memory for deferred requests. A server SHOULD ensure
that when it accepts early data, it can defer processing of requests until
after the TLS handshake completes.</t>

</section>
<section anchor="using-early-data-in-http-clients" title="Using Early Data in HTTP Clients">

<t>A client that wishes to use early data commences sending HTTP requests
immediately after sending the TLS ClientHello.</t>

<t>By their nature, clients have control over whether a given request is sent in
early data – thereby giving the client control over risk of replay. Absent
other information, clients MAY send requests with safe HTTP methods (see
<xref target="RFC7231"/>, Section 4.2.1) in early data when it is available, and SHOULD NOT
send unsafe methods (or methods whose safety is not known) in early data.</t>

<t>If the server rejects early data, a client MUST start sending again as though
the connection was new. For HTTP/2, this means re-sending the connection
preface. Any requests sent in early data MUST be sent again, unless the client
decides to abandon those requests.</t>

<t>This automatic retry exposes the request to a potential replay attack.  An
attacker sends early data to one server instance that accepts and processes the
early data, but allows that connection to proceed no further.  The attacker then
forwards the same messages from the client to another server instance that will
reject early data.  The client the retries the request, resulting in the request
being processed twice.  Replays are also possible if there are multiple server
instances that will accept early data, or if the same server accepts early data
multiple times (though this would be in violation of requirements in TLS).</t>

<t>Clients that use early data MUST retry requests upon receipt of a 4NN (Too
Early) status code; see <xref target="status"/>.</t>

<t>An intermediary MUST NOT use early data when forwarding a request unless early
data was used on a previous hop, or it knows that the request can be retried
safely without consequences (typically, using out-of-band configuration).
Absent better information, that means that an intermediary can only use early
data if the request that either arrived in early data or arrived with the
<spanx style="verb">Early-Data</spanx> header field set to “1”.</t>

</section>
<section anchor="extensions-for-early-data-in-http" title="Extensions for Early Data in HTTP">

<t>Because HTTP requests can span multiple “hops”, it is necessary to explicitly
communicate whether a request has been sent in early data on a previous
connection. Likewise, some means of explicitly triggering a retry when early
data is not desirable is necessary. Finally, it is necessary to know whether the
client will actually perform such a retry.</t>

<t>To meet these needs, two signalling mechanisms are defined:</t>

<t><list style="symbols">
  <t>The <spanx style="verb">Early-Data</spanx> header field is included in requests that are received in
early data.</t>
  <t>The 4NN (Too Early) status code is defined for an origin server to indicate
that a request could not be processed due to the consequences of a possible
replay attack.</t>
</list></t>

<t>They are designed to enable better coordination of the use of early data
between the user agent and origin server, and also when a gateway (also
“reverse proxy”, “Content Delivery Network”, or “surrogate”) is present.</t>

<t>Gateways typically don’t have specific information about whether a given
request can be processed safely when it is sent in early data. In many cases,
only the origin server has the necessary information to decide whether the risk
of replay is acceptable. These extensions allow coordination between a gateway
and its origin server.</t>

<section anchor="header" title="The Early-Data Header Field">

<t>The <spanx style="verb">Early-Data</spanx> request header field indicates that the request has been
conveyed in early data, and additionally indicates that a client understands
the 4NN (Too Early) status code.</t>

<t>It has just one valid value: “1”. Its syntax is defined by the following ABNF
<xref target="ABNF"/>:</t>

<figure><artwork><![CDATA[
Early-Data = "1"
]]></artwork></figure>

<t>For example:</t>

<figure><artwork><![CDATA[
GET /resource HTTP/1.0
Host: example.com
Early-Data: 1
]]></artwork></figure>

<t>An intermediary that forwards a request received in TLS early data MUST send it
with the <spanx style="verb">Early-Data</spanx> header field set to “1” (i.e., it adds it if not present
in the request).</t>

<t>An intermediary MUST NOT remove this header field if it is present in a request.</t>

<t>The <spanx style="verb">Early-Data</spanx> header field is not intended for use by user agents (that is,
the original initiator of a request).  Sending a request in early data implies
that the client understands this specification and is willing to retry a request
in response to a 4NN (Too Early) status code.  A user agent that sends a request
in early data does not need to include the <spanx style="verb">Early-Data</spanx> header field.</t>

</section>
<section anchor="status" title="The 4NN (Too Early) Status Code">

<t>A 4NN (Too Early) status code indicates that the server is unwilling to risk
processing a request that might be (or has been) replayed.</t>

<t>Clients (user-agents and intermediaries) that sent the request in early data
MUST automatically retry the request when receiving a 4NN (Too Early)
response status code. Such retries MUST NOT be sent in early data, and SHOULD
NOT be sent if the TLS handshake on the original connection does not
successfully complete.</t>

<t>Intermediaries that receive the 4NN (Too Early) status code MUST NOT
automatically retry requests when the original request already contained the
<spanx style="verb">Early-Data</spanx> header field with a value of “1” or the request arrived at the
intermediary in early data; instead, they MUST forward the 4NN (Too Early)
response to the client.</t>

<t>The server cannot assume that a client is able to retry a request unless the
request is received in early data or the <spanx style="verb">Early-Data</spanx> header field is set to
“1”.  A server SHOULD NOT emit the 4NN status code unless one of these
conditions is met.</t>

<t>The 4NN (Too Early) status code is not cacheable by default. Its payload is not
the representation of any identified resource.</t>

</section>
</section>
<section anchor="security-considerations" title="Security Considerations">

<t>Using early data exposes a client to the risk that their request is replayed.  A
retried or replayed request can produce different side effects on the server.
That might be used for traffic analysis to recover information about requests or
the resources those requests target.</t>

<t>A gateway that forwards requests that were received in early data MUST only do
so if it knows that the server that receives those requests understands the
<spanx style="verb">Early-Data</spanx> header field and will correctly generate a 4NN (Too Early) status
code.  A gateway that isn’t certain about server support SHOULD either delay
forwarding the request until the TLS handshake completes, or send a 4NN (Too
Early) status code in response.</t>

</section>
<section anchor="iana-considerations" title="IANA Considerations">

<t>This document registers the <spanx style="verb">Early-Data</spanx> header field in the “Message Headers”
registry <xref target="HEADERS"/>.</t>

<t><list style="hanging">
  <t hangText='Header field name:'>
  Early-Data</t>
  <t hangText='Applicable protocol:'>
  http</t>
  <t hangText='Status:'>
  standard</t>
  <t hangText='Author/Change controller:'>
  IETF</t>
  <t hangText='Specification document(s):'>
  This document</t>
  <t hangText='Related information:'>
  (empty)</t>
</list></t>

<t>This document registers the 4NN (Too Early) status code in the “Hypertext
Transfer Protocol (HTTP) Status Code” registry established in <xref target="RFC7231"/>.</t>

<t><list style="hanging">
  <t hangText='Value:'>
  4NN</t>
  <t hangText='Description:'>
  Too Early</t>
  <t hangText='Reference:'>
  This document</t>
</list></t>

</section>


  </middle>

  <back>

    <references title='Normative References'>





<reference anchor="TLS13">
<front>
<title>The Transport Layer Security (TLS) Protocol Version 1.3</title>

<author initials='E' surname='Rescorla' fullname='Eric Rescorla'>
    <organization />
</author>

<date month='April' day='28' year='2017' />

<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></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-ietf-tls-tls13-20' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-ietf-tls-tls13-20.txt' />
</reference>



<reference  anchor="HTTP" target='http://www.rfc-editor.org/info/rfc7230'>
<front>
<title>Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing</title>
<author initials='R.' surname='Fielding' fullname='R. Fielding' role='editor'><organization /></author>
<author initials='J.' surname='Reschke' fullname='J. Reschke' role='editor'><organization /></author>
<date year='2014' month='June' />
<abstract><t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems.  This document provides an overview of HTTP architecture and its associated terminology, defines the &quot;http&quot; and &quot;https&quot; Uniform Resource Identifier (URI) schemes, defines the HTTP/1.1 message syntax and parsing requirements, and describes related security concerns for implementations.</t></abstract>
</front>
<seriesInfo name='RFC' value='7230'/>
<seriesInfo name='DOI' value='10.17487/RFC7230'/>
</reference>



<reference  anchor="RFC2119" target='http://www.rfc-editor.org/info/rfc2119'>
<front>
<title>Key words for use in RFCs to Indicate Requirement Levels</title>
<author initials='S.' surname='Bradner' fullname='S. Bradner'><organization /></author>
<date year='1997' month='March' />
<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="RFC7231" target='http://www.rfc-editor.org/info/rfc7231'>
<front>
<title>Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</title>
<author initials='R.' surname='Fielding' fullname='R. Fielding' role='editor'><organization /></author>
<author initials='J.' surname='Reschke' fullname='J. Reschke' role='editor'><organization /></author>
<date year='2014' month='June' />
<abstract><t>The Hypertext Transfer Protocol (HTTP) is a stateless \%application- level protocol for distributed, collaborative, hypertext information systems.  This document defines the semantics of HTTP/1.1 messages, as expressed by request methods, request header fields, response status codes, and response header fields, along with the payload of messages (metadata and body content) and mechanisms for content negotiation.</t></abstract>
</front>
<seriesInfo name='RFC' value='7231'/>
<seriesInfo name='DOI' value='10.17487/RFC7231'/>
</reference>



<reference  anchor="ABNF" target='http://www.rfc-editor.org/info/rfc5234'>
<front>
<title>Augmented BNF for Syntax Specifications: ABNF</title>
<author initials='D.' surname='Crocker' fullname='D. Crocker' role='editor'><organization /></author>
<author initials='P.' surname='Overell' fullname='P. Overell'><organization /></author>
<date year='2008' month='January' />
<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="HEADERS" target='http://www.rfc-editor.org/info/rfc3864'>
<front>
<title>Registration Procedures for Message Header Fields</title>
<author initials='G.' surname='Klyne' fullname='G. Klyne'><organization /></author>
<author initials='M.' surname='Nottingham' fullname='M. Nottingham'><organization /></author>
<author initials='J.' surname='Mogul' fullname='J. Mogul'><organization /></author>
<date year='2004' month='September' />
<abstract><t>This specification defines registration procedures for the message header fields used by Internet mail, HTTP, Netnews and other applications.  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='90'/>
<seriesInfo name='RFC' value='3864'/>
<seriesInfo name='DOI' value='10.17487/RFC3864'/>
</reference>




    </references>

    <references title='Informative References'>





<reference anchor="HQ">
<front>
<title>Hypertext Transfer Protocol (HTTP) over QUIC</title>

<author initials='M' surname='Bishop' fullname='Mike Bishop'>
    <organization />
</author>

<date month='June' day='13' year='2017' />

<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 QUIC.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-ietf-quic-http-04' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-ietf-quic-http-04.txt' />
</reference>




    </references>



  </back>

<!-- ##markdown-source:
H4sIABloS1kAA41a73PcNpL9jr8CJ39Y6UozsWzfj5UrtVEseeWq2Mna8qW2
rq4SzBAzg4gk5giM5LFL+dvvdTdAgjNj+VIVWxZJsLvx+vXrBieTiYou1vZc
fwyuXeor09VbfWmi0a7V1zc3vygzm3X27pz/UVxXlZ+3psGTVWcWcRJXvgm+
naxiXE86u67NdlKbaENUc/y19N32XIdYKeXW3bmO3SbEZ0+f/vXpM2U6a871
xfsbde+722XnN+tzTevMXFC3dovfVuf6TRtt19o4uaT3KRWiaavfTO1b2LC1
Qa3duf7v6OenGn+4trJtPNXBd7Gzi4Cftk36IXZujktz36xN+qHBzbjk2tq1
9lTDt8as14jI/yhlNvCtO1d6ojT+c20412+n+kYc5t9JIN6aLiJq5QXfLU3r
PpvofIsb/GdX14av2Ma4+lw3/Mw0Re+HJf12CoN23/bOR9y3XJlm/MLb3Svj
N/4TcSnf1vr4A/0xRSBHr/gVDpkOG7Ep1v8V1m5Hvx+vfn3xS+c/4Q47X7W+
9ks3ft09Pf/DyqzprimeVdj9duG7Bgvc2XOlJpOJNjPsCDZCqZuVCxT7DW2H
tp8AIhin48rqzoXboP1CbxinlnFYEU6xnGATcNCVDfPOzWBGJJvc/25s4Ds6
W23m9CQWa6YAk15T5Oeb2nTY94gnF9j6oI1u8CScDA3uNVHZ1sxqXJjXjkAC
cDFgNq0jXMPHuNLBdne2w8Mzv4mFcQRFbULYdBYPIYzw0q9tx/GbKvG/cVVV
W6WeEMQ7DzvpKqLx0wd9Nn2uv3z5G348e/79m8nl1Nm4mMQ60P9nzx8esHvy
jJU4zX07t+tIkRrMUMemDl7ftv6+hTn6s+28RpohYMiFtcQRQXo6eX9zw/86
maZU50umrv09hUZiQE4FS9GmtcnDFADiDDJi4boQyxfAGkOmtZZ9O+WoUaju
jSPw8hbhSfYZwa/CytzaFOp1bRFntxD/xIIVvAhrf2tbuokuBCA2m4E446Z6
iwj/usItm2Ar2SgGypcv/0J/f//+9av/ePb86cPDaYmn5Gyx3eSr6ixhCb9w
IIvKYevr7ak2d95VCVYaTERRjPfj4FpQoW6trWDEQT+JSwB8RxEObtm6BaAF
JwEUzhXsqLbtiv6mxHipV/7ewk/GLSKhyodq17jI+ApTyiir150Dy2w5hQ5m
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

-->

</rfc>

