<?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-rfc2629 version 1.5.26 (Ruby 2.7.0) -->
<?rfc strict="yes"?>
<?rfc toc="yes"?>
<?rfc tocdepth="3"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<?rfc iprnotified="no"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-mattsson-t2trg-amplification-attacks-00" category="info" submissionType="IRTF" obsoletes="" updates="" xml:lang="en" tocInclude="true" tocDepth="3" symRefs="true" sortRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.12.1 -->
  <front>
    <title abbrev="CoAP Amplification Attacks">Amplification Attacks Using the Constrained Application Protocol (CoAP)</title>
    <seriesInfo name="Internet-Draft" value="draft-mattsson-t2trg-amplification-attacks-00"/>
    <author initials="J." surname="Preuß Mattsson" fullname="John Preuß Mattsson">
      <organization abbrev="Ericsson">Ericsson AB</organization>
      <address>
        <postal>
          <street>SE-164 80 Stockholm</street>
          <country>Sweden</country>
        </postal>
        <email>john.mattsson@ericsson.com</email>
      </address>
    </author>
    <author initials="G." surname="Selander" fullname="Göran Selander">
      <organization abbrev="Ericsson">Ericsson AB</organization>
      <address>
        <postal>
          <street>SE-164 80 Stockholm</street>
          <country>Sweden</country>
        </postal>
        <email>goran.selander@ericsson.com</email>
      </address>
    </author>
    <author initials="C." surname="Amsüss" fullname="Christian Amsüss">
      <organization>Energy Harvesting Solutions</organization>
      <address>
        <email>c.amsuess@energyharvesting.at</email>
      </address>
    </author>
    <date year="2022" month="February" day="11"/>
    <area/>
    <workgroup/>
    <keyword/>
    <abstract>
      <t>Protecting Internet of Things (IoT) devices against attacks is not enough.
IoT deployments need to make sure that they are not used for
Distributed Denial-of-Service (DDoS) attacks. DDoS attacks are
typically done with compromised devices or with amplification attacks
using a spoofed source address. This document gives examples of different
theoretical amplification attacks using the Constrained Application Protocol
(CoAP). The goal with this document is to raise awareness and
to motivate generic and protocol-specific recommendations on the usage of
CoAP. Some of the discussed attacks can be mitigated by not using
NoSec or by using the Echo option.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="introduction" numbered="true" toc="default">
      <name>Introduction</name>
      <t>One important protocol used to interact with Internet of Things (IoT)
sensors and actuators is the Constrained Application Protocol (CoAP) <xref target="RFC7252" format="default"/>.
CoAP can be used without security in the so called NoSec mode but any
Internet-of-Things (IoT) deployment valuing security and privacy would use a
security protocol such as DTLS <xref target="I-D.ietf-tls-dtls13" format="default"/>, TLS <xref target="RFC8446" format="default"/>, or OSCORE <xref target="RFC8613" format="default"/>
to protect CoAP, where the choice of security protocol depends on the transport
protocol and the presence of intermediaries. The use of CoAP over UDP and DTLS is
specified in <xref target="RFC7252" format="default"/> and the use of CoAP over TCP and TLS is specified in <xref target="RFC8323" format="default"/>.
OSCORE protects CoAP end-to-end with the use of COSE <xref target="RFC8152" format="default"/> and the CoAP
Object-Security option <xref target="RFC8613" format="default"/> and can therefore be used over any
transport. Group OSCORE <xref target="I-D.ietf-core-oscore-groupcomm" format="default"/> can be used to
protect CoAP Group Communication <xref target="I-D.ietf-core-groupcomm-bis" format="default"/>.</t>
      <t>Protecting Internet of Things (IoT) devices against attacks is not enough.
IoT deployments need to make sure that they are not used for
Distributed Denial-of-Service (DDoS) attacks. DDoS attacks are
typically done with compromised devices or with amplification attacks
using a spoofed source address. DDoS attacks is a huge and
growing problem for services and critical infrastucture <xref target="DDoS-Infra" format="default"/>.</t>
      <t>The document gives examples of different theoretical amplification attacks using CoAP.
When transported over UDP, the CoAP NoSec mode is susceptible to source
IP address spoofing and as a single request can result in multiple responses
from multiple servers, CoAP can have very large amplification factors.
The goal with this document is to raise awareness and to motivate generic
and protocol-specific recommendations on the usage of CoAP.</t>
      <t>Some of the discussed attacks can be mitigated by not using
