<?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-04" 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-04"/>
    <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, and have a 3-byte overhead due to the fixed fields opaque_type and legacy_record_version. 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, and have a 3-byte overhead due to the fixed fields opaque_type and legacy_record_version. 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 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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
CVDOjBoJhFnrV6Ot/wLBoVraQSgAAA==

-->

</rfc>
