<?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.29 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-iotops-security-protocol-comparison-09" category="info" submissionType="IETF" tocDepth="3" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.1 -->
  <front>
    <title>Comparison of CoAP Security Protocols</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-iotops-security-protocol-comparison-09"/>
    <author initials="J" surname="Preuß Mattsson" fullname="John Preuß Mattsson">
      <organization>Ericsson</organization>
      <address>
        <email>john.mattsson@ericsson.com</email>
      </address>
    </author>
    <author initials="F." surname="Palombini" fullname="Francesca Palombini">
      <organization>Ericsson</organization>
      <address>
        <email>francesca.palombini@ericsson.com</email>
      </address>
    </author>
    <author initials="M." surname="Vučinić" fullname="Mališa Vučinić">
      <organization>INRIA</organization>
      <address>
        <email>malisa.vucinic@inria.fr</email>
      </address>
    </author>
    <date year="2025" month="June" day="04"/>
    <workgroup>IOTOPS Working Group</workgroup>
    <abstract>
      <?line 217?>

<t>This document analyzes and compares the sizes of key exchange flights and the per-packet message size overheads when using different security protocols to secure CoAP. Small message sizes are very important for reducing energy consumption, latency, and time to completion in constrained radio network such as Low-Power Wide Area Networks (LPWANs). The analyzed security protocols are DTLS 1.2, DTLS 1.3, TLS 1.2, TLS 1.3, cTLS, EDHOC, OSCORE, and Group OSCORE. The DTLS and TLS record layers are analyzed with and without 6LoWPAN-GHC compression. DTLS is analyzed with and without Connection ID.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-iotops-security-protocol-comparison/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        IOT Operations (iotops) Working Group mailing list (<eref target="mailto:iotops@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/iotops/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/iotops/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/lwig-wg/protocol-comparison"/>.</t>
    </note>
  </front>
  <middle>
    <?line 221?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Small message sizes are very important for reducing energy consumption, latency, and time to completion in constrained radio network such as Low-Power Personal Area Networks (LPPANs) and Low-Power Wide Area Networks (LPWANs). Constrained radio networks are not only characterized by very small frame sizes on the order of tens of bytes transmitted a few times per day at ultra-low speeds, but also by high latency and severe duty cycles constraints. Some constrained radio networks are also multi-hop, where the already small frame sizes are additionally reduced for each additional hop. Too large payload sizes can easily lead to unacceptable completion times due to fragmentation into a large number of frames and long waiting times between sending each frame (or resending frames, in the case of transmission errors). In constrained radio networks, the processing energy costs are typically almost negligible compared to the energy costs for radio and the energy costs for sensor measurement. Keeping the number of bytes or frames low is also essential for low latency and time to completion as well as efficient use of spectrum to support a large number of devices. For an overview of LPWANs and their limitations, see <xref target="RFC8376"/> and <xref target="I-D.ietf-lake-reqs"/>.</t>
      <t>To reduce overhead, processing, and energy consumption in constrained radio networks, IETF has created several working groups and technologies for constrained networks, e.g., (here technologies in parenthesis when the name is different from the working group): 6lo, 6LoWPAN, 6TiSCH, ACE, CBOR, CoRE (CoAP, OSCORE, Group OSCORE), COSE (COSE, C509), LAKE (EDHOC), LPWAN, SCHC, ROLL (RPL), and TLS (DTLS, cTLS). Compact formats and protocol have also been suggested as a way to decrease the energy consumption of Internet Applications and Systems in general <xref target="RFC9547"/>.</t>
      <t>This document analyzes and compares the sizes of Authenticated Key Exchange (AKE) flights and the per-packet message size overheads when using different security protocols to secure CoAP over UPD <xref target="RFC7252"/> and TCP <xref target="RFC8323"/>. The analyzed security protocols are DTLS 1.2 <xref target="RFC6347"/>, DTLS 1.3 <xref target="RFC9147"/>, TLS 1.2 <xref target="RFC5246"/>, TLS 1.3 <xref target="RFC8446"/>, cTLS <xref target="I-D.ietf-tls-ctls"/>, EDHOC <xref target="RFC9528"/> <xref target="RFC9668"/>, OSCORE <xref target="RFC8613"/>, and Group OSCORE <xref target="I-D.ietf-core-oscore-groupcomm"/>. An AKE and a protocol for the protection of application data serve distinct purposes. An AKE is responsible for establishing secure communication channels between parties and negotiating cryptographic keys used for authenticated encryption. AKE protocols typically involve a series of messages exchanged between communicating parties to authenticate each other's identities and derive shared secret keys. TLS, DTLS, and cTLS handshakes as well as EDHOC are examples of AKEs. Protocols for protection of application data are responsible for encrypting and authenticating application-layer data to ensure its confidentiality, integrity, and replay protection during transmission. The TLS and DTLS record layers, OSCORE, and Group OSCORE are examples of protocols for protection of application data. <xref target="handshake"/> compares the overhead of mutually authenticated key exchange protocols, while <xref target="record"/> covers the overhead of protocols for protection of application data. The protocols are analyzed with different algorithms and options. The DTLS and TLS record layers are analyzed with and without 6LoWPAN-GHC compression <xref target="RFC7400"/>. DTLS is analyzed with and without Connection ID <xref target="RFC9146"/>. Readers are expected to be familiar with some of the terms described in RFC 7925 <xref target="RFC7925"/>, such as Integrity Check Value (ICV).</t>
      <t>Readers of this document also might be interested in the following documents: <xref target="Illustrated-TLS12"/>, <xref target="Illustrated-TLS13"/>, <xref target="Illustrated-DTLS13"/>, and <xref target="RFC9529"/> explain every byte in example TLS 1.2, TLS 1.3, DTLS 1.3, and EDHOC instances. <xref target="RFC9191"/> looks at potential tools available for overcoming the deployment challenges induced by large certificates and long certificate chains and discusses solutions available to overcome these challenges. <xref target="I-D.ietf-cose-cbor-encoded-cert"/> gives examples of IoT and Web certificates as well as examples on how effective C509 and TLS certificate compression <xref target="RFC8879"/> is at compressing example certificate and certificate chains. <xref target="I-D.ietf-tls-cert-abridge"/> and <xref target="I-D.kampanakis-tls-scas-latest"/> describe how TLS clients or servers can reduce the size of the TLS handshake by not sending certificate authority certificates. <xref target="I-D.mattsson-tls-compact-ecc"/> proposes new optimized encodings for key exchange and signatures with P-256 in TLS 1.3.</t>
    </section>
    <section anchor="layers">
      <name>Underlying Layers</name>
      <t>The described overheads in <xref target="handshake"/> and <xref target="record"/> are independent of the underlying layers as they do not consider DTLS handshake message fragmentation, how to compose DTLS handshake messages into records, and how the underlying layers influence the choice of application plaintext sizes. The complete overhead for all layers depends on the combination of layers as well as assumptions regarding the devices and applications and is out of scope of the document. This section gives a short overview of the overheads of UDP, TCP, and CoAP to give the reader a high-level overview.</t>
      <t>DTLS and cTLS are typically sent over 8 bytes UDP datagram headers while TLS is typically sent over 20 bytes TCP segment headers. TCP also uses some more bytes for additional messages used in TCP internally. EDHOC is typically sent over CoAP which would typically add 12 bytes to flight #1, 5 bytes to flight #2, and 1 byte to flight #3 when used over OSCORE with the EDHOC + OSCORE combined request according to <xref target="RFC9668"/>, see <xref target="marco"/>. If EDHOC is used without OSCORE, the overhead would typically be 12 bytes to flight #1 and #3 and 5 bytes to flight #2. OSCORE and Group OSCORE are part of CoAP and are typically sent over UDP. A comparison of the total size for DTLS and EDHOC when transported over IEEE 802.15.4 and 6LoWPAN is provided in <xref target="Performance"/>.</t>
      <t>IPv6, UDP, and CoAP can be compressed with Static Context Header Compression (SCHC) for the Constrained Application Protocol (CoAP) <xref target="RFC8824"/><xref target="I-D.ietf-schc-8824-update"/>. The use of SCHC can significantly reduce the overhead. <xref target="SCHC-eval"/> gives an evaluation of how SCHC reduces this overhead for OSCORE and the DTLS 1.2 record layer when used in four of the most widely used LPWAN radio technologies</t>
      <t>Fragmentation can significantly increase the total overhead as many more packet headers have to be sent. CoAP, (D)TLS handshake, and IP support fragmentation. If, how, and where fragmentation is done depends heavily on the underlying layers.</t>
    </section>
    <section anchor="handshake">
      <name>Overhead of Authenticated Key Exchange Protocols</name>
      <t>This section analyzes and compares the sizes of key exchange flights for different protocols.</t>
      <t>To enable a comparison between protocols, the following assumptions are made:</t>
      <ul spacing="normal">
        <li>
          <t>The overhead calculations in this section use an 8 bytes ICV (e.g., AES_128_CCM_8 <xref target="RFC6655"/> or AES-CCM-16-64-128 <xref target="RFC9053"/>) or 16 bytes e.g., AES-CCM <xref target="SP-800-38C"/>, AES-GCM <xref target="SP-800-38D"/>, or ChaCha20-Poly1305 <xref target="RFC7539"/>).</t>
        </li>
        <li>
          <t>A minimum number of algorithms and cipher suites is offered. The algorithm used/offered are: P-256 <xref target="SP-800-186"/> or Curve25519 <xref target="RFC7748"/>; ECDSA <xref target="FIPS-186-5"/> with P-256 and SHA-256, or Ed25519 <xref target="RFC8032"/>; AES-CCM_8; and SHA-256 <xref target="FIPS-180-4"/>.</t>
        </li>
        <li>
          <t>The length of key identifiers is 1 byte.</t>
        </li>
        <li>
          <t>The length of connection identifiers is 1 byte.</t>
        </li>
        <li>
          <t>DTLS handshake message fragmentation is not considered.</t>
        </li>
        <li>
          <t>As many (D)TLS handshake messages as possible are sent in a single record.</t>
        </li>
        <li>
          <t>Only mandatory (D)TLS extensions are included.</t>
        </li>
        <li>
          <t>DoS protection with DTLS HelloVerifyRequest <xref target="RFC6347"/>, HelloRetryRequest <xref target="RFC9147"/>, or the CoAP Echo Option <xref target="RFC9175"/> is not considered.</t>
        </li>
      </ul>
      <t>The choices of algorithms are based on the profiles in <xref target="RFC7925"/>, <xref target="I-D.ietf-uta-tls13-iot-profile"/>, and on the used EDHOC application profiles, see Section 3.9 of <xref target="RFC9528"/>. Many DTLS implementations splits flight #2 in two records.</t>
      <t><xref target="summ-handshake"/> gives a short summary of the message overhead based on different parameters and some assumptions. The following sections detail the assumptions and the calculations.</t>
      <section anchor="summ-handshake">
        <name>Summary</name>
        <t>The DTLS, EDHOC, and cTLS overhead is dependent on the parameter Connection ID.  The EDHOC and cTLS overhead is dependent on the key or certificate identifiers included. Key identifiers are byte strings used to identity a cryptographic key and certificate identifiers are used to identify a certificate. If 8 bytes identifiers are used instead of 1 byte, the RPK numbers for flight #2 and #3 increase by 7 bytes and the PSK numbers for flight #1 increase by 7 bytes.</t>
        <t>The TLS, DTLS, and cTLS overhead is dependent on the group used for key exchange and the signature algorithm. secp256r1 and ecdsa_secp256r1_sha256 have less optimized encoding than x25519, ed25519, and <xref target="I-D.mattsson-tls-compact-ecc"/>.</t>
        <t><xref target="fig-compare1"/> compares the message sizes of DTLS 1.3, cTLS, and EDHOC handshakes with connection ID and the mandatory to implement algorithms CCM_8, P-256, and ECDSA <xref target="I-D.ietf-uta-tls13-iot-profile"/> <xref target="RFC9528"/>.</t>
        <t>Editor's note: This version of the document analyses the -10 version of cTLS, which seems relatively stable.</t>
        <figure anchor="fig-compare1">
          <name>Comparison of message sizes in bytes with CCM_8, P-256, and ECDSA and with Connection ID</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="272" width="560" viewBox="0 0 560 272" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,30 L 552,30" fill="none" stroke="black"/>
                <path d="M 8,34 L 552,34" fill="none" stroke="black"/>
                <path d="M 8,64 L 552,64" fill="none" stroke="black"/>
                <path d="M 8,176 L 552,176" fill="none" stroke="black"/>
                <path d="M 8,254 L 552,254" fill="none" stroke="black"/>
                <path d="M 8,258 L 552,258" fill="none" stroke="black"/>
                <g class="text">
                  <text x="36" y="52">Flight</text>
                  <text x="348" y="52">#1</text>
                  <text x="412" y="52">#2</text>
                  <text x="476" y="52">#3</text>
                  <text x="528" y="52">Total</text>
                  <text x="28" y="84">DTLS</text>
                  <text x="64" y="84">1.3</text>
                  <text x="88" y="84">-</text>
                  <text x="120" y="84">RPKs,</text>
                  <text x="168" y="84">ECDHE</text>
                  <text x="344" y="84">185</text>
                  <text x="408" y="84">454</text>
                  <text x="472" y="84">255</text>
                  <text x="536" y="84">894</text>
                  <text x="28" y="100">DTLS</text>
                  <text x="64" y="100">1.3</text>
                  <text x="88" y="100">-</text>
                  <text x="140" y="100">Compressed</text>
                  <text x="208" y="100">RPKs,</text>
                  <text x="256" y="100">ECDHE</text>
                  <text x="344" y="100">185</text>
                  <text x="408" y="100">422</text>
                  <text x="472" y="100">223</text>
                  <text x="536" y="100">830</text>
                  <text x="28" y="116">DTLS</text>
                  <text x="64" y="116">1.3</text>
                  <text x="88" y="116">-</text>
                  <text x="124" y="116">Cached</text>
                  <text x="172" y="116">RPK,</text>
                  <text x="212" y="116">PRK,</text>
                  <text x="256" y="116">ECDHE</text>
                  <text x="344" y="116">224</text>
                  <text x="408" y="116">402</text>
                  <text x="472" y="116">255</text>
                  <text x="536" y="116">881</text>
                  <text x="28" y="132">DTLS</text>
                  <text x="64" y="132">1.3</text>
                  <text x="88" y="132">-</text>
                  <text x="124" y="132">Cached</text>
                  <text x="180" y="132">X.509,</text>
                  <text x="228" y="132">RPK,</text>
                  <text x="272" y="132">ECDHE</text>
                  <text x="344" y="132">218</text>
                  <text x="408" y="132">396</text>
                  <text x="472" y="132">255</text>
                  <text x="536" y="132">869</text>
                  <text x="28" y="148">DTLS</text>
                  <text x="64" y="148">1.3</text>
                  <text x="88" y="148">-</text>
                  <text x="116" y="148">PSK,</text>
                  <text x="160" y="148">ECDHE</text>
                  <text x="344" y="148">219</text>
                  <text x="408" y="148">226</text>
                  <text x="476" y="148">56</text>
                  <text x="536" y="148">501</text>
                  <text x="28" y="164">DTLS</text>
                  <text x="64" y="164">1.3</text>
                  <text x="88" y="164">-</text>
                  <text x="112" y="164">PSK</text>
                  <text x="344" y="164">136</text>
                  <text x="408" y="164">153</text>
                  <text x="476" y="164">56</text>
                  <text x="536" y="164">345</text>
                  <text x="32" y="196">EDHOC</text>
                  <text x="64" y="196">-</text>
                  <text x="112" y="196">Signature</text>
                  <text x="184" y="196">X.509s,</text>
                  <text x="236" y="196">x5t,</text>
                  <text x="280" y="196">ECDHE</text>
                  <text x="348" y="196">37</text>
                  <text x="408" y="196">115</text>
                  <text x="476" y="196">90</text>
                  <text x="536" y="196">242</text>
                  <text x="32" y="212">EDHOC</text>
                  <text x="64" y="212">-</text>
                  <text x="112" y="212">Signature</text>
                  <text x="176" y="212">RPKs,</text>
                  <text x="236" y="212">kid,</text>
                  <text x="280" y="212">ECDHE</text>
                  <text x="348" y="212">37</text>
                  <text x="408" y="212">102</text>
                  <text x="476" y="212">77</text>
                  <text x="536" y="212">216</text>
                  <text x="32" y="228">EDHOC</text>
                  <text x="64" y="228">-</text>
                  <text x="100" y="228">Static</text>
                  <text x="140" y="228">DH</text>
                  <text x="184" y="228">X.509s,</text>
                  <text x="236" y="228">x5t,</text>
                  <text x="280" y="228">ECDHE</text>
                  <text x="348" y="228">37</text>
                  <text x="412" y="228">58</text>
                  <text x="476" y="228">33</text>
                  <text x="536" y="228">128</text>
                  <text x="32" y="244">EDHOC</text>
                  <text x="64" y="244">-</text>
                  <text x="100" y="244">Static</text>
                  <text x="140" y="244">DH</text>
                  <text x="176" y="244">RPKs,</text>
                  <text x="236" y="244">kid,</text>
                  <text x="280" y="244">ECDHE</text>
                  <text x="348" y="244">37</text>
                  <text x="412" y="244">45</text>
                  <text x="476" y="244">19</text>
                  <text x="536" y="244">101</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
=====================================================================
 Flight                                   #1      #2      #3   Total
---------------------------------------------------------------------
 DTLS 1.3 - RPKs, ECDHE                  185     454     255     894
 DTLS 1.3 - Compressed RPKs, ECDHE       185     422     223     830
 DTLS 1.3 - Cached RPK, PRK, ECDHE       224     402     255     881
 DTLS 1.3 - Cached X.509, RPK, ECDHE     218     396     255     869
 DTLS 1.3 - PSK, ECDHE                   219     226      56     501
 DTLS 1.3 - PSK                          136     153      56     345
---------------------------------------------------------------------
 EDHOC - Signature X.509s, x5t, ECDHE     37     115      90     242
 EDHOC - Signature RPKs,   kid, ECDHE     37     102      77     216
 EDHOC - Static DH X.509s, x5t, ECDHE     37      58      33     128
 EDHOC - Static DH RPKs,   kid, ECDHE     37      45      19     101
=====================================================================
]]></artwork>
          </artset>
        </figure>
        <t><xref target="fig-compare2"/> compares the message sizes of DTLS 1.3 <xref target="RFC9147"/> and TLS 1.3 <xref target="RFC8446"/> handshakes without connection ID but with the same algorithms CCM_8, P-256, and ECDSA.</t>
        <figure anchor="fig-compare2">
          <name>Comparison of message sizes in bytes with CCM_8, secp256r1, and ecdsa_secp256r1_sha256 or PSK and without Connection ID</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="272" width="560" viewBox="0 0 560 272" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,30 L 552,30" fill="none" stroke="black"/>
                <path d="M 8,34 L 552,34" fill="none" stroke="black"/>
                <path d="M 8,64 L 552,64" fill="none" stroke="black"/>
                <path d="M 8,128 L 552,128" fill="none" stroke="black"/>
                <path d="M 8,192 L 552,192" fill="none" stroke="black"/>
                <path d="M 8,254 L 552,254" fill="none" stroke="black"/>
                <path d="M 8,258 L 552,258" fill="none" stroke="black"/>
                <g class="text">
                  <text x="36" y="52">Flight</text>
                  <text x="348" y="52">#1</text>
                  <text x="412" y="52">#2</text>
                  <text x="476" y="52">#3</text>
                  <text x="528" y="52">Total</text>
                  <text x="28" y="84">DTLS</text>
                  <text x="64" y="84">1.3</text>
                  <text x="88" y="84">-</text>
                  <text x="120" y="84">RPKs,</text>
                  <text x="168" y="84">ECDHE</text>
                  <text x="344" y="84">179</text>
                  <text x="408" y="84">447</text>
                  <text x="472" y="84">254</text>
                  <text x="536" y="84">880</text>
                  <text x="28" y="100">DTLS</text>
                  <text x="64" y="100">1.3</text>
                  <text x="88" y="100">-</text>
                  <text x="116" y="100">PSK,</text>
                  <text x="160" y="100">ECDHE</text>
                  <text x="344" y="100">213</text>
                  <text x="408" y="100">219</text>
                  <text x="476" y="100">55</text>
                  <text x="536" y="100">487</text>
                  <text x="28" y="116">DTLS</text>
                  <text x="64" y="116">1.3</text>
                  <text x="88" y="116">-</text>
                  <text x="112" y="116">PSK</text>
                  <text x="344" y="116">130</text>
                  <text x="408" y="116">146</text>
                  <text x="476" y="116">55</text>
                  <text x="536" y="116">331</text>
                  <text x="24" y="148">TLS</text>
                  <text x="56" y="148">1.3</text>
                  <text x="88" y="148">-</text>
                  <text x="120" y="148">RPKs,</text>
                  <text x="168" y="148">ECDHE</text>
                  <text x="344" y="148">162</text>
                  <text x="408" y="148">394</text>
                  <text x="472" y="148">233</text>
                  <text x="536" y="148">789</text>
                  <text x="24" y="164">TLS</text>
                  <text x="56" y="164">1.3</text>
                  <text x="88" y="164">-</text>
                  <text x="116" y="164">PSK,</text>
                  <text x="160" y="164">ECDHE</text>
                  <text x="344" y="164">196</text>
                  <text x="408" y="164">190</text>
                  <text x="476" y="164">50</text>
                  <text x="536" y="164">436</text>
                  <text x="24" y="180">TLS</text>
                  <text x="56" y="180">1.3</text>
                  <text x="88" y="180">-</text>
                  <text x="112" y="180">PSK</text>
                  <text x="344" y="180">113</text>
                  <text x="408" y="180">117</text>
                  <text x="476" y="180">50</text>
                  <text x="536" y="180">280</text>
                  <text x="40" y="212">cTLS-10</text>
                  <text x="88" y="212">-</text>
                  <text x="124" y="212">X.509s</text>
                  <text x="164" y="212">by</text>
                  <text x="220" y="212">reference,</text>
                  <text x="288" y="212">ECDHE</text>
                  <text x="344" y="212">107</text>
                  <text x="408" y="212">200</text>
                  <text x="476" y="212">98</text>
                  <text x="536" y="212">405</text>
                  <text x="40" y="228">cTLS-10</text>
                  <text x="88" y="228">-</text>
                  <text x="116" y="228">PSK,</text>
                  <text x="160" y="228">ECDHE</text>
                  <text x="344" y="228">108</text>
                  <text x="408" y="228">120</text>
                  <text x="476" y="228">20</text>
                  <text x="536" y="228">250</text>
                  <text x="40" y="244">cTLS-10</text>
                  <text x="88" y="244">-</text>
                  <text x="112" y="244">PSK</text>
                  <text x="348" y="244">43</text>
                  <text x="412" y="244">57</text>
                  <text x="476" y="244">20</text>
                  <text x="536" y="244">120</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
=====================================================================
 Flight                                   #1      #2      #3   Total
---------------------------------------------------------------------
 DTLS 1.3 - RPKs, ECDHE                  179     447     254     880
 DTLS 1.3 - PSK, ECDHE                   213     219      55     487
 DTLS 1.3 - PSK                          130     146      55     331
---------------------------------------------------------------------
 TLS 1.3  - RPKs, ECDHE                  162     394     233     789
 TLS 1.3  - PSK, ECDHE                   196     190      50     436
 TLS 1.3  - PSK                          113     117      50     280
---------------------------------------------------------------------
 cTLS-10  - X.509s by reference, ECDHE   107     200      98     405
 cTLS-10  - PSK, ECDHE                   108     120      20     250
 cTLS-10  - PSK                           43      57      20     120 