NoSec or by using the Echo option <xref target="I-D.ietf-core-echo-request-tag" format="default"/>.</t>
    </section>
    <section anchor="dos" numbered="true" toc="default">
      <name>Amplification Attacks using CoAP</name>
      <t>In a Denial-of-Service (DoS) attack, an attacker sends a large number of requests
or responses to a target endpoint. The denial-of-service might be caused by
the target endpoint receiving a large amount of data, sending a large amount
of data, doing heavy processing, or using too much memory, etc. In a Distributed
Denial-of-Service (DDoS) attack, the request or responses come from a large
number of sources.</t>
      <t>In an amplification attack, the amplification factor is the ratio between the
total size of the data sent to the target and the total size of the data
sent by the attacker. In the attacks described in this section, the
attacker sends one or more requests, and the target receives one or more
responses. An amplification attack alone can be a denial-of-service attack
on a CoAP server by making it send a large amount of data. But often amplification
attacks are combined with the attacker spoofing the
source IP address of the targeted victim. By requesting as much information
as possible from several servers an attacker can multiply the amount of
traffic and create a distributed denial-of-service attack on the target.
When transported over UDP, the CoAP NoSec
mode is susceptible to source IP address spoofing.</t>
      <t>Amplification attacks with CoAP are unfortunately not only theory. Powerful CoAP amplification
attacks made headlines in 2018, reaching 55 Gbps on average,
and with the largest one clocking at 320 Gbps <xref target="DDoS-ZDNET" format="default"/>. But in 2019, they were
hardly seen anymore <xref target="DDoS-2019" format="default"/>. In 2020, the FBI cyber division mentioned CoAP in
a public notification warning that cyber actors are increasingly likely to abuse
network protocols for DDoS attacks <xref target="DDoS-FBI" format="default"/>. CoAP amplification attacks made
a comeback in 2020 and CoAP was behind a significant part of global DDoS attacks
in Q4 2020 and Q1 2021, but not at all in Q2 and Q3 of 2021 <xref target="DDoS-2021" format="default"/>. It
seems unclear exactly how the attacks were done, why they stopped, and how likely
CoAP amplifications attacks are to come back in the future.</t>
      <t>The following sections give examples of different theoretical amplification attacks using CoAP.</t>
      <section anchor="simple-amplification-attacks" numbered="true" toc="default">
        <name>Simple Amplification Attacks</name>
        <t>An amplification attack using a single response is illustrated in <xref target="ampsingle" format="default"/>.
If the response is c times larger than the request, the amplification factor is c.</t>
        <figure anchor="ampsingle">
          <name>Amplification attack using a single response</name>
          <artwork align="center" name="" type="" alt=""><![CDATA[
Client   Foe   Server
   |      |      |
   |      +----->|      Code: 0.01 (GET)
   |      | GET  |  Uri-Path: random quote
   |      |      |
   |<------------+      Code: 2.05 (Content)
   |      | 2.05 |   Payload: "just because you own half the county
   |      |      |             doesn't mean that you have the power
   |      |      |             to run the rest of us. For twenty-
   |      |      |             three years, I've been dying to tell
   |      |      |             you what I thought of you! And now...
   |      |      |             well, being a Christian woman, I can't
   |      |      |             say it!"
]]></artwork>
        </figure>
        <t>An attacker can increase the bandwidth by sending several GET requests. An attacker can
also increase or control the amplification factor by creating or updating resources.
By creating new resources, an attacker can increase the size of /.well-known/core.
An amplification attack where the attacker influences the amplification factor
is illustrated in <xref target="ampmulti_post" format="default"/>.</t>
        <figure anchor="ampmulti_post">
          <name>Amplification attack using several requests and a chosen amplification factor</name>
          <artwork align="center" name="" type="" alt=""><![CDATA[
Client   Foe   Server
   |      |      |
   |      +----->|      Code: 0.02 (POST)
   |      | POST |  Uri-Path: /member/
   |      |      |   Payload: hampsterdance.hevc
   |      |      |
     ....   ....
   |      +----->|      Code: 0.02 (GET)
   |      | GET  |  Uri-Path: /member/
   |      |      |
   |<------------+      Code: 2.05 (Content)
   |      | 2.05 |   Payload: hampsterdance.hevc
   |      |      |
   |      +----->|      Code: 0.02 (GET)
   |      | GET  |  Uri-Path: /member/
   |      |      |
   |<------------+      Code: 2.05 (Content)
   |      | 2.05 |   Payload: hampsterdance.hevc
     ....   ....
]]></artwork>
        </figure>
      </section>
      <section anchor="amplification-attacks-using-observe" numbered="true" toc="default">
        <name>Amplification Attacks using Observe</name>
        <t>Amplification factors can be significantly worse when combined with
