<?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.6.17 (Ruby 3.0.2) -->
<?rfc strict="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-01" category="info" submissionType="IRTF" tocDepth="3" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.15.2 -->
  <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-01"/>
    <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="November" day="09"/>
    <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>
    <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-mattsson-t2trg-amplification-attacks/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Thing-to-Thing (t2trg) Research Group mailing list (<eref target="mailto:t2trg@irtf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/t2trg/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/t2trg/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/EricssonResearch/coap-actuators"/>.</t>
    </note>
  </front>
  <middle>
    <section anchor="introduction">
      <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"/>.
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="RFC9147"/>, TLS <xref target="RFC8446"/>, or OSCORE <xref target="RFC8613"/>
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"/> and the use of CoAP over TCP and TLS is specified in <xref target="RFC8323"/>.
OSCORE protects CoAP end-to-end with the use of COSE <xref target="RFC8152"/> and the CoAP
Object-Security option <xref target="RFC8613"/> and can therefore be used over any
transport. Group OSCORE <xref target="I-D.ietf-core-oscore-groupcomm"/> can be used to
protect CoAP Group Communication <xref target="I-D.ietf-core-groupcomm-bis"/>.</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 infrastructure <xref target="DDoS-Infra"/>
and mitigations are costly.</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 understanding of amplification
attacks and to motivate mitigations suitable for constrained devices and networks.</t>
      <t>Some of the discussed attacks can be mitigated by not using
NoSec or by using the Echo option <xref target="RFC9175"/>.</t>
    </section>
    <section anchor="dos">
      <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
received from the attacker. Note that in the presence of intermediaries, the
size of the data received by the target might be different than the size of
the data sent to the target and the size of the data received from the
attacker might be different than the size of the data sent from the attacker.</t>
      <t>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"/>. But in 2019, they were
hardly seen anymore <xref target="DDoS-2019"/>. 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"/>. 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"/>. 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 amplification factor and the bandwidth depend on the layer in the protocol stack that
is used for the calculation. The amplification factor and bandwidth can e.g., be calculated
using whole IP packets, UPD payloads, or CoAP payloads. The bandwidth decreases and the
amplification factor typically increases higher up in the protocol stack. The bandwidth
should be calculated using the layer that is considered to be under attack.</t>
      <t>The following sections give examples of different theoretical amplification attacks using CoAP.</t>
      <section anchor="simple-amplification-attacks">
        <name>Simple Amplification Attacks</name>
        <t>An amplification attack using a single response is illustrated in <xref target="ampsingle"/>.
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"><![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"/>.</t>
        <figure anchor="ampmulti_post">
          <name>Amplification attack using several requests and a chosen amplification factor</name>
          <artwork align="center"><![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">
        <name>Amplification Attacks using Observe</name>
        <t>Amplification factors can be significantly worse when combined with
observe <xref target="RFC7641"/> and group requests <xref target="I-D.ietf-core-groupcomm-bis"/>. 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"/>. 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"/> 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"><![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">
        <name>Amplification Attacks using Group Requests</name>
        <t>An amplification attack using a group request is illustrated in
<xref target="ampmulti_m"/>. 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"><![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"/>. 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"><![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">
        <name>MITM Amplification Attacks</name>
        <t>TLS and DTLS without Connection ID <xref target="RFC9146"/><xref target="RFC9147"/> 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="RFC9147"/>.</t>
        <t>DTLS 1.2 with Connection ID <xref target="RFC9146"/> 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 <xref target="RFC9147"/> 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"/> 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"/>. 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"/>. 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"><![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"/>. 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"><![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">
      <name>Summary</name>
      <t>CoAP has always considered amplification attacks, but most of the requirements in 
<xref target="RFC7252"/>, <xref target="RFC7641"/>, <xref target="RFC9175"/>, and
<xref target="I-D.ietf-core-groupcomm-bis"/> are "SHOULD" instead of "MUST", it is
undefined what a "large amplification factor" is, <xref target="RFC7641"/> 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"/>
does not have any amplification attack considerations.</t>
      <t>QUIC <xref target="RFC9000"/> 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
for non-constrained devices.</t>
      <t>While it is clear when a QUIC implementation violates the requirement in <xref target="RFC9000"/>, it
is not clear when a CoAP implementation violates the requirement in <xref target="RFC7252"/>,
<xref target="RFC7641"/>, <xref target="RFC9175"/>, and <xref target="I-D.ietf-core-groupcomm-bis"/>.</t>
      <t>In CoAP, an address can be validated with a security protocol or by using the Echo Option <xref target="RFC9175"/>. 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">
      <name>Security Considerations</name>
      <t>The whole document can be seen as security considerations for CoAP.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no actions for IANA.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>Informative References</name>
      <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="RFC9146" target="https://www.rfc-editor.org/info/rfc9146">
        <front>
          <title>Connection Identifier for DTLS 1.2</title>
          <author fullname="E. Rescorla" initials="E." role="editor" surname="Rescorla">
            <organization/>
          </author>
          <author fullname="H. Tschofenig" initials="H." role="editor" surname="Tschofenig">
            <organization/>
          </author>
          <author fullname="T. Fossati" initials="T." surname="Fossati">
            <organization/>
          </author>
          <author fullname="A. Kraus" initials="A." surname="Kraus">
            <organization/>
          </author>
          <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">
        <front>
          <title>The Datagram Transport Layer Security (DTLS) Protocol Version 1.3</title>
          <author fullname="E. Rescorla" initials="E." surname="Rescorla">
            <organization/>
          </author>
          <author fullname="H. Tschofenig" initials="H." surname="Tschofenig">
            <organization/>
          </author>
          <author fullname="N. Modadugu" initials="N." surname="Modadugu">
            <organization/>
          </author>
          <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">
        <front>
          <title>Constrained Application Protocol (CoAP): Echo, Request-Tag, and Token Processing</title>
          <author fullname="C. Amsüss" initials="C." surname="Amsüss">
            <organization/>
          </author>
          <author fullname="J. Preuß Mattsson" initials="J." surname="Preuß Mattsson">
            <organization/>
          </author>
          <author fullname="G. Selander" initials="G." surname="Selander">
            <organization/>
          </author>
          <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="I-D.ietf-core-conditional-attributes" target="https://www.ietf.org/archive/id/draft-ietf-core-conditional-attributes-05.txt">
        <front>
          <title>Conditional Attributes for Constrained RESTful Environments</title>
          <author fullname="Michael Koster" initials="M." surname="Koster">
            <organization>Dogtiger Labs</organization>
          </author>
          <author fullname="Alan Soloway" initials="A." surname="Soloway">
            <organization>Qualcomm Technologies, Inc.</organization>
          </author>
          <author fullname="Bill Silverajan" initials="B." surname="Silverajan">
            <organization>Tampere University</organization>
          </author>
          <date day="24" month="October" 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-05"/>
      </reference>
      <reference anchor="I-D.ietf-core-groupcomm-bis" target="https://www.ietf.org/archive/id/draft-ietf-core-groupcomm-bis-07.txt">
        <front>
          <title>Group Communication for the Constrained Application Protocol (CoAP)</title>
          <author fullname="Esko Dijk" initials="E." surname="Dijk">
            <organization>IoTconsultancy.nl</organization>
          </author>
          <author fullname="Chonggang Wang" initials="C." surname="Wang">
            <organization>InterDigital</organization>
          </author>
          <author fullname="Marco Tiloca" initials="M." surname="Tiloca">
            <organization>RISE AB</organization>
          </author>
          <date day="11" month="July" year="2022"/>
          <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-07"/>
      </reference>
      <reference anchor="I-D.ietf-core-oscore-groupcomm" target="https://www.ietf.org/archive/id/draft-ietf-core-oscore-groupcomm-16.txt">
        <front>
          <title>Group OSCORE - Secure Group Communication for CoAP</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="Jiye Park" initials="J." surname="Park">
            <organization>Universitaet Duisburg-Essen</organization>
          </author>
          <date day="24" month="October" year="2022"/>
          <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-16"/>
      </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">
      <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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
XxTEnVt5vZO11JHW4VBOpv0vapjSPMpVAAA=

-->

</rfc>