=====================================================================
]]></artwork>
          </artset>
        </figure>
        <t><xref target="fig-compare3"/> is the same as <xref target="fig-compare2"/> but with more efficiently encoded key shares and signatures such as x25519 and ed25519. The algorithms in <xref target="I-D.mattsson-tls-compact-ecc"/> with point compressed secp256r1 RPKs would add 15 bytes to #2 and #3 in the rows with RPKs.</t>
        <figure anchor="fig-compare3">
          <name>Comparison of message sizes in bytes with CCM_8, x25519, and ed25519 or PSK and without Connection ID</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="272" width="560" viewBox="0 0 560 272" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,30 L 552,30" fill="none" stroke="black"/>
                <path d="M 8,34 L 552,34" fill="none" stroke="black"/>
                <path d="M 8,64 L 552,64" fill="none" stroke="black"/>
                <path d="M 8,128 L 552,128" fill="none" stroke="black"/>
                <path d="M 8,192 L 552,192" fill="none" stroke="black"/>
                <path d="M 8,254 L 552,254" fill="none" stroke="black"/>
                <path d="M 8,258 L 552,258" fill="none" stroke="black"/>
                <g class="text">
                  <text x="36" y="52">Flight</text>
                  <text x="348" y="52">#1</text>
                  <text x="412" y="52">#2</text>
                  <text x="476" y="52">#3</text>
                  <text x="528" y="52">Total</text>
                  <text x="28" y="84">DTLS</text>
                  <text x="64" y="84">1.3</text>
                  <text x="88" y="84">-</text>
                  <text x="120" y="84">RPKs,</text>
                  <text x="168" y="84">ECDHE</text>
                  <text x="344" y="84">146</text>
                  <text x="408" y="84">360</text>
                  <text x="472" y="84">200</text>
                  <text x="536" y="84">706</text>
                  <text x="28" y="100">DTLS</text>
                  <text x="64" y="100">1.3</text>
                  <text x="88" y="100">-</text>
                  <text x="116" y="100">PSK,</text>
                  <text x="160" y="100">ECDHE</text>
                  <text x="344" y="100">180</text>
                  <text x="408" y="100">186</text>
                  <text x="476" y="100">55</text>
                  <text x="536" y="100">421</text>
                  <text x="28" y="116">DTLS</text>
                  <text x="64" y="116">1.3</text>
                  <text x="88" y="116">-</text>
                  <text x="112" y="116">PSK</text>
                  <text x="344" y="116">130</text>
                  <text x="408" y="116">146</text>
                  <text x="476" y="116">55</text>
                  <text x="536" y="116">331</text>
                  <text x="24" y="148">TLS</text>
                  <text x="56" y="148">1.3</text>
                  <text x="88" y="148">-</text>
                  <text x="120" y="148">RPKs,</text>
                  <text x="168" y="148">ECDHE</text>
                  <text x="344" y="148">129</text>
                  <text x="408" y="148">307</text>
                  <text x="472" y="148">179</text>
                  <text x="536" y="148">615</text>
                  <text x="24" y="164">TLS</text>
                  <text x="56" y="164">1.3</text>
                  <text x="88" y="164">-</text>
                  <text x="116" y="164">PSK,</text>
                  <text x="160" y="164">ECDHE</text>
                  <text x="344" y="164">163</text>
                  <text x="408" y="164">157</text>
                  <text x="476" y="164">50</text>
                  <text x="536" y="164">370</text>
                  <text x="24" y="180">TLS</text>
                  <text x="56" y="180">1.3</text>
                  <text x="88" y="180">-</text>
                  <text x="112" y="180">PSK</text>
                  <text x="344" y="180">113</text>
                  <text x="408" y="180">117</text>
                  <text x="476" y="180">50</text>
                  <text x="536" y="180">280</text>
                  <text x="40" y="212">cTLS-10</text>
                  <text x="88" y="212">-</text>
                  <text x="124" y="212">X.509s</text>
                  <text x="164" y="212">by</text>
                  <text x="220" y="212">reference,</text>
                  <text x="288" y="212">ECDHE</text>
                  <text x="348" y="212">74</text>
                  <text x="408" y="212">160</text>
                  <text x="476" y="212">91</text>
                  <text x="536" y="212">325</text>
                  <text x="40" y="228">cTLS-10</text>
                  <text x="88" y="228">-</text>
                  <text x="116" y="228">PSK,</text>
                  <text x="160" y="228">ECDHE</text>
                  <text x="348" y="228">75</text>
                  <text x="412" y="228">89</text>
                  <text x="476" y="228">20</text>
                  <text x="536" y="228">186</text>
                  <text x="40" y="244">cTLS-10</text>
                  <text x="88" y="244">-</text>
                  <text x="112" y="244">PSK</text>
                  <text x="348" y="244">43</text>
                  <text x="412" y="244">57</text>
                  <text x="476" y="244">20</text>
                  <text x="536" y="244">120</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
=====================================================================
 Flight                                   #1      #2      #3   Total
---------------------------------------------------------------------
 DTLS 1.3 - RPKs, ECDHE                  146     360     200     706
 DTLS 1.3 - PSK, ECDHE                   180     186      55     421
 DTLS 1.3 - PSK                          130     146      55     331
---------------------------------------------------------------------
 TLS 1.3  - RPKs, ECDHE                  129     307     179     615
 TLS 1.3  - PSK, ECDHE                   163     157      50     370
 TLS 1.3  - PSK                          113     117      50     280
---------------------------------------------------------------------
 cTLS-10  - X.509s by reference, ECDHE    74     160      91     325
 cTLS-10  - PSK, ECDHE                    75      89      20     186
 cTLS-10  - PSK                           43      57      20     120 
=====================================================================
]]></artwork>
          </artset>
        </figure>
        <t>The numbers in <xref target="fig-compare1"/>, <xref target="fig-compare2"/>, and <xref target="fig-compare3"/> were calculated with 8 bytes tags, consistent with the algorithms that are mandatory to implement as per <xref target="I-D.ietf-uta-tls13-iot-profile"/> and Section 8 of <xref target="RFC9528"/>. If 16 bytes tag are used, the numbers in the #2 and #3 columns increase by 8 bytes and the numbers in the Total column increase by 16 bytes.</t>
        <t>The numbers in <xref target="fig-compare1"/>, <xref target="fig-compare2"/>, and <xref target="fig-compare3"/> do not consider underlying layers, see <xref target="layers"/>.</t>
      </section>
      <section anchor="dtls-13">
        <name>DTLS 1.3</name>
        <t>This section gives an estimate of the message sizes of DTLS 1.3 with different authentication methods. Note that the examples in this section are not test vectors, the cryptographic parts are just replaced with byte strings of the same length, while other fixed length fields are replaced with arbitrary strings or omitted, in which case their length is indicated. Values that are not arbitrary are given in hexadecimal.</t>
        <section anchor="size-dtls13rpk">
          <name>Message Sizes RPK + ECDHE</name>
          <t>In this section, CCM_8, P-256, and ECDSA and a Connection ID of 1 byte are used.</t>
          <section anchor="dtls13f1rpk">
            <name>Flight #1</name>
            <artwork><![CDATA[
Record Header - DTLSPlaintext (13 bytes):
16 fe fd EE EE SS SS SS SS SS SS LL LL

  Handshake Header - Client Hello (12 bytes):
  01 LL LL LL SS SS 00 00 00 LL LL LL

    Legacy Version (2 bytes):
    fe fd

    Client Random (32 bytes):
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13
    14 15 16 17 18 19 1a 1b 1c 1d 1e 1f

    Legacy Session ID (1 bytes):
    00

    Legacy Cookie (1 bytes):
    00

    Cipher Suites (TLS_AES_128_CCM_8_SHA256) (4 bytes):
    00 02 13 05

    Compression Methods (null) (2 bytes):
    01 00

    Extensions Length (2 bytes):
    LL LL

      Extension - Supported Groups (secp256r1) (8 bytes):
      00 0a 00 04 00 02 00 17

      Extension - Signature Algorithms (ecdsa_secp256r1_sha256)
      (8 bytes):
      00 0d 00 04 00 02 04 03

      Extension - Key Share (secp256r1) (75 bytes):
      00 33 00 27 00 25 00 1d 00 41
      04 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12
      13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 00 01 02 03 04 05 06
      07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a
      1b 1c 1d 1e 1f

      Extension - Supported Versions (1.3) (7 bytes):
      00 2b 00 03 02 03 04

      Extension - Client Certificate Type (Raw Public Key) (6 bytes):
      00 13 00 02 01 02

      Extension - Server Certificate Type (Raw Public Key) (6 bytes):
      00 14 00 02 01 02

      Extension - Connection Identifier (42) (6 bytes):
      00 36 00 02 01 42

13 + 12 + 2 + 32 + 1 + 1 + 4 + 2 + 2 + 8 + 8 + 75 + 7 + 6 + 6 + 6
= 185 bytes
]]></artwork>
            <t>DTLS 1.3 RPK + ECDHE flight #1 gives 185 bytes of overhead.
With efficiently encoded key share such as x25519 or <xref target="I-D.mattsson-tls-compact-ecc"/>, the overhead is 185 - 33 = 152 bytes.</t>
          </section>
          <section anchor="dtls13f2rpk">
            <name>Flight #2</name>
            <artwork><![CDATA[
Record Header - DTLSPlaintext (13 bytes):
16 fe fd EE EE SS SS SS SS SS SS LL LL

  Handshake Header - Server Hello (12 bytes):
  02 LL LL LL SS SS 00 00 00 LL LL LL

    Legacy Version (2 bytes):
    fe fd

    Server Random (32 bytes):
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13
    14 15 16 17 18 19 1a 1b 1c 1d 1e 1f

    Legacy Session ID (1 bytes):
    00

    Cipher Suite (TLS_AES_128_CCM_8_SHA256) (2 bytes):
    13 05

    Compression Method (null) (1 bytes):
    00

    Extensions Length (2 bytes):
    LL LL

      Extension - Key Share (secp256r1) (73 bytes):
      00 33 00 45 00 1d 00 41
      04 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12
      13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 00 01 02 03 04 05 06
      07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a
      1b 1c 1d 1e 1f

      Extension - Supported Versions (1.3) (6 bytes):
      00 2b 00 02 03 04

      Extension - Connection Identifier (43) (6 bytes):
      00 36 00 02 01 43

Record Header - DTLSCiphertext (3 bytes):
HH 42 SS

  Handshake Header - Encrypted Extensions (12 bytes):
  08 LL LL LL SS SS 00 00 00 LL LL LL

    Extensions Length (2 bytes):
    LL LL

      Extension - Client Certificate Type (Raw Public Key) (6 bytes):
      00 13 00 01 01 02

      Extension - Server Certificate Type (Raw Public Key) (6 bytes):
      00 14 00 01 01 02

  Handshake Header - Certificate Request (12 bytes):
  0d LL LL LL SS SS 00 00 00 LL LL LL

    Request Context (1 bytes):
    00

    Extensions Length (2 bytes):
    LL LL

      Extension - Signature Algorithms (ecdsa_secp256r1_sha256)
      (8 bytes):
      00 0d 00 04 00 02 08 07

  Handshake Header - Certificate (12 bytes):
  0b LL LL LL SS SS 00 00 00 LL LL LL

    Request Context (1 bytes):
    00

    Certificate List Length (3 bytes):
    LL LL LL

    Certificate Length (3 bytes):
    LL LL LL

    Certificate (Uncompressed secp256r1 RPK) (91 bytes):
    30 59 30 13 ... // DER encoded RPK, See Section 2.2.7.

    Certificate Extensions (2 bytes):
    00 00

  Handshake Header - Certificate Verify (12 bytes):
  0f LL LL LL SS SS 00 00 00 LL LL LL

    Signature (ecdsa_secp256r1_sha256) (average 75 bytes):
    04 03 LL LL
    30 LL 02 LL ... 02 LL ... // DER encoded signature

  Handshake Header - Finished (12 bytes):
  14 LL LL LL SS SS 00 00 00 LL LL LL

    Verify Data (32 bytes):
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13
    14 15 16 17 18 19 1a 1b 1c 1d 1e 1f

  Record Type (1 byte):
  16

Auth Tag (8 bytes):
e0 8b 0e 45 5a 35 0a e5

13 + 137 + 3 + 26 + 23 + 112 + 87 + 44 + 1 + 8 = 454 bytes
]]></artwork>
            <t>DTLS 1.3 RPK + ECDHE flight #2 gives 454 bytes of overhead.
With a point compressed secp256r1 RPK, the overhead is 454 - 32 = 422 bytes, see <xref target="rpkformat"/>.
With an ed25519 RPK and signature, the overhead is 454 - 47 - 7 = 400 bytes.
With an efficiently encoded key share such as x25519 or <xref target="I-D.mattsson-tls-compact-ecc"/>, the overhead is 454 - 33 = 421 bytes.
With an efficiently encoded signature such <xref target="I-D.mattsson-tls-compact-ecc"/>, the overhead is 454 - 7 = 447 bytes.
With x25519 and ed25519, the overhead is 454 - 47 - 33 - 7 = 367 bytes.</t>
          </section>
          <section anchor="dtls13f3rpk">
            <name>Flight #3</name>
            <artwork><![CDATA[
Record Header (3 bytes): // DTLSCiphertext
ZZ 43 SS

  Handshake Header - Certificate (12 bytes):
  0b LL LL LL SS SS XX XX XX LL LL LL

    Request Context (1 bytes):
    00

    Certificate List Length (3 bytes):
    LL LL LL

    Certificate Length (3 bytes):
    LL LL LL

    Certificate (Uncompressed secp256r1 RPK) (91 bytes):
    30 59 30 13 ... // DER encoded RPK, See Section 2.2.7.

    Certificate Extensions (2 bytes):
    00 00

  Handshake Header - Certificate Verify (12 bytes):
  0f LL LL LL SS SS 00 00 00 LL LL LL

    Signature (ecdsa_secp256r1_sha256) (average 75 bytes):
    04 03 LL LL
    30 LL 02 LL ... 02 LL ... // // DER encoded signature

  Handshake Header - Finished (12 bytes):
  14 LL LL LL SS SS 00 00 00 LL LL LL

    Verify Data (32 bytes) // SHA-256:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13
    14 15 16 17 18 19 1a 1b 1c 1d 1e 1f

  Record Type (1 byte):
  16

Auth Tag (8 bytes) // AES-CCM_8:
00 01 02 03 04 05 06 07

3 + 112 + 87 + 44 + 1 + 8 = 255 bytes
]]></artwork>
            <t>DTLS 1.3 RPK + ECDHE flight #3 gives 255 bytes of overhead.
With a point compressed secp256r1 RPK, the overhead is 255 - 32 = 223 bytes, see <xref target="rpkformat"/>.
With an ed25519 RPK and signature, the overhead is 255 - 47 - 7 = 201 bytes.
With an efficiently encoded signature such as <xref target="I-D.mattsson-tls-compact-ecc"/>, the overhead is 255 - 7 = 248 bytes.</t>
          </section>
        </section>
        <section anchor="message-sizes-psk-ecdhe">
          <name>Message Sizes PSK + ECDHE</name>
          <section anchor="dtls13f1pskecdhe">
            <name>Flight #1</name>
            <t>The differences in overhead compared to <xref target="dtls13f1rpk"/> are:</t>
            <t>The following is added:</t>
            <artwork><![CDATA[
+ Extension - PSK Key Exchange Modes (6 bytes):
  00 2d 00 02 01 01

+ Extension - Pre-Shared Key (48 bytes):
  00 29 00 2F
  00 0a 00 01 ID 00 00 00 00
  00 21 20 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10
  11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
]]></artwork>
            <t>The following is removed:</t>
            <artwork><![CDATA[
- Extension - Signature Algorithms (ecdsa_secp256r1_sha256) (8 bytes)

- Extension - Client Certificate Type (Raw Public Key) (6 bytes)

- Extension - Server Certificate Type (Raw Public Key) (6 bytes)
]]></artwork>
            <t>In total:</t>
            <artwork><![CDATA[
185 + 6 + 48 - 8 - 6 - 6 = 219 bytes
]]></artwork>
            <t>DTLS 1.3 PSK + ECDHE flight #1 gives 219 bytes of overhead.</t>
          </section>
          <section anchor="dtls13f2pskecdhe">
            <name>Flight #2</name>
            <t>The differences in overhead compared to <xref target="dtls13f2rpk"/> are:</t>
            <t>The following is added:</t>
            <artwork><![CDATA[
+ Extension - Pre-Shared Key (6 bytes)
  00 29 00 02 00 00
]]></artwork>
            <t>The following is removed:</t>
            <artwork><![CDATA[
- Handshake Message Certificate (112 bytes)

- Handshake Message CertificateVerify (87 bytes)

- Handshake Message CertificateRequest (23 bytes)

- Extension - Client Certificate Type (Raw Public Key) (6 bytes)

- Extension - Server Certificate Type (Raw Public Key) (6 bytes)
]]></artwork>
            <t>In total:</t>
            <artwork><![CDATA[
454 + 6 - 112 - 87 - 23 - 6 - 6 = 226 bytes
]]></artwork>
            <t>DTLS 1.3 PSK + ECDHE flight #2 gives 226 bytes of overhead.</t>
          </section>
          <section anchor="dtls13f3pskecdhe">
            <name>Flight #3</name>
            <t>The differences in overhead compared to <xref target="dtls13f3rpk"/> are:</t>
            <t>The following is removed:</t>
            <artwork><![CDATA[
- Handshake Message Certificate (112 bytes)

- Handshake Message Certificate Verify (87 bytes)
]]></artwork>
            <t>In total:</t>
            <artwork><![CDATA[
255 - 112 - 87 = 56 bytes
]]></artwork>
            <t>DTLS 1.3 PSK + ECDHE flight #3 gives 56 bytes of overhead.</t>
          </section>
        </section>
        <section anchor="message-sizes-psk">
          <name>Message Sizes PSK</name>
          <section anchor="dtls13f1psk">
            <name>Flight #1</name>
            <t>The differences in overhead compared to <xref target="dtls13f1pskecdhe"/> are:</t>
            <t>The following is removed:</t>
            <artwork><![CDATA[
- Extension - Supported Groups (x25519) (8 bytes)

- Extension - Key Share (75 bytes)
]]></artwork>
            <t>In total:</t>
            <artwork><![CDATA[
219 - 8 - 75 = 136 bytes
]]></artwork>
            <t>DTLS 1.3 PSK flight #1 gives 136 bytes of overhead.</t>
          </section>
          <section anchor="dtls13f2psk">
            <name>Flight #2</name>
            <t>The differences in overhead compared to <xref target="dtls13f2pskecdhe"/> are:</t>
            <t>The following is removed:</t>
            <artwork><![CDATA[
- Extension - Key Share (73 bytes)
]]></artwork>
            <t>In total:</t>
            <artwork><![CDATA[
226 - 73 = 153 bytes
]]></artwork>
            <t>DTLS 1.3 PSK flight #2 gives 153 bytes of overhead.</t>
          </section>
          <section anchor="dtls13f3psk">
            <name>Flight #3</name>
            <t>There are no differences in overhead compared to <xref target="dtls13f3pskecdhe"/>.</t>
            <t>DTLS 1.3 PSK flight #3 gives 56 bytes of overhead.</t>
          </section>
        </section>
        <section anchor="cached-information">
          <name>Cached Information</name>
          <t>In this section, we consider the effect of <xref target="RFC7924"/> on the message size overhead.</t>
          <t>Cached information can be used to use a cached server certificate from a previous connection and move bytes from flight #2 to flight #1. The cached certificate can be an RPK or X.509.</t>
          <t>The differences compared to <xref target="size-dtls13rpk"/> are the following.</t>
          <section anchor="flight-1">
            <name>Flight #1</name>
            <t>For the flight #1, the following is added:</t>
            <artwork><![CDATA[
+ Extension - Client Cashed Information (39 bytes):
  00 19 LL LL LL LL
  01 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11
  12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
]]></artwork>
            <t>Giving a total of:</t>
            <artwork><![CDATA[
185 + 39 = 224 bytes
]]></artwork>
            <t>In the case the cached certificate is X.509, the following is removed:</t>
            <artwork><![CDATA[
- Extension - Server Certificate Type (Raw Public Key) (6 bytes)
]]></artwork>
            <t>Giving a total of:</t>
            <artwork><![CDATA[
224 - 6 = 218 bytes
]]></artwork>
          </section>
          <section anchor="flight-2">
            <name>Flight #2</name>
            <t>For the flight #2, the following is added:</t>
            <artwork><![CDATA[
+ Extension - Server Cashed Information (7 bytes):
  00 19 LL LL LL LL 01
]]></artwork>
            <t>And the following is reduced:</t>
            <artwork><![CDATA[
- Server Certificate (91 bytes -> 32 bytes)
]]></artwork>
            <t>Giving a total of:</t>
            <artwork><![CDATA[
454 + 7 - 59 = 402 bytes
]]></artwork>
            <t>In the case the cached certificate is X.509, the following is removed:</t>
            <artwork><![CDATA[
- Extension - Server Certificate Type (Raw Public Key) (6 bytes)
]]></artwork>
            <t>Giving a total of:</t>
            <artwork><![CDATA[
402 - 6 = 396 bytes
]]></artwork>
          </section>
        </section>
        <section anchor="resumption">
          <name>Resumption</name>
          <t>To enable resumption, a 4th flight with the handshake message New Session Ticket is added to the DTLS handshake.</t>
          <artwork><![CDATA[
Record Header - DTLSCiphertext (3 bytes):
HH 42 SS

  Handshake Header - New Session Ticket (12 bytes):
  04 LL LL LL SS SS 00 00 00 LL LL LL

    Ticket Lifetime (4 bytes):
    00 01 02 03

    Ticket Age Add (4 bytes):
    00 01 02 03

    Ticket Nonce (2 bytes):
    01 00

    Ticket (6 bytes):
    00 04 ID ID ID ID

    Extensions (2 bytes):
    00 00

Auth Tag (8 bytes) // AES-CCM_8:
00 01 02 03 04 05 06 07

3 + 12 + 4 + 4 + 2 + 6 + 2 + 8 = 41 bytes
]]></artwork>
          <t>Enabling resumption adds 41 bytes to the initial DTLS handshake. The resumption handshake is an ordinary PSK handshake with or without ECDHE.</t>
        </section>
        <section anchor="dtls-without-connection-id">
          <name>DTLS Without Connection ID</name>
          <t>Without a Connection ID the DTLS 1.3 flight sizes change as follows.</t>
          <artwork><![CDATA[
DTLS 1.3 flight #1:   -6 bytes
DTLS 1.3 flight #2:   -7 bytes
DTLS 1.3 flight #3:   -1 byte
]]></artwork>
        </section>
        <section anchor="rpkformat">
          <name>Raw Public Keys</name>
          <t>Raw Public Keys in TLS consist of a DER encoded ASN.1 SubjectPublicKeyInfo structure <xref target="RFC7250"/>. This section illustrates the format of P-256 (secp256r1) SubjectPublicKeyInfo <xref target="RFC5480"/> with and without point compression as well as an ed25519 SubjectPublicKeyInfo. Point compression in SubjectPublicKeyInfo is standardized in <xref target="RFC5480"/> and is therefore theoretically possible to use in PRKs and X.509 certificates used in (D)TLS but does not seem to be supported by (D)TLS implementations.</t>
          <section anchor="secp256r1-subjectpublickeyinfo-without-point-compression">
            <name>secp256r1 SubjectPublicKeyInfo Without Point Compression</name>
            <artwork><![CDATA[
0x30 // Sequence
0x59 // Size 89

0x30 // Sequence
0x13 // Size 19
0x06 0x07 0x2A 0x86 0x48 0xCE 0x3D 0x02 0x01
     // OID 1.2.840.10045.2.1 (ecPublicKey)
0x06 0x08 0x2A 0x86 0x48 0xCE 0x3D 0x03 0x01 0x07
     // OID 1.2.840.10045.3.1.7 (secp256r1)

0x03 // Bit string
0x42 // Size 66
0x00 // Unused bits 0
0x04 // Uncompressed
...... 64 bytes X and Y

Total of 91 bytes
]]></artwork>
          </section>
          <section anchor="secp256r1-subjectpublickeyinfo-with-point-compression">
            <name>secp256r1 SubjectPublicKeyInfo With Point Compression</name>
            <artwork><![CDATA[
0x30 // Sequence
0x39 // Size 57

0x30 // Sequence
0x13 // Size 19
0x06 0x07 0x2A 0x86 0x48 0xCE 0x3D 0x02 0x01
     // OID 1.2.840.10045.2.1 (ecPublicKey)
0x06 0x08 0x2A 0x86 0x48 0xCE 0x3D 0x03 0x01 0x07
     // OID 1.2.840.10045.3.1.7 (secp256r1)

0x03 // Bit string
0x22 // Size 34
0x00 // Unused bits 0
0x03 // Compressed
...... 32 bytes X

Total of 59 bytes
]]></artwork>
          </section>
          <section anchor="ed25519-subjectpublickeyinfo">
            <name>ed25519 SubjectPublicKeyInfo</name>
            <artwork><![CDATA[
0x30 // Sequence
0x2A // Size 42

0x30 // Sequence
0x05 // Size 5
0x06 0x03 0x2B 0x65 0x70
     // OID 1.3.101.112 (ed25519)

0x03 // Bit string
0x21 // Size 33
0x00 // Unused bits 0
...... 32 bytes 

Total of 44 bytes
]]></artwork>
          </section>
        </section>
      </section>
      <section anchor="tls-13">
        <name>TLS 1.3</name>
        <t>In this section, the message sizes are calculated for TLS 1.3. The major changes compared to DTLS 1.3 are a different record header, the handshake headers is smaller, and that Connection ID is not supported.  Recently, additional work has taken shape with the goal to further reduce overhead for TLS 1.3 (see <xref target="I-D.ietf-tls-ctls"/>).</t>
        <section anchor="message-sizes-rpk-ecdhe">
          <name>Message Sizes RPK + ECDHE</name>
          <t>In this section, CCM_8, x25519, and ed25519 are used.</t>
          <section anchor="tls13f1rpk">
            <name>Flight #1</name>
            <artwork><![CDATA[
Record Header - TLSPlaintext (5 bytes):
16 03 03 LL LL

  Handshake Header - Client Hello (4 bytes):
  01 LL LL LL

    Legacy Version (2 bytes):
    03 03

    Client Random (32 bytes):
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13
    14 15 16 17 18 19 1a 1b 1c 1d 1e 1f

    Legacy Session ID (1 bytes):
    00

    Cipher Suites (TLS_AES_128_CCM_8_SHA256) (4 bytes):
    00 02 13 05

    Compression Methods (null) (2 bytes):
    01 00

    Extensions Length (2 bytes):
    LL LL

      Extension - Supported Groups (x25519) (8 bytes):
      00 0a 00 04 00 02 00 1d

      Extension - Signature Algorithms (ed25519)
      (8 bytes):
      00 0d 00 04 00 02 08 07

      Extension - Key Share (x25519) (42 bytes):
      00 33 00 26 00 24 00 1d 00 20
      00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13
      14 15 16 17 18 19 1a 1b 1c 1d 1e 1f

      Extension - Supported Versions (1.3) (7 bytes):
      00 2b 00 03 02 03 04

      Extension - Client Certificate Type (Raw Public Key) (6 bytes):
      00 13 00 01 01 02

      Extension - Server Certificate Type (Raw Public Key) (6 bytes):
      00 14 00 01 01 02

5 + 4 + 2 + 32 + 1 + 4 + 2 + 2 + 8 + 8 + 42 + 7 + 6 + 6 = 129 bytes
]]></artwork>
            <t>TLS 1.3 RPK + ECDHE flight #1 gives 129 bytes of overhead.</t>
          </section>
          <section anchor="tls13f2rpk">
            <name>Flight #2</name>
            <artwork><![CDATA[
Record Header - TLSPlaintext (5 bytes):
16 03 03 LL LL

  Handshake Header - Server Hello (4 bytes):
  02 LL LL LL

    Legacy Version (2 bytes):
    fe fd

    Server Random (32 bytes):
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13
    14 15 16 17 18 19 1a 1b 1c 1d 1e 1f

    Legacy Session ID (1 bytes):
    00

    Cipher Suite (TLS_AES_128_CCM_8_SHA256) (2 bytes):
    13 05

    Compression Method (null) (1 bytes):
    00

    Extensions Length (2 bytes):
    LL LL

      Extension - Key Share (x25519) (40 bytes):
      00 33 00 24 00 1d 00 20
      00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13
      14 15 16 17 18 19 1a 1b 1c 1d 1e 1f

      Extension - Supported Versions (1.3) (6 bytes):
      00 2b 00 02 03 04

Record Header - TLSCiphertext (5 bytes):
17 03 03 LL LL

  Handshake Header - Encrypted Extensions (4 bytes):
  08 LL LL LL

    Extensions Length (2 bytes):
    LL LL

      Extension - Client Certificate Type (Raw Public Key) (6 bytes):
      00 13 00 01 01 02

      Extension - Server Certificate Type (Raw Public Key) (6 bytes):
      00 14 00 01 01 02

  Handshake Header - Certificate Request (4 bytes):
  0d LL LL LL

    Request Context (1 bytes):
    00

    Extensions Length (2 bytes):
    LL LL

      Extension - Signature Algorithms (ed25519)
      (8 bytes):
      00 0d 00 04 00 02 08 07

  Handshake Header - Certificate (4 bytes):
  0b LL LL LL

    Request Context (1 bytes):
    00

    Certificate List Length (3 bytes):
    LL LL LL

    Certificate Length (3 bytes):
    LL LL LL

    Certificate (ed25519 RPK) (44 bytes):
    30 2A 30 05 ... // DER encoded RPK, see Section 2.2.7.     
     
    Certificate Extensions (2 bytes):
    00 00

  Handshake Header - Certificate Verify (4 bytes):
  0f LL LL LL

    Signature (ed25519) (68 bytes):
    08 07 LL LL
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13
    14 15 16 17 18 19 1a 1b 1c 1d 1e 1f

  Handshake Header - Finished (4 bytes):
  14 LL LL LL

    Verify Data (32 bytes):
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13
    14 15 16 17 18 19 1a 1b 1c 1d 1e 1f

  Record Type (1 byte):
  16

Auth Tag (8 bytes):
e0 8b 0e 45 5a 35 0a e5

5 + 90 + 5 + 18 + 15 + 57 + 72 + 36 + 1 + 8 = 307 bytes
]]></artwork>
            <t>TLS 1.3 RPK + ECDHE flight #2 gives 307 bytes of overhead.</t>
          </section>
          <section anchor="tls13f3rpk">
            <name>Flight #3</name>
            <!--TODO: Don't know why this is not formatting correctly in txt, tried to separate in several code sections, it still doesn't work. -->