observe <xref target="RFC7641" format="default"/> and group requests <xref target="I-D.ietf-core-groupcomm-bis" format="default"/>. As a single
request can result in multiple responses from multiple servers, the amplification
factors can be very large.</t>
        <t>An amplification attack using observe is illustrated in
<xref target="ampmulti_nk" format="default"/>. If each notification response is c times larger than the registration
request and each request results in n notifications, the amplification factor is c * n.
By registering the same client several times using different Tokens or port numbers,
the bandwidth can be increased. By updating the observed resource, the attacker
may trigger notifications and increase the size of the notifications. By using
conditional attributes <xref target="I-D.ietf-core-conditional-attributes" format="default"/> an attacker may increase the frequency of
notifications and therefore the amplification factor. The maximum period attribute pmax
indicates the maximum time, in seconds, between two consecutive notifications (whether or not the
resource state has changed). If it is predictable when notifications
are sent as confirmable and which Message ID are used the acknowledgements may be spoofed.</t>
        <figure anchor="ampmulti_nk">
          <name>Amplification attack using observe, registering the same client several times, and requesting notifications at least 10 times every second</name>
          <artwork align="center" name="" type="" alt=""><![CDATA[
Client   Foe   Server
   |      |      |
   |      +----->|      Code: 0.01 (GET)
   |      | GET  |     Token: 0x83
   |      |      |   Observe: 0
   |      |      |  Uri-Path: temperature
   |      |      |  Uri-Query: pmax="0.1"
   |      |      |
   |      +----->|      Code: 0.01 (GET)
   |      | GET  |     Token: 0x84
   |      |      |   Observe: 0
   |      |      |  Uri-Path: temperature
   |      |      |  Uri-Query: pmax="0.1"
   |      |      |
     ....   ....
   |<------------+      Code: 2.05 (Content)
   |      | 2.05 |     Token: 0x83
   |      |      |   Observe: 217362
   |      |      |   Payload: "299.7 K"
   |      |      |
   |<------------+      Code: 2.05 (Content)
   |      | 2.05 |     Token: 0x84
   |      |      |   Observe: 217362
   |      |      |   Payload: "299.7 K"
   |      |      |
     ....   ....
   |<------------+      Code: 2.05 (Content)
   |      | 2.05 |     Token: 0x83
   |      |      |   Observe: 217363
   |      |      |   Payload: "299.7 K"
   |      |      |
   |<------------+      Code: 2.05 (Content)
   |      | 2.05 |     Token: 0x84
   |      |      |   Observe: 217363
   |      |      |   Payload: "299.7 K"
     ....   ....
]]></artwork>
        </figure>
      </section>
      <section anchor="amplification-attacks-using-group-requests" numbered="true" toc="default">
        <name>Amplification Attacks using Group Requests</name>
        <t>An amplification attack using a group request is illustrated in
