<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.19 (Ruby 3.3.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-bormann-core-corr-clar-05" category="std" consensus="true" submissionType="IETF" updates="6690, 7252, 7641, 7959, 8132, 8323" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.23.0 -->
  <front>
    <title abbrev="Corrections and Clarifications to CoAP">Constrained Application Protocol (CoAP): Corrections and Clarifications</title>
    <seriesInfo name="Internet-Draft" value="draft-bormann-core-corr-clar-05"/>
    <author initials="C." surname="Bormann" fullname="Carsten Bormann">
      <organization>Universität Bremen TZI</organization>
      <address>
        <postal>
          <street>Postfach 330440</street>
          <city>Bremen</city>
          <code>D-28359</code>
          <country>Germany</country>
        </postal>
        <phone>+49-421-218-63921</phone>
        <email>cabo@tzi.org</email>
      </address>
    </author>
    <date year="2024" month="September" day="24"/>
    <abstract>
      <?line 56?>

<t>RFC 7252 defines the Constrained Application Protocol (CoAP), along
with a number of additional specifications, including RFC 7641, RFC
7959, RFC 8132, and RFC 8323.
RFC 6690 defines the link format that is used in CoAP self-description
documents.</t>
      <t>Some parts of the specification may be unclear or even contain errors
that may lead to misinterpretations that may impair interoperability
between different implementations.
The present document provides corrections, additions, and
clarifications to the RFCs cited; this document thus updates these
RFCs.
In addition, other clarifications related to the use of CoAP in other
specifications, including RFC 7390 and RFC 8075, are also provided.</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-bormann-core-corr-clar/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        core Working Group mailing list (<eref target="mailto:core@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/core/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/core/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/core-wg/corrclar"/>.</t>
    </note>
  </front>
  <middle>
    <?line 74?>

<section anchor="introduction">
      <name>Introduction</name>
      <t><xref target="RFC7252"/> defines the Constrained Application Protocol (CoAP), along
with a number of additional specifications, including <xref target="RFC7641"/>,
<xref target="RFC7959"/>, <xref target="RFC8132"/>, and <xref target="RFC8323"/>.
<xref target="RFC6690"/> defines the link format that is used in CoAP
self-description documents.</t>
      <t>During implementation and interoperability testing of these RFCs, and
in their practical use, some ambiguities and common misinterpretations
have been identified, as well as a few errors.</t>
      <t>The present document summarizes identified issues and provides
corrections needed for implementations of CoAP to interoperate, i.e.,
it constitutes an update to the RFCs referenced.  This document also
provides other clarifications related to common misinterpretations of
the specification.  References to CoAP should, therefore, also include
this document.</t>
      <t>In addition, some clarifications and corrections are also provided for
documents that are related to CoAP, including RFC 7390 and RFC 8075.</t>
      <section anchor="process">
        <name>Process</name>
        <section anchor="original-text">
          <name>Original text</name>
          <t>The present document is an Internet-Draft, which is not intended to be
published as an RFC quickly.  Instead, it will be maintained as a
running document of the CoRE WG, probably for a number of years, until
the need for new entries tails off and the document can finally be
published as an RFC.  (This paragraph to be rephrased when that
happens.)</t>
          <t>The status of this document as a running document of the WG implies a
consensus process that is applied in making updates to it.  The rest
of this subsection provides more details about this consensus process.
(This is the intended status; currently, the document is an individual submission only.)</t>
          <t>(Consensus process TBD, but it will likely be based on an editor's
version in a publicly accessible git repository, as well as periodic
calls for consensus that lead to a new published Internet-Draft.)</t>
        </section>
        <section anchor="proposed-text-based-on-ietf-117-and-2023-08-30-core-wg-interim-discussion">
          <name>Proposed text based on IETF 117 and 2023-08-30 CoRE WG interim discussion</name>
          <t>This section describes the process that will be used for developing
the present document (called "-corr-clar" colloquially).</t>
          <t>This process might be revised as its execution progresses.</t>
          <ol spacing="normal" type="1" start="0"><li>
              <t>(Done as of this a draft): include the present process proposal.<br/>
The document can then already be considered for WG adoption.</t>
            </li>
            <li>
              <t>Go through the following available material and revise/create
Github issues at <eref target="https://github.com/core-wg/corrclar/issues">ISSUES</eref> as needed:
              </t>
              <ul spacing="normal">
                <li>
                  <t>Existing issues at <eref target="https://github.com/core-wg/corrclar/issues">ISSUES</eref>
                  </t>
                  <ul spacing="normal">
                    <li>
                      <t>More to be opened by Jon Shallow regarding Block-wise, see <eref target="https://datatracker.ietf.org/doc/minutes-interim-2023-core-11-202307051400/#attacks-on-the-constrained-application-protocol-coap-christian-amsuss-jon-shallow">JON-ISSUES</eref></t>
                    </li>
                  </ul>
                </li>
                <li>
                  <t>CoAP FAQ at the CoRE WIKI <eref target="https://github.com/core-wg/wiki/wiki/CoAP-FAQ">WIKI-FAQ</eref>
                  </t>
                  <ul spacing="normal">
                    <li>
                      <t>Each point likely to become a new, short issue</t>
                    </li>
                  </ul>
                </li>
              </ul>
            </li>
            <li>
              <t>Categorize the Github issues at <eref target="https://github.com/core-wg/corrclar/issues">ISSUES</eref> as to the topics they relate to, by tagging them.<br/>
Completing a first round of this will be a task for a dedicated team.</t>
            </li>
            <li>
              <t>For each issue or set of issues at <eref target="https://github.com/core-wg/corrclar/issues">ISSUES</eref>, confirm with the CoRE
WG and gather feedback from affected protocol
designers/implementors if the issue is best to be:
              </t>
              <ul spacing="normal">
                <li>
                  <t>Included and covered in -corr-clar, as is or revised</t>
                </li>
                <li>
                  <t>Simply omitted in -corr-clar</t>
                </li>
                <li>
                  <t>Omitted in -corr-clar and left for a possible -bis document.<br/>
(For example, this might be the case for some specific points related to RFC 7959.)</t>
                </li>
              </ul>
            </li>
            <li>
              <t>Reshape the -corr-clar document in order to reflect a sequence of
 pairs (Diagnosis, Therapy), where:
              </t>
              <ul spacing="normal">
                <li>
                  <t>Diagnosis is the gist of a set of Github issues to cover, and</t>
                </li>
                <li>
                  <t>Therapy is the correction or clarification to address those.</t>
                </li>
              </ul>
              <t>
Even though at a high-level, the scope should be already clear by
looking at the table of contents.
That is, at this stage, there is no need to necessarily elaborate
the Therapy in detail, but it is necessary to make a reader
understand "what we are dealing with and taking which direction".</t>
            </li>
            <li>
              <t>WG document work can then focus on improving the therapy parts,
until all points are satisfactorily addressed and documented.</t>
            </li>
          </ol>
        </section>
      </section>
      <section anchor="terminology">
        <name>Terminology</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -18?>

<t>When a section of this document makes formal corrections, additions
or invalidations to text in a referenced RFC, this is clearly summarized.
The text from the RFC that is being addressed is given and labeled
"INCOMPLETE", "INCORRECT", or "INCORRECT AND INVALIDATED", followed
by the correct text labeled "CORRECTED", where applicable.  When text
is added that does not simply correct text in previous
specifications, it is given with the label "FORMAL ADDITION".</t>
        <t>Where a resolution has not yet been agreed, the resolution is marked PENDING.</t>
        <t>In this document, a reference to a section in RFC nnnn is written
as RFC nnnn-&lt;number&gt;, where &lt;number&gt; is the section number.</t>
      </section>
    </section>
    <section anchor="rfc-7252">
      <name>RFC 7252</name>
      <section anchor="rfc7252-12-terminology-request-uri">
        <name>RFC7252-1.2: Terminology (Request-URI)</name>
        <t><xref target="RFC7252"/> uses the term "request URI" repeatedly, but only provides a
vague definition in <xref section="5.7.2" sectionFormat="of" target="RFC7252"/>.
Text should be added to the definitions in Section <xref target="RFC7252" section="1.2" sectionFormat="bare">Terminology</xref> of <xref target="RFC7252"/>.</t>
        <dl newline="true">
          <dt>INCOMPLETE; FORMAL ADDITION (Section 1.2):</dt>
          <dd>
            <dl>
              <dt>Request URI:</dt>
              <dd>
                <t>The URI that identifies a resource on a server intended to be
addressed by a request; constructed from the context of the
request combined with Options present in the request using the
process defined in Section <xref target="RFC7252" section="6.5" sectionFormat="bare">Composing URIs from Options</xref> of <xref target="RFC7252"/>, see Section <xref target="RFC7252" section="5.7.2" sectionFormat="bare">Forward-Proxies</xref> of <xref target="RFC7252"/> for further details.
Related to the HTTP concept of "target URI"; see Section <xref target="RFC9110" section="7.1" sectionFormat="bare">Determining the Target Resource</xref> of <xref target="RFC9110"/>; previously called
"effective request URI" in Section <xref target="RFC7230" section="5.5" sectionFormat="bare">Effective Request URI</xref> of <xref target="RFC7230"/>.</t>
              </dd>
            </dl>
          </dd>
        </dl>
        <t>PENDING.</t>
        <t>Note that a similar, but distinct concept is the "base URI", relative
to which relative URIs are resolved.
This is more complex in CoAP than in HTTP because CoAP can multicast
requests (<xref section="8" sectionFormat="of" target="RFC7252"/>), expecting unicast responses; these need
to be interpreted relative to the unicast source address from which
the responses come.</t>
        <t><xref section="8.2" sectionFormat="of" target="RFC7252"/> has:</t>
        <blockquote>
          <t>For the purposes of interpreting the Location-* options and any links
   embedded in the representation, the request URI (i.e., the base URI
   relative to which the response is interpreted) is formed by replacing
   the multicast address in the Host component of the original request
   URI by the literal IP address of the endpoint actually responding.</t>
        </blockquote>
        <t>Similarly, <xref section="8.2.1" sectionFormat="of" target="RFC7252"/> (Caching) says:</t>
        <blockquote>
          <t>A response received in reply to a GET request to a multicast group
   <bcp14>MAY</bcp14> be used to satisfy a subsequent request on the related unicast
   request URI.  The unicast request URI is obtained by replacing the
   authority part of the request URI with the transport-layer source
   address of the response message.</t>
        </blockquote>
        <t>Further discussion of a more generalized response concept can be found in
<xref target="I-D.bormann-core-responses"/>.</t>
      </section>
      <section anchor="rfc7252-5105-max-age">
        <name>RFC7252-5.10.5: Max-Age</name>
        <t>In the discussion of <xref target="RFC8516"/>, a comment was
made that it would be needed to define the point in time relative to
which Max-Age is defined.  A sender might reference it to the time it
actually sends the message containing the option (and paragraph 3 of
RFC7252-5.10.5 indeed requests that Max-Age be updated each time a
message is retransmitted).  The receiver of the message does not have
reliable information about the time of sending, though.  It may
instead reference the Max-Age to the time of reception.  This in
effect extends the time of Max-Age by the latency of the packet.
This extension was deemed acceptable for the purposes of <xref target="RFC8516"/>,
but may be suboptimal when Max-Age is about the lifetime of a response
object.</t>
        <dl newline="true">
          <dt>INCOMPLETE:</dt>
          <dd>
            <t>The value is intended to be current at the time of transmission.</t>
          </dd>
        </dl>
        <t>PENDING.</t>
      </section>
      <section anchor="rfc7252-64-decomposing-uris-into-options">
        <name>RFC7252-6.4: Decomposing URIs into Options</name>
        <t><xref target="Err4895"/> notes (text updated with newer link):</t>
        <blockquote>
          <t>The current specification for decomposing a URI into CoAP Options
(Section 6.4) is correct; however the text may still be unclear to
implementers who may think that the phrase "not including the
delimiting slash characters" means simply omitting a trailing slash
character in the URI path. This is incorrect. See the discussion
outcome in email thread
<eref target="https://mailarchive.ietf.org/arch/msg/core/vqOiUreodGXqWZGeGOTREChCsKY/">https://mailarchive.ietf.org/arch/msg/core/vqOiUreodGXqWZGeGOTREChCsKY/</eref>.</t>
        </blockquote>
        <t><xref target="Err4895"/> proceeds to propose adding another note at the end of
<xref section="6.4" sectionFormat="of" target="RFC7252"/>.
A slightly updated version of the proposed note might be:</t>
        <dl newline="true">
          <dt>INCOMPLETE; FORMAL ADDITION at the end of <xref section="6.4" sectionFormat="of" target="RFC7252"/>:</dt>
          <dd>
            <t>Also note that a trailing slash character in the &lt;path&gt; component
represents a separate, zero-character path segment (see the ABNF in
<xref section="3.3" sectionFormat="of" target="RFC3986"/>).
This is encoded using a Uri-Path Option of zero length.
The exception at the start of step 8 means that no such
zero-character path segment is added for a trailing slash that
immediately follows the authority (host and port).
</t>
            <aside>
              <t>This exception means that, for a CoAP server, no difference is visible
between a request that was generated from the URI
<tt>coap://authority/</tt> and one that was generated from the URI
<tt>coap://authority</tt> — in both cases, there is no Uri-Path Option in
the request.
(The URI continues to be parsed as defined:  e.g., for the URIs
<tt>coap://authority/?</tt> and <tt>coap://authority?</tt>, there is no Uri-Path
Option but a single Uri-Query Option that carries an empty query
component.)</t>
              <t>Note that the exception at the start of step 8 does not mean that
a client cannot create a request with a single empty Uri-Path
Option; such a request just cannot be generated from a URI because
of the algorithm given here.
It also does not mean that a server is compelled to treat a request
with such a single empty Uri-Path Option in the same way as one
without any Uri-Path Option — the exception at the start of step 8
is only about the process of generating a sequence of CoAP Options
from a URI.</t>
              <t>The exception only applies to initial Uri-Path Options.
So for <tt>coap://authority/foo</tt>, a single Uri-Path Option with the
value <tt>foo</tt> is generated, while for <tt>coap://authority/foo/</tt> that
Uri-Path Option is followed by an empty Uri-Path Option (an
established idiom for a collection resource).</t>
              <t>Similarly, there is a difference between requests generated
from <tt>coap://authority/</tt>, <tt>coap://authority//</tt>, and
<tt>coap://authority///</tt>, respectively:
The first has no Uri-Path Options (due to the special exception);
the second, two (empty ones); the third, three (empty ones).
No server is compelled to offer resources under URIs with
multiple empty path name components, which would generally be
considered weird.</t>
            </aside>
          </dd>
        </dl>
      </section>
      <section anchor="rfc7252-721-ct-attribute-content-format-code">
        <name>RFC7252-7.2.1: "ct" Attribute (content-format code)</name>
        <t>As has been noted in <xref target="Err5078"/>, there is no information in <xref target="RFC7252"/>
about whether the "ct" target attribute can be present multiply or
not.</t>
        <t>The text does indicate that the value of the attribute <bcp14>MAY</bcp14> be "a
space-separated sequence of Content-Format codes, indicating that
multiple content-formats are available", but it does not repeat the
prohibition of multiple instances that the analogously structured "rt"
and "if" attributes in Sections <xref target="RFC6690" section="3.1" sectionFormat="bare"/> and <xref target="RFC6690" section="3.2" sectionFormat="bare"/> of <xref target="RFC6690"/> have.</t>
        <t>This appears to be an oversight.
Published examples in <xref section="4.1" sectionFormat="of" target="RFC9148"/> and <xref section="4.3" sectionFormat="of" target="RFC9176"/> further illustrate that the space-separated approach is
generally accepted to be the one to be used.
There is no gain to be had from allowing both variants, and it would
be likely to cause interoperability problems.</t>
        <t>At the 2022-11-23 CoRE WG interim meeting, there was agreement that
<xref target="Err5078"/> should be marked "VERIFIED", which was done on 2023-01-18.</t>
        <dl newline="true">
          <dt>INCOMPLETE; FORMAL ADDITION:</dt>
          <dd>
            <t>The Content-Format code attribute <bcp14>MUST NOT</bcp14> appear more than once in a
link.</t>
          </dd>
        </dl>
      </section>
      <section anchor="rfc7252-911912-match-boxing">
        <name>RFC7252-9.1.1/9.1.2: (match boxing)</name>
        <t>Sections <xref target="RFC7252" section="9.1.1" sectionFormat="bare"/> and <xref target="RFC7252" section="9.1.2" sectionFormat="bare"/> of <xref target="RFC7252"/> provide details about using CoAP
over DTLS connections; in particular they restrict both message-id
matching and request/response matching to within a single combination
of DTLS session/DTLS epoch.</t>
        <t>At the time, this was a decision to be very conservative based on the
wide variety of security implications a new DTLS epoch might have
(which also were not widely understood, e.g., for a re-authentication).
The normally short time between a request and a response made this
rather strict boxing appear acceptable.</t>
        <t>However, with the Observe functionality <xref target="RFC7641"/>, it is quite likely
that significant time elapses between a request and the arrival of a
notification that is sent back as a response, causing a need for the
latter to use a different box from the original request.</t>
        <t>Also, additions to CoAP such as CoAP over connection-oriented
transports <xref target="RFC8323"/> and OSCORE <xref target="RFC8613"/> create similar matching
boxes that also do not fit certain likely use cases of these additions
(e.g., with short-lived TCP connections as discussed in <xref section="4.3" sectionFormat="of" target="RFC9006"/>).</t>
        <t>The match boxing semantics of the current protocol are clearly defined, but can be unsatisfactory given the current requirements.</t>
        <t>This calls for careful design choices and enhancements when developing extensions for CoAP or protocols and methods applicable to CoAP, such as in the cases overviewed in the following <xref target="match-boxing-oscore"/> and <xref target="match-boxing-eclipse"/>.</t>
        <section anchor="dtls-with-connection-id">
          <name>DTLS with Connection ID</name>
          <t>PENDING:</t>
          <aside>
            <t>Protocol mechanisms that have been defined for stitching
together connections or phases of an underlying connection, such
as Connection Identifiers for DTLS 1.2 <xref target="RFC9146"/>, may enable
keeping the session/epoch unchanged and even to change the
transport address (ip-address/port), once appropriately modified
match boxing rules are specified for the stitching mechanism.
(These rules either need to be defined to be implicitly active
for any use of the mechanism or they may require negotiation.)</t>
          </aside>
        </section>
        <section anchor="match-boxing-oscore">
          <name>OSCORE, KUDOS, and Group OSCORE</name>
          <t>The security protocol Object Security for Constrained RESTful Environments (OSCORE) defined in <xref target="RFC8613"/> provides end-to-end security for CoAP messages at the application level, by using CBOR Object Signing and Encryption (COSE) <xref target="RFC9052"/>. In order to protect their communications, two peers need to have already established an OSCORE Security Context.</t>
          <t><xref section="B.2" sectionFormat="of" target="RFC8613"/> provides an example for a key update procedure, which two OSCORE peers can run for establishing a new shared OSCORE Security Context that replaces their old one. The recent key update protocol KUDOS <xref target="I-D.ietf-core-oscore-key-update"/> specifies how two OSCORE peers can establish a new shared OSCORE Security Context that replaces their old one, with a number of advantages compared to the method defined in <xref section="B.2" sectionFormat="of" target="RFC8613"/>.</t>
          <t>The security protocol Group Object Security for Constrained RESTful Environments (Group OSCORE) defined in <xref target="I-D.ietf-core-oscore-groupcomm"/> builds on OSCORE and protects group communication for CoAP <xref target="I-D.ietf-core-groupcomm-bis"/>. The management of the group keying material is entrusted to a Group Manager (see <xref section="3" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>), which provides the latest group keying material to a new group member upon its group joining, and can update the group keying material by performing a group rekeying.</t>
          <t>The following discusses how OSCORE, KUDOS, and Group OSCORE position themselves with respect to the match boxing, the transport used underlying CoAP, and the renewal of the keying material.</t>
          <section anchor="match-boxing">
            <name>Match Boxing</name>
            <t>The security processing of (Group) OSCORE is agnostic of the value assumed by the CoAP Token and Message ID. Also, (Group) OSCORE can be seamlessly used in the presence of (cross-)proxies that will change the value of the CoAP Token and Message ID on the different communication legs. This does not affect the security processing at the (Group) OSCORE endpoints.</t>
            <t>Before any security processing is performed, the only use that (Group) OSCORE makes of the Token value is on the CoAP client upon receiving a response, in order to retrieve the right Security Context to use for decrypting and verifying the response.</t>
            <t>Even in case the Token value in a CoAP response is manipulated to induce a Request-Response matching at the client, there is no risk for the client to successfully decrypt the response instead of failing as expected. This is because, per <xref section="12.3" sectionFormat="of" target="RFC8613"/>, the OSCORE Master Secret of each OSCORE Security Context is required not only to be secret, but also to have a good amount of randomness.</t>
            <t>Building on that, an HKDF is used to derive the actual encryption keys
from the Master Secret and, optionally, from an additional Master
Salt. Furthermore, for each OSCORE Security Context, the quartet
(Master Secret, Master Salt, ID Context, Sender ID) must be unique. As
per <xref section="3.3" sectionFormat="of" target="RFC8613"/>, this is a hard requirement and
guarantees unique (key, nonce) pairs for the AEAD algorithm used.</t>
            <t>In Group OSCORE, the Security Context extends that of OSCORE, and the same as above holds  (see Sections <xref target="I-D.ietf-core-oscore-groupcomm" section="2" sectionFormat="bare"/>, <xref target="I-D.ietf-core-oscore-groupcomm" section="2.2" sectionFormat="bare"/>, and <xref target="I-D.ietf-core-oscore-groupcomm" section="13.11" sectionFormat="bare"/> of <xref target="I-D.ietf-core-oscore-groupcomm"/>).</t>
            <t>Finally, (Group) OSCORE performs a separate secure match boxing under its own control, by cryptographically binding each protected request with all the corresponding protected responses. This is achieved by means of the COSE external_aad involved during the security processing of protected messages (see <xref section="5.4" sectionFormat="of" target="RFC8613"/> and <xref section="4.4" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>).</t>
          </section>
          <section anchor="underlying-transport">
            <name>Underlying Transport</name>
            <t>The security protocol (Group) OSCORE does not have any requirement on
binding the Security Context in use to specific addressing information used by the transport protocol underlying CoAP. What occurs below (Group) OSCORE with transport-specific addressing information is transparent to (Group) OSCORE, but it needs to work well enough to ensure that received data is delivered to (Group) OSCORE for security processing.</t>
            <t>Consistent with the above, (Group) OSCORE does not interfere with any low-layer, transport specific information. Instead, it entrusts data to a Request-Response exchange mechanism that can rely on different means to enforce the Request-Response matching at the transport level (e.g., the 5-tuple, the CoAP Message ID, a file handle). Also, (Group) OSCORE does not alter the fact that a CoAP response needs to come from where the corresponding CoAP request was sent, which simply follows from using transports where that is a requirement.</t>
            <t>Furthermore, two peers can seamlessly use (Group) OSCORE also in the presence of cross-proxies that change transport across different communication legs. This does not affect the security processing at the (Group) OSCORE endpoints.</t>
            <t>Practically, (Group) OSCORE relies on the underlying CoAP implementation for obtaining received CoAP messages on which to perform the expected security processing.</t>
            <t>Upon receiving a protected message, the recipient endpoint retrieves the OSCORE Security Context to use for decryption based on key identifier information specified in the CoAP OSCORE Option of protected requests, and on the value of the CoAP Token of protected responses.</t>
            <t>In OSCORE, the key identifier information in request messages is
typically limited to a "kid", with a value the OSCORE Sender ID associated with the message sender. In case Sender IDs are not unique among different OSCORE Security Contexts stored by the same peer, it is possible to disambiguate by additionally using a "kid context" identifying the OSCORE Security Context as a whole. Instead, response messages are not required to convey key identifier information, as the client can rely on the Token conveyed in the response for retrieving the Security Context to use (see above).</t>
            <t>In Group OSCORE, the key identifier information in request messages always includes also a "kid context", whose value is used as identifier of the OSCORE group associated with the Security Context to use for security processing of the exchanged message. Response messages are also required to convey a "kid" as key identifier information (i.e., the OSCORE Sender ID associated with the message sender), if the corresponding request was protected with the group mode of Group OSCORE (see <xref section="8" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>) .</t>
            <t>Some particular uses of (Group) OSCORE enable to build OSCORE-based tunneling <xref target="I-D.ietf-core-oscore-capable-proxies"/>. In such a case, a CoAP server might have to enforce that some OSCORE Security Contexts are not just looked up by a "kid" and similar key identifier information from the CoAP OSCORE Option in the incoming request to decrypt. Such a lookup should also rely on the alleged client's address, or on an alternative identifier of the tunnel from which the request came from.</t>
          </section>
          <section anchor="key-update">
            <name>Key Update</name>
            <t>Updating an OSCORE Security Context does not change or interfere with the values of the Token or Message ID used in the exchanged CoAP messages. However, if long-term exchanges are involved (e.g., CoAP Observations <xref target="RFC7641"/>), one has to be careful to ensure that updating the Security Context does not impair the security properties of (Group) OSCORE or result in other security vulnerabilities.</t>
            <t>The following provides more details about key update, separately for OSCORE, KUDOS, and Group OSCORE.</t>
            <ul spacing="normal">
              <li>
                <t>OSCORE: <xref target="RFC8613"/> tacitly assumes that two peers terminate any ongoing CoAP Observation that they still have ongoing, upon installing a new OSCORE Security Context, irrespective of the method used to perform the key update.  </t>
                <t>
On these premises, a belated response protected with the old OSCORE
Security Context will fail decryption, as that Security Context is not available anymore on the receiving client.</t>
              </li>
              <li>
                <t>KUDOS: The key update protocol KUDOS allows the two OSCORE peers to negotiate about preserving their ongoing CoAP Observations across the performed key update. If and only if both peers agree to do that during an execution of KUDOS, their Observations will remain active after installing the new OSCORE Security Context, which the two peers will use from then on to protect their exchanged Observe notifications.  </t>
                <t>
Furthermore, irrespective of the method used to perform a key update, <xref section="3" sectionFormat="of" target="I-D.ietf-core-oscore-key-update"/> updates the security protocol OSCORE <xref target="RFC8613"/> in order to prevent security issues that can arise from misbinding a request and a response, when those are protected with two different OSCORE Security Contexts.  </t>
                <t>
Such an update to the OSCORE protocol requires a server to include its own Sender Sequence Number as Partial IV of an outgoing response, when protecting it with a Security Context different from the one used to protect the corresponding request. An exception safely applies to the response messages that are sent when running the key update procedure defined in <xref section="B.2" sectionFormat="of" target="RFC8613"/>.</t>
              </li>
              <li>
                <t>Group OSCORE: The Group Manager can distribute new group keying material to the members of an OSCORE group, by performing a group rekeying. When receiving updated group keying material from the Group Manager, either upon joining the group or by participating in a group rekeying, a group member uses that material to install a new, commonly shared Group OSCORE Security Context, which replaces the old one (if any is stored).  </t>
                <t>
Also, Group OSCORE makes it possible for group members to safely
preserve their ongoing active requests (e.g., CoAP Observations), also across the establishment of new Group OSCORE Security Contexts. This is achieved by virtue of how the Group Manager assigns and maintains the identifiers of OSCORE groups (see <xref section="3.2.1.1" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>).  </t>
                <t>
Furthermore, analogous to the update that <xref target="I-D.ietf-core-oscore-key-update"/> makes on the OSCORE protocol with respect to protecting responses, Group OSCORE prevents security issues that can arise from misbinding a request and a response, when those are protected with two different Group OSCORE Security Contexts.  </t>
                <t>
In the same way specified in <xref section="3" sectionFormat="of" target="I-D.ietf-core-oscore-key-update"/> for OSCORE, Group OSCORE requires a server to include its own Sender Sequence Number as Partial IV of an outgoing response, when protecting it with a Security Context different from the one used to protect the corresponding request (see Sections <xref target="I-D.ietf-core-oscore-groupcomm" section="8.3" sectionFormat="bare"/> and <xref target="I-D.ietf-core-oscore-groupcomm" section="9.5" sectionFormat="bare"/> of <xref target="I-D.ietf-core-oscore-groupcomm"/>).</t>
              </li>
            </ul>
          </section>
        </section>
        <section anchor="match-boxing-eclipse">
          <name>Eclipse/Californium</name>
          <t>Enhancements may be called for optimizations such as Eclipse/Californium EndpointContextMatcher <xref target="CF-MATCHER"/> might not work properly unless both sides of the communication agree on the extent of the matching boxes. Mechanisms to indicate capabilities and choices selected may need to be defined; also, a way to define the progression of matching boxes needs to be defined that is compatible with the security properties of the underlying protocols. This may require new efforts, to be initiated based on some formative contributions.</t>
          <t>PENDING.</t>
          <t>Relevant starting points for retrieving existing discussion of this
issue include:</t>
          <ul spacing="normal">
            <li>
              <t><eref target="https://mailarchive.ietf.org/arch/msg/core/biDJ8n4w0kBQATzyh9xHlKnGy1o/">https://mailarchive.ietf.org/arch/msg/core/biDJ8n4w0kBQATzyh9xHlKnGy1o/</eref><br/>
("DTLS and Epochs")</t>
            </li>
            <li>
              <t><eref target="https://mailarchive.ietf.org/arch/msg/core/TsyyKIHQ1FJtAvAo0ODNEt2Ileo/">https://mailarchive.ietf.org/arch/msg/core/TsyyKIHQ1FJtAvAo0ODNEt2Ileo/</eref><br/>
("Connection ID")</t>
            </li>
            <li>
              <t><eref target="https://github.com/core-wg/corrclar/issues/9">https://github.com/core-wg/corrclar/issues/9</eref><br/>
("Clarify/revise language around epochs in section 9.1.1 #9")</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="ct">
        <name>RFC 7252-12.3: Content-Format Registry</name>
        <t><xref section="12.3" sectionFormat="of" target="RFC7252"/> established the CoAP Content-Formats
Registry, which maps a combination of an Internet Media Type
with an HTTP Content Coding, collectively called a Content-Format, to
a concise numeric identifier for that Content-Format.
The "Media Type" is more than a Media-Type-Name (see <xref target="RFC9193"/> for an
extensive discussion), i.e., it may contain parameters beyond the mere
combination of a type-name and a subtype-name registered in
<xref target="IANA.media-types"/>, as per <xref target="RFC6838"/>, conventionally identified by
the two names separated by a slash.
This construct is often called a Content Type to reduce the confusion
with a Media-Type-Name (e.g., in <xref section="8.3" sectionFormat="of" target="RFC9110"/>, which then
however also opts to use the term Media Type for the same information set).</t>
        <t>The second column of the Content-Format registry is the Content
Coding, which is defined in <xref section="8.4.1" sectionFormat="of" target="RFC9110"/>.
For historical reasons, the HTTP header field that actually carries
the content coding is called Content-Encoding; this often leads to the
misnaming of Content Coding as "content encoding".</t>
        <t>As has been noted in <xref target="Err4954"/>, the text in <xref section="12.3" sectionFormat="of" target="RFC7252"/>
incorrectly uses these terms in the context of content types and
content coding:</t>
        <ol spacing="normal" type="1"><li>
            <t>The field that describes the Content Type is called "Media Type".
This can lead to the misunderstanding that this column just carries
a Media-Type-Name (such as "<tt>text/plain</tt>"), while it actually also
can carry media type parameters (as in "<tt>text/plain; charset=UTF-8</tt>").</t>
          </li>
          <li>
            <t>The field that describes the Content Coding uses the incorrect name
"Content Encoding".</t>
          </li>
        </ol>
        <dl newline="true">
          <dt>INCORRECT, CORRECTED:</dt>
          <dd>
            <t>The VERIFIED Errata Report <xref target="Err4954"/> corrects the usage of
"Content-Encoding" in the text and changes the name of the first
column of the Content-Format registry to "Content Type" and the name
of the second field to "Content Coding".
This change has been carried out by IANA.</t>
          </dd>
        </dl>
        <t><xref target="Err4954"/> also has some notes on what would be valid or invalid
Content-Format registrations.
These are not repeated here; they are however quite useful as a
reference when preparing additional Content-Format registrations.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document makes no new requests to IANA.</t>
      <t>Individual clarifications may contain IANA considerations; as for
example in <xref target="ct"/>.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This document provides a number of corrections and clarifications to
existing RFCs, but it does not make any changes with regard to the security
aspects of the protocol.  As a consequence, the security
considerations of the referenced RFCs apply without additions.</t>
      <t>(To be changed when that is no longer true; probably the security
considerations will then be on the individual clarifications.)</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC6690">
          <front>
            <title>Constrained RESTful Environments (CoRE) Link Format</title>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
            <date month="August" year="2012"/>
            <abstract>
              <t>This specification defines Web Linking using a link format for use by constrained web servers to describe hosted resources, their attributes, and other relationships between links. Based on the HTTP Link Header field defined in RFC 5988, the Constrained RESTful Environments (CoRE) Link Format is carried as a payload and is assigned an Internet media type. "RESTful" refers to the Representational State Transfer (REST) architecture. A well-known URI is defined as a default entry point for requesting the links hosted by a server. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6690"/>
          <seriesInfo name="DOI" value="10.17487/RFC6690"/>
        </reference>
        <reference anchor="RFC7252">
          <front>
            <title>The Constrained Application Protocol (CoAP)</title>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
            <author fullname="K. Hartke" initials="K." surname="Hartke"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2014"/>
            <abstract>
              <t>The Constrained Application Protocol (CoAP) is a specialized web transfer protocol for use with constrained nodes and constrained (e.g., low-power, lossy) networks. The nodes often have 8-bit microcontrollers with small amounts of ROM and RAM, while constrained networks such as IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs) often have high packet error rates and a typical throughput of 10s of kbit/s. The protocol is designed for machine- to-machine (M2M) applications such as smart energy and building automation.</t>
              <t>CoAP provides a request/response interaction model between application endpoints, supports built-in discovery of services and resources, and includes key concepts of the Web such as URIs and Internet media types. CoAP is designed to easily interface with HTTP for integration with the Web while meeting specialized requirements such as multicast support, very low overhead, and simplicity for constrained environments.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7252"/>
          <seriesInfo name="DOI" value="10.17487/RFC7252"/>
        </reference>
        <reference anchor="RFC7641">
          <front>
            <title>Observing Resources in the Constrained Application Protocol (CoAP)</title>
            <author fullname="K. Hartke" initials="K." surname="Hartke"/>
            <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="RFC7959">
          <front>
            <title>Block-Wise Transfers in the Constrained Application Protocol (CoAP)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="Z. Shelby" initials="Z." role="editor" surname="Shelby"/>
            <date month="August" year="2016"/>
            <abstract>
              <t>The Constrained Application Protocol (CoAP) is a RESTful transfer protocol for constrained nodes and networks. Basic CoAP messages work well for small payloads from sensors and actuators; however, applications will need to transfer larger payloads occasionally -- for instance, for firmware updates. In contrast to HTTP, where TCP does the grunt work of segmenting and resequencing, CoAP is based on datagram transports such as UDP or Datagram Transport Layer Security (DTLS). These transports only offer fragmentation, which is even more problematic in constrained nodes and networks, limiting the maximum size of resource representations that can practically be transferred.</t>
              <t>Instead of relying on IP fragmentation, this specification extends basic CoAP with a pair of "Block" options for transferring multiple blocks of information from a resource representation in multiple request-response pairs. In many important cases, the Block options enable a server to be truly stateless: the server can handle each block transfer separately, with no need for a connection setup or other server-side memory of previous block transfers. Essentially, the Block options provide a minimal way to transfer larger representations in a block-wise fashion.</t>
              <t>A CoAP implementation that does not support these options generally is limited in the size of the representations that can be exchanged, so there is an expectation that the Block options will be widely used in CoAP implementations. Therefore, this specification updates RFC 7252.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7959"/>
          <seriesInfo name="DOI" value="10.17487/RFC7959"/>
        </reference>
        <reference anchor="RFC8132">
          <front>
            <title>PATCH and FETCH Methods for the Constrained Application Protocol (CoAP)</title>
            <author fullname="P. van der Stok" initials="P." surname="van der Stok"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="A. Sehgal" initials="A." surname="Sehgal"/>
            <date month="April" year="2017"/>
            <abstract>
              <t>The methods defined in RFC 7252 for the Constrained Application Protocol (CoAP) only allow access to a complete resource, not to parts of a resource. In case of resources with larger or complex data, or in situations where resource continuity is required, replacing or requesting the whole resource is undesirable. Several applications using CoAP need to access parts of the resources.</t>
              <t>This specification defines the new CoAP methods, FETCH, PATCH, and iPATCH, which are used to access and update parts of a resource.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8132"/>
          <seriesInfo name="DOI" value="10.17487/RFC8132"/>
        </reference>
        <reference anchor="RFC8323">
          <front>
            <title>CoAP (Constrained Application Protocol) over TCP, TLS, and WebSockets</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="S. Lemay" initials="S." surname="Lemay"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="K. Hartke" initials="K." surname="Hartke"/>
            <author fullname="B. Silverajan" initials="B." surname="Silverajan"/>
            <author fullname="B. Raymor" initials="B." role="editor" surname="Raymor"/>
            <date month="February" year="2018"/>
            <abstract>
              <t>The Constrained Application Protocol (CoAP), although inspired by HTTP, was designed to use UDP instead of TCP. The message layer of CoAP over UDP includes support for reliable delivery, simple congestion control, and flow control.</t>
              <t>Some environments benefit from the availability of CoAP carried over reliable transports such as TCP or Transport Layer Security (TLS). This document outlines the changes required to use CoAP over TCP, TLS, and WebSockets transports. It also formally updates RFC 7641 for use with these transports and RFC 7959 to enable the use of larger messages over a reliable transport.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8323"/>
          <seriesInfo name="DOI" value="10.17487/RFC8323"/>
        </reference>
        <reference anchor="RFC8613">
          <front>
            <title>Object Security for Constrained RESTful Environments (OSCORE)</title>
            <author fullname="G. Selander" initials="G." surname="Selander"/>
            <author fullname="J. Mattsson" initials="J." surname="Mattsson"/>
            <author fullname="F. Palombini" initials="F." surname="Palombini"/>
            <author fullname="L. Seitz" initials="L." surname="Seitz"/>
            <date month="July" year="2019"/>
            <abstract>
              <t>This document defines Object Security for Constrained RESTful Environments (OSCORE), a method for application-layer protection of the Constrained Application Protocol (CoAP), using CBOR Object Signing and Encryption (COSE). OSCORE provides end-to-end protection between endpoints communicating using CoAP or CoAP-mappable HTTP. OSCORE is designed for constrained nodes and networks supporting a range of proxy operations, including translation between different transport protocols.</t>
              <t>Although an optional functionality of CoAP, OSCORE alters CoAP options processing and IANA registration. Therefore, this document updates RFC 7252.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8613"/>
          <seriesInfo name="DOI" value="10.17487/RFC8613"/>
        </reference>
        <reference anchor="RFC9052">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines 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>
              <t>This document, along with RFC 9053, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="96"/>
          <seriesInfo name="RFC" value="9052"/>
          <seriesInfo name="DOI" value="10.17487/RFC9052"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC8516">
          <front>
            <title>"Too Many Requests" Response Code for the Constrained Application Protocol</title>
            <author fullname="A. Keranen" initials="A." surname="Keranen"/>
            <date month="January" year="2019"/>
            <abstract>
              <t>A Constrained Application Protocol (CoAP) server can experience temporary overload because one or more clients are sending requests to the server at a higher rate than the server is capable or willing to handle. This document defines a new CoAP response code for a server to indicate that a client should reduce the rate of requests.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8516"/>
          <seriesInfo name="DOI" value="10.17487/RFC8516"/>
        </reference>
        <reference anchor="I-D.bormann-core-responses">
          <front>
            <title>CoAP: Non-traditional response forms</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <author fullname="Christian Amsüss" initials="C." surname="Amsüss">
         </author>
            <date day="1" month="September" year="2024"/>
            <abstract>
              <t>   In CoAP as defined by RFC 7252, responses are always unicast back to
   a client that posed a request.  The present memo describes two forms
   of responses that go beyond that model.  These descriptions are not
   intended as advocacy for adopting these approaches immediately, they
   are provided to point out potential avenues for development that
   would have to be carefully evaluated.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-bormann-core-responses-03"/>
        </reference>
        <reference anchor="RFC3986">
          <front>
            <title>Uniform Resource Identifier (URI): Generic Syntax</title>
            <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
            <author fullname="R. Fielding" initials="R." surname="Fielding"/>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <date month="January" year="2005"/>
            <abstract>
              <t>A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet. The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier. This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="66"/>
          <seriesInfo name="RFC" value="3986"/>
          <seriesInfo name="DOI" value="10.17487/RFC3986"/>
        </reference>
        <reference anchor="Err4895" target="https://www.rfc-editor.org/errata/eid4895" quoteTitle="false">
          <front>
            <title>RFC Errata Report 4895</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
          <seriesInfo name="RFC" value="7252"/>
        </reference>
        <reference anchor="Err4954" target="https://www.rfc-editor.org/errata/eid4954" quoteTitle="false">
          <front>
            <title>RFC Errata Report 4954</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
          <seriesInfo name="RFC" value="7252"/>
        </reference>
        <reference anchor="Err5078" target="https://www.rfc-editor.org/errata/eid5078" quoteTitle="false">
          <front>
            <title>RFC Errata Report 5078</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
          <seriesInfo name="RFC" value="7252"/>
        </reference>
        <reference anchor="I-D.ietf-core-oscore-key-update">
          <front>
            <title>Key Update for OSCORE (KUDOS)</title>
            <author fullname="Rikard Höglund" initials="R." surname="Höglund">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Marco Tiloca" initials="M." surname="Tiloca">
              <organization>RISE AB</organization>
            </author>
            <date day="8" month="July" year="2024"/>
            <abstract>
              <t>   This document defines Key Update for OSCORE (KUDOS), a lightweight
   procedure that two CoAP endpoints can use to update their keying
   material by establishing a new OSCORE Security Context.  Accordingly,
   it updates the use of the OSCORE flag bits in the CoAP OSCORE Option
   as well as the protection of CoAP response messages with OSCORE, and
   it deprecates the key update procedure specified in Appendix B.2 of
   RFC 8613.  Thus, this document updates RFC 8613.  Also, this document
   defines a procedure that two endpoints can use to update their OSCORE
   identifiers, run either stand-alone or during a KUDOS execution.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-core-oscore-key-update-08"/>
        </reference>
        <reference anchor="I-D.ietf-core-groupcomm-bis">
          <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="24" month="April" year="2024"/>
            <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 and obsoletes RFC 7390, while it updates RFC 7252
   and RFC 7641.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-core-groupcomm-bis-11"/>
        </reference>
        <reference anchor="I-D.ietf-core-oscore-groupcomm">
          <front>
            <title>Group Object Security for Constrained RESTful Environments (Group OSCORE)</title>
            <author fullname="Marco Tiloca" initials="M." surname="Tiloca">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Göran Selander" initials="G." surname="Selander">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Francesca Palombini" initials="F." surname="Palombini">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="John Preuß Mattsson" initials="J. P." surname="Mattsson">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Rikard Höglund" initials="R." surname="Höglund">
              <organization>RISE AB</organization>
            </author>
            <date day="28" month="August" year="2024"/>
            <abstract>
              <t>   This document defines the security protocol Group Object Security for
   Constrained RESTful Environments (Group OSCORE), providing end-to-end
   security of CoAP messages exchanged between members of a group, e.g.,
   sent over IP multicast.  In particular, the described protocol
   defines how OSCORE is used in a group communication setting to
   provide source authentication for CoAP group requests, sent by a
   client to multiple servers, and for protection of the corresponding
   CoAP responses.  Group OSCORE also defines a pairwise mode where each
   member of the group can efficiently derive a symmetric pairwise key
   with any other member of the group for pairwise OSCORE communication.
   Group OSCORE can be used between endpoints communicating with CoAP or
   CoAP-mappable HTTP.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-core-oscore-groupcomm-22"/>
        </reference>
        <reference anchor="I-D.ietf-core-oscore-capable-proxies">
          <front>
            <title>OSCORE-capable Proxies</title>
            <author fullname="Marco Tiloca" initials="M." surname="Tiloca">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Rikard Höglund" initials="R." surname="Höglund">
              <organization>RISE AB</organization>
            </author>
            <date day="8" month="July" year="2024"/>
            <abstract>
              <t>   Object Security for Constrained RESTful Environments (OSCORE) can be
   used to protect CoAP messages end-to-end between two endpoints at the
   application layer, also in the presence of intermediaries such as
   proxies.  This document defines how to use OSCORE for protecting CoAP
   messages also between an origin application endpoint and an
   intermediary, or between two intermediaries.  Also, it defines rules
   to escalate the protection of a CoAP option, in order to encrypt and
   integrity-protect it whenever possible.  Finally, it defines how to
   secure a CoAP message by applying multiple, nested OSCORE
   protections, e.g., both end-to-end between origin application
   endpoints, and between an application endpoint and an intermediary or
   between two intermediaries.  Therefore, this document updates RFC
   8613.  Furthermore, this document updates RFC 8768, by explicitly
   defining the processing with OSCORE for the CoAP option Hop-Limit.
   The approach defined in this document can be seamlessly used with
   Group OSCORE, for protecting CoAP messages when group communication
   is used in the presence of intermediaries.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-core-oscore-capable-proxies-02"/>
        </reference>
        <reference anchor="CF-MATCHER" target="https://github.com/eclipse-californium/californium/blob/main/element-connector/src/main/java/org/eclipse/californium/elements/EndpointContextMatcher.java">
          <front>
            <title>EndpointContextMatcher.java</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="RFC9146">
          <front>
            <title>Connection Identifier for DTLS 1.2</title>
            <author fullname="E. Rescorla" initials="E." role="editor" surname="Rescorla"/>
            <author fullname="H. Tschofenig" initials="H." role="editor" surname="Tschofenig"/>
            <author fullname="T. Fossati" initials="T." surname="Fossati"/>
            <author fullname="A. Kraus" initials="A." surname="Kraus"/>
            <date month="March" year="2022"/>
            <abstract>
              <t>This document specifies the Connection ID (CID) construct for the Datagram Transport Layer Security (DTLS) protocol version 1.2.</t>
              <t>A CID is an identifier carried in the record layer header that gives the recipient additional information for selecting the appropriate security association. In "classical" DTLS, selecting a security association of an incoming DTLS record is accomplished with the help of the 5-tuple. If the source IP address and/or source port changes during the lifetime of an ongoing DTLS session, then the receiver will be unable to locate the correct security context.</t>
              <t>The new ciphertext record format with the CID also provides content type encryption and record layer padding.</t>
              <t>This document updates RFC 6347.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9146"/>
          <seriesInfo name="DOI" value="10.17487/RFC9146"/>
        </reference>
        <reference anchor="RFC9110">
          <front>
            <title>HTTP Semantics</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document describes the overall architecture of HTTP, establishes common terminology, and defines aspects of the protocol that are shared by all versions. In this definition are core protocol elements, extensibility mechanisms, and the "http" and "https" Uniform Resource Identifier (URI) schemes.</t>
              <t>This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="97"/>
          <seriesInfo name="RFC" value="9110"/>
          <seriesInfo name="DOI" value="10.17487/RFC9110"/>
        </reference>
        <reference anchor="RFC7230">
          <front>
            <title>Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
            <date month="June" year="2014"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document provides an overview of HTTP architecture and its associated terminology, defines the "http" and "https" Uniform Resource Identifier (URI) schemes, defines the HTTP/1.1 message syntax and parsing requirements, and describes related security concerns for implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7230"/>
          <seriesInfo name="DOI" value="10.17487/RFC7230"/>
        </reference>
        <reference anchor="RFC9148">
          <front>
            <title>EST-coaps: Enrollment over Secure Transport with the Secure Constrained Application Protocol</title>
            <author fullname="P. van der Stok" initials="P." surname="van der Stok"/>
            <author fullname="P. Kampanakis" initials="P." surname="Kampanakis"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="S. Raza" initials="S." surname="Raza"/>
            <date month="April" year="2022"/>
            <abstract>
              <t>Enrollment over Secure Transport (EST) is used as a certificate provisioning protocol over HTTPS. Low-resource devices often use the lightweight Constrained Application Protocol (CoAP) for message exchanges. This document defines how to transport EST payloads over secure CoAP (EST-coaps), which allows constrained devices to use existing EST functionality for provisioning certificates.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9148"/>
          <seriesInfo name="DOI" value="10.17487/RFC9148"/>
        </reference>
        <reference anchor="RFC9176">
          <front>
            <title>Constrained RESTful Environments (CoRE) Resource Directory</title>
            <author fullname="C. Amsüss" initials="C." role="editor" surname="Amsüss"/>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
            <author fullname="M. Koster" initials="M." surname="Koster"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="P. van der Stok" initials="P." surname="van der Stok"/>
            <date month="April" year="2022"/>
            <abstract>
              <t>In many Internet of Things (IoT) applications, direct discovery of resources is not practical due to sleeping nodes or networks where multicast traffic is inefficient. These problems can be solved by employing an entity called a Resource Directory (RD), which contains information about resources held on other servers, allowing lookups to be performed for those resources. The input to an RD is composed of links, and the output is composed of links constructed from the information stored in the RD. This document specifies the web interfaces that an RD supports for web servers to discover the RD and to register, maintain, look up, and remove information on resources. Furthermore, new target attributes useful in conjunction with an RD are defined.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9176"/>
          <seriesInfo name="DOI" value="10.17487/RFC9176"/>
        </reference>
        <reference anchor="RFC9006">
          <front>
            <title>TCP Usage Guidance in the Internet of Things (IoT)</title>
            <author fullname="C. Gomez" initials="C." surname="Gomez"/>
            <author fullname="J. Crowcroft" initials="J." surname="Crowcroft"/>
            <author fullname="M. Scharf" initials="M." surname="Scharf"/>
            <date month="March" year="2021"/>
            <abstract>
              <t>This document provides guidance on how to implement and use the Transmission Control Protocol (TCP) in Constrained-Node Networks (CNNs), which are a characteristic of the Internet of Things (IoT). Such environments require a lightweight TCP implementation and may not make use of optional functionality. This document explains a number of known and deployed techniques to simplify a TCP stack as well as corresponding trade-offs. The objective is to help embedded developers with decisions on which TCP features to use.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9006"/>
          <seriesInfo name="DOI" value="10.17487/RFC9006"/>
        </reference>
        <reference anchor="RFC9193">
          <front>
            <title>Sensor Measurement Lists (SenML) Fields for Indicating Data Value Content-Format</title>
            <author fullname="A. Keränen" initials="A." surname="Keränen"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The Sensor Measurement Lists (SenML) media types support multiple types of values, from numbers to text strings and arbitrary binary Data Values. In order to facilitate processing of binary Data Values, this document specifies a pair of new SenML fields for indicating the content format of those binary Data Values, i.e., their Internet media type, including parameters as well as any content codings applied.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9193"/>
          <seriesInfo name="DOI" value="10.17487/RFC9193"/>
        </reference>
        <reference anchor="IANA.media-types" target="https://www.iana.org/assignments/media-types">
          <front>
            <title>Media Types</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="RFC6838">
          <front>
            <title>Media Type Specifications and Registration Procedures</title>
            <author fullname="N. Freed" initials="N." surname="Freed"/>
            <author fullname="J. Klensin" initials="J." surname="Klensin"/>
            <author fullname="T. Hansen" initials="T." surname="Hansen"/>
            <date month="January" year="2013"/>
            <abstract>
              <t>This document defines procedures for the specification and registration of media types for use in HTTP, MIME, and other Internet protocols. This memo documents an Internet Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="13"/>
          <seriesInfo name="RFC" value="6838"/>
          <seriesInfo name="DOI" value="10.17487/RFC6838"/>
        </reference>
      </references>
    </references>
    <?line 573?>

<section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>The present document is modeled after RFC 4815 and the Internet-Drafts
of the ROHC WG that led to it.  Many thanks to the co-chairs of the
ROHC WG and WG members that made this a worthwhile and successful
experiment at the time.</t>
      <!--  LocalWords:  interoperate invalidations retransmitted ROHC
 -->
<!--  LocalWords:  suboptimal
 -->

</section>
  </back>
  <!-- ##markdown-source:
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
+Na5j7SnRKXpi02jhFMN+ZH/A9Ll3lu2eQAA

-->

</rfc>