<artwork><![CDATA[
Record Header - TLSCiphertext (5 bytes):
17 03 03 LL LL

  Handshake Header - Certificate (4 bytes):
  0b LL LL LL

    Request Context (1 bytes):
    00

    Certificate List Length (3 bytes):
    LL LL LL


    Certificate Length (3 bytes):
    LL LL LL

    Certificate (ed25519 RPK) (44 bytes):
    30 2A 30 05 ... // DER encoded RPK, see Section 2.2.7.     

    Certificate Extensions (2 bytes):
    00 00

  Handshake Header - Certificate Verify (4 bytes):
  0f LL LL LL

    Signature (ed25519) (68 bytes):
    08 07 LL LL
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13
    14 15 16 17 18 19 1a 1b 1c 1d 1e 1f

  Handshake Header - Finished (4 bytes):
  14 LL LL LL

    Verify Data (32 bytes) // SHA-256:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13
    14 15 16 17 18 19 1a 1b 1c 1d 1e 1f

  Record Type (1 byte)
  16

Auth Tag (8 bytes) // AES-CCM_8:
00 01 02 03 04 05 06 07

5 + 57 + 72 + 36 + 1 + 8 = 179 bytes
]]></artwork>
            <t>TLS 1.3 RPK + ECDHE flight #3 gives 179 bytes of overhead.</t>
          </section>
        </section>
        <section anchor="message-sizes-psk-ecdhe-1">
          <name>Message Sizes PSK + ECDHE</name>
          <section anchor="tls13f1pskecdhe">
            <name>Flight #1</name>
            <t>The differences in overhead compared to <xref target="tls13f3rpk"/> are:</t>
            <t>The following is added:</t>
            <artwork><![CDATA[
+ Extension - PSK Key Exchange Modes (6 bytes):
  00 2d 00 02 01 01

+ Extension - Pre-Shared Key (48 bytes):
  00 29 00 2F
  00 0a 00 01 ID 00 00 00 00
  00 21 20 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10
  11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
]]></artwork>
            <t>The following is removed:</t>
            <artwork><![CDATA[
- Extension - Signature Algorithms (ecdsa_secp256r1_sha256) (8 bytes)

- Extension - Client Certificate Type (Raw Public Key) (6 bytes)

- Extension - Server Certificate Type (Raw Public Key) (6 bytes)
]]></artwork>
            <t>In total:</t>
            <artwork><![CDATA[
129 + 6 + 48 - 8 - 6 - 6 = 163 bytes
]]></artwork>
            <t>TLS 1.3 PSK + ECDHE flight #1 gives 163 bytes of overhead.</t>
          </section>
          <section anchor="tls13f2pskecdhe">
            <name>Flight #2</name>
            <t>The differences in overhead compared to <xref target="tls13f2rpk"/> are:</t>
            <t>The following is added:</t>
            <artwork><![CDATA[
+ Extension - Pre-Shared Key (6 bytes)
  00 29 00 02 00 00
]]></artwork>
            <t>The following is removed:</t>
            <artwork><![CDATA[
- Handshake Message Certificate (57 bytes)

- Handshake Message CertificateVerify (72 bytes)

- Handshake Message CertificateRequest (15 bytes)

- Extension - Client Certificate Type (Raw Public Key) (6 bytes)

- Extension - Server Certificate Type (Raw Public Key) (6 bytes)
]]></artwork>
            <t>In total:</t>
            <artwork><![CDATA[
307 - 57 - 72 - 15 - 6 - 6  + 6 = 157 bytes
]]></artwork>
            <t>TLS 1.3 PSK + ECDHE flight #2 gives 157 bytes of overhead.</t>
          </section>
          <section anchor="tls13f3pskecdhe">
            <name>Flight #3</name>
            <t>The differences in overhead compared to <xref target="tls13f3rpk"/> are:</t>
            <t>The following is removed:</t>
            <artwork><![CDATA[
- Handshake Message Certificate (57 bytes)

- Handshake Message Certificate Verify (72 bytes)
]]></artwork>
            <t>In total:</t>
            <artwork><![CDATA[
179 - 57 - 72 = 50 bytes
]]></artwork>
            <t>TLS 1.3 PSK + ECDHE flight #3 gives 50 bytes of overhead.</t>
          </section>
        </section>
        <section anchor="message-sizes-psk-1">
          <name>Message Sizes PSK</name>
          <section anchor="tls13f1psk">
            <name>Flight #1</name>
            <t>The differences in overhead compared to <xref target="tls13f1pskecdhe"/> are:</t>
            <t>The following is removed:</t>
            <artwork><![CDATA[
- Extension - Supported Groups (x25519) (8 bytes)

- Extension - Key Share (42 bytes)
]]></artwork>
            <t>In total:</t>
            <artwork><![CDATA[
163 - 8 - 42 = 113 bytes
]]></artwork>
            <t>TLS 1.3 PSK flight #1 gives 113 bytes of overhead.</t>
          </section>
          <section anchor="tls13f2psk">
            <name>Flight #2</name>
            <t>The differences in overhead compared to <xref target="tls13f2pskecdhe"/> are:</t>
            <t>The following is removed:</t>
            <artwork><![CDATA[
- Extension - Key Share (40 bytes)
]]></artwork>
            <t>In total:</t>
            <artwork><![CDATA[
157 - 40 = 117 bytes
]]></artwork>
            <t>TLS 1.3 PSK flight #2 gives 117 bytes of overhead.</t>
          </section>
          <section anchor="tls13f3psk">
            <name>Flight #3</name>
            <t>There are no differences in overhead compared to <xref target="tls13f3pskecdhe"/>.</t>
            <t>TLS 1.3 PSK flight #3 gives 50 bytes of overhead.</t>
          </section>
        </section>
      </section>
      <section anchor="tls-12-and-dtls-12">
        <name>TLS 1.2 and DTLS 1.2</name>
        <t>The TLS 1.2 and DTLS 1.2 handshakes are not analyzed in detail in this document. One rough comparison of expected size between the TLS 1.2 and TLS 1.3 handshakes can be found by counting the number of bytes in the example handshakes of <xref target="Illustrated-TLS12"/> and <xref target="Illustrated-TLS13"/>. In these examples the server authenticates with a certificate and the client is not authenticated.</t>
        <t>In TLS 1.2, the number of bytes in the four flights are 170, 1188, 117, and 75 for a total of 1550 bytes. In TLS 1.3 the number of bytes in the three flights are 253, 1367, and 79 for a total of 1699 bytes. In general, the (D)TLS 1.2 and (D)TLS 1.3 handshakes can be expected to have similar number of bytes.</t>
      </section>
      <section anchor="ctls">
        <name>cTLS</name>
        <t>Version -10 of the cTLS specification <xref target="I-D.ietf-tls-ctls"/> has a single example with CCM_8, x25519, and ed25519 in Appendix A. This document uses that example and calculates numbers for different parameters as follows:</t>
        <t>Using secp256r1 instead of x25519 adds 33 bytes to the KeyShareEntry.key_exchange in flight #1 and flight #2.</t>
        <t>Using ecdsa_secp256r1_sha256 instead of ed25519 adds an average of 7 bytes to CertificateVerify.signature in flight #2 and flight #3.</t>
        <t>Using PSK authentication instead of ed25519 adds 1 byte (psk identifier) to flight #1 and removes 71 bytes (certificate and certificate_verify) from flight #2 and #3.</t>
        <t>Using PSK key exchange x25519 removes 32 bytes (KeyShareEntry.key_exchange) from flight #1 and #2.</t>
        <t>Using Connection ID adds 1 byte to flight #1 and #3, and 2 bytes to flight #2.</t>
      </section>
      <section anchor="edhoc">
        <name>EDHOC</name>
        <t>This section gives an estimate of the message sizes of EDHOC <xref target="RFC9528"/> authenticated with static Diffie-Hellman keys and where the static Diffie-Hellman keys are identified with a key identifier (kid). All examples are given in CBOR diagnostic notation and hexadecimal and are based on the test vectors in Section 4 of <xref target="RFC9529"/>.</t>
        <section anchor="message-sizes-rpk">
          <name>Message Sizes RPK</name>
          <section anchor="message1">
            <name>message_1</name>
            <artwork><![CDATA[
message_1 = (
  3,
  2,
  h'8af6f430ebe18d34184017a9a11bf511c8dff8f834730b96c1b7c8dbca2f
    c3b6',
  -24
)
]]></artwork>
            <artwork><![CDATA[
message_1 (37 bytes):
03 02 58 20 8a f6 f4 30 eb e1 8d 34 18 40 17 a9 a1 1b f5 11 c8
df f8 f8 34 73 0b 96 c1 b7 c8 db ca 2f c3 b6 37
]]></artwork>
          </section>
          <section anchor="message2">
            <name>message_2</name>
            <artwork><![CDATA[
message_2 = (
  h'419701D7F00A26C2DC587A36DD752549F33763C893422C8EA0F955A13A4F
    F5D5042459E2DA6C75143F35',
  -8
)
]]></artwork>
            <artwork><![CDATA[
message_2 (45 bytes):
 58 2a 41 97 01 d7 f0 0a 26 c2 dc 58 7a 36 dd 75 25 49 f3 37
 63 c8 93 42 2c 8e a0 f9 55 a1 3a 4f f5 d5 04 24 59 e2 da 6c
 75 14 3f 35 27
]]></artwork>
          </section>
          <section anchor="message3">
            <name>message_3</name>
            <artwork><![CDATA[
message_3 = (
  h'C2B62835DC9B1F53419C1D3A2261EEED3505'
)
]]></artwork>
            <artwork><![CDATA[
message_3 (19 bytes):
52 c2 b6 28 35 dc 9b 1f 53 41 9c 1d 3a 22 61 ee ed 35 05
]]></artwork>
          </section>
        </section>
        <section anchor="summary">
          <name>Summary</name>
          <t>Based on the example above it is relatively easy to calculate numbers also for EDHOC authenticated with signature keys and for authentication keys identified with a SHA-256/64 hash (x5t). Signatures increase the size of flight #2 and #3 by 57 (64 - 8 + 1) or 58 bytes, while x5t increases the size by 13-14 bytes compared to kid. The typical message sizes for the previous example and for the other combinations are summarized in <xref target="fig-summary"/>. Note that EDHOC treats authentication keys stored in RPK and X.509 in the same way. More detailed examples can be found in <xref target="RFC9529"/>.</t>
          <figure anchor="fig-summary">
            <name>Typical EDHOC message sizes in bytes</name>
            <artset>
              <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="208" width="472" viewBox="0 0 472 208" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,30 L 464,30" fill="none" stroke="black"/>
                  <path d="M 8,34 L 464,34" fill="none" stroke="black"/>
                  <path d="M 168,64 L 288,64" fill="none" stroke="black"/>
                  <path d="M 344,64 L 464,64" fill="none" stroke="black"/>
                  <path d="M 8,96 L 464,96" fill="none" stroke="black"/>
                  <path d="M 8,160 L 464,160" fill="none" stroke="black"/>
                  <path d="M 8,190 L 464,190" fill="none" stroke="black"/>
                  <path d="M 8,194 L 464,194" fill="none" stroke="black"/>
                  <g class="text">
                    <text x="196" y="52">Static</text>
                    <text x="236" y="52">DH</text>
                    <text x="268" y="52">Keys</text>
                    <text x="384" y="52">Signature</text>
                    <text x="444" y="52">Keys</text>
                    <text x="184" y="84">kid</text>
                    <text x="272" y="84">x5t</text>
                    <text x="360" y="84">kid</text>
                    <text x="448" y="84">x5t</text>
                    <text x="48" y="116">message_1</text>
                    <text x="188" y="116">37</text>
                    <text x="276" y="116">37</text>
                    <text x="364" y="116">37</text>
                    <text x="452" y="116">37</text>
                    <text x="48" y="132">message_2</text>
                    <text x="188" y="132">45</text>
                    <text x="276" y="132">58</text>
                    <text x="360" y="132">102</text>
                    <text x="448" y="132">115</text>
                    <text x="48" y="148">message_3</text>
                    <text x="188" y="148">19</text>
                    <text x="276" y="148">33</text>
                    <text x="364" y="148">77</text>
                    <text x="452" y="148">90</text>
                    <text x="32" y="180">Total</text>
                    <text x="184" y="180">101</text>
                    <text x="272" y="180">128</text>
                    <text x="360" y="180">216</text>
                    <text x="448" y="180">242</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art" align="center"><![CDATA[
==========================================================
                     Static DH Keys        Signature Keys
                    ----------------      ----------------
                     kid        x5t        kid        x5t
----------------------------------------------------------
 message_1            37         37         37         37
 message_2            45         58        102        115
 message_3            19         33         77         90
----------------------------------------------------------
 Total               101        128        216        242
==========================================================
]]></artwork>
            </artset>
          </figure>
        </section>
      </section>
      <section anchor="summary-1">
        <name>Summary</name>
        <t>To do a fair comparison, one has to choose a specific deployment and look at the topology, the whole protocol stack, frame sizes (e.g., 51 or 128 bytes), how and where in the protocol stack fragmentation is done, and the expected packet loss. Note that the number of bytes in each frame that is available for the key exchange protocol may depend on the underlying protocol layers as well as on the number of hops in multi-hop networks. The packet loss may depend on how many other devices are transmitting at the same time and may increase during network formation.  The total overhead will be larger due to mechanisms for fragmentation, retransmission, and packet ordering.  The overhead due to fragmentation is roughly proportional to the number of fragments, while the expected overhead due to retransmission in noisy environments is a superlinear function of the flight sizes.</t>
      </section>
    </section>
    <section anchor="record">
      <name>Overhead for Protection of Application Data</name>
      <t>To enable comparison, all the overhead calculations in this section use an 8 bytes ICV (e.g., AES_128_CCM_8 <xref target="RFC6655"/> or AES-CCM-16-64-128 <xref target="RFC9053"/>) or 16 bytes (e.g., AES-CCM <xref target="SP-800-38C"/>, AES-GCM <xref target="SP-800-38D"/>, or ChaCha20-Poly1305 <xref target="RFC7539"/>), a plaintext of 6 bytes, and the sequence number ‘05’. This follows the example in <xref target="RFC7400"/>, Figure 16.</t>
      <t>Note that the compressed overhead calculations for DLTS 1.2, DTLS 1.3, TLS 1.2, and TLS 1.3 are dependent on the parameters epoch, sequence number, and length (where applicable), and all the overhead calculations are dependent on the parameter Connection ID when used. Note that the OSCORE overhead calculations are dependent on the CoAP option numbers, as well as the length of the OSCORE parameters Sender ID, ID Context, and Sequence Number (where applicable). cTLS uses the DTLS 1.3 record layer. The following calculations are only examples.</t>
      <t><xref target="summ-record"/> gives a short summary of the message overhead based on different parameters and some assumptions. The following sections detail the assumptions and the calculations.</t>
      <section anchor="summ-record">
        <name>Summary</name>
        <t>The DTLS overhead is dependent on the parameter Connection ID. The following overheads apply for all Connection IDs with the same length.</t>
        <t>The compression overhead (GHC) is dependent on the parameters epoch, sequence number, Connection ID, and length (where applicable). The following overheads should be representative for sequence numbers and Connection IDs with the same length.</t>
        <t>The OSCORE overhead is dependent on the included CoAP Option numbers as well as the length of the OSCORE parameters Sender ID and sequence number. The following overheads apply for all sequence numbers and Sender IDs with the same length, and for an ID Context of zero-length.</t>
        <figure anchor="fig-overhead">
          <name>Overhead (8 bytes ICV) in bytes as a function of sequence number (Connection/Sender ID = '')</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="368" width="512" viewBox="0 0 512 368" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,30 L 504,30" fill="none" stroke="black"/>
                <path d="M 8,34 L 504,34" fill="none" stroke="black"/>
                <path d="M 8,64 L 504,64" fill="none" stroke="black"/>
                <path d="M 8,112 L 504,112" fill="none" stroke="black"/>
                <path d="M 8,160 L 504,160" fill="none" stroke="black"/>
                <path d="M 8,208 L 504,208" fill="none" stroke="black"/>
                <path d="M 8,256 L 504,256" fill="none" stroke="black"/>
                <path d="M 8,304 L 504,304" fill="none" stroke="black"/>
                <path d="M 8,350 L 504,350" fill="none" stroke="black"/>
                <path d="M 8,354 L 504,354" fill="none" stroke="black"/>
                <g class="text">
                  <text x="44" y="52">Sequence</text>
                  <text x="108" y="52">Number</text>
                  <text x="292" y="52">'05'</text>
                  <text x="380" y="52">'1005'</text>
                  <text x="468" y="52">'100005'</text>
                  <text x="28" y="84">DTLS</text>
                  <text x="64" y="84">1.2</text>
                  <text x="292" y="84">29</text>
                  <text x="380" y="84">29</text>
                  <text x="468" y="84">29</text>
                  <text x="28" y="100">DTLS</text>
                  <text x="64" y="100">1.3</text>
                  <text x="292" y="100">11</text>
                  <text x="380" y="100">11</text>
                  <text x="468" y="100">11</text>
                  <text x="28" y="132">DTLS</text>
                  <text x="64" y="132">1.2</text>
                  <text x="104" y="132">(GHC)</text>
                  <text x="292" y="132">16</text>
                  <text x="380" y="132">16</text>
                  <text x="468" y="132">16</text>
                  <text x="28" y="148">DTLS</text>
                  <text x="64" y="148">1.3</text>
                  <text x="104" y="148">(GHC)</text>
                  <text x="292" y="148">12</text>
                  <text x="380" y="148">12</text>
                  <text x="468" y="148">12</text>
                  <text x="24" y="180">TLS</text>
                  <text x="64" y="180">1.2</text>
                  <text x="292" y="180">21</text>
                  <text x="380" y="180">21</text>
                  <text x="468" y="180">21</text>
                  <text x="24" y="196">TLS</text>
                  <text x="64" y="196">1.3</text>
                  <text x="292" y="196">14</text>
                  <text x="380" y="196">14</text>
                  <text x="468" y="196">14</text>
                  <text x="24" y="228">TLS</text>
                  <text x="64" y="228">1.2</text>
                  <text x="104" y="228">(GHC)</text>
                  <text x="292" y="228">17</text>
                  <text x="380" y="228">18</text>
                  <text x="468" y="228">19</text>
                  <text x="24" y="244">TLS</text>
                  <text x="64" y="244">1.3</text>
                  <text x="104" y="244">(GHC)</text>
                  <text x="292" y="244">15</text>
                  <text x="380" y="244">16</text>
                  <text x="468" y="244">17</text>
                  <text x="36" y="276">OSCORE</text>
                  <text x="96" y="276">request</text>
                  <text x="292" y="276">13</text>
                  <text x="380" y="276">14</text>
                  <text x="468" y="276">15</text>
                  <text x="36" y="292">OSCORE</text>
                  <text x="100" y="292">response</text>
                  <text x="292" y="292">11</text>
                  <text x="380" y="292">11</text>
                  <text x="468" y="292">11</text>
                  <text x="32" y="324">Group</text>
                  <text x="84" y="324">OSCORE</text>
                  <text x="148" y="324">pairwise</text>
                  <text x="216" y="324">request</text>
                  <text x="292" y="324">14</text>
                  <text x="380" y="324">15</text>
                  <text x="468" y="324">16</text>
                  <text x="32" y="340">Group</text>
                  <text x="84" y="340">OSCORE</text>
                  <text x="148" y="340">pairwise</text>
                  <text x="220" y="340">response</text>
                  <text x="292" y="340">11</text>
                  <text x="380" y="340">11</text>
                  <text x="468" y="340">11</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