<xref target="ampmulti_m" format="default"/>. The group request is sent over multicast or broadcast
and in this case a single request results in m responses
from m different servers. If each response is c times larger than the request,
the amplification factor is c * m. Note that the servers usually do not know
the variable m.</t>
        <figure anchor="ampmulti_m">
          <name>Amplification attack using multicast</name>
          <artwork align="center" name="" type="" alt=""><![CDATA[
Client   Foe   Server
   |      |      |
   |      +----->|      Code: 0.01 (GET)
   |      | GET  |     Token: 0x69
   |      |      |  Uri-Path: </c>
   |      |      |
   |<------------+      Code: 2.05 (Content)
   |      | 2.05 |     Token: 0x69
   |      |      |   Payload: { 1721 : { ...
   |      |      |
   |<------------+      Code: 2.05 (Content)
   |      | 2.05 |     Token: 0x69
   |      |      |   Payload: { 1721 : { ...
   |      |      |
     ....   ....
]]></artwork>
        </figure>
        <t>An amplification attack using a multicast request and observe is
illustrated in <xref target="ampmulti_mn" format="default"/>. In this case a single request results
in n responses each from m different servers giving a total of n * m
responses. If each response is c times larger than the request,
the amplification factor is c * n * m.</t>
        <figure anchor="ampmulti_mn">
          <name>Amplification attack using multicast and observe</name>
          <artwork align="center" name="" type="" alt=""><![CDATA[
Client   Foe   Server
   |      |      |
   |      +----->|      Code: 0.01 (GET)
   |      | GET  |     Token: 0x44
   |      |      |   Observe: 0
   |      |      |  Uri-Path: temperature
   |      |      |  Uri-Query: pmax="0.1"
   |      |      |
   |<------------+      Code: 2.05 (Content)
   |      | 2.05 |     Token: 0x44
   |      |      |   Observe: 217
   |      |      |   Payload: "301.2 K"
   |      |      |
   |<------------+      Code: 2.05 (Content)
   |      | 2.05 |     Token: 0x44
   |      |      |   Observe: 363
   |      |      |   Payload: "293.4 K"
   |      |      |
     ....   ....
   |<------------+      Code: 2.05 (Content)
   |      | 2.05 |     Token: 0x44
   |      |      |   Observe: 218
   |      |      |   Payload: "301.2 K"
   |      |      |
   |<------------+      Code: 2.05 (Content)
   |      | 2.05 |     Token: 0x44
   |      |      |   Observe: 364
   |      |      |   Payload: "293.4 K"
   |      |      |
     ....   ....
]]></artwork>
        </figure>
      </section>
      <section anchor="mitm-amplification-attacks" numbered="true" toc="default">
        <name>MITM Amplification Attacks</name>
        <t>TLS and DTLS without Connection ID <xref target="I-D.ietf-tls-dtls-connection-id" format="default"/> validate the IP address and port of the other peer, binds them to the connection, and do not allow them to change. DTLS with Connection ID allows the IP address and port to change at any time. As the source address is not protected, an MITM attacker can change the address. Note that an MITM attacker is a more capable attacker then an attacker just spoofing the source address. It can be discussed if and how much such an attack is reasonable for DDoS, but DTLS 1.3 states that "This attack is of concern when there is a large asymmetry of request/response message sizes." <xref target="I-D.ietf-tls-dtls13" format="default"/>.</t>
        <t>DTLS 1.2 with Connection ID <xref target="I-D.ietf-tls-dtls-connection-id" format="default"/> requires that "the receiver MUST NOT replace the address" unless "there is a strategy for ensuring that the new peer address is able to receive and process DTLS records" but does not give more details than that. It seems like the receiver can start using the new peer address and test that it is able to receive and process DTLS records at some later point. DTLS 1.3 with Connection ID requires that "implementations MUST NOT update the address" unless "they first perform some reachability test" but does not give more details than that. OSCORE <xref target="RFC8613" format="default"/> does not discuss address updates, but it can be assumed that most servers send responses to the address it received the request from without any reachability test. A difference between (D)TLS and OSCORE is that in DTLS the updated address is used for all future records, while in OSCORE a new address is only used for responses to a specific request.</t>
        <t>An MITM amplification attack updating the client's source address in an observe registration is illustrated in <xref target="amp_mitm_client" format="default"/>. This attack is possible in OSCORE and DTLS with Connection ID. The server will send notifications to the Victim until it at some unspecified point requires an acknowledgement <xref target="RFC7641" format="default"/>. In DTLS 1.2 the reachability test might be done at a later point. In OSCORE a reachability test is likely not done.</t>
        <figure anchor="amp_mitm_client">
          <name>MITM Amplification attack by updating the client's source address in a observe registration request</name>
          <artwork align="center" name="" type="" alt=""><![CDATA[
Client  Victim  Foe   Server
   |      |      |      |
   +------------>S----->|      Code: 0.01 (GET)
   | GET  |      |      |   Observe: 0
   |      |      |      |  Uri-Path: humidity
   |      |      |      |
   |<------------D<-----+  Reachability test (DTLS)
   +------------>S----->|
   |      |      |      |
     ....   ....   ....
   |      |<------------+      Code: 2.05 (Content)
   |      |      | 2.05 |   Observe: 263712
   |      |      |      |   Payload: "68 %"
   |      |      |      |
   |      |<------------+      Code: 2.05 (Content)
   |      |      | 2.05 |   Observe: 263713
   |      |      |      |   Payload: "69 %"
     ....   ....   ....
]]></artwork>
        </figure>
        <t>Where 'S' means the MITM attacker is changing the source address of the message and 'D' means the MITM attacker is changing the destination address of the message.</t>
        <t>An MITM amplification attack updating the server's source address is illustrated in <xref target="amp_mitm_server" format="default"/>. This attack is possible in DTLS with Connection ID. In DTLS 1.2 the reachability test might be done at a later point.</t>
        <figure anchor="amp_mitm_server">
          <name>MITM Amplification attack by updating the server's source address in a response</name>
          <artwork align="center" name="" type="" alt=""><![CDATA[
Client   Foe  Victim  Server
   |      |      |      |
   +------------------->|      Code: 0.01 (POST)
   | POST |      |      |  Uri-Path: video/
   |      |      |      |
   |<-----S<------------|      Code: 2.01 (Created)
   |      |      | 2.01 |
   |      |      |      |
   +----->D------------>|  Reachability test (DTLS)
   |<-----S<------------+
   |      |      |      |
     ....   ....   ....
   +------------>|      |      Code: 0.01 (POST)
   | POST |      |      |  Uri-Path: video/
   |      |      |      |   Payload: survailance_1139.hevc
   |      |      |      |
   +------------>|      |      Code: 0.01 (POST)
   | POST |      |      |  Uri-Path: video/
   |      |      |      |   Payload: survailance_1140.hevc
     ....   ....   ....
]]></artwork>
        </figure>
      </section>
    </section>
    <section anchor="summary" numbered="true" toc="default">
      <name>Summary</name>
      <t>CoAP has always considered amplification attacks, but most of the requirements in 
<xref target="RFC7252" format="default"/>, <xref target="RFC7641" format="default"/>, <xref target="I-D.ietf-core-echo-request-tag" format="default"/>, and
<xref target="I-D.ietf-core-groupcomm-bis" format="default"/> are "SHOULD" instead of "MUST", it is
undefined what a "large amplification factor" is, <xref target="RFC7641" format="default"/> does not specify
how many notifications that can be sent before a potentially spoofable
acknowledgement must be sent, and in several cases the "SHOULD" level is
further softened by "If possible" and "generally". <xref target="I-D.ietf-core-conditional-attributes" format="default"/>
does not have any amplification attack considerations.</t>
      <t>QUIC <xref target="RFC9000" format="default"/> mandates that "an endpoint MUST limit the amount of data it sends
to the unvalidated address to three times the amount of data received from that
address" without any exceptions. This approach should be seen as current best practice.</t>
      <t>While it is clear when a QUIC implementation violates the requirement in <xref target="RFC9000" format="default"/>, it
is not clear when a CoAP implementation violates the requirement in <xref target="RFC7252" format="default"/>,
<xref target="RFC7641" format="default"/>, <xref target="I-D.ietf-core-echo-request-tag" format="default"/>, and <xref target="I-D.ietf-core-groupcomm-bis" format="default"/>.</t>
      <t>In CoAP, an address can be validated with a security protocol or by using the Echo Option <xref target="I-D.ietf-core-echo-request-tag" format="default"/>. Restricting the bandwidth per server is not enough as the number of servers the attacker can use is typically unknown. For multicast requests, anti-amplification limits and the Echo Option do not really work unless the number of servers sending responses is known. Even if the responses have the same size as the request, the amplification factor from m servers is m, where m is typically unknown. While DoS attacks from CoAP servers accessible over the Internet pose the largest threat, an attacker on a local network  (e.g, a compromised node) might use local CoAP servers to attack targets on the Internet or on the local network.</t>
    </section>
    <section anchor="security-considerations" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>The whole document can be seen as security considerations for CoAP.</t>
    </section>
    <section anchor="iana-considerations" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>This document has no actions for IANA.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>Informative References</name>
      <reference anchor="RFC6347" target="https://www.rfc-editor.org/info/rfc6347">
        <front>
          <title>Datagram Transport Layer Security Version 1.2</title>
          <author fullname="E. Rescorla" initials="E." surname="Rescorla">
            <organization/>
          </author>
          <author fullname="N. Modadugu" initials="N." surname="Modadugu">
            <organization/>
          </author>
          <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="RFC7252" target="https://www.rfc-editor.org/info/rfc7252">
        <front>
          <title>The Constrained Application Protocol (CoAP)</title>
          <author fullname="Z. Shelby" initials="Z." surname="Shelby">
            <organization/>
          </author>
          <author fullname="K. Hartke" initials="K." surname="Hartke">
            <organization/>
          </author>
          <author fullname="C. Bormann" initials="C." surname="Bormann">
            <organization/>
          </author>
          <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="RFC7641" target="https://www.rfc-editor.org/info/rfc7641">
        <front>
          <title>Observing Resources in the Constrained Application Protocol (CoAP)</title>
          <author fullname="K. Hartke" initials="K." surname="Hartke">
            <organization/>
          </author>
          <date month="September" year="2015"/>
          <abstract>
            <t>The Constrained Application Protocol (CoAP) is a RESTful application protocol for constrained nodes and networks.  The state of a resource on a CoAP server can change over time.  This document specifies a simple protocol extension for CoAP that enables CoAP clients to "observe" resources, i.e., to retrieve a representation of a resource and keep this representation updated by the server over a period of time.  The protocol follows a best-effort approach for sending new representations to clients and provides eventual consistency between the state observed by each client and the actual resource state at the server.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7641"/>
        <seriesInfo name="DOI" value="10.17487/RFC7641"/>
      </reference>
      <reference anchor="RFC8152" target="https://www.rfc-editor.org/info/rfc8152">
        <front>
          <title>CBOR Object Signing and Encryption (COSE)</title>
          <author fullname="J. Schaad" initials="J." surname="Schaad">
            <organization/>
          </author>
          <date month="July" year="2017"/>
          <abstract>
            <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size.  There is a need for the ability to have basic security services defined for this data format. This document defines the CBOR Object Signing and Encryption (COSE) protocol.  This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization.  This specification additionally describes how to represent cryptographic keys using CBOR.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8152"/>
        <seriesInfo name="DOI" value="10.17487/RFC8152"/>
      </reference>
      <reference anchor="RFC8323" target="https://www.rfc-editor.org/info/rfc8323">
        <front>
          <title>CoAP (Constrained Application Protocol) over TCP, TLS, and WebSockets</title>
          <author fullname="C. Bormann" initials="C." surname="Bormann">
            <organization/>
          </author>
          <author fullname="S. Lemay" initials="S." surname="Lemay">
            <organization/>
          </author>
          <author fullname="H. Tschofenig" initials="H." surname="Tschofenig">
            <organization/>
          </author>
          <author fullname="K. Hartke" initials="K." surname="Hartke">
            <organization/>
          </author>
          <author fullname="B. Silverajan" initials="B." surname="Silverajan">
            <organization/>
          </author>
          <author fullname="B. Raymor" initials="B." role="editor" surname="Raymor">
            <organization/>
          </author>
          <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="RFC8446" target="https://www.rfc-editor.org/info/rfc8446">
        <front>
          <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
          <author fullname="E. Rescorla" initials="E." surname="Rescorla">
            <organization/>
          </author>
          <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">
        <front>
          <title>Object Security for Constrained RESTful Environments (OSCORE)</title>
          <author fullname="G. Selander" initials="G." surname="Selander">
            <organization/>
          </author>
          <author fullname="J. Mattsson" initials="J." surname="Mattsson">
            <organization/>
          </author>
          <author fullname="F. Palombini" initials="F." surname="Palombini">
            <organization/>
          </author>
          <author fullname="L. Seitz" initials="L." surname="Seitz">
            <organization/>
          </author>
          <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="RFC9000" target="https://www.rfc-editor.org/info/rfc9000">
        <front>
          <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
          <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar">
            <organization/>
          </author>
          <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson">
            <organization/>
          </author>
          <date month="May" year="2021"/>
          <abstract>
            <t>This document defines the core of the QUIC transport protocol.  QUIC provides applications with flow-controlled streams for structured communication, low-latency connection establishment, and network path migration. QUIC includes security measures that ensure confidentiality, integrity, and availability in a range of deployment circumstances.  Accompanying documents describe the integration of TLS for key negotiation, loss detection, and an exemplary congestion control algorithm.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9000"/>
        <seriesInfo name="DOI" value="10.17487/RFC9000"/>
      </reference>
      <reference anchor="I-D.ietf-core-groupcomm-bis" target="https://www.ietf.org/archive/id/draft-ietf-core-groupcomm-bis-05.txt">
        <front>
          <title>Group Communication for the Constrained Application Protocol (CoAP)</title>
          <author fullname="Esko Dijk">
            <organization>IoTconsultancy.nl</organization>
          </author>
          <author fullname="Chonggang Wang">
            <organization>InterDigital</organization>
          </author>
          <author fullname="Marco Tiloca">
            <organization>RISE AB</organization>
          </author>
          <date day="25" month="October" year="2021"/>
          <abstract>
            <t>   This document specifies the use of the Constrained Application
   Protocol (CoAP) for group communication, including the use of UDP/IP
   multicast as the default underlying data transport.  Both unsecured
   and secured CoAP group communication are specified.  Security is
   achieved by use of the Group Object Security for Constrained RESTful
   Environments (Group OSCORE) protocol.  The target application area of
   this specification is any group communication use cases that involve
   resource-constrained devices or networks that support CoAP.  This
   document replaces RFC 7390, while it updates RFC 7252 and RFC 7641.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-core-groupcomm-bis-05"/>
      </reference>
      <reference anchor="I-D.ietf-core-echo-request-tag" target="https://www.ietf.org/archive/id/draft-ietf-core-echo-request-tag-14.txt">
        <front>
          <title>CoAP: Echo, Request-Tag, and Token Processing</title>
          <author fullname="Christian Amsüss">
	 </author>
          <author fullname="John Preuß Mattsson">
            <organization>Ericsson AB</organization>
          </author>
          <author fullname="Göran Selander">
            <organization>Ericsson AB</organization>
          </author>
          <date day="4" month="October" year="2021"/>
          <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 client
   Token processing requirements, forbidding non-secure reuse of Tokens
   to ensure binding of response to request when CoAP is used with a
   security protocol, and with respect to amplification mitigation,
   where the use of Echo is now recommended.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-core-echo-request-tag-14"/>
      </reference>
      <reference anchor="I-D.ietf-core-oscore-groupcomm" target="https://www.ietf.org/archive/id/draft-ietf-core-oscore-groupcomm-13.txt">
        <front>
          <title>Group OSCORE - Secure Group Communication for CoAP</title>
          <author fullname="Marco Tiloca">
            <organization>RISE AB</organization>
          </author>
          <author fullname="Göran Selander">
            <organization>Ericsson AB</organization>
          </author>
          <author fullname="Francesca Palombini">
            <organization>Ericsson AB</organization>
          </author>
          <author fullname="John Preuss Mattsson">
            <organization>Ericsson AB</organization>
          </author>
          <author fullname="Jiye Park">
            <organization>Universitaet Duisburg-Essen</organization>
          </author>
          <date day="25" month="October" year="2021"/>
          <abstract>
            <t>   This document defines 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 approach 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.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-core-oscore-groupcomm-13"/>
      </reference>
      <reference anchor="I-D.ietf-tls-dtls-connection-id" target="https://www.ietf.org/archive/id/draft-ietf-tls-dtls-connection-id-13.txt">
        <front>
          <title>Connection Identifiers for DTLS 1.2</title>
          <author fullname="Eric Rescorla">
            <organization>RTFM, Inc.</organization>
          </author>
          <author fullname="Hannes Tschofenig">
            <organization>Arm Limited</organization>
          </author>
          <author fullname="Thomas Fossati">
            <organization>Arm Limited</organization>
          </author>
          <author fullname="Achim Kraus">
            <organization>Bosch.IO GmbH</organization>
          </author>
          <date day="22" month="June" year="2021"/>
          <abstract>
            <t>   This document specifies the Connection ID (CID) construct for the
   Datagram Transport Layer Security (DTLS) protocol version 1.2.

   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.

   The new ciphertext record format with CID also provides content type
   encryption and record-layer padding.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-tls-dtls-connection-id-13"/>
      </reference>
      <reference anchor="I-D.ietf-core-conditional-attributes" target="https://www.ietf.org/archive/id/draft-ietf-core-conditional-attributes-01.txt">
        <front>
          <title>Conditional Attributes for Constrained RESTful Environments</title>
          <author fullname="Michael Koster">
            <organization>Dogtiger Labs</organization>
          </author>
          <author fullname="Alan Soloway">
            <organization>Qualcomm Technologies</organization>
          </author>
          <author fullname="Bilhanan Silverajan">
            <organization>Tampere University</organization>
          </author>
          <date day="13" month="January" year="2022"/>
          <abstract>
            <t>   This specification defines Conditional Notification and Control
   Attributes that work with CoAP Observe (RFC7641).

Editor note

   The git repository for the draft is found at https://github.com/core-
   wg/conditional-attributes/

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-core-conditional-attributes-01"/>
      </reference>
      <reference anchor="I-D.ietf-lake-edhoc" target="https://www.ietf.org/archive/id/draft-ietf-lake-edhoc-12.txt">
        <front>
          <title>Ephemeral Diffie-Hellman Over COSE (EDHOC)</title>
          <author fullname="Göran Selander">
            <organization>Ericsson AB</organization>
          </author>
          <author fullname="John Preuß Mattsson">
            <organization>Ericsson AB</organization>
          </author>
          <author fullname="Francesca Palombini">
            <organization>Ericsson AB</organization>
          </author>
          <date day="20" month="October" year="2021"/>
          <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
   OSCORE security context.  By reusing COSE for cryptography, CBOR for
   encoding, and CoAP for transport, the additional code size can be
   kept very low.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-lake-edhoc-12"/>
      </reference>
      <reference anchor="I-D.ietf-tls-dtls13" target="https://www.ietf.org/archive/id/draft-ietf-tls-dtls13-43.txt">
        <front>
          <title>The Datagram Transport Layer Security (DTLS) Protocol Version 1.3</title>
          <author fullname="Eric Rescorla">
            <organization>RTFM, Inc.</organization>
          </author>
          <author fullname="Hannes Tschofenig">
            <organization>Arm Limited</organization>
          </author>
          <author fullname="Nagendra Modadugu">
            <organization>Google, Inc.</organization>
          </author>
          <date day="30" month="April" year="2021"/>
          <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.

   The DTLS 1.3 protocol is intentionally 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.

   This document obsoletes RFC 6347.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-tls-dtls13-43"/>
      </reference>
      <reference anchor="DDoS-ZDNET" target="https://www.zdnet.com/article/the-coap-protocol-is-the-next-big-thing-for-ddos-attacks/">
        <front>
          <title>The CoAP protocol is the next big thing for DDoS attacks</title>
          <author>
            <organization/>
          </author>
          <date year="2018" month="December"/>
        </front>
        <seriesInfo name="ZDNet" value=""/>
      </reference>
      <reference anchor="DDoS-2019" target="https://www.link11.com/en/blog/threat-landscape/ddos-attacks-2019-a-look-back-at-the-developments-over-the-year/">
        <front>
          <title>DDoS Attacks 2019: A look back at the Developments over the Year</title>
          <author>
            <organization/>
          </author>
          <date year="2019" month="December"/>
        </front>
        <seriesInfo name="Link11" value=""/>
      </reference>
      <reference anchor="DDoS-FBI" target="https://image.communications.cyber.nj.gov/lib/fe3e15707564047c7c1270/m/2/FBI+PIN+-+7.21.2020.pdf">
        <front>
          <title>Private Industry Notification</title>
          <author>
            <organization/>
          </author>
          <date year="2020" month="July"/>
        </front>
        <seriesInfo name="FBI Cyber Division" value=""/>
      </reference>
      <reference anchor="DDoS-2021" target="https://www.radware.com/2021q3-ddos-report/">
        <front>
          <title>Quarterly DDoS and Application Attack Report</title>
          <author>
            <organization/>
          </author>
          <date year="2021" month="October"/>
        </front>
        <seriesInfo name="Radware" value=""/>
      </reference>
      <reference anchor="DDoS-Infra" target="https://www.darkreading.com/attacks-breaches/critical-infrastructure-under-attack-/a/d-id/1340960">
        <front>
          <title>Critical Infrastructure Under Attack</title>
          <author>
            <organization/>
          </author>
          <date year="2021" month="November"/>
        </front>
        <seriesInfo name="Dark Reading" value=""/>
      </reference>
    </references>
    <section numbered="false" anchor="acknowledgements" toc="default">
      <name>Acknowledgements</name>
      <t>The authors would like to thank
<contact fullname="Carsten Bormann"/>,
<contact fullname="Klaus Hartke"/>,
<contact fullname="Jaime Jiménez"/>,
<contact fullname="Ari Keränen"/>,
<contact fullname="Matthias Kovatsch"/>,
<contact fullname="Achim Kraus"/>,
<contact fullname="Sandeep Kumar"/>,
and
<contact fullname="András Méhes"/>
for their valuable comments and feedback.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
