<?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.19 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-mattsson-tls-super-jumbo-record-limit-05" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.23.0 -->
  <front>
    <title abbrev="Large Record Sizes for TLS">Large Record Sizes for TLS and DTLS with Reduced Overhead</title>
    <seriesInfo name="Internet-Draft" value="draft-mattsson-tls-super-jumbo-record-limit-05"/>
    <author initials="J." surname="Preuß Mattsson" fullname="John Preuß Mattsson">
      <organization>Ericsson</organization>
      <address>
        <email>john.mattsson@ericsson.com</email>
      </address>
    </author>
    <author initials="H." surname="Tschofenig" fullname="Hannes Tschofenig">
      <organization>Siemens</organization>
      <address>
        <email>hannes.tschofenig@gmx.net</email>
      </address>
    </author>
    <author initials="M." surname="Tüxen" fullname="Michael Tüxen">
      <organization>Münster Univ. of Applied Sciences</organization>
      <address>
        <email>tuexen@fh-muenster.de</email>
      </address>
    </author>
    <date year="2024" month="September" day="05"/>
    <area>Security</area>
    <workgroup>Transport Layer Security</workgroup>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>sparkling distributed ledger</keyword>
    <abstract>
      <?line 56?>

<t>TLS 1.3 records limit the inner plaintext (TLSInnerPlaintext) size to 2<sup>14</sup> + 1 bytes, which includes one byte for the content type. Records also have a 3-byte overhead due to the fixed opaque_type and legacy_record_version fields. This document defines a TLS extension that allows endpoints to negotiate a larger maximum inner plaintext size, up to 2<sup>32</sup> - 256 bytes, while reducing overhead.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://emanjon.github.io/tls-super-jumbo-record-limit/draft-mattsson-tls-super-jumbo-record-limit.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-mattsson-tls-super-jumbo-record-limit/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Transport Layer Security Working Group mailing list (<eref target="mailto:tls@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/tls/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/tls/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/emanjon/tls-super-jumbo-record-limit"/>.</t>
    </note>
  </front>
  <middle>
    <?line 60?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>TLS 1.3 records limit the inner plaintext (TLSInnerPlaintext) size to 2<sup>14</sup> + 1 bytes, which includes one byte for the content type. Records also have a 3-byte overhead due to the fixed opaque_type and legacy_record_version fields. TLS-based protocols are increasingly used to secure long-lived interfaces in critical infrastructure, such as telecommunication networks. In some infrastructure use cases, the upper layer of DTLS expects a message oriented service and uses message sizes much larger than 2<sup>14</sup>-bytes. In these cases, the 2<sup>14</sup>-byte limit in TLS necessitates an additional protocol layer for fragmentation, resulting in increased CPU and memory consumption and additional complexity. Allowing 2<sup>32</sup>-byte records would eliminate additional fragmentation in almost all use cases. In <xref target="RFC6083"/> (DTLS over SCTP), the 2<sup>14</sup>-byte limit is a severe restriction.</t>
      <t>This document defines a "large_record_size_limit" extension that allows endpoints to negotiate a larger maximum inner plaintext (TLSInnerPlaintext) size. This extension is valid in TLS 1.3 and DTLS 1.3. The extension works similarly to the "record_size_limit" extension defined in <xref target="RFC8449"/>. Additionally, this document defines new TLS 1.3 TLSLargeCiphertext and DTLS 1.3 unified_hdr structures to enable inner plaintexts up to 2<sup>32</sup> - 256 bytes with reduced overhead. For example, inner plaintexts up to 2<sup>16</sup> - 256 bytes can be supported with 3 bytes less overhead, which is useful in constrained IoT environments. The "large_record_size_limit" extension is incompatible with middleboxes expecting TLS 1.2 records.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</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="the-largerecordsizelimit-extension">
      <name>The "large_record_size_limit" Extension</name>
      <t>The ExtensionData of the "large_record_size_limit" extension is LargeRecordSizeLimit:</t>
      <artwork><![CDATA[
   uint32 LargeRecordSizeLimit;
]]></artwork>
      <t>LargeRecordSizeLimit denotes the maximum size, in bytes, of inner plaintexts that the endpoint is willing to receive. It includes the content type and padding (i.e., the complete length of TLSInnerPlaintext). AEAD expansion is not included.</t>
      <t>The large record size limit only applies to records sent toward the endpoint that advertises the limit. An endpoint can send records that are larger than the limit it advertises as its own limit. A TLS endpoint that receives a record larger than its advertised limit <bcp14>MUST</bcp14> generate a fatal "record_overflow" alert; a DTLS endpoint that receives a record larger than its advertised limit <bcp14>MAY</bcp14> either generate a fatal "record_overflow" alert or discard the record. An endpoint <bcp14>MUST NOT</bcp14> add padding to records that would cause the length of TLSInnerPlaintext to exceed the limit advertised by the other endpoint.</t>
      <t>Endpoints <bcp14>MUST NOT</bcp14> send a "large_record_size_limit" extension with a value smaller than 64 or larger than 2<sup>32</sup> - 256. An endpoint <bcp14>MUST</bcp14> treat receipt of a smaller or larger value as a fatal error and generate an "illegal_parameter" alert.</t>
      <t>The server sends the "large_record_size_limit" extension in the EncryptedExtensions message. During resumption, the limit is renegotiated. Records are subject to the limits that were set in the handshake that produces the keys that are used to protect those records. This admits the possibility that the extension might not be negotiated during resumption.</t>
      <t>Unprotected messages and records protected with early_traffic_secret or handshake_traffic_secret are not subject to the large record size limit.</t>
      <t>When the "large_record_size_limit" extension is negotiated:</t>
      <ul spacing="normal">
        <li>
          <t>All TLS 1.3 records protected with application_traffic_secret <bcp14>MUST</bcp14> use the TLSLargeCiphertext structure instead of the TLSCiphertext structure. The size of the length field depends on the limit advertised by the receiver. If the limit is less than 2<sup>16</sup> - 255 an uint16 is used, if the limit is larger than 2<sup>24</sup> - 256 an uint32 is used, and otherwise an uint24 is used. The length is fixed for the connection. Different lengths might be used in different directions.</t>
        </li>
      </ul>
      <artwork><![CDATA[
   enum { u16(0), u24(1), u32(2) } Length;
]]></artwork>
      <artwork><![CDATA[
   struct {
       select (Length.type) {
           case u16: uint16;
           case u24: uint24;
           case u32: uint32;
       };
    } VarLength;
]]></artwork>
      <artwork><![CDATA[
   struct {
       VarLength length;
       opaque encrypted_record[TLSLargeCiphertext.length];
   } TLSLargeCiphertext;
]]></artwork>
      <ul spacing="normal">
        <li>
          <t>All DTLS 1.3 records protected with application_traffic_secret and with length present <bcp14>MUST</bcp14> use a unified_hdr structure with a length equal to the TLS 1.3 length field defined above.</t>
        </li>
      </ul>
      <artwork><![CDATA[
    0 1 2 3 4 5 6 7
   +-+-+-+-+-+-+-+-+
   |0|0|1|C|S|L|E E|
   +-+-+-+-+-+-+-+-+
   | Connection ID |   Legend:
   | (if any,      |
   /  length as    /   C   - Connection ID (CID) present
   |  negotiated)  |   S   - Sequence number length
   +-+-+-+-+-+-+-+-+   L   - Length present
   |  8 or 16 bit  |   E   - Epoch
   |Sequence Number|
   +-+-+-+-+-+-+-+-+
   | 16, 24, or 32 |
   |  bit Length   |
   | (if present)  |
   +-+-+-+-+-+-+-+-+
]]></artwork>
      <ul spacing="normal">
        <li>
          <t>An endpoint <bcp14>MAY</bcp14> generate records protected with application_traffic_secret with inner plaintext that is equal to or smaller than the LargeRecordSizeLimit value it receives from its peer. An endpoint <bcp14>MUST NOT</bcp14> generate a protected record with inner plaintext that is larger than the LargeRecordSizeLimit value it receives from its peer.</t>
        </li>
      </ul>
      <t>The "large_record_size_limit" extension is not compatible with middleboxes expecting TLS 1.2 records and <bcp14>SHOULD NOT</bcp14> be negotiated where such middleboxes are expected. A server <bcp14>MUST NOT</bcp14> send extension responses to more than one of "large_record_size_limit", "record_size_limit", and "max_fragment_length". A client <bcp14>MUST</bcp14> treat receipt of more than one of "large_record_size_limit", "record_size_limit", and "max_fragment_length" as a fatal error, and it <bcp14>SHOULD</bcp14> generate an "illegal_parameter" alert.</t>
      <t>The Path Maximum Transmission Unit (PMTU) in DTLS also limits the size of records. The record size limit does not affect PMTU discovery and <bcp14>SHOULD</bcp14> be set independently. The record size limit is fixed during the handshake and so should be set based on constraints at the endpoint and not based on the current network environment. In comparison, the PMTU is determined by the network path and can change dynamically over time.</t>
    </section>
    <section anchor="limits-on-key-usage">
      <name>Limits on Key Usage</name>
      <t>The maximum record size limit is an input to the AEAD limits calculations in TLS 1.3 <xref target="RFC8446"/> and DTLS 1.3 <xref target="RFC9147"/>. Increasing the maximum record size to more than 2<sup>14</sup> + 256 bytes while keeping the same confidentiality and integrity advantage per write key therefore requires lower AEAD limits. When the "large_record_size" has been negotiated record size limit larger than 2<sup>14</sup> + 1 bytes, existing AEAD limits <bcp14>SHALL</bcp14> be decreased by a factor of (LargeRecordSizeLimit) / (2^14-256). For example, when AES-CGM is used in TLS 1.3 <xref target="RFC8446"/> with a 64 kB record limit, only arounf 2<sup>22.5</sup> records (about 6 million) may be encrypted on a given connection.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Large record sizes might require more memory allocation for senders and receivers. Additionally, larger record sizes also means that more processing is done before verification of non-authentic records fails.</t>
      <t>The use of larger record sizes can either simplify or complicate traffic analysis, depending on the application. The LargeRecordSizeLimit is just an upper limit and it is still the sender that decides the size of the inner plaintexts up to that limit.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is requested to assign a new value in the TLS ExtensionType Values registry defined by <xref target="RFC8447"/>:</t>
      <ul spacing="normal">
        <li>
          <t>The Extension Name should be large_record_size_limit</t>
        </li>
        <li>
          <t>The TLS 1.3 value should be CH, EE</t>
        </li>
        <li>
          <t>The DTLS-Only value should be N</t>
        </li>
        <li>
          <t>The Recommended value should be Y</t>
        </li>
        <li>
          <t>The Reference should be this document</t>
        </li>
      </ul>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <reference anchor="RFC8447">
          <front>
            <title>IANA Registry Updates for TLS and DTLS</title>
            <author fullname="J. Salowey" initials="J." surname="Salowey"/>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document describes a number of changes to TLS and DTLS IANA registries that range from adding notes to the registry all the way to changing the registration policy. These changes were mostly motivated by WG review of the TLS- and DTLS-related registries undertaken as part of the TLS 1.3 development process.</t>
              <t>This document updates the following RFCs: 3749, 5077, 4680, 5246, 5705, 5878, 6520, and 7301.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8447"/>
          <seriesInfo name="DOI" value="10.17487/RFC8447"/>
        </reference>
        <reference anchor="RFC8449">
          <front>
            <title>Record Size Limit Extension for TLS</title>
            <author fullname="M. Thomson" initials="M." surname="Thomson"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>An extension to Transport Layer Security (TLS) is defined that allows endpoints to negotiate the maximum size of protected records that each will send the other.</t>
              <t>This replaces the maximum fragment length extension defined in RFC 6066.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8449"/>
          <seriesInfo name="DOI" value="10.17487/RFC8449"/>
        </reference>
        <reference anchor="RFC9147">
          <front>
            <title>The Datagram Transport Layer Security (DTLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="N. Modadugu" initials="N." surname="Modadugu"/>
            <date month="April" year="2022"/>
            <abstract>
              <t>This document specifies version 1.3 of the Datagram Transport Layer Security (DTLS) protocol. DTLS 1.3 allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>The DTLS 1.3 protocol is based on the Transport Layer Security (TLS) 1.3 protocol and provides equivalent security guarantees with the exception of order protection / non-replayability. Datagram semantics of the underlying transport are preserved by the DTLS protocol.</t>
              <t>This document obsoletes RFC 6347.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9147"/>
          <seriesInfo name="DOI" value="10.17487/RFC9147"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC6083">
          <front>
            <title>Datagram Transport Layer Security (DTLS) for Stream Control Transmission Protocol (SCTP)</title>
            <author fullname="M. Tuexen" initials="M." surname="Tuexen"/>
            <author fullname="R. Seggelmann" initials="R." surname="Seggelmann"/>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="January" year="2011"/>
            <abstract>
              <t>This document describes the usage of the Datagram Transport Layer Security (DTLS) protocol over the Stream Control Transmission Protocol (SCTP).</t>
              <t>DTLS over SCTP provides communications privacy for applications that use SCTP as their transport protocol and allows client/server applications to communicate in a way that is designed to prevent eavesdropping and detect tampering or message forgery.</t>
              <t>Applications using DTLS over SCTP can use almost all transport features provided by SCTP and its extensions. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6083"/>
          <seriesInfo name="DOI" value="10.17487/RFC6083"/>
        </reference>
      </references>
    </references>
    <?line 182?>

<section removeInRFC="true" numbered="false" anchor="change-log">
      <name>Change Log</name>
      <t>Changes from -04 to -05:</t>
      <ul spacing="normal">
        <li>
          <t>Grammar and comprehension tweaks.</t>
        </li>
        <li>
          <t>Added change log</t>
        </li>
      </ul>
      <t>Changes from -03 to -04:</t>
      <ul spacing="normal">
        <li>
          <t>Corrected uint24 to uint32.</t>
        </li>
      </ul>
      <t>Changes from -02 to -03:</t>
      <ul spacing="normal">
        <li>
          <t>Major rewrite based on discussions at IETF 119</t>
        </li>
        <li>
          <t>New independant extension instead of flag extension used together with record_size_limit</t>
        </li>
        <li>
          <t>New record format without opaque_type and legacy_record_version fields. This reduces overhead</t>
        </li>
        <li>
          <t>Support inner plaintext size up to 2^32 - 256 bytes</t>
        </li>
      </ul>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors would like to thank <contact fullname="Stephen Farrell"/>, <contact fullname="Benjamin Kaduk"/>, and <contact fullname="Martin Thomson"/> for their valuable comments and feedback. Some of the text were inspired by and borrowed from <xref target="RFC8449"/>.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