===============================================================
 Sequence Number                  '05'      '1005'    '100005'
---------------------------------------------------------------
 DTLS 1.2                          29         29         29
 DTLS 1.3                          11         11         11
---------------------------------------------------------------
 DTLS 1.2 (GHC)                    16         16         16
 DTLS 1.3 (GHC)                    12         12         12
---------------------------------------------------------------
 TLS  1.2                          21         21         21
 TLS  1.3                          14         14         14
---------------------------------------------------------------
 TLS  1.2 (GHC)                    17         18         19
 TLS  1.3 (GHC)                    15         16         17
---------------------------------------------------------------
 OSCORE request                    13         14         15
 OSCORE response                   11         11         11
---------------------------------------------------------------
 Group OSCORE pairwise request     14         15         16
 Group OSCORE pairwise response    11         11         11
===============================================================
]]></artwork>
          </artset>
        </figure>
        <figure anchor="fig-overhead2">
          <name>Overhead (8 bytes ICV) in bytes as a function of Connection/Sender ID (Sequence Number = '05')</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="272" width="504" viewBox="0 0 504 272" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,30 L 496,30" fill="none" stroke="black"/>
                <path d="M 8,34 L 496,34" fill="none" stroke="black"/>
                <path d="M 8,64 L 496,64" fill="none" stroke="black"/>
                <path d="M 8,112 L 496,112" fill="none" stroke="black"/>
                <path d="M 8,160 L 496,160" fill="none" stroke="black"/>
                <path d="M 8,208 L 496,208" fill="none" stroke="black"/>
                <path d="M 8,254 L 496,254" fill="none" stroke="black"/>
                <path d="M 8,258 L 496,258" fill="none" stroke="black"/>
                <g class="text">
                  <text x="80" y="52">Connection/Sender</text>
                  <text x="164" y="52">ID</text>
                  <text x="292" y="52">''</text>
                  <text x="380" y="52">'42'</text>
                  <text x="468" y="52">'4002'</text>
                  <text x="28" y="84">DTLS</text>
                  <text x="64" y="84">1.2</text>
                  <text x="292" y="84">29</text>
                  <text x="380" y="84">30</text>
                  <text x="468" y="84">31</text>
                  <text x="28" y="100">DTLS</text>
                  <text x="64" y="100">1.3</text>
                  <text x="292" y="100">11</text>
                  <text x="380" y="100">12</text>
                  <text x="468" y="100">13</text>
                  <text x="28" y="132">DTLS</text>
                  <text x="64" y="132">1.2</text>
                  <text x="104" y="132">(GHC)</text>
                  <text x="292" y="132">16</text>
                  <text x="380" y="132">17</text>
                  <text x="468" y="132">18</text>
                  <text x="28" y="148">DTLS</text>
                  <text x="64" y="148">1.3</text>
                  <text x="104" y="148">(GHC)</text>
                  <text x="292" y="148">12</text>
                  <text x="380" y="148">13</text>
                  <text x="468" y="148">14</text>
                  <text x="36" y="180">OSCORE</text>
                  <text x="96" y="180">request</text>
                  <text x="292" y="180">13</text>
                  <text x="380" y="180">14</text>
                  <text x="468" y="180">15</text>
                  <text x="36" y="196">OSCORE</text>
                  <text x="100" y="196">response</text>
                  <text x="292" y="196">11</text>
                  <text x="380" y="196">11</text>
                  <text x="468" y="196">11</text>
                  <text x="32" y="228">Group</text>
                  <text x="84" y="228">OSCORE</text>
                  <text x="148" y="228">pairwise</text>
                  <text x="216" y="228">request</text>
                  <text x="292" y="228">14</text>
                  <text x="380" y="228">15</text>
                  <text x="468" y="228">16</text>
                  <text x="32" y="244">Group</text>
                  <text x="84" y="244">OSCORE</text>
                  <text x="148" y="244">pairwise</text>
                  <text x="220" y="244">response</text>
                  <text x="292" y="244">11</text>
                  <text x="380" y="244">11</text>
                  <text x="468" y="244">11</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
==============================================================
 Connection/Sender ID              ''        '42'      '4002'
--------------------------------------------------------------
 DTLS 1.2                          29         30         31
 DTLS 1.3                          11         12         13
--------------------------------------------------------------
 DTLS 1.2 (GHC)                    16         17         18
 DTLS 1.3 (GHC)                    12         13         14
--------------------------------------------------------------
 OSCORE request                    13         14         15
 OSCORE response                   11         11         11
--------------------------------------------------------------
 Group OSCORE pairwise request     14         15         16
 Group OSCORE pairwise response    11         11         11
==============================================================
]]></artwork>
          </artset>
        </figure>
        <figure anchor="fig-overhead3">
          <name>Overhead (excluding ICV) in bytes (Connection/Sender ID = '', Sequence Number = '05')</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="272" width="496" viewBox="0 0 496 272" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,30 L 488,30" fill="none" stroke="black"/>
                <path d="M 8,34 L 488,34" fill="none" stroke="black"/>
                <path d="M 8,64 L 488,64" fill="none" stroke="black"/>
                <path d="M 8,112 L 488,112" fill="none" stroke="black"/>
                <path d="M 8,160 L 488,160" fill="none" stroke="black"/>
                <path d="M 8,208 L 488,208" fill="none" stroke="black"/>
                <path d="M 8,254 L 488,254" fill="none" stroke="black"/>
                <path d="M 8,258 L 488,258" fill="none" stroke="black"/>
                <g class="text">
                  <text x="44" y="52">Protocol</text>
                  <text x="292" y="52">Overhead</text>
                  <text x="404" y="52">Overhead</text>
                  <text x="464" y="52">(GHC)</text>
                  <text x="28" y="84">DTLS</text>
                  <text x="64" y="84">1.2</text>
                  <text x="292" y="84">21</text>
                  <text x="424" y="84">8</text>
                  <text x="28" y="100">DTLS</text>
                  <text x="64" y="100">1.3</text>
                  <text x="296" y="100">3</text>
                  <text x="424" y="100">4</text>
                  <text x="24" y="132">TLS</text>
                  <text x="64" y="132">1.2</text>
                  <text x="292" y="132">13</text>
                  <text x="424" y="132">9</text>
                  <text x="24" y="148">TLS</text>
                  <text x="64" y="148">1.3</text>
                  <text x="296" y="148">6</text>
                  <text x="424" y="148">7</text>
                  <text x="36" y="180">OSCORE</text>
                  <text x="96" y="180">request</text>
                  <text x="296" y="180">5</text>
                  <text x="36" y="196">OSCORE</text>
                  <text x="100" y="196">response</text>
                  <text x="296" y="196">3</text>
                  <text x="32" y="228">Group</text>
                  <text x="84" y="228">OSCORE</text>
                  <text x="148" y="228">pairwise</text>
                  <text x="216" y="228">request</text>
                  <text x="296" y="228">6</text>
                  <text x="32" y="244">Group</text>
                  <text x="84" y="244">OSCORE</text>
                  <text x="148" y="244">pairwise</text>
                  <text x="220" y="244">response</text>
                  <text x="296" y="244">3</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
=============================================================
 Protocol                       Overhead      Overhead (GHC)
-------------------------------------------------------------
 DTLS 1.2                          21               8
 DTLS 1.3                           3               4
-------------------------------------------------------------
 TLS  1.2                          13               9
 TLS  1.3                           6               7
-------------------------------------------------------------
 OSCORE request                     5
 OSCORE response                    3
-------------------------------------------------------------
 Group OSCORE pairwise request      6
 Group OSCORE pairwise response     3
=============================================================
]]></artwork>
          </artset>
        </figure>
        <t>The numbers in <xref target="fig-overhead"/>, <xref target="fig-overhead2"/>, and <xref target="fig-overhead3"/> do not consider the different Token processing requirements for clients <xref target="RFC9175"/> required for secure operation as motivated by <xref target="I-D.ietf-core-attacks-on-coap"/>. As reuse of Tokens is easier in OSCORE than DTLS, OSCORE might have slightly lower overhead than DTLS 1.3 for long connection even if DTLS 1.3 has slightly lower overhead than OSCORE for short connections. The mechanism in <xref target="I-D.ietf-tls-super-jumbo-record-limit"/> reduces the overhead of uncompressed TLS 1.3 records by 3 bytes.</t>
        <t>The numbers in <xref target="fig-overhead"/> and <xref target="fig-overhead2"/> were calculated with 8 bytes ICV which is the mandatory to implement in <xref target="I-D.ietf-uta-tls13-iot-profile"/>, and Section 8 of <xref target="RFC9528"/>. If 16 bytes tag are used, all numbers increases by 8.</t>
        <t>The numbers in <xref target="fig-overhead"/>, <xref target="fig-overhead2"/>, and <xref target="fig-overhead3"/> do not consider underlying layers, see <xref target="layers"/>.</t>
      </section>
      <section anchor="dtls-12">
        <name>DTLS 1.2</name>
        <section anchor="dtls-12-basic">
          <name>DTLS 1.2 (Basic)</name>
          <t>This section analyzes the overhead of DTLS 1.2 <xref target="RFC6347"/>. The nonce follows the strict profiling given in <xref target="RFC7925"/>.  This example is taken directly from <xref target="RFC7400"/>, Figure 16.</t>
          <artwork><![CDATA[
DTLS 1.2 record layer (35 bytes, 29 bytes overhead):
17 fe fd 00 01 00 00 00 00 00 05 00 16 00 01 00
00 00 00 00 05 ae a0 15 56 67 92 4d ff 8a 24 e4
cb 35 b9

Content type:
17
Version:
fe fd
Epoch:
00 01
Sequence number:
00 00 00 00 00 05
Length:
00 16
Nonce:
00 01 00 00 00 00 00 05
Ciphertext:
ae a0 15 56 67 92
ICV:
4d ff 8a 24 e4 cb 35 b9
]]></artwork>
          <t>DTLS 1.2 gives 29 bytes overhead.</t>
        </section>
        <section anchor="dtls-12-with-6lowpan-ghc">
          <name>DTLS 1.2 with 6LoWPAN-GHC</name>
          <t>This section analyzes the overhead of DTLS 1.2 <xref target="RFC6347"/> when compressed with 6LoWPAN-GHC <xref target="RFC7400"/>. The compression was done with <xref target="OlegHahm-ghc"/>.</t>
          <t>Note that the sequence number ‘01’ used in <xref target="RFC7400"/>, Figure 15 gives an exceptionally small overhead that is not representative.</t>
          <t>Note that this header compression is not available when DTLS is used over transports that do not use 6LoWPAN together with 6LoWPAN-GHC.</t>
          <artwork><![CDATA[
Compressed DTLS 1.2 record layer (22 bytes, 16 bytes overhead):
b0 c3 03 05 00 16 f2 0e ae a0 15 56 67 92 4d ff
8a 24 e4 cb 35 b9

Compressed DTLS 1.2 record layer header and nonce:
b0 c3 03 05 00 16 f2 0e
Ciphertext:
ae a0 15 56 67 92
ICV:
4d ff 8a 24 e4 cb 35 b9
]]></artwork>
          <t>When compressed with 6LoWPAN-GHC, DTLS 1.2 with the above parameters (epoch, sequence number, length) gives 16 bytes overhead.</t>
        </section>
        <section anchor="dtls-12-with-connection-id">
          <name>DTLS 1.2 with Connection ID</name>
          <t>This section analyzes the overhead of DTLS 1.2 <xref target="RFC6347"/> with Connection ID <xref target="RFC9146"/>. The overhead calculations in this section use Connection ID = '42'. DTLS record layer with a Connection ID = '' (the empty string) is equal to DTLS without Connection ID.</t>
          <artwork><![CDATA[
DTLS 1.2 record layer (36 bytes, 30 bytes overhead):
17 fe fd 00 01 00 00 00 00 00 05 42 00 16 00 01
00 00 00 00 00 05 ae a0 15 56 67 92 4d ff 8a 24
e4 cb 35 b9

Content type:
17
Version:
fe fd
Epoch:
00 01
Sequence number:
00 00 00 00 00 05
Connection ID:
42
Length:
00 16
Nonce:
00 01 00 00 00 00 00 05
Ciphertext:
ae a0 15 56 67 92
ICV:
4d ff 8a 24 e4 cb 35 b9
]]></artwork>
          <t>DTLS 1.2 with Connection ID gives 30 bytes overhead.</t>
        </section>
        <section anchor="dtls-12-with-connection-id-and-6lowpan-ghc">
          <name>DTLS 1.2 with Connection ID and 6LoWPAN-GHC</name>
          <t>This section analyzes the overhead of DTLS 1.2 <xref target="RFC6347"/> with Connection ID <xref target="RFC9146"/> when compressed with 6LoWPAN-GHC <xref target="RFC7400"/> <xref target="OlegHahm-ghc"/>.</t>
          <t>Note that the sequence number ‘01’ used in <xref target="RFC7400"/>, Figure 15 gives an exceptionally small overhead that is not representative.</t>
          <t>Note that this header compression is not available when DTLS is used over transports that do not use 6LoWPAN together with 6LoWPAN-GHC.</t>
          <artwork><![CDATA[
Compressed DTLS 1.2 record layer (23 bytes, 17 bytes overhead):
b0 c3 04 05 42 00 16 f2 0e ae a0 15 56 67 92 4d
ff 8a 24 e4 cb 35 b9

Compressed DTLS 1.2 record layer header and nonce:
b0 c3 04 05 42 00 16 f2 0e
Ciphertext:
ae a0 15 56 67 92
ICV:
4d ff 8a 24 e4 cb 35 b9
]]></artwork>
          <t>When compressed with 6LoWPAN-GHC, DTLS 1.2 with the above parameters (epoch, sequence number, Connection ID, length) gives 17 bytes overhead.</t>
        </section>
      </section>
      <section anchor="dtls-13-1">
        <name>DTLS 1.3</name>
        <section anchor="dtls-13-basic">
          <name>DTLS 1.3 (Basic)</name>
          <t>This section analyzes the overhead of DTLS 1.3 <xref target="RFC9147"/>. The changes compared to DTLS 1.2 are: omission of version number, merging of epoch into the first byte containing signaling bits, optional omission of length, reduction of sequence number into a 1 or 2-bytes field.</t>
          <t>DTLS 1.3 is only analyzed with an omitted length field and with an 8-bit sequence number (see Figure 4 of <xref target="RFC9147"/>).</t>
          <artwork><![CDATA[
DTLS 1.3 record layer (17 bytes, 11 bytes overhead):
21 05 ae a0 15 56 67 92 ec 4d ff 8a 24 e4 cb 35 b9

First byte (including epoch):
21
Sequence number:
05
Ciphertext (including encrypted content type):
ae a0 15 56 67 92 ec
ICV:
4d ff 8a 24 e4 cb 35 b9
]]></artwork>
          <t>DTLS 1.3 gives 11 bytes overhead.</t>
        </section>
        <section anchor="dtls-13-with-6lowpan-ghc">
          <name>DTLS 1.3 with 6LoWPAN-GHC</name>
          <t>This section analyzes the overhead of DTLS 1.3 <xref target="RFC9147"/> when compressed with 6LoWPAN-GHC <xref target="RFC7400"/> <xref target="OlegHahm-ghc"/>.</t>
          <t>Note that this header compression is not available when DTLS is used over transports that do not use 6LoWPAN together with 6LoWPAN-GHC.</t>
          <artwork><![CDATA[
Compressed DTLS 1.3 record layer (18 bytes, 12 bytes overhead):
11 21 05 ae a0 15 56 67 92 ec 4d ff 8a 24 e4 cb
35 b9

Compressed DTLS 1.3 record layer header and nonce:
11 21 05
Ciphertext (including encrypted content type):
ae a0 15 56 67 92 ec
ICV:
4d ff 8a 24 e4 cb 35 b9
]]></artwork>
          <t>When compressed with 6LoWPAN-GHC, DTLS 1.3 with the above parameters (epoch, sequence number, no length) gives 12 bytes overhead.</t>
        </section>
        <section anchor="dtls-13-with-connection-id">
          <name>DTLS 1.3 with Connection ID</name>
          <t>This section analyzes the overhead of DTLS 1.3 <xref target="RFC9147"/> with Connection ID <xref target="RFC9146"/>.</t>
          <t>In this example, the length field is omitted, and the 1-byte field is used for the sequence number. The minimal DTLSCiphertext structure is used (see Figure 4 of <xref target="RFC9147"/>), with the addition of the Connection ID field.</t>
          <artwork><![CDATA[
DTLS 1.3 record layer (18 bytes, 12 bytes overhead):
31 42 05 ae a0 15 56 67 92 ec 4d ff 8a 24 e4 cb 35 b9

First byte (including epoch):
31
Connection ID:
42
Sequence number:
05
Ciphertext (including encrypted content type):
ae a0 15 56 67 92 ec
ICV:
4d ff 8a 24 e4 cb 35 b9
]]></artwork>
          <t>DTLS 1.3 with Connection ID gives 12 bytes overhead.</t>
        </section>
        <section anchor="dtls-13-with-connection-id-and-6lowpan-ghc">
          <name>DTLS 1.3 with Connection ID and 6LoWPAN-GHC</name>
          <t>This section analyzes the overhead of DTLS 1.3 <xref target="RFC9147"/> with Connection ID <xref target="RFC9146"/> when compressed with 6LoWPAN-GHC <xref target="RFC7400"/> <xref target="OlegHahm-ghc"/>.</t>
          <t>Note that this header compression is not available when DTLS is used over transports that do not use 6LoWPAN together with 6LoWPAN-GHC.</t>
          <artwork><![CDATA[
Compressed DTLS 1.3 record layer (19 bytes, 13 bytes overhead):
12 31 05 42 ae a0 15 56 67 92 ec 4d ff 8a 24 e4
cb 35 b9

Compressed DTLS 1.3 record layer header and nonce:
12 31 05 42
Ciphertext (including encrypted content type):
ae a0 15 56 67 92 ec
ICV:
4d ff 8a 24 e4 cb 35 b9
]]></artwork>
          <t>When compressed with 6LoWPAN-GHC, DTLS 1.3 with the above parameters (epoch, sequence number, Connection ID, no length) gives 13 bytes overhead.</t>
        </section>
      </section>
      <section anchor="tls-12">
        <name>TLS 1.2</name>
        <section anchor="tls-12-basic">
          <name>TLS 1.2 (Basic)</name>
          <t>This section analyzes the overhead of TLS 1.2 <xref target="RFC5246"/>. The changes compared to DTLS 1.2 is that the TLS 1.2 record layer does not have epoch and sequence number, and that the version is different.</t>
          <artwork><![CDATA[
TLS 1.2 Record Layer (27 bytes, 21 bytes overhead):
17 03 03 00 16 00 00 00 00 00 00 00 05 ae a0 15
56 67 92 4d ff 8a 24 e4 cb 35 b9

Content type:
17
Version:
03 03
Length:
00 16
Nonce:
00 00 00 00 00 00 00 05
Ciphertext:
ae a0 15 56 67 92
ICV:
4d ff 8a 24 e4 cb 35 b9
]]></artwork>
          <t>TLS 1.2 gives 21 bytes overhead.</t>
        </section>
        <section anchor="tls-12-with-6lowpan-ghc">
          <name>TLS 1.2 with 6LoWPAN-GHC</name>
          <t>This section analyzes the overhead of TLS 1.2 <xref target="RFC5246"/> when compressed with 6LoWPAN-GHC <xref target="RFC7400"/> <xref target="OlegHahm-ghc"/>.</t>
          <t>Note that this header compression is not available when TLS is used over transports that do not use 6LoWPAN together with 6LoWPAN-GHC.</t>
          <artwork><![CDATA[
Compressed TLS 1.2 record layer (23 bytes, 17 bytes overhead):
05 17 03 03 00 16 85 0f 05 ae a0 15 56 67 92 4d
ff 8a 24 e4 cb 35 b9

Compressed TLS 1.2 record layer header and nonce:
05 17 03 03 00 16 85 0f 05
Ciphertext:
ae a0 15 56 67 92
ICV:
4d ff 8a 24 e4 cb 35 b9
]]></artwork>
          <t>When compressed with 6LoWPAN-GHC, TLS 1.2 with the above parameters (epoch, sequence number, length) gives 17 bytes overhead.</t>
        </section>
      </section>
      <section anchor="tls-13-1">
        <name>TLS 1.3</name>
        <section anchor="tls-13-basic">
          <name>TLS 1.3 (Basic)</name>
          <t>This section analyzes the overhead of TLS 1.3 <xref target="RFC8446"/>. The change compared to TLS 1.2 is that the TLS 1.3 record layer uses a different version.</t>
          <artwork><![CDATA[
TLS 1.3 Record Layer (20 bytes, 14 bytes overhead):
17 03 03 00 16 ae a0 15 56 67 92 ec 4d ff 8a 24
e4 cb 35 b9

Content type:
17
Legacy version:
03 03
Length:
00 0f
Ciphertext (including encrypted content type):
ae a0 15 56 67 92 ec
ICV:
4d ff 8a 24 e4 cb 35 b9
]]></artwork>
          <t>TLS 1.3 gives 14 bytes overhead.</t>
        </section>
        <section anchor="tls-13-with-6lowpan-ghc">
          <name>TLS 1.3 with 6LoWPAN-GHC</name>
          <t>This section analyzes the overhead of TLS 1.3 <xref target="RFC8446"/> when compressed with 6LoWPAN-GHC <xref target="RFC7400"/> <xref target="OlegHahm-ghc"/>.</t>
          <t>Note that this header compression is not available when TLS is used over transports that do not use 6LoWPAN together with 6LoWPAN-GHC.</t>
          <artwork><![CDATA[
Compressed TLS 1.3 record layer (21 bytes, 15 bytes overhead):
14 17 03 03 00 0f ae a0 15 56 67 92 ec 4d ff 8a
24 e4 cb 35 b9

Compressed TLS 1.3 record layer header and nonce:
14 17 03 03 00 0f
Ciphertext (including encrypted content type):
ae a0 15 56 67 92 ec
ICV:
4d ff 8a 24 e4 cb 35 b9
]]></artwork>
          <t>When compressed with 6LoWPAN-GHC, TLS 1.3 with the above parameters (epoch, sequence number, length) gives 15 bytes overhead.</t>
        </section>
      </section>
      <section anchor="oscore">
        <name>OSCORE</name>
        <t>This section analyzes the overhead of OSCORE <xref target="RFC8613"/>.</t>
        <t>The below calculation Option Delta = ‘9’, Sender ID = ‘’ (empty string), and Sequence Number = ‘05’ and is only an example. Note that Sender ID = ‘’ (empty string) can only be used by one client per server.</t>
        <artwork><![CDATA[
OSCORE request (19 bytes, 13 bytes overhead):
92 09 05
ff ec ae a0 15 56 67 92 4d ff 8a 24 e4 cb 35 b9

CoAP option delta and length:
92
Option value (flag byte and sequence number):
09 05
Payload marker:
ff
Ciphertext (including encrypted code and payload marker):
ec ae a0 15 56 67 92
ICV:
4d ff 8a 24 e4 cb 35 b9
]]></artwork>
        <t>The below calculation Option Delta = ‘9’, Sender ID = ‘42’, and Sequence Number = ‘05’, and is only an example.</t>
        <artwork><![CDATA[
OSCORE request (20 bytes, 14 bytes overhead):
93 09 05 42
ff ec ae a0 15 56 67 92 4d ff 8a 24 e4 cb 35 b9

CoAP option delta and length:
93
Option Value (flag byte, sequence number, and Sender ID):
09 05 42
Payload marker:
ff
Ciphertext (including encrypted code and payload marker):
ec ae a0 15 56 67 92
ICV:
4d ff 8a 24 e4 cb 35 b9
]]></artwork>
        <t>The below calculation uses Option Delta = ‘9’.</t>
        <artwork><![CDATA[
OSCORE response (17 bytes, 11 bytes overhead):
90
ff ec ae a0 15 56 67 92 4d ff 8a 24 e4 cb 35 b9

CoAP delta and option length:
90
Option value:
-
Payload marker:
ff
Ciphertext (including encrypted code):
ec ae a0 15 56 67 92
ICV:
4d ff 8a 24 e4 cb 35 b9
]]></artwork>
        <t>OSCORE with the above parameters gives 13-14 bytes overhead for requests and 11 bytes overhead for responses.</t>
        <t>Unlike DTLS and TLS, OSCORE has much smaller overhead for responses than requests.</t>
      </section>
      <section anchor="group-oscore">
        <name>Group OSCORE</name>
        <t>This section analyzes the overhead of Group OSCORE <xref target="I-D.ietf-core-oscore-groupcomm"/>. Group OSCORE defines a pairwise mode where each member of the group can efficiently derive a symmetric pairwise key with any other member of the group for pairwise OSCORE communication. An additional requirement compared to <xref target="RFC8613"/> is that ID Context is always included in requests. For example, if the length of the ID Context is 1 byte and the length of the Sender ID is 1 byte, this adds 2 bytes to requests.</t>
        <t>The below calculation Option Delta = ‘9’, ID Context = ‘’, Sender ID = ‘42’, and Sequence Number = ‘05’, and is only an example. ID Context = ‘’ would be the standard for local deployments only having a single group.</t>
        <artwork><![CDATA[
OSCORE request (21 bytes, 15 bytes overhead):
93 19 05 00 42
ff ec ae a0 15 56 67 92 4d ff 8a 24 e4 cb 35 b9

CoAP option delta and length:
93
Option Value (flag byte, sequence nr, ID Context length, Sender ID):
19 05 00 42
Payload marker:
ff
Ciphertext (including encrypted code and payload marker):
ec ae a0 15 56 67 92
ICV:
4d ff 8a 24 e4 cb 35 b9
]]></artwork>
        <t>The pairwise mode OSCORE with the above parameters gives 15 bytes overhead for requests and 11 bytes overhead for responses.</t>
      </section>
      <section anchor="summary-2">
        <name>Summary</name>
        <t>DTLS 1.2 has quite a large overhead as it uses an explicit sequence number and an explicit nonce. TLS 1.2 has significantly less (but not small) overhead. TLS 1.3 has quite a small overhead. OSCORE and DTLS 1.3 (using the minimal structure) format have very small overhead.</t>
        <t>The Generic Header Compression (6LoWPAN-GHC) can in addition to DTLS 1.2 handle TLS 1.2, and DTLS 1.2 with Connection ID. The Generic Header Compression (6LoWPAN-GHC) works very well for Connection ID and the overhead seems to increase exactly with the length of the Connection ID (which is optimal). The compression of TLS 1.2 is not as good as the compression of DTLS 1.2 (as the static dictionary only contains the DTLS 1.2 version number). Similar compression levels as for DTLS could be achieved also for TLS 1.2, but this would require different static dictionaries. For TLS 1.3 and DTLS 1.3, GHC increases the overhead. The 6LoWPAN-GHC header compression is not available when (D)TLS is used over transports that do not use 6LoWPAN together with 6LoWPAN-GHC.</t>
        <t>New security protocols like OSCORE, TLS 1.3, and DTLS 1.3 have much lower overhead than DTLS 1.2 and TLS 1.2. The overhead is even smaller than DTLS 1.2 and TLS 1.2 over 6LoWPAN with compression, and therefore the small overhead is achieved even on deployments without 6LoWPAN or 6LoWPAN without compression. OSCORE is lightweight because it makes use of CoAP, CBOR, and COSE, which were designed to have as low overhead as possible. As it can be seen in <xref target="fig-overhead3"/>, Group OSCORE for pairwise communication increases the overhead of OSCORE requests by 20%.</t>
        <t>Note that the compared protocols have slightly different use cases. TLS and DTLS are designed for the transport layer and are terminated at CoAP proxies. OSCORE is designed for the application layer and protects information end-to-end between the CoAP client and the CoAP server. Group OSCORE is designed for communication in a group.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>When using the security protocols outlined in this document, it is important to adhere to the latest requirements and recommendations for the respective protocol. It is also crucial to utilize supported versions of libraries that continue to receive security updates in response to identified vulnerabilities.</t>
      <t>While the security considerations provided in DTLS 1.2 <xref target="RFC6347"/>, DTLS 1.3 <xref target="RFC9147"/>, TLS 1.2 <xref target="RFC5246"/>, TLS 1.3 <xref target="RFC8446"/>, cTLS <xref target="I-D.ietf-tls-ctls"/>, EDHOC <xref target="RFC9528"/> <xref target="RFC9668"/>, OSCORE <xref target="RFC8613"/>, Group OSCORE <xref target="I-D.ietf-core-oscore-groupcomm"/>, and X.509 <xref target="RFC5280"/> serve as a good starting point, they are not sufficient due to the fact that some of these specifications were authored many years ago. For instance, being compliant to the TLS 1.2 <xref target="RFC5246"/> specification is considered very poor security practice, given that the mandatory-to-implement cipher suite TLS_RSA_WITH_AES_128_CBC_SHA possesses at least three major weaknesses.</t>
      <t>Therefore, implementations and configurations must also align with the latest recommendations and best practices. Notable examples when this document was published include BCP 195 <xref target="RFC9325"/><xref target="RFC8996"/>, <xref target="SP-800-52"/>, and <xref target="BSI-TLS"/>.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no actions for IANA.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-informative-references">
      <name>Informative References</name>
      <reference anchor="RFC5246" target="https://www.rfc-editor.org/info/rfc5246" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5246.xml">
        <front>
          <title>The Transport Layer Security (TLS) Protocol Version 1.2</title>
          <author fullname="T. Dierks" initials="T." surname="Dierks"/>
          <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
          <date month="August" year="2008"/>
          <abstract>
            <t>This document specifies Version 1.2 of the Transport Layer Security (TLS) protocol. The TLS protocol provides communications security over the Internet. The protocol allows client/server applications to communicate in a way that is designed to prevent eavesdropping, tampering, or message forgery. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="5246"/>
        <seriesInfo name="DOI" value="10.17487/RFC5246"/>
      </reference>
      <reference anchor="RFC5280" target="https://www.rfc-editor.org/info/rfc5280" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5280.xml">
        <front>
          <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
          <author fullname="D. Cooper" initials="D." surname="Cooper"/>
          <author fullname="S. Santesson" initials="S." surname="Santesson"/>
          <author fullname="S. Farrell" initials="S." surname="Farrell"/>
          <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
          <author fullname="R. Housley" initials="R." surname="Housley"/>
          <author fullname="W. Polk" initials="W." surname="Polk"/>
          <date month="May" year="2008"/>
          <abstract>
            <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="5280"/>
        <seriesInfo name="DOI" value="10.17487/RFC5280"/>
      </reference>
      <reference anchor="RFC5480" target="https://www.rfc-editor.org/info/rfc5480" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5480.xml">
        <front>
          <title>Elliptic Curve Cryptography Subject Public Key Information</title>
          <author fullname="S. Turner" initials="S." surname="Turner"/>
          <author fullname="D. Brown" initials="D." surname="Brown"/>
          <author fullname="K. Yiu" initials="K." surname="Yiu"/>
          <author fullname="R. Housley" initials="R." surname="Housley"/>
          <author fullname="T. Polk" initials="T." surname="Polk"/>
          <date month="March" year="2009"/>
          <abstract>
            <t>This document specifies the syntax and semantics for the Subject Public Key Information field in certificates that support Elliptic Curve Cryptography. This document updates Sections 2.3.5 and 5, and the ASN.1 module of "Algorithms and Identifiers for the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile", RFC 3279. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="5480"/>
        <seriesInfo name="DOI" value="10.17487/RFC5480"/>
      </reference>
      <reference anchor="RFC6347" target="https://www.rfc-editor.org/info/rfc6347" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6347.xml">
        <front>
          <title>Datagram Transport Layer Security Version 1.2</title>
          <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
          <author fullname="N. Modadugu" initials="N." surname="Modadugu"/>
          <date month="January" year="2012"/>
          <abstract>
            <t>This document specifies version 1.2 of the Datagram Transport Layer Security (DTLS) protocol. The DTLS protocol provides communications privacy for datagram protocols. The protocol allows client/server applications to communicate in a way that is designed to prevent eavesdropping, tampering, or message forgery. The DTLS protocol is based on the Transport Layer Security (TLS) protocol and provides equivalent security guarantees. Datagram semantics of the underlying transport are preserved by the DTLS protocol. This document updates DTLS 1.0 to work with TLS version 1.2. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6347"/>
        <seriesInfo name="DOI" value="10.17487/RFC6347"/>
      </reference>
      <reference anchor="RFC6655" target="https://www.rfc-editor.org/info/rfc6655" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6655.xml">
        <front>
          <title>AES-CCM Cipher Suites for Transport Layer Security (TLS)</title>
          <author fullname="D. McGrew" initials="D." surname="McGrew"/>
          <author fullname="D. Bailey" initials="D." surname="Bailey"/>
          <date month="July" year="2012"/>
          <abstract>
            <t>This memo describes the use of the Advanced Encryption Standard (AES) in the Counter with Cipher Block Chaining - Message Authentication Code (CBC-MAC) Mode (CCM) of operation within Transport Layer Security (TLS) and Datagram TLS (DTLS) to provide confidentiality and data origin authentication. The AES-CCM algorithm is amenable to compact implementations, making it suitable for constrained environments. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6655"/>
        <seriesInfo name="DOI" value="10.17487/RFC6655"/>
      </reference>
      <reference anchor="RFC7250" target="https://www.rfc-editor.org/info/rfc7250" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7250.xml">
        <front>
          <title>Using Raw Public Keys in Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)</title>
          <author fullname="P. Wouters" initials="P." role="editor" surname="Wouters"/>
          <author fullname="H. Tschofenig" initials="H." role="editor" surname="Tschofenig"/>
          <author fullname="J. Gilmore" initials="J." surname="Gilmore"/>
          <author fullname="S. Weiler" initials="S." surname="Weiler"/>
          <author fullname="T. Kivinen" initials="T." surname="Kivinen"/>
          <date month="June" year="2014"/>
          <abstract>
            <t>This document specifies a new certificate type and two TLS extensions for exchanging raw public keys in Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS). The new certificate type allows raw public keys to be used for authentication.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7250"/>
        <seriesInfo name="DOI" value="10.17487/RFC7250"/>
      </reference>
      <reference anchor="RFC7252" target="https://www.rfc-editor.org/info/rfc7252" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7252.xml">
        <front>
          <title>The Constrained Application Protocol (CoAP)</title>
          <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
          <author fullname="K. Hartke" initials="K." surname="Hartke"/>
          <author fullname="C. Bormann" initials="C." surname="Bormann"/>
          <date month="June" year="2014"/>
          <abstract>
            <t>The Constrained Application Protocol (CoAP) is a specialized web transfer protocol for use with constrained nodes and constrained (e.g., low-power, lossy) networks. The nodes often have 8-bit microcontrollers with small amounts of ROM and RAM, while constrained networks such as IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs) often have high packet error rates and a typical throughput of 10s of kbit/s. The protocol is designed for machine- to-machine (M2M) applications such as smart energy and building automation.</t>
            <t>CoAP provides a request/response interaction model between application endpoints, supports built-in discovery of services and resources, and includes key concepts of the Web such as URIs and Internet media types. CoAP is designed to easily interface with HTTP for integration with the Web while meeting specialized requirements such as multicast support, very low overhead, and simplicity for constrained environments.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7252"/>
        <seriesInfo name="DOI" value="10.17487/RFC7252"/>
      </reference>
      <reference anchor="RFC7400" target="https://www.rfc-editor.org/info/rfc7400" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7400.xml">
        <front>
          <title>6LoWPAN-GHC: Generic Header Compression for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)</title>
          <author fullname="C. Bormann" initials="C." surname="Bormann"/>
          <date month="November" year="2014"/>
          <abstract>
            <t>RFC 6282 defines header compression in 6LoWPAN packets (where "6LoWPAN" refers to "IPv6 over Low-Power Wireless Personal Area Network"). The present document specifies a simple addition that enables the compression of generic headers and header-like payloads, without a need to define a new header compression scheme for each such new header or header-like payload.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7400"/>
        <seriesInfo name="DOI" value="10.17487/RFC7400"/>
      </reference>
      <reference anchor="RFC7539" target="https://www.rfc-editor.org/info/rfc7539" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7539.xml">
        <front>
          <title>ChaCha20 and Poly1305 for IETF Protocols</title>
          <author fullname="Y. Nir" initials="Y." surname="Nir"/>
          <author fullname="A. Langley" initials="A." surname="Langley"/>
          <date month="May" year="2015"/>
          <abstract>
            <t>This document defines the ChaCha20 stream cipher as well as the use of the Poly1305 authenticator, both as stand-alone algorithms and as a "combined mode", or Authenticated Encryption with Associated Data (AEAD) algorithm.</t>
            <t>This document does not introduce any new crypto, but is meant to serve as a stable reference and an implementation guide. It is a product of the Crypto Forum Research Group (CFRG).</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7539"/>
        <seriesInfo name="DOI" value="10.17487/RFC7539"/>
      </reference>
      <reference anchor="RFC7748" target="https://www.rfc-editor.org/info/rfc7748" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7748.xml">
        <front>
          <title>Elliptic Curves for Security</title>
          <author fullname="A. Langley" initials="A." surname="Langley"/>
          <author fullname="M. Hamburg" initials="M." surname="Hamburg"/>
          <author fullname="S. Turner" initials="S." surname="Turner"/>
          <date month="January" year="2016"/>
          <abstract>
            <t>This memo specifies two elliptic curves over prime fields that offer a high level of practical security in cryptographic applications, including Transport Layer Security (TLS). These curves are intended to operate at the ~128-bit and ~224-bit security level, respectively, and are generated deterministically based on a list of required properties.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7748"/>
        <seriesInfo name="DOI" value="10.17487/RFC7748"/>
      </reference>
      <reference anchor="RFC7924" target="https://www.rfc-editor.org/info/rfc7924" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7924.xml">
        <front>
          <title>Transport Layer Security (TLS) Cached Information Extension</title>
          <author fullname="S. Santesson" initials="S." surname="Santesson"/>
          <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
          <date month="July" year="2016"/>
          <abstract>
            <t>Transport Layer Security (TLS) handshakes often include fairly static information, such as the server certificate and a list of trusted certification authorities (CAs). This information can be of considerable size, particularly if the server certificate is bundled with a complete certificate chain (i.e., the certificates of intermediate CAs up to the root CA).</t>
            <t>This document defines an extension that allows a TLS client to inform a server of cached information, thereby enabling the server to omit already available information.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7924"/>
        <seriesInfo name="DOI" value="10.17487/RFC7924"/>
      </reference>
      <reference anchor="RFC7925" target="https://www.rfc-editor.org/info/rfc7925" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7925.xml">
        <front>
          <title>Transport Layer Security (TLS) / Datagram Transport Layer Security (DTLS) Profiles for the Internet of Things</title>
          <author fullname="H. Tschofenig" initials="H." role="editor" surname="Tschofenig"/>
          <author fullname="T. Fossati" initials="T." surname="Fossati"/>
          <date month="July" year="2016"/>
          <abstract>
            <t>A common design pattern in Internet of Things (IoT) deployments is the use of a constrained device that collects data via sensors or controls actuators for use in home automation, industrial control systems, smart cities, and other IoT deployments.</t>
            <t>This document defines a Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) 1.2 profile that offers communications security for this data exchange thereby preventing eavesdropping, tampering, and message forgery. The lack of communication security is a common vulnerability in IoT products that can easily be solved by using these well-researched and widely deployed Internet security protocols.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7925"/>
        <seriesInfo name="DOI" value="10.17487/RFC7925"/>
      </reference>
      <reference anchor="RFC8032" target="https://www.rfc-editor.org/info/rfc8032" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8032.xml">
        <front>
          <title>Edwards-Curve Digital Signature Algorithm (EdDSA)</title>
          <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
          <author fullname="I. Liusvaara" initials="I." surname="Liusvaara"/>
          <date month="January" year="2017"/>
          <abstract>
            <t>This document describes elliptic curve signature scheme Edwards-curve Digital Signature Algorithm (EdDSA). The algorithm is instantiated with recommended parameters for the edwards25519 and edwards448 curves. An example implementation and test vectors are provided.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8032"/>
        <seriesInfo name="DOI" value="10.17487/RFC8032"/>
      </reference>
      <reference anchor="RFC8323" target="https://www.rfc-editor.org/info/rfc8323" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8323.xml">
        <front>
          <title>CoAP (Constrained Application Protocol) over TCP, TLS, and WebSockets</title>
          <author fullname="C. Bormann" initials="C." surname="Bormann"/>
          <author fullname="S. Lemay" initials="S." surname="Lemay"/>
          <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
          <author fullname="K. Hartke" initials="K." surname="Hartke"/>
          <author fullname="B. Silverajan" initials="B." surname="Silverajan"/>
          <author fullname="B. Raymor" initials="B." role="editor" surname="Raymor"/>
          <date month="February" year="2018"/>
          <abstract>
            <t>The Constrained Application Protocol (CoAP), although inspired by HTTP, was designed to use UDP instead of TCP. The message layer of CoAP over UDP includes support for reliable delivery, simple congestion control, and flow control.</t>
            <t>Some environments benefit from the availability of CoAP carried over reliable transports such as TCP or Transport Layer Security (TLS). This document outlines the changes required to use CoAP over TCP, TLS, and WebSockets transports. It also formally updates RFC 7641 for use with these transports and RFC 7959 to enable the use of larger messages over a reliable transport.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8323"/>
        <seriesInfo name="DOI" value="10.17487/RFC8323"/>
      </reference>
      <reference anchor="RFC8376" target="https://www.rfc-editor.org/info/rfc8376" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8376.xml">
        <front>
          <title>Low-Power Wide Area Network (LPWAN) Overview</title>
          <author fullname="S. Farrell" initials="S." role="editor" surname="Farrell"/>
          <date month="May" year="2018"/>
          <abstract>
            <t>Low-Power Wide Area Networks (LPWANs) are wireless technologies with characteristics such as large coverage areas, low bandwidth, possibly very small packet and application-layer data sizes, and long battery life operation. This memo is an informational overview of the set of LPWAN technologies being considered in the IETF and of the gaps that exist between the needs of those technologies and the goal of running IP in LPWANs.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8376"/>
        <seriesInfo name="DOI" value="10.17487/RFC8376"/>
      </reference>
      <reference anchor="RFC8446" target="https://www.rfc-editor.org/info/rfc8446" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8446.xml">
        <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="RFC8613" target="https://www.rfc-editor.org/info/rfc8613" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8613.xml">
        <front>
          <title>Object Security for Constrained RESTful Environments (OSCORE)</title>
          <author fullname="G. Selander" initials="G." surname="Selander"/>
          <author fullname="J. Mattsson" initials="J." surname="Mattsson"/>
          <author fullname="F. Palombini" initials="F." surname="Palombini"/>
          <author fullname="L. Seitz" initials="L." surname="Seitz"/>
          <date month="July" year="2019"/>
          <abstract>
            <t>This document defines Object Security for Constrained RESTful Environments (OSCORE), a method for application-layer protection of the Constrained Application Protocol (CoAP), using CBOR Object Signing and Encryption (COSE). OSCORE provides end-to-end protection between endpoints communicating using CoAP or CoAP-mappable HTTP. OSCORE is designed for constrained nodes and networks supporting a range of proxy operations, including translation between different transport protocols.</t>
            <t>Although an optional functionality of CoAP, OSCORE alters CoAP options processing and IANA registration. Therefore, this document updates RFC 7252.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8613"/>
        <seriesInfo name="DOI" value="10.17487/RFC8613"/>
      </reference>
      <reference anchor="RFC8824" target="https://www.rfc-editor.org/info/rfc8824" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8824.xml">
        <front>
          <title>Static Context Header Compression (SCHC) for the Constrained Application Protocol (CoAP)</title>
          <author fullname="A. Minaburo" initials="A." surname="Minaburo"/>
          <author fullname="L. Toutain" initials="L." surname="Toutain"/>
          <author fullname="R. Andreasen" initials="R." surname="Andreasen"/>
          <date month="June" year="2021"/>
          <abstract>
            <t>This document defines how to compress Constrained Application Protocol (CoAP) headers using the Static Context Header Compression and fragmentation (SCHC) framework. SCHC defines a header compression mechanism adapted for Constrained Devices. SCHC uses a static description of the header to reduce the header's redundancy and size. While RFC 8724 describes the SCHC compression and fragmentation framework, and its application for IPv6/UDP headers, this document applies SCHC to CoAP headers. The CoAP header structure differs from IPv6 and UDP, since CoAP uses a flexible header with a variable number of options, themselves of variable length. The CoAP message format is asymmetric: the request messages have a header format different from the format in the response messages. This specification gives guidance on applying SCHC to flexible headers and how to leverage the asymmetry for more efficient compression Rules.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8824"/>
        <seriesInfo name="DOI" value="10.17487/RFC8824"/>
      </reference>
      <reference anchor="RFC8879" target="https://www.rfc-editor.org/info/rfc8879" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8879.xml">
        <front>
          <title>TLS Certificate Compression</title>
          <author fullname="A. Ghedini" initials="A." surname="Ghedini"/>
          <author fullname="V. Vasiliev" initials="V." surname="Vasiliev"/>
          <date month="December" year="2020"/>
          <abstract>
            <t>In TLS handshakes, certificate chains often take up the majority of the bytes transmitted.</t>
            <t>This document describes how certificate chains can be compressed to reduce the amount of data transmitted and avoid some round trips.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8879"/>
        <seriesInfo name="DOI" value="10.17487/RFC8879"/>
      </reference>
      <reference anchor="RFC8996" target="https://www.rfc-editor.org/info/rfc8996" xml:base="https://static.ietf.org/tmp/reference.RFC.8996.xml">
        <front>
          <title>Deprecating TLS 1.0 and TLS 1.1</title>
          <author fullname="K. Moriarty" initials="K." surname="Moriarty"/>
          <author fullname="S. Farrell" initials="S." surname="Farrell"/>
          <date month="March" year="2021"/>
          <abstract>
            <t>This document formally deprecates Transport Layer Security (TLS) versions 1.0 (RFC 2246) and 1.1 (RFC 4346). Accordingly, those documents have been moved to Historic status. These versions lack support for current and recommended cryptographic algorithms and mechanisms, and various government and industry profiles of applications using TLS now mandate avoiding these old TLS versions. TLS version 1.2 became the recommended version for IETF protocols in 2008 (subsequently being obsoleted by TLS version 1.3 in 2018), providing sufficient time to transition away from older versions. Removing support for older versions from implementations reduces the attack surface, reduces opportunity for misconfiguration, and streamlines library and product maintenance.</t>
            <t>This document also deprecates Datagram TLS (DTLS) version 1.0 (RFC 4347) but not DTLS version 1.2, and there is no DTLS version 1.1.</t>
            <t>This document updates many RFCs that normatively refer to TLS version 1.0 or TLS version 1.1, as described herein. This document also updates the best practices for TLS usage in RFC 7525; hence, it is part of BCP 195.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="195"/>
        <seriesInfo name="RFC" value="8996"/>
        <seriesInfo name="DOI" value="10.17487/RFC8996"/>
      </reference>
      <reference anchor="RFC9053" target="https://www.rfc-editor.org/info/rfc9053" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9053.xml">
        <front>
          <title>CBOR Object Signing and Encryption (COSE): Initial Algorithms</title>
          <author fullname="J. Schaad" initials="J." surname="Schaad"/>
          <date month="August" year="2022"/>
          <abstract>
            <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines a set of algorithms that can be used with the CBOR Object Signing and Encryption (COSE) protocol (RFC 9052).</t>
            <t>This document, along with RFC 9052, obsoletes RFC 8152.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9053"/>
        <seriesInfo name="DOI" value="10.17487/RFC9053"/>
      </reference>
      <reference anchor="RFC9146" target="https://www.rfc-editor.org/info/rfc9146" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9146.xml">
        <front>
          <title>Connection Identifier for DTLS 1.2</title>
          <author fullname="E. Rescorla" initials="E." role="editor" surname="Rescorla"/>
          <author fullname="H. Tschofenig" initials="H." role="editor" surname="Tschofenig"/>
          <author fullname="T. Fossati" initials="T." surname="Fossati"/>
          <author fullname="A. Kraus" initials="A." surname="Kraus"/>
          <date month="March" year="2022"/>
          <abstract>
            <t>This document specifies the Connection ID (CID) construct for the Datagram Transport Layer Security (DTLS) protocol version 1.2.</t>
            <t>A CID is an identifier carried in the record layer header that gives the recipient additional information for selecting the appropriate security association. In "classical" DTLS, selecting a security association of an incoming DTLS record is accomplished with the help of the 5-tuple. If the source IP address and/or source port changes during the lifetime of an ongoing DTLS session, then the receiver will be unable to locate the correct security context.</t>
            <t>The new ciphertext record format with the CID also provides content type encryption and record layer padding.</t>
            <t>This document updates RFC 6347.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9146"/>
        <seriesInfo name="DOI" value="10.17487/RFC9146"/>
      </reference>
      <reference anchor="RFC9147" target="https://www.rfc-editor.org/info/rfc9147" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9147.xml">
        <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>
      <reference anchor="RFC9175" target="https://www.rfc-editor.org/info/rfc9175" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9175.xml">
        <front>
          <title>Constrained Application Protocol (CoAP): Echo, Request-Tag, and Token Processing</title>
          <author fullname="C. Amsüss" initials="C." surname="Amsüss"/>
          <author fullname="J. Preuß Mattsson" initials="J." surname="Preuß Mattsson"/>
          <author fullname="G. Selander" initials="G." surname="Selander"/>
          <date month="February" year="2022"/>
          <abstract>
            <t>This document specifies enhancements to the Constrained Application Protocol (CoAP) that mitigate security issues in particular use cases. The Echo option enables a CoAP server to verify the freshness of a request or to force a client to demonstrate reachability at its claimed network address. The Request-Tag option allows the CoAP server to match block-wise message fragments belonging to the same request. This document updates RFC 7252 with respect to the following: processing requirements for client Tokens, forbidding non-secure reuse of Tokens to ensure response-to-request binding when CoAP is used with a security protocol, and amplification mitigation (where the use of the Echo option is now recommended).</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9175"/>
        <seriesInfo name="DOI" value="10.17487/RFC9175"/>
      </reference>
      <reference anchor="RFC9191" target="https://www.rfc-editor.org/info/rfc9191" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9191.xml">
        <front>
          <title>Handling Large Certificates and Long Certificate Chains in TLS-Based EAP Methods</title>
          <author fullname="M. Sethi" initials="M." surname="Sethi"/>
          <author fullname="J. Preuß Mattsson" initials="J." surname="Preuß Mattsson"/>
          <author fullname="S. Turner" initials="S." surname="Turner"/>
          <date month="February" year="2022"/>
          <abstract>
            <t>The Extensible Authentication Protocol (EAP), defined in RFC 3748, provides a standard mechanism for support of multiple authentication methods. EAP-TLS and other TLS-based EAP methods are widely deployed and used for network access authentication. Large certificates and long certificate chains combined with authenticators that drop an EAP session after only 40 - 50 round trips is a major deployment problem. This document looks at this problem in detail and describes the potential solutions available.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9191"/>
        <seriesInfo name="DOI" value="10.17487/RFC9191"/>
      </reference>
      <reference anchor="RFC9325" target="https://www.rfc-editor.org/info/rfc9325" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9325.xml">
        <front>
          <title>Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)</title>
          <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
          <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
          <author fullname="T. Fossati" initials="T." surname="Fossati"/>
          <date month="November" year="2022"/>
          <abstract>
            <t>Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) are used to protect data exchanged over a wide range of application protocols and can also form the basis for secure transport protocols. Over the years, the industry has witnessed several serious attacks on TLS and DTLS, including attacks on the most commonly used cipher suites and their modes of operation. This document provides the latest recommendations for ensuring the security of deployed services that use TLS and DTLS. These recommendations are applicable to the majority of use cases.</t>
            <t>RFC 7525, an earlier version of the TLS recommendations, was published when the industry was transitioning to TLS 1.2. Years later, this transition is largely complete, and TLS 1.3 is widely available. This document updates the guidance given the new environment and obsoletes RFC 7525. In addition, this document updates RFCs 5288 and 6066 in view of recent attacks.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="195"/>
        <seriesInfo name="RFC" value="9325"/>
        <seriesInfo name="DOI" value="10.17487/RFC9325"/>
      </reference>
      <reference anchor="RFC9528" target="https://www.rfc-editor.org/info/rfc9528" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9528.xml">
        <front>
          <title>Ephemeral Diffie-Hellman Over COSE (EDHOC)</title>
          <author fullname="G. Selander" initials="G." surname="Selander"/>
          <author fullname="J. Preuß Mattsson" initials="J." surname="Preuß Mattsson"/>
          <author fullname="F. Palombini" initials="F." surname="Palombini"/>
          <date month="March" year="2024"/>
          <abstract>
            <t>This document specifies Ephemeral Diffie-Hellman Over COSE (EDHOC), a very compact and lightweight authenticated Diffie-Hellman key exchange with ephemeral keys. EDHOC provides mutual authentication, forward secrecy, and identity protection. EDHOC is intended for usage in constrained scenarios, and a main use case is to establish an Object Security for Constrained RESTful Environments (OSCORE) security context. By reusing CBOR Object Signing and Encryption (COSE) for cryptography, Concise Binary Object Representation (CBOR) for encoding, and Constrained Application Protocol (CoAP) for transport, the additional code size can be kept very low.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9528"/>
        <seriesInfo name="DOI" value="10.17487/RFC9528"/>
      </reference>
      <reference anchor="RFC9529" target="https://www.rfc-editor.org/info/rfc9529" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9529.xml">
        <front>
          <title>Traces of Ephemeral Diffie-Hellman Over COSE (EDHOC)</title>
          <author fullname="G. Selander" initials="G." surname="Selander"/>
          <author fullname="J. Preuß Mattsson" initials="J." surname="Preuß Mattsson"/>
          <author fullname="M. Serafin" initials="M." surname="Serafin"/>
          <author fullname="M. Tiloca" initials="M." surname="Tiloca"/>
          <author fullname="M. Vučinić" initials="M." surname="Vučinić"/>
          <date month="March" year="2024"/>
          <abstract>
            <t>This document contains example traces of Ephemeral Diffie-Hellman Over COSE (EDHOC).</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9529"/>
        <seriesInfo name="DOI" value="10.17487/RFC9529"/>
      </reference>
      <reference anchor="RFC9547" target="https://www.rfc-editor.org/info/rfc9547" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9547.xml">
        <front>
          <title>Report from the IAB Workshop on Environmental Impact of Internet Applications and Systems, 2022</title>
          <author fullname="J. Arkko" initials="J." surname="Arkko"/>
          <author fullname="C. S. Perkins" initials="C. S." surname="Perkins"/>
          <author fullname="S. Krishnan" initials="S." surname="Krishnan"/>
          <date month="February" year="2024"/>
          <abstract>
            <t>Internet communications and applications have both environmental costs and benefits. The IAB ran an online workshop in December 2022 to explore and understand these impacts.</t>
            <t>The role of the workshop was to discuss the impacts and the evolving industry needs, and to identify areas for improvements and future work. A key goal of the workshop was to call further attention to the topic and bring together a diverse stakeholder community to discuss these issues.</t>
            <t>Note that this document is a report on the proceedings of the workshop. The views and positions documented in this report are those of the workshop participants and do not necessarily reflect IAB views and positions.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9547"/>
        <seriesInfo name="DOI" value="10.17487/RFC9547"/>
      </reference>
      <reference anchor="RFC9668" target="https://www.rfc-editor.org/info/rfc9668" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9668.xml">
        <front>
          <title>Using Ephemeral Diffie-Hellman Over COSE (EDHOC) with the Constrained Application Protocol (CoAP) and Object Security for Constrained RESTful Environments (OSCORE)</title>
          <author fullname="F. Palombini" initials="F." surname="Palombini"/>
          <author fullname="M. Tiloca" initials="M." surname="Tiloca"/>
          <author fullname="R. Höglund" initials="R." surname="Höglund"/>
          <author fullname="S. Hristozov" initials="S." surname="Hristozov"/>
          <author fullname="G. Selander" initials="G." surname="Selander"/>
          <date month="November" year="2024"/>
          <abstract>
            <t>The lightweight authenticated key exchange protocol Ephemeral Diffie-Hellman Over COSE (EDHOC) can be run over the Constrained Application Protocol (CoAP) and used by two peers to establish a Security Context for the security protocol Object Security for Constrained RESTful Environments (OSCORE). This document details this use of the EDHOC protocol by specifying a number of additional and optional mechanisms, including an optimization approach for combining the execution of EDHOC with the first OSCORE transaction. This combination reduces the number of round trips required to set up an OSCORE Security Context and to complete an OSCORE transaction using that Security Context.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9668"/>
        <seriesInfo name="DOI" value="10.17487/RFC9668"/>
      </reference>
      <reference anchor="I-D.ietf-core-attacks-on-coap" target="https://datatracker.ietf.org/doc/html/draft-ietf-core-attacks-on-coap-05" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-core-attacks-on-coap.xml">
        <front>
          <title>Attacks on the Constrained Application Protocol (CoAP)</title>
          <author fullname="John Preuß Mattsson" initials="J. P." surname="Mattsson">
            <organization>Ericsson AB</organization>
          </author>
          <author fullname="John Fornehed" initials="J." surname="Fornehed">
            <organization>Ericsson AB</organization>
          </author>
          <author fullname="Göran Selander" initials="G." surname="Selander">
            <organization>Ericsson AB</organization>
          </author>
          <author fullname="Francesca Palombini" initials="F." surname="Palombini">
            <organization>Ericsson AB</organization>
          </author>
          <author fullname="Christian Amsüss" initials="C." surname="Amsüss"/>
          <date day="22" month="December" year="2024"/>
          <abstract>
            <t>Being able to securely retrieve information from sensors and control actuators while providing guards against distributed denial-of- service (DDoS) attacks are key requirements for CoAP deployments. To that aim, a security protocol (e.g., DTLS, TLS, or OSCORE) can be enabled to ensure secure CoAP operation, including protection against many attacks. This document identifies a set of known CoAP attacks and shows that simply using CoAP with a security protocol is not always enough for secure operation. Several of the identified attacks can be mitigated with a security protocol providing confidentiality and integrity combined with the solutions specified in RFC 9175.</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-core-attacks-on-coap-05"/>
      </reference>
      <reference anchor="I-D.ietf-core-oscore-groupcomm" target="https://datatracker.ietf.org/doc/html/draft-ietf-core-oscore-groupcomm-25" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-core-oscore-groupcomm.xml">
        <front>
          <title>Group Object Security for Constrained RESTful Environments (Group OSCORE)</title>
          <author fullname="Marco Tiloca" initials="M." surname="Tiloca">
            <organization>RISE AB</organization>
          </author>
          <author fullname="Göran Selander" initials="G." surname="Selander">
            <organization>Ericsson AB</organization>
          </author>
          <author fullname="Francesca Palombini" initials="F." surname="Palombini">
            <organization>Ericsson AB</organization>
          </author>
          <author fullname="John Preuß Mattsson" initials="J. P." surname="Mattsson">
            <organization>Ericsson AB</organization>
          </author>
          <author fullname="Rikard Höglund" initials="R." surname="Höglund">
            <organization>RISE AB</organization>
          </author>
          <date day="16" month="March" year="2025"/>
          <abstract>
            <t>This document defines the security protocol Group Object Security for Constrained RESTful Environments (Group OSCORE), providing end-to-end security of CoAP messages exchanged between members of a group, e.g., sent over IP multicast. In particular, the described protocol defines how OSCORE is used in a group communication setting to provide source authentication for CoAP group requests, sent by a client to multiple servers, and for protection of the corresponding CoAP responses. Group OSCORE also defines a pairwise mode where each member of the group can efficiently derive a symmetric pairwise key with any other member of the group for pairwise OSCORE communication. Group OSCORE can be used between endpoints communicating with CoAP or CoAP-mappable HTTP.</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-core-oscore-groupcomm-25"/>
      </reference>
      <reference anchor="I-D.ietf-cose-cbor-encoded-cert" target="https://datatracker.ietf.org/doc/html/draft-ietf-cose-cbor-encoded-cert-13" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-cose-cbor-encoded-cert.xml">
        <front>
          <title>CBOR Encoded X.509 Certificates (C509 Certificates)</title>
          <author fullname="John Preuß Mattsson" initials="J. P." surname="Mattsson">
            <organization>Ericsson AB</organization>
          </author>
          <author fullname="Göran Selander" initials="G." surname="Selander">
            <organization>Ericsson AB</organization>
          </author>
          <author fullname="Shahid Raza" initials="S." surname="Raza">
            <organization>RISE AB</organization>
          </author>
          <author fullname="Joel Höglund" initials="J." surname="Höglund">
            <organization>RISE AB</organization>
          </author>
          <author fullname="Martin Furuhed" initials="M." surname="Furuhed">
            <organization>Nexus Group</organization>
          </author>
          <date day="3" month="March" year="2025"/>
          <abstract>
            <t>This document specifies a CBOR encoding of X.509 certificates. The resulting certificates are called C509 Certificates. The CBOR encoding supports a large subset of RFC 5280 and all certificates compatible with the RFC 7925, IEEE 802.1AR (DevID), CNSA, RPKI, GSMA eUICC, and CA/Browser Forum Baseline Requirements profiles. When used to re-encode DER encoded X.509 certificates, the CBOR encoding can in many cases reduce the size of RFC 7925 profiled certificates with over 50% while also significantly reducing memory and code size compared to ASN.1. The CBOR encoded structure can alternatively be signed directly ("natively signed"), which does not require re- encoding for the signature to be verified. The TLSA selectors registry defined in RFC 6698 is extended to include CBOR certificates. The document also specifies C509 Certificate Signing Requests, C509 COSE headers, a C509 TLS certificate type, and a C509 file format.</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-cose-cbor-encoded-cert-13"/>
      </reference>
      <reference anchor="I-D.ietf-lake-reqs" target="https://datatracker.ietf.org/doc/html/draft-ietf-lake-reqs-04" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-lake-reqs.xml">
        <front>
          <title>Requirements for a Lightweight AKE for OSCORE</title>
          <author fullname="Mališa Vučinić" initials="M." surname="Vučinić">
            <organization>Inria</organization>
          </author>
          <author fullname="Göran Selander" initials="G." surname="Selander">
            <organization>Ericsson AB</organization>
          </author>
          <author fullname="John Preuß Mattsson" initials="J. P." surname="Mattsson">
            <organization>Ericsson AB</organization>
          </author>
          <author fullname="Dan Garcia-Carillo" initials="D." surname="Garcia-Carillo">
            <organization>Odin Solutions S.L.</organization>
          </author>
          <date day="8" month="June" year="2020"/>
          <abstract>
            <t>This document compiles the requirements for a lightweight authenticated key exchange protocol for OSCORE. This draft has completed a working group last call (WGLC) in the LAKE working group. Post-WGLC, the requirements are considered sufficiently stable for the working group to proceed with its work. It is not currently planned to publish this draft as an RFC.</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-lake-reqs-04"/>
      </reference>
      <reference anchor="I-D.ietf-schc-8824-update" target="https://datatracker.ietf.org/doc/html/draft-ietf-schc-8824-update-04" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-schc-8824-update.xml">
        <front>
          <title>Static Context Header Compression (SCHC) for the Constrained Application Protocol (CoAP)</title>
          <author fullname="Marco Tiloca" initials="M." surname="Tiloca">
            <organization>RISE AB</organization>
          </author>
          <author fullname="Laurent Toutain" initials="L." surname="Toutain">
            <organization>IMT Atlantique</organization>
          </author>
          <author fullname="Ivan Martinez" initials="I." surname="Martinez">
            <organization>Nokia Bell Labs</organization>
          </author>
          <author fullname="Ana Minaburo" initials="A." surname="Minaburo">
            <organization>Consultant</organization>
          </author>
          <date day="3" month="March" year="2025"/>
          <abstract>
            <t>This document defines how to compress Constrained Application Protocol (CoAP) headers using the Static Context Header Compression and fragmentation (SCHC) framework. SCHC defines a header compression mechanism adapted for constrained devices. SCHC uses a static description of the header to reduce the header's redundancy and size. While RFC 8724 describes the SCHC compression and fragmentation framework, and its application for IPv6/UDP headers, this document applies SCHC to CoAP headers. The CoAP header structure differs from IPv6 and UDP, since CoAP uses a flexible header with a variable number of options, themselves of variable length. The CoAP message format is asymmetric: the request messages have a header format different from the format in the response messages. This specification gives guidance on applying SCHC to flexible headers and how to leverage the asymmetry for more efficient compression Rules. This document replaces and obsoletes RFC 8824.</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-schc-8824-update-04"/>
      </reference>
      <reference anchor="I-D.ietf-tls-ctls" target="https://datatracker.ietf.org/doc/html/draft-ietf-tls-ctls-10" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-tls-ctls.xml">
        <front>
          <title>Compact TLS 1.3</title>
          <author fullname="Eric Rescorla" initials="E." surname="Rescorla">
            <organization>Windy Hill Systems, LLC</organization>
          </author>
          <author fullname="Richard Barnes" initials="R." surname="Barnes">
            <organization>Cisco</organization>
          </author>
          <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig"/>
          <author fullname="Benjamin M. Schwartz" initials="B. M." surname="Schwartz">
            <organization>Meta Platforms, Inc.</organization>
          </author>
          <date day="17" month="April" year="2024"/>
          <abstract>
            <t>This document specifies a "compact" version of TLS 1.3 and DTLS 1.3. It saves bandwidth by trimming obsolete material, tighter encoding, a template-based specialization technique, and alternative cryptographic techniques. cTLS is not directly interoperable with TLS 1.3 or DTLS 1.3 since the over-the-wire framing is different. A single server can, however, offer cTLS alongside TLS or DTLS.</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-tls-ctls-10"/>
      </reference>
      <reference anchor="I-D.ietf-tls-cert-abridge" target="https://datatracker.ietf.org/doc/html/draft-ietf-tls-cert-abridge-02" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-tls-cert-abridge.xml">
        <front>
          <title>Abridged Compression for WebPKI Certificates</title>
          <author fullname="Dennis Jackson" initials="D." surname="Jackson">
            <organization>Mozilla</organization>
          </author>
          <date day="16" month="September" year="2024"/>
          <abstract>
            <t>This draft defines a new TLS Certificate Compression scheme which uses a shared dictionary of root and intermediate WebPKI certificates. The scheme smooths the transition to post-quantum certificates by eliminating the root and intermediate certificates from the TLS certificate chain without impacting trust negotiation. It also delivers better compression than alternative proposals whilst ensuring fair treatment for both CAs and website operators. It may also be useful in other applications which store certificate chains, e.g. Certificate Transparency logs.</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-tls-cert-abridge-02"/>
      </reference>
      <reference anchor="I-D.ietf-tls-super-jumbo-record-limit" target="https://datatracker.ietf.org/doc/html/draft-ietf-tls-super-jumbo-record-limit-01" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-tls-super-jumbo-record-limit.xml">
        <front>
          <title>Large Record Sizes for TLS and DTLS with Reduced Overhead</title>
          <author fullname="John Preuß Mattsson" initials="J. P." surname="Mattsson">
            <organization>Ericsson</organization>
          </author>
          <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
            <organization>University of Applied Sciences Bonn-Rhein-Sieg</organization>
          </author>
          <author fullname="Michael Tüxen" initials="M." surname="Tüxen">
            <organization>Münster Univ. of Applied Sciences</organization>
          </author>
          <date day="28" month="May" year="2025"/>
          <abstract>
            <t>TLS 1.3 records limit the inner plaintext (TLSInnerPlaintext) size to 2^14 + 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^32 - 256 bytes, while reducing overhead.</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-tls-super-jumbo-record-limit-01"/>
      </reference>
      <reference anchor="I-D.ietf-uta-tls13-iot-profile" target="https://datatracker.ietf.org/doc/html/draft-ietf-uta-tls13-iot-profile-14" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-uta-tls13-iot-profile.xml">
        <front>
          <title>TLS/DTLS 1.3 Profiles for the Internet of Things</title>
          <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
            <organization>University of Applied Sciences Bonn-Rhein-Sieg</organization>
          </author>
          <author fullname="Thomas Fossati" initials="T." surname="Fossati">
            <organization>Linaro</organization>
          </author>
          <author fullname="Michael Richardson" initials="M." surname="Richardson">
            <organization>Sandelman Software Works</organization>
          </author>
          <date day="5" month="May" year="2025"/>
          <abstract>
            <t>RFC 7925 offers guidance to developers on using TLS/DTLS 1.2 for Internet of Things (IoT) devices with resource constraints. This document is a companion to RFC 7925, defining TLS/DTLS 1.3 profiles for IoT devices. Additionally, it updates RFC 7925 with respect to the X.509 certificate profile and ciphersuite requirements. Discussion Venues This note is to be removed before publishing as an RFC. Source for this draft and an issue tracker can be found at https://github.com/thomas-fossati/draft-tls13-iot.</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-uta-tls13-iot-profile-14"/>
      </reference>
      <reference anchor="I-D.kampanakis-tls-scas-latest" target="https://datatracker.ietf.org/doc/html/draft-kampanakis-tls-scas-latest-03" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.kampanakis-tls-scas-latest.xml">
        <front>
          <title>Suppressing CA Certificates in TLS 1.3</title>
          <author fullname="Panos Kampanakis" initials="P." surname="Kampanakis">
            <organization>AWS</organization>
          </author>
          <author fullname="Cameron Bytheway" initials="C." surname="Bytheway">
            <organization>AWS</organization>
          </author>
          <author fullname="Bas Westerbaan" initials="B." surname="Westerbaan">
            <organization>Cloudflare</organization>
          </author>
          <author fullname="Martin Thomson" initials="M." surname="Thomson">
            <organization>Mozilla</organization>
          </author>
          <date day="5" month="January" year="2023"/>
          <abstract>
            <t>A TLS client or server that has access to the complete set of published intermediate certificates can inform its peer to avoid sending certificate authority certificates, thus reducing the size of the TLS handshake.</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-kampanakis-tls-scas-latest-03"/>
      </reference>
      <reference anchor="I-D.mattsson-tls-compact-ecc" target="https://datatracker.ietf.org/doc/html/draft-mattsson-tls-compact-ecc-06" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.mattsson-tls-compact-ecc.xml">
        <front>
          <title>Compact ECDHE and ECDSA Encodings for TLS 1.3</title>
          <author fullname="John Preuß Mattsson" initials="J. P." surname="Mattsson">
            <organization>Ericsson AB</organization>
          </author>
          <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig"/>
          <date day="23" month="February" year="2024"/>
          <abstract>
            <t>The encodings used in the ECDHE groups secp256r1, secp384r1, and secp521r1 and the ECDSA signature algorithms ecdsa_secp256r1_sha256, ecdsa_secp384r1_sha384, and ecdsa_secp521r1_sha512 have significant overhead and the ECDSA encoding produces variable-length signatures. This document defines new optimal fixed-length encodings and registers new ECDHE groups and ECDSA signature algorithms using these new encodings. The new encodings reduce the size of the ECDHE groups with 33, 49, and 67 bytes and the ECDSA algorithms with an average of 7 bytes. These new encodings also work in DTLS 1.3 and are especially useful in cTLS.</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-mattsson-tls-compact-ecc-06"/>
      </reference>
      <reference anchor="SP-800-186" target="https://doi.org/10.6028/NIST.SP.800-186">
        <front>
          <title>Recommendations for Discrete Logarithm-based Cryptography: Elliptic Curve Domain Parameters</title>
          <author initials="L." surname="Chen">
            <organization/>
          </author>
          <author initials="D." surname="Moody">
            <organization/>
          </author>
          <author initials="K." surname="Randall">
            <organization/>
          </author>
          <author initials="A." surname="Regenscheid">
            <organization/>
          </author>
          <author initials="A." surname="Robinson">
            <organization/>
          </author>
          <date year="2023" month="February"/>
        </front>
        <seriesInfo name="NIST" value="Special Publication 800-186"/>
      </reference>
      <reference anchor="SP-800-52" target="https://doi.org/10.6028/NIST.SP.800-52r2">
        <front>
          <title>Guidelines for the Selection, Configuration, and Use of Transport Layer Security (TLS) Implementations</title>
          <author initials="K." surname="McKay">
            <organization/>
          </author>
          <author initials="D." surname="Cooper">
            <organization/>
          </author>
          <date year="2019" month="August"/>
        </front>
        <seriesInfo name="NIST" value="Special Publication 800-52 Revision 2"/>
      </reference>
      <reference anchor="SP-800-38C" target="https://doi.org/10.6028/NIST.SP.800-38C">
        <front>
          <title>Recommendation for Block Cipher Modes of Operation: the CCM Mode for Authentication and Confidentiality</title>
          <author initials="M." surname="Dworkin">
            <organization/>
          </author>
          <date year="2004" month="May"/>
        </front>
        <seriesInfo name="NIST" value="Special Publication 800-38C"/>
      </reference>
      <reference anchor="SP-800-38D" target="https://doi.org/10.6028/NIST.SP.800-38D">
        <front>
          <title>Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC</title>
          <author initials="M." surname="Dworkin">
            <organization/>
          </author>
          <date year="2007" month="November"/>
        </front>
        <seriesInfo name="NIST" value="Special Publication 800-38D"/>
      </reference>
      <reference anchor="FIPS-180-4" target="https://doi.org/10.6028/NIST.FIPS.180-4">
        <front>
          <title>Secure Hash Standard (SHS)</title>
          <author initials="" surname="NIST">
            <organization/>
          </author>
          <date year="2015" month="August"/>
        </front>
      </reference>
      <reference anchor="FIPS-186-5" target="https://doi.org/10.6028/NIST.FIPS.186-5">
        <front>
          <title>Digital Signature Standard (DSS)</title>
          <author initials="" surname="NIST">
            <organization/>
          </author>
          <date year="2023" month="February"/>
        </front>
      </reference>
      <reference anchor="BSI-TLS" target="https://www.bsi.bund.de/SharedDocs/Downloads/EN/BSI/Publications/TechGuidelines/TG02102/BSI-TR-02102-2.pdf">
        <front>
          <title>Technical Guideline TR-02102-2 Cryptographic Mechanisms: Recommendations and Key Lengths Part 2 – Use of Transport Layer Security (TLS)</title>
          <author initials="" surname="Bundesamt für Sicherheit in der Informationstechnik">
            <organization/>
          </author>
          <date year="2025" month="January"/>
        </front>
      </reference>
      <reference anchor="SCHC-eval" target="https://ieeexplore.ieee.org/document/9685592">
        <front>
          <title>Effective interoperability and security support for constrained IoT networks</title>
          <author initials="M." surname="Dumay">
            <organization/>
          </author>
          <author initials="D." surname="Barthel">
            <organization/>
          </author>
          <author initials="L." surname="Toutain">
            <organization/>
          </author>
          <author initials="J." surname="Lecoeuvre">
            <organization/>
          </author>
          <date year="2021" month="December"/>
        </front>
      </reference>
      <reference anchor="OlegHahm-ghc" target="https://github.com/OlegHahm/ghc">
        <front>
          <title>Generic Header Compression</title>
          <author initials="O." surname="Hahm">
            <organization/>
          </author>
          <date year="2016" month="July"/>
        </front>
      </reference>
      <reference anchor="IoT-Cert" target="https://kth.diva-portal.org/smash/get/diva2:1153958/FULLTEXT01.pdf">
        <front>
          <title>Digital Certificates for the Internet of Things</title>
          <author initials="F." surname="Forsby">
            <organization/>
          </author>
          <date year="2017" month="June"/>
        </front>
      </reference>
      <reference anchor="Illustrated-TLS12" target="https://tls12.xargs.org/">
        <front>
          <title>The Illustrated TLS 1.2 Connection</title>
          <author initials="M." surname="Driscoll">
            <organization/>
          </author>
          <date>n.d.</date>
        </front>
      </reference>
      <reference anchor="Illustrated-TLS13" target="https://tls13.xargs.org/">
        <front>
          <title>The Illustrated TLS 1.3 Connection</title>
          <author initials="M." surname="Driscoll">
            <organization/>
          </author>
          <date>n.d.</date>
        </front>
      </reference>
      <reference anchor="Illustrated-DTLS13" target="https://dtls.xargs.org/">
        <front>
          <title>The Illustrated DTLS 1.3 Connection</title>
          <author initials="M." surname="Driscoll">
            <organization/>
          </author>
          <date>n.d.</date>
        </front>
      </reference>
      <reference anchor="Performance" target="https://hal.science/hal-04382397">
        <front>
          <title>Performance Comparison of EDHOC and DTLS 1.3 in Internet-of-Things Environments</title>
          <author initials="G." surname="Fedrecheski">
            <organization/>
          </author>
          <author initials="M." surname="Vučinić">
            <organization/>
          </author>
          <author initials="T." surname="Watteyne">
            <organization/>
          </author>
          <date year="2024" month="January"/>
        </front>
      </reference>
    </references>
    <?line 1869?>

<section anchor="marco">
      <name>EDHOC Over CoAP and OSCORE</name>
      <t>The overhead of CoAP and OSCORE when used to transport EDHOC is a bit more complex than the overhead of UPD and TCP. Assuming that the CoAP Token has a length of 0 bytes, that the CoAP Content-Format is not used, that the EDHOC Initiator is the CoAP client, that the connection identifiers have 1-byte encodings, and that the CoAP URI path is "edhoc", the additional overhead due to CoAP being used as transport is:</t>
      <artwork><![CDATA[
For EDHOC message_1

--- CoAP header: 4 bytes
--- CoAP token: 0 bytes
--- URI-Path option with value "edhoc": 6 bytes
--- Payload marker 0xff: 1 byte
--- Dummy connection identifier "true": 1 byte

Total: 12 bytes
]]></artwork>
      <artwork><![CDATA[
For EDHOC message_2

--- CoAP header: 4 bytes
--- CoAP token: 0 bytes
--- Payload marker 0xff: 1 byte

Total: 5 bytes
]]></artwork>
      <artwork><![CDATA[
For EDHOC message_3 without the combined request

--- CoAP header: 4 bytes
--- CoAP token: 0 bytes
--- URI-Path option with value "edhoc": 6 bytes
--- Payload marker 0xff: 1 byte
--- Connection identifier C_R (wire encoding): 1 byte

Total: 12 bytes
]]></artwork>
      <t>For EDHOC message_3 over OSCORE with the EDHOC + OSCORE combined request <xref target="RFC9668"/>
all the overhead contributions from the previous case is gone. The only additional overhead is 1 byte
due to the EDHOC CoAP option.</t>
    </section>
    <section removeInRFC="true" numbered="false" anchor="change-log">
      <name>Change Log</name>
      <t>Changes from -07 to -08:</t>
      <ul spacing="normal">
        <li>
          <t>Editorial changes including updated references.</t>
        </li>
      </ul>
      <t>Changes from -06 to -07:</t>
      <ul spacing="normal">
        <li>
          <t>Updated to cTLS-10</t>
        </li>
        <li>
          <t>Added reference to draft-mattsson-tls-super-jumbo-record-limit</t>
        </li>
        <li>
          <t>Updated to newer version of BSI document</t>
        </li>
      </ul>
      <t>Changes from -05 to -06:</t>
      <ul spacing="normal">
        <li>
          <t>Editorial changes.</t>
        </li>
      </ul>
      <t>Changes from -04 to -05:</t>
      <ul spacing="normal">
        <li>
          <t>Editorial changes.</t>
        </li>
      </ul>
      <t>Changes from -03 to -04:</t>
      <ul spacing="normal">
        <li>
          <t>Added change log</t>
        </li>
        <li>
          <t>Updated to cTLS-09, which seems relatively stable.</t>
        </li>
        <li>
          <t>Explained key and certificate identifiers.</t>
        </li>
        <li>
          <t>Added a paragraph to introduce the section on underlying layers.</t>
        </li>
        <li>
          <t>Added text explaining the difference between AKEs and protocols for protection of application data.</t>
        </li>
        <li>
          <t>Added reference to RFC 7250, RFC 9547, and "Performance Comparison of EDHOC and DTLS 1.3 in Internet-of-Things Environments".</t>
        </li>
        <li>
          <t>Editorial changes.</t>
        </li>
      </ul>
      <t>Changes from -02 to -03:</t>
      <ul spacing="normal">
        <li>
          <t>Security considerations linking to the security considerations for the protocols as well as newer recommendations and best practices.</t>
        </li>
        <li>
          <t>Moved "EDHOC Over CoAP and OSCORE" subsection to appendix.</t>
        </li>
        <li>
          <t>References for the algorithms.</t>
        </li>
        <li>
          <t>Editorial changes.</t>
        </li>
      </ul>
      <t>Changes from -01 to -02:</t>
      <ul spacing="normal">
        <li>
          <t>More information about overhead in underlying layers.</t>
        </li>
        <li>
          <t>New subsection "EDHOC Over CoAP and OSCORE" contributed by Marco.</t>
        </li>
        <li>
          <t>Editorial changes.</t>
        </li>
      </ul>
      <t>Changes from -00 to -01:</t>
      <ul spacing="normal">
        <li>
          <t>Added links to the IOTOPS mailing list and the GitHub repository.</t>
        </li>
        <li>
          <t>Made it clearer that the document focuses on comparing the security protocols and not underlying layers.</t>
        </li>
        <li>
          <t>Added a short section on underlying layers. Added references to SCHC documents.</t>
        </li>
        <li>
          <t>Changed “Conclusion” to “Summary”.</t>
        </li>
        <li>
          <t>Corrected Group OSCORE numbers.</t>
        </li>
        <li>
          <t>Updated cTLS numbers to align with -08. Use “cTLS-08” in tables to make it clear that numbers are for -08.</t>
        </li>
        <li>
          <t>cTLS is more stable now. Seems like cTLS will not optimize P-256/ECDSA and instead focus on x25519 and EdDSA. The impact of any cTLS changes are now much smaller than before.</t>
        </li>
        <li>
          <t>Editorial changes.</t>
        </li>
      </ul>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors want to thank
<contact fullname="Carsten Bormann"/>,
<contact fullname="Thomas Fossati"/>,
<contact fullname="Russ Housley"/>,
<contact fullname="Ari Keränen"/>,
<contact fullname="Erik Kline"/>,
<contact fullname="Stephan Koch"/>,
<contact fullname="Achim Kraus"/>,
<contact fullname="Michael Richardsson"/>,
<contact fullname="Göran Selander"/>,
<contact fullname="Bill Silverajan"/>,
<contact fullname="Akram Sheriff"/>,
<contact fullname="Marco Tiloca"/>,
and
<contact fullname="Hannes Tschofenig"/>
for comments and suggestions on previous versions of the draft.</t>
      <t>All 6LoWPAN-GHC compression was done with <xref target="OlegHahm-ghc"/>. <xref target="Illustrated-TLS13"/> as a was a useful resource for the TLS handshake content and formatting and <xref target="IoT-Cert"/> was a useful resource for SubjectPublicKeyInfo formatting.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+19224jSbLYO78i3Q1jpDMsdl141XEbR02pu7V9E1qanfWB
gUGxmCRrVGRxq4pScxttzJuf/OQXH8CGYcDf4Ce/7fGPzJc4IvJSmcUiRV3m
tjtCN0XVJTIzMu4ZGek4TqOIi4QfsWE6X4ZZnKcLlk7gr+NzdsGjVRYXa3ae
pUUapUneGKfRIpzD4+MsnBROzIuJE8PNZe7k8mlnKZ92Ig3ScQeNRrzMjliR
rfLCd92B6zdupkfs7MPlh/ML9m2aXcWLKXuVpatlIwqLIxYvJmkjX43mcZ7H
6aJYL6HZs9PLl41rvljxowZjU3yaYLAPS56FBTyXswPRoUN4YB7GCUCiv/8J
O9tKsym+GBez1eiIJTfx1LmZPqvpMjzViNIxdOqIrWCU/cYyPmJPWRQu2Crn
LMyycA1tTViYJGzN80OWZmwW5jM24xmH1wHiEd6Ar3maFRmf5Prv9dz8E54c
82UxO2JBoxGuilmaHTUcJjD9h3S2gBngq7/+T/YuLIpcdC5exEUcJgDjDwhw
lYmnNx+EER+x0yyO5N9cIOV7ANuay8f+icv7LUCAbvllFi4inkchOw+TdD6C
Jq2mjItbGpkoCK2leri+qXdhEv+//xWyP67+9b/AQ//6n82GzIvU0Nn7j2fH
ZStzeDkPW9erCJ6K/ileZHHYmmRAcUBCGYwxvgZygec/vhx2/Hb3SH3tu+pr
W3/tBu2e+trtdOTXnt9xy6+++tp29dVOMFBfe+2++jrw2+VXBazvBgpCP/AD
/bWnetZv6072u55+oK+B9fs91Vp/MFDPDtyOenbgaQjwtae/9jr668BTXwPd
swHgpPw60F9LCN0uPXDmnLSI+aM04w5QURhd5Q4wepSGy80H0px+Eb/CtM8r
T+TciUZp5vAFcBwfOxHPCuuRJLziTsb/nFtX82gWOYgVZ7UchwW3bhZJ7kTw
sXkRgDvhKIvH08038hXIEef71XyUQnvQ6bGTxPPY7s2qCPFhL0DRh+JuEica
1FUIEmQRXsW5ABiFOXS/4LmGoZhO9AYFTlQ4PIqIRC/Onb7rOl6fpg9EQ5hN
OUjDWVEs86Nnz8ZpjDLsmee2uq7ff/b+7OKydXHeki+Jd4REf/KRI675YiwF
IzADO4nzKOMFZ2/TKQi6YjZ3RmHOx2yYrZdFOs3C5WwNrJwk8bKIIzZcZdec
naTAaSCFwgwYsuBZ/oQayoGXeY5cJjrL2BPszxNo+2LJIxBP7Hw1SuKIOsBk
H8W7SsyJ9xz5G+UaiLS3LTac8UX9zZMWe5em43X93Tct9jGEISdJ/f1juM+n
fAHEw+Px9mdSEFZCljFGxMVe8lG2CrM1810/MOZKiIO7TVXHz3xrrl6t4jFP
4gUX01TMOKjfhEeIuCao48Uknq6EhmsyGB/7BnQQKOpLkLD5EtQLexuueVbq
7IPLtxeH7Gy+TDiQQCFI4N7T1vEBa9cxKmLm7zGBMAvvojfhljmCGRymKXCa
gd3j1RQsA8CtNzBwG/SHd0cuvLSDDwi/L5I0umLDeAm6GqhpDGgHZGoj4ogm
YDh8R/fojWMYLuBRIQWngGZljBdBARXreyMX+rsHSt+12MkNmUkG1t6FSI5u
20LZyX1QdvJglL0CFR/nz4bpalHIR9jBq+G7Q0LWq3fHwwdg6OS+GHqfXvP5
CPoDaOohml6enV+AGHKd9h3QhC+16CULTcRtnL1Gq++iQLGTjdnBxeuLwz26
i4BrGaBjdLPrdO7eTXjJ6uZJDAYvoPUini7CAntcdvbk4j6d3ZCFLy7OHJA4
9X29ublpjfK4NVotxq0xf3YxCzM+Pkmj/NlJerNI0nCcPzt9/wyAPDOmPn92
yaNZKRmfXb5yfc/1n1FjHx36w/Fby/HEGi6+BYYgDFi/y8rHTU0HCu4dPBwu
4nwOg6wqTKTbN3zN3vLFtJjlqP9ggtiPP/zX/cTvHnh98gJwwvNwXrDJX/8v
AIhBL2Wgmgq4z8YA8kwZsdCjgkZ29cSYiT+ECzURRDcXw9dDh1+HSf1UxJzz
T8sErLEWfiUSAqduhTri2aDb73QGlmI6nUxQCYENECNXo9AORzGKO8KOcvrA
WF8SGlBSRNjTDAwGMCvO0ku24AWyZb4fB6/mO9TGC5iBGd+i2sFquEzBOIu3
GA5/aMFMRilfXZN/pjB4wiMlIXwPUfgh4dPXIVhG01lUj0XhP6IH80w9/Awe
NhH3ii/Q02GveYiziO51xsmTvR0NH1oMQZqzvEpwir0u9g9w6gylibzZt6ti
1hrH16GD8xEmNMP5HCTUM3jsGd7xjzwP3JVO/9nLb96+vTz906XrVZlIiQxs
J54gQxqWyRmSAswqccAMXOQ9pvZli71Ms3y0tkYFnAmjIrl8liQrJJsCHABg
Hm+LVYWGt9/6BFdzGprZ6UvsWwmGARjmtXxU1AthSu1HghkYySkYkDW9Crb3
KrhTr4LH6tXJjm6NoV979urkEbp1zjOSVeDz1/dnBvSYRzH4eRy/O2476PvB
oGd2zABSCUqdnrz+MCSxozsLMlIRo5NOHEGM7HRxHWfpAmXaHpT5CiiTj8Hb
m/H8Kt46UDMKUfPEZYt9C44dXy9M2WJIZ7DRHMdh4QgxHhWNBnQ2Z0r2wrDC
ZP0XLpSOCEPBH8htefwXYWtdgSrin1BdTcEmTeLprBCP41Pot4IneQVcOQc5
E07FiwzMH1AnoGDZDdivbJVjmG0cg1jPsFktwFUIDNpMxVVOUcAWu5hjhMsE
Cq3CXQC8ZvGcxMxCSH7Q6hiEmTIUftM1aYLVfCm8FvSCF9FauC9FPOfYEo40
4WTowVyamiMLx3GqdAfol2jGwhzc1hvnPL0BifotqHZ2nPGQvZf6hR28Pf/2
+H1+2CLqlhgd140R+y+JyG9qcmoyfUlfieBbU5Bek324GH74eCpGQKFKeUU0
SGDwFv4W0QMYNJgFoj3dnxvQHvQcfgGFxbpv02/Pj987r14PCSFSUbQExDjf
8WrJrezspCVIbB6PxwlvNJ4ib2QpTAlxc+NXOpHA8MDgoGs2JvMcJ5Na2XPa
h9uaFQNdpKCyFqBJgYeQB0FBI1JHa4GCnPAzwRiHYroF8RZMJLQMHAjjJk4c
rVEdFmj8zeMCxWfIJvyGkJEjKwL7g4FUsFUCDzlJesPyJefjvMlGMGlhkqfY
6gxYWGFTmlPQEc7GKyDWaB0lAExjssiBFVPo2lbcSjJD4HNoOHZm6bKJbA9X
cRhhAmgb142T3huPY5w+uLcW8w/wkRZ4iDOm7zKAioZWCj0H6c6W4RoNeAkJ
w+M8zGOAkUBjSBmrRRhFfFmEo4SbZCKQNV4R+UBvpjpOgbZmCigVDSxWZJ0B
2qnLQuQlKRDnTQh9gt8C0giwwEHE5WDAE+liv8UoD4ik1Q0Bpol0imiJQmHL
y+kk1mM8y8BaAZI620HMAINEb5ZGyLEmu+SFwGqxXqInAugIkzlchVenILlj
hQt0hHD8CMd6mbiQGlMSfuM2jCeHX3PAN0hrxF4L3BW+JJTMTMQJeoVnJQaR
IFGsIKlAz0UIg2DiHZMia9gbmPeGAwHBbz4B0zBGPbISOAQqj4psNSclIl2C
zXkc8+sYMEYWIbRCOuo6Bv6Be4KX1aBj6BHGX4X704Qhc/b5s4yWf/lCj33+
vBkn/vIFZOFlKulYK8GmMVdCfG3Kt53iC7qAS1C4zsMi4KaCS6YF9N3INSyK
cssRoL+WJuk0ltazCbgEyVvTVpMdCEY1X4GuIIUsABN5LDU4zSwSNVoPWo9P
snROt6xeHB6xbpI2lYKBL5cxOIhNdjwELTZ88eEjxhY/nrIDVPWlfjN12yE8
8uECH4FP+N5xB3Dp7fEbuERqEf/CSWuS79lkHz+8fcsOPp6/PWxqbXhwQmoU
lSmJaQp6M+HYClQp3QyovZZCbETcvJpOeU4iFh4Ell8jbY05Yj/nNmOUcwiE
pJ2U4+VSRxSoqYs1wJsTdqf4Lswd0RSucwjCuatlZgQHuQgZnCo77QAQdfiz
WWsEgH1zfiJGhGtVkksuh+eKc/wARnknE0m8iUtjX76U5pLEmieuWo/iMlt5
UT6Jy1p4EanA5Fq1VIP3hI0vp8PvQ+fF9263j7cFSUpwXS/Aa1VjzARdu/qE
oz9eMKRgfDcsaU85uHhBWlUwu2FJQGjWhxjBBBodxzloHyDj5SpbpjnKMwkV
qAdIZAn0RnKelGiO+i/O0UFRE4Z9WS0UZKSXBU9KPQZ0VsSS7EBrpCCjSdtF
VvwKnIIcpa/Q1aFFiCDF8VkyJbFfBtVotRQvrtMEOU7GZXHAkiRz7W2MdaeM
PkNXVBdRWxstC9WbwoXsK2AzCpHroYApheGknGKAiIoMmABH0WIkI4SkIF5D
OoH2x/DsFb5dKh7pCgIS+acQNZNgwzenAEVnKxBGbplKBLExVxJtMECiDyPy
j5dKEA5Z9wIQoADUMU5rXJDVZi4NNCl6Ns3oK8LM+BLeNTs3Bv5DvW0YIYJH
lVNxsuFVbPdHNjCzvANOWsBAGuvAgJbIUwKKyGRVrIRpY1Gd5abqhtEQjRPU
3mIMBPgafaMq2Lv19XLGK0LLdpZK4Rkm05RWPAUdpsQY+U/juknx23ZdFDZ3
dOO0XO3iyx8pgJjLKUX7SliMIyDWcB4ncZgJeDk6B2jHztCKyGCYY55HWTyC
50HVAUiGSQiya/ANhadyx84UfeLCa3TF/hgmYJgfnA3/eAgKUfWBoFu6kZwN
1G3YHwoRC2UtbetJmoBFSUpMvpIfoXyuxvqwK5uXg83LJ/q6MP1kpgJQE4a1
cZGaky+HFi92QjJBjWNfOv0ISQiUGKwzylhpqTkYeAA6SVN0rkDSAy0KW7lI
idyuwzgJldxAIgYaUOb3GHg8XROagBmShC+mZNIJzwrcP2EWR2aEVbs2xlV8
O5amC+icaAUGew6znaykSaM7AVQh+0CGUc6Nhlu2WqxLuYCRTkE055bkwAA+
tvwtH1W6argB+vkFeIc36BbIRQO0FjVfWWOq8gqmtEAHYsKzvosulZxB823S
DhsYam0YFUaqh+UsbE/SgMcU19BQqN8JujjkP5Hmz4SbK30LZQgq1rOUFk4z
Rh2U62kNgoKSyHImXtUgtmWJQAdB3JG9AVbBDYmxOYUxaCop/onEaElhii2o
xb9ciItzx+90kUUkH7QwYPTNAvg8WWNX3wrx9/mpkINf0CzmhkgpTdV4UdEY
AtFazqPkArLnS0ACcoNE1KpsS4laUgZrkBWENDToY4y8nNg4VRazFTNo0nRJ
TxWws+WlXMQWRN9ywfv0Ym2H4sUExOBCznI0S+OIV9UQSZ2CfyqEOyD0iXSX
DcVG1hmwi4QssKEjTBElx4VKzZX4UCwW5sq3QdtyGmbjUsyQMy1MlaqrA+yE
6gU98yhdahpVwhg7C4/kUvUI7gdLcIZ+u+mVmzqaxMI3J+Augk/RlJkQ4HoA
WhEAPZuJVa+QQlxOAjI50fCA0LS6JRPPjpPkRCLoxvRl3ALaImUPJu+czaQq
EtaEVKx1b/uufB09n5wTpai3W3SRlNdKCFOQmHNwEuQrNFllxEvTDtnZyDLw
Nik7ipa1lPao7wghB7oLivYmXSVjMyY0HjPPV+HEVLqJ7KnXZJ3Nq75AtieU
m3EjUN6iZEtlBRKf43SI/n2trgtqw9gG//MKhB4LI2QHoqjUdrhEwGUeglJB
Y+RsUo6VmlMGjLJELWOuOlyQqbWjpWHBKPBX3bhb2qyts3PRCdE5y8QFW+gJ
6Aj8IBZZi0pkLaW41ElCnHLkFHWKoYqoi1roVyg+Oz09ZX3Xb3mdVpuelqYg
ogYk9DVIrrEQjcaKFoUXzs6vu03BQZp5UKGMSrWobMQLFG4RmockYTYXk9kB
Bl0OtedqRsCNwId2ikSk51DpXL/95YuhNKsZlSpOIKN72BT1FHUJKaxFoYPF
1tSjFtOZCNquwNgw/L3Scg4lLwEVIHJhXVoy05j5YmZEJEwj3SD/GJOVVpma
WQq53mASyFrcp0iVjOlZobZG46UVgt4cJvj6ZcxJkIzuKUhomN+1kCEysKMk
FQW0hMGek8wVsbaDk0NLQwliODsvUynM/iDrkYoTj4mgfiVojnb5gmvVAu1f
YxxeqpgN7dZiqPE/GJ7XjjBW6VR/flqqehkqU/rjvmuYOM+ln6a9ORHC5Quy
bUOTb3WIpPQubW/DVJcoDuYwFUeNxj8QNetZAwERrRKpLsljMQZDSf4LrYTA
E2IHIlB7fHrxnef3vxsO333Xl6GxbgfcKbQQ4aYDNxyv63TbDjwm5anbAa+F
9gh4XQlSQ8MXkGF0ziNKXrz+yr5+gtcBwnAWwj/fdc7TZO0FrvLpOgGY0OCv
/QNIOXBD4vlqbkTdK/5vJDL58lWMfUG2owkYy8igepjY5pm8h7g8kpaj7pfX
74qhU66w3+l4A9mfXht0yD+y0+HJxTFcKlPa4HnDBqWY7Otj/E7DOx0bQDBZ
HoFINH3X/0fz+RKq67RRuIoZTihhS9GbCMRMYrLocqk/Nx+NSh986xv7WKL4
hmm+AkpxRqSEqLJ9aVyADAHDVYShkGZJcQFVgj0GJJ1wKfIQ2AdcxJxjCl+R
ZhomaAi+yDXNg7xKVmPR+kl6YUZSCPk0ltdgX6Z/5Fk8WX+UxoAV66X7H3mR
2bdV0FdrHVBhp2Afsw8i/i4f6nWES1dFB7kSwpzOq6SJRhhlpEu5JfPrpZth
hC4MvVWbka+CBEr+IUwZNzTNdwlemDoXEkFBa4D9MuLQLfYOp0+EcuysapYD
OBRjyl4hWXKjvQwY7+fPII/mjukk2cY23sZEEaW3JGFpUaVRYshJnY0v/Du0
YQ25J/i4FIlSrqHrUYRxIlaETTEpNawpFNEnfMouZN8+P60MQszjiZkhoY16
3fNYOTtkh8k5VV2v5C8w6nOZ53M7JORvXFcz/GqLeRUPkDYz74TS2GdgLpHT
TPQBalqGq9eocaqR9o3AQxWiDWRCQMrHyX5WCqX2VQxASWUshI5QbB/P30hB
LpRlSWnScta2yWjNerIBNaHnF/Uve3VvSd6si8TvnAdaXCnXITaiD8IIUOnH
mt9bSJZLEOSZcAJ4NM7D7/S174DOUMqTCQVMmteEOwA0qOlPpDKajI/llzLY
sz2SQow5iady2x/3qtFuO1cGJqUMGkYaOYJcjXUKkq6RFdFVKChlNhKJEiOm
/CMd1xSaUcKX6vM2aWdJq0bjFNzXFNdfQPhSvh9MG8au4tLvsZc4czlox3PN
B8VAhf8KInKO8YeE9tShc0VZHdDaf6r/YWGYX08bzx/jp8FeCsq9/QdoW/z2
5e8APi7RZMcEqYf/NMo1UAeZE7QHzNLr082eeP0O/W532vQbqJN+9wdtC8iw
dPw24WkgvhiP7wcCSODaQMJoJgAAAX18YwPxfdGDtuvbPel7dUD+1Oq4wEYE
qwTje336HQy6NpDuwAICMmcrSgDIQPZIAGEd8bvjelUg26fYC8RLXiewgATt
zmPNsWBsx9g2QUiByfnUKczhBT3RFU8ggw1cMb62XwdEzC9jV/G4DoicHtbr
SWR1DSAiHHDy+paesI6YJhYI5IAbUgdkd0+AZiWqB7Jn3iMx8hZh0fh8xJ6a
4likBD9/YqcB20IZTC2h7kjqbpOeaq3NtjeegOKlHBwnBMmyeP4k4hjUe/Kl
ohf8vfWCaR3rdY9KAkRVVWD4zNYWmCOoY3c55vrcriB+l8HbZXBPEHC7LVlK
yuJ+372L0Ark74FkMSmT+727CC0hGby2knwCSBB4j4UU1ZNbkdIV8xIMpGKS
oqLXH1hAdiLFk2rAkxIPRLhAStCtAtmBFIlZz1PCS4pPmJ5HQgraMGjWQFeE
4ESLN+PkSEW8HJ/nSgpx5XgGQo623Y4FZDdSXPGS50sg8rffcatAtiMFUCiR
0bOAINCfVwr795bC2oxv7rLtwVtATGzNhthXSAci1FCKzJxtCHEtWClOq7NX
wZCV6+DkuFBqUl5dNFWZEsLTECMSzkYlYiYjFbcs4lI3lmm8KMygf+kNIfPK
BRRaJTLWRUy3T6y2pTcS8/jW75pgu9CTcjfoSpaUfN5zu/trAq8vWbFvC/G2
fyfz9dejCXyh0QIp/JS67HqdO2iCrhTiHVuIBz33N6kJWK8tx6U0gSDiwL+D
JmA9aUH3pc3ga8r5LWqC4N6a4JMRlJFC8yFy/1JvbpCy1o7hNDcEvwoHVdTF
DS6iqXinWnJV8bkinALPUNQ6x6yv0iI3JH0xCwu5wFQf2BG7gfYI3tCihhx8
fyP2fDYpl42gYzpg2DQ2euRKHZT6IUqT1ZzWtspAX78SHqy8THJZvmi9p9pv
PR7+q3k+G0uUKv9ApiB9EfFoJWMrq4/lGnNexHOMzlaC6ZveWjVD1K7xMedA
luO8xd6nmG+BU03bDVS2W3XFUG0xwzwydg0X00wuTNqBZExYEDHf77HiA+UC
R4r8rJi0HADZM2KhSqXRUnI1m8Sf4D25hDWJeTLOZUazCTLMRnGRYQRfw81Y
Kjau0S4oEdyL5No27rkREGNKVxTLwS2REmqQPA61BI1XcAZo/8wMcDTmEcxC
QlP2lL2Tc3BBc4Dx7K+l2Pz8FOfFGRNTZMsr4O8zG7HNnW59WEme1aFzzSSi
C0+VwfIfwR75/FS0N/FEi9sk4EeRZSDzLhyinHOd8HUA+op44vCoAewx4WwC
PTvFfxcX1X9v38I/3CX9Wi/9abBDyjAUi20A1ddQGXM98Sb+E4DAZhH/1PUG
bTh+y6dhtGZ/lJHbAxMIE30TD8rGsEpSOmcHgf0ggvaY6zM3YG6buR3mdhlY
BuDUuAPmhswdMTdi7pi5nLmAaxfUNab1eAG977XRVgVsgA73+hg78kLmjZgX
MQ/MWM68idXfC5nHAjN34FV6Yj04TNOrmG97SNaluRCr2Vh94ztrmf67i9fH
QDyH7KC9MVzsOwxUAjJya94JAcAOFqskOayiFNEkWz8tV15FrZDqs8Y8GU9j
ME4ke3CZ1wRtaRcAGuxbQERvQ/psy57DpyifsAFYxxuPS3V1UO+DHcr3a9sb
2+3Bl6CuPVxfo7ou9gh6nU2QQYCffo8+OzQEaqTtqWfa9yZDCQEmdA9CrG1F
9WEvkq9tRfWhhui3Tb7kWpghUEuItk2s+SPqbqC7WwdR8rZRtYNdrpcwJx/D
G1lVCWcKWuhutuAFapIRJ7UdpvTn+4Jv3wbeFOR6dRQ41q8HGHRLgG0ACP3/
Gqfla4b/A/zw5P+2vIj/+/I/kCZ8wP+u+t94Tkst1NBWldDQ1oOpxcpFVWGG
aDioj3RWXONb1Mc74w7VOEOa3RpLqGRdxqJ1B/kMBtTxtd1ma0G/1IL+r0IL
Suqq1YL+Y2tB2dhvRguaCm6nfrMHslOzacVW3+T9tdo2ZRBsUwbt39VAnRqo
EXpSDezSAVuk6BaAlhQNGrXMLohPcHs5h69fg9gFXtzCzqdiGyVmXZWEVGHr
/p5sfX9SfAyN6P20GtEAX+cbGKBVDl4Fi+M9saheV+nkj873P5XRCRzY2wM9
FbSMHhctZktvY3heISfYRI6Gbb10x+cPvllsWxoAehrYvQxc1hngJ9Bsq9Vi
z56xk9OP2r6gPI4LI8PRb/mtXmuzUZNXN3Wiu8csiGzS6mRM9pyMkoS20Q07
CLHgxpSzinNBvomEJVECfwjTAVFSfqsgR6/ybBndy3gR55gUY48J2He/MUmM
nOA+8V/I0pBSXcgmQTliDN1GA9P+2WU4NVmRu6w/wiZBM3dCFnSwK7yjjOwA
7Wb85qPh7NM1srz7eKPdlmZ3HwxQzHx6iEXtS4taw6mxqMNbVtI2LWSE5qCP
8JyyqgiwijaCMSwqk2DAUcBf6LA1dtFaGdwGu92Djx7Cd11lgWtgP7kHIMcX
0Pi8fdovszOp/fs2SSNu96wWN5dMdyItCCScoFtmpdq+S1D6LsFdfJdS9pIM
sEybxj//M661bLVn7qJp/vQn+e93TfN3r2l+FcoGeyH3zPyK9Q72Um/0OWps
6WOjsUvfYErqQ/RNIPWNhvMo+gahSX2D2buPqm8EbK1vfPc+8p7SZe4q8kXL
1Gi7r0V1zYIPrvRKRO9ajFnmV8CKM7WzRK3MRWKxrdy3ZxTO+/zZXMmhYgNH
4u1y6wsWlRjDmI+2q4mvLT8Gu2ttfxT17i0fDn3xsRHR9BpVIBl3RKVzgnXQ
7lfeHtDny4YZ1/cwBKQ5G6SgeNTDVf+7sywy2q4QRZVht3LMBj4zPofp2IVR
5/6eYSkQGhUwd/fmqxDu7rBvxwquU+Jy+Q4sYCRWRJdh+h2G/7v0/zllku4r
qAz+2Qg1azi2oLLYzAr2PoTL/MfksgqDaIQb7CGWuIAPHpc0S72r5JRt3WnV
27jtYWWD9Hv7vqGDOEoP/PapHI33r4mwEXMOamUHvUKD2P3ug4hdeYEazg5i
t92Dh1B7sJPaf15CY5uU9pApE6pbT9dz3D/zkAlSZlOnfn62GAW3GAP3sgP0
hD9o4nYv0guPdoeiMlZAtO/wsPkCKS/0B8B7Ttuf7jJdG+uTwT58VNEa91IY
jz8dJm6DR8Gtj2KqJ5ZLg3vhVckn/f5d5JPAa8ZlWtUdZVSJ4NaWzt3Km8Sc
cuOfcd5MTSbWDS/T9SgZjkq96XxFPPAQi0EsNhLvzAZlS3HZkqp/o/ZPU/EN
uEjPiaJr1r5rKneMhVv5dZyucnP/FDpLSE9yqPRkOUtm2SFZqks0YpWTE52B
T/S+0kykCrc2qd+ekEoemyh8ZtUl2cxEazReyhoKRu2n4mF2lTIfwrwyn+wg
GNg+CAgVHVWgWAYlNd0jMoCexsPdjFfxNVVvUeV1Jrda1jCg57S19RamPTNq
vRf1sw54lpteN/B/Z4XxiObXXXCCiFDORf82lFRE/SYl+g+mRIWHGkrs7SJE
9Ka39vtYJi5XZojKau6coZpZ0bFN5vx7poNljzMZwihGS7gzoGUA/3ciJby4
viRS3EV+C0pIM33kqkyJWREq4+WRJCFrYwa0IFydqL9ZqOc9v9G5NpcxlelS
RK1OYbBL/GzfTPV4iRI1naqEtPeN/cq338YTTgc31CS7SsluPX8MmDkej/d9
/H2KFTG3Z8OqMXQ3oLUxuqX+bSQb1K8CPDBK7MvsP5UB2NVZgMCS3m3kd4qk
hpRdEhtSS65fVVQjj+OuUg9ZGMa7JUVSOWhGVRcxfR7NtfImUXCa6Y0x5GrJ
THpq4du6HTONhrpczYk3KucFikvkeS2yREsuZcmO3YONKoSn3hFMk6N4eOO2
T7d7224HdFvgcYcAEBLAEklYhK4Mmjca1buyqK3cu0MFpqwlmOOL9y0PvLrR
94Ai8SK8h+oJd0isIopTqgMUXFEE0djnEet61LmUwtgPbEbUMzNz3mobEUck
tPuu2gdqboKyVxZi+8AVY2GgDnKLnW+8Dcio7QQOSJ4CSvV0VHkt2S9ZPRa3
mfBJKgxZ+FXIqpq6Upk01vF06I9vxK4iUlB2sWhVm1FWKsN9uOOU57I2Mp+r
+oja0R7pqmaVYlvKhC7XW2pHpzhB4MM8fXErqbmfApeWyTA+BxIOLoDixgvo
vvQHjbonwOJVT3gD+BtFzyc0lj/5x/DRxz/bYDh/Gp7CR3CCd338kEmO8PIH
YFCv5bf6bbfluW67A989jI3rER1qwP2dgAMCTB3YAT1oea2eSaQ4MJfG8SIu
5B4huAQqSw2t28VHaOzfLGguR1jwzMWrbXG1XAprtOiHdVW+xp+IKv4D6m5h
HLDBrYJ33zl+4AQH5QR3en9vE+yXExy0t08wvTjcmF5lLbM/GRPbuXVJgyZ2
lwy70/wBqtQQcAdAzRNgDugZ1lhGPPov4KMLxsIn3KJsIRMQ6HotjI0eyJ5u
RaFXojDYgsIqvgx0tW/1W2nDo97vuBGO2dzeGNpbWrEYmyrwTsbIPPwe6+WR
2rcDGFpB04kXxrZIWWpX1LNtVixrVeUWe4XnyuETYmtpWD3WQhaC1EK+RekB
tCrdNMtt0zmBeMJWAQ0sMClqyUujfprS8QtssspoD2TliC9zxMgDvP6kocPb
9iVu34VYt5l551bDe+00tLdYlOknXpfs3KA0+2/dT2ha9cZ2wn02TFBTv81t
g387OwI3Fht2bwcc3yEzW0k38cJdUrGrDRhBed3ftr8JT27+o00Hfrvc9eG7
RpsPoaQ70NJvYTfez7X3oGP4yHrrXN22ubZvbZt7TvVDbtFie+2Y829PYxAr
Uvfas/YgeWrvTLPkqX8nefr7BrSffQNaKY3crdLoNyKH9tgOVkP2ZkzSoPve
HnRfv4XLov9+hf5/36ll79SykDWuIOuX2pB1f7V/W168NdzR/Yb786e/G8m2
KChsgxBcSnAz4RNEwLZ893wj350Q2Sg/f5rMdwvdk8oQzQT3sZKCXXuyaWKN
TPafSe/szHs3B2Wkvf/t7aVCm2vgwgd+8dC48vBbB62rHhliXSOxHeuzPcDO
UhkqGsytGSrW/pp/928c5/LDyYcjdpIuvirY1SK9YTeztfCRpWsvIuHilNo0
y4Ah6NwcVnwqmqzIYhFoyDnW/xfnM6rDs5GX9BEFTUYxljhJKEqMzWFMoMUc
59/fyeJ7gOr75aXar1is/S7RfnKJ9mvasLNVtu27ErtDqmG1yQdINZXapsHU
57bdaTfKQzaj7JM3/PtelN/3ovwie1FglrfsRcHyrXty4a6tKBrMvjGcB/DY
38dOlM7e20qUAu3tvaOgrCbS+VshcTRuHVQ1DqoaB6WMInIVrezsbUXv2oei
wexrRf9k2uRnJTK2SWUPmS7U2uV0Pcd6zw+YG53m7t7JFNhtAtxjvn51O1Da
jzNZ3UBqjTbOlefdSWVsqArv7qriPlriJ91+okPKD0MsMQDAek6Vz++BVC2V
vLtLpfttPqnbe7Jz68kWntTZDaJmtTreV59Ct3HHPD1HVyEW585Shpk83VDV
Zi5POv+wwIMSVtNZ5QBo/mkJHi5tiP8L1yfLFpXm1diM1uUukUm6WlC+WgRf
CnUqe3nsqhi2rK4ta0ebYGjrzJlOKRw70JTnywy8zTsBlQMnaLlRi5rKRAtd
a1SxVmXYrVMIy5MehXaXsRvzNZyas4VCQHPXiOi0ZXWQL06I13ObQIj9Pn72
RJpEryOOVNfp4aA/FUXQaBR6dzRUzDLOrZb8TtDEjWyqkcFGI93BwGhkyhcY
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
VyIk0MJC7BSrCM4PF8MPH0/v0sQwPT5nqagrII3zpikE8Rk5MMk6sg0DKRcI
MoOONbFzMoOtKQ+jlIh6L6Z+EzktEdBcKdNZbyCUGwZJLgv5Wi64bIwrXaC7
IS3PFh7qjOrZkSz6RQWAWD4DOcSU6q4EgTTadJCkPoaJhXRTOhxalWTIqx1U
SYhqJQGbMR4vo+fGQFqmFYAnGhojEEsZhBuzdO6+FFPtnoKR00yshWcFE269
lJfbJY2zI2UBK7M4gO7RwavXw8Pd/drOQlbbt3DU9vHABONp1yM6vhI6KNTR
tbARKm2Kadh/zFXuqhsoKOpkhamPxFgfLMa6N18JkrM7v++U1o5ZQ64fb7N0
txcGS2NP/8Kz1NFYeUzHTXpvVYmx8fOV2/lKfvNc+R2/4feHHvDcKFcIt/74
g/qvxrHdW388r/7rI/Zb8GBd2936r0a/t7/r1399eL+x6Vvw7dV/1e/uwne7
/usj9ns7zkrv1+uXXwdGv7e/W3ri5lz1Ht5vKWUymbVV13aJTxNnHePdfAnq
ite9+5PRN2WslDIyzm7inFvDsDproG/7u+Uwtvb7oeKsLnCg9YeMHGiv48Cw
/g/LM9BpGdd0YKr29EGpwp6VOuM5++qrwydfsNmtUYfHlt8NVtsV6+err/S3
tq8kOZj5/kOl9x2Fd+CWX727Cm9DCAaP1+29ZLcpVu4qu03WfnC3f5Oi5Dcq
SXYKEv/ekqSWWw+qJthzsrl+ZlnSoAAMhebqf/Rg7b+IDx5GJHsJEq9yob+P
CGHVew/kwn3sJ6/a5mAfy4l1K38/0PbYR1ywvQQDe6DA3UcCsL14HXry0zF1
sMnU/BP6lujs2Wy9Xf83N9yp/Xj5clb6i3oVUfUM43H2FR8viUxDawhfvuBC
BuYFWuW+y6jKZYq1mZZZGmEogSpk/nkVZ1xEcdEBFemFuQxrej2Me8qHxtKn
jzAymC55JjNfcjZPweUPZQVAIzkuSjPuhAUuU+ROuoC/wyUuih7jqjVGYEEk
UpcogszDHHNwYPySCIoZuMPI5E11ZU5RZJHNRxFlcLzBH8e4tjby1EuibCX0
OElpZ6uOOnDK5ZmUD+ESz05wsnUaPgW0SmgyEqVD/GL6rPRAios738P0pjK8
5CTxPC4Is1gGK7fjlICUlXmymx2gyxHHgU5dvIVyaqgEs1RvuF1wjIISZiz8
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
CB0BAA==

-->

</rfc>
