<?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.40 (Ruby 3.3.8) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-tiloca-core-oscore-discovery-20" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="OSCORE group discovery with the CoRE RD">Discovery of OSCORE Groups with the CoRE Resource Directory</title>
    <seriesInfo name="Internet-Draft" value="draft-tiloca-core-oscore-discovery-20"/>
    <author initials="M." surname="Tiloca" fullname="Marco Tiloca">
      <organization>RISE AB</organization>
      <address>
        <postal>
          <street>Isafjordsgatan 22</street>
          <city>Kista</city>
          <code>164 40</code>
          <country>Sweden</country>
        </postal>
        <email>marco.tiloca@ri.se</email>
      </address>
    </author>
    <author initials="C." surname="Amsüss" fullname="Christian Amsüss">
      <organization/>
      <address>
        <postal>
          <street>Hollandstr. 12/4</street>
          <city>Vienna</city>
          <code>1020</code>
          <country>Austria</country>
        </postal>
        <email>christian@amsuess.com</email>
      </address>
    </author>
    <author initials="P." surname="van der Stok" fullname="Peter van der Stok">
      <organization/>
      <address>
        <email>stokcons@kpnmail.nl</email>
      </address>
    </author>
    <date year="2026" month="September" day="02"/>
    <area>Web and Internet Transport</area>
    <workgroup>CoRE Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 136?>

<t>Group communication over the Constrained Application Protocol (CoAP) can be secured by means of Group Object Security for Constrained RESTful Environments (Group OSCORE). At deployment time, devices might not know the exact security groups to join, the respective Group Managers responsible for those groups, or other information required to perform the joining process. This document defines how a CoAP endpoint can use descriptions and links of resources registered at the CoRE Resource Directory to discover security groups and to acquire information for joining them through the respective Group Managers. A given security group can be used to protect communications in multiple application groups, which are separately announced in the Resource Directory as sets of endpoints sharing a pool of resources. This approach is consistent with, but not limited to, the joining of security groups based on the Authentication and Authorization for Constrained Environments (ACE) framework.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
  Constrained RESTful Environments Working Group mailing list (core@ietf.org),
  which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/core/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
  <eref target="https://gitlab.com/crimson84/draft-tiloca-core-oscore-discovery"/>.</t>
    </note>
  </front>
  <middle>
    <?line 140?>

<section anchor="intro">
      <name>Introduction</name>
      <t>The Constrained Application Protocol (CoAP) <xref target="RFC7252"/> supports group communication <xref target="I-D.ietf-core-groupcomm-bis"/>, e.g., over IP multicast, to improve efficiency and latency of communication and reduce bandwidth requirements. A set of CoAP endpoints constitutes an application group by sharing a common pool of resources that can be efficiently accessed through group communication. The members of an application group can be members of a security group, thus sharing a common set of keying material to secure group communication.</t>
      <t>The security protocol Group Object Security for Constrained RESTful Environments (Group OSCORE) <xref target="I-D.ietf-core-oscore-groupcomm"/> builds on OSCORE <xref target="RFC8613"/> and protects CoAP messages end-to-end in group communication scenarios through CBOR Object Signing and Encryption (COSE) <xref target="RFC9052"/><xref target="RFC9053"/>. An application group can rely on one or more security groups. Also, a security group can be used by multiple application groups at the same time.</t>
      <t>A CoAP endpoint relies on a Group Manager (GM) to join a security group and obtain the corresponding group keying material. The joining process specified in <xref target="I-D.ietf-ace-key-groupcomm-oscore"/> is based on the Authentication and Authorization for Constrained Environments (ACE) framework <xref target="RFC9200"/>, with the joining endpoint and the GM acting as ACE client and resource server, respectively. That is, the joining endpoint accesses the group-membership resource hosted at the GM and associated with the security group to join.</t>
      <t>Typically, devices store a static X.509 IDevID certificate installed at manufacturing time <xref target="RFC8995"/>. This is used at deployment time during an enrollment process that provides the devices with an Operational Certificate, possibly updated during the device lifetime. Operational Certificates may specify information to join security groups, especially a reference to the group-membership resources to access at the respective GMs.</t>
      <t>However, it is usually impossible to provide such precise information to freshly deployed devices, as part of their (early) Operational Certificate. This can be due to a number of reasons:</t>
      <ul spacing="normal">
        <li>
          <t>The security group(s) to join and the responsible GM(s) are generally unknown at manufacturing time.</t>
        </li>
        <li>
          <t>A security group of interest is created, or the responsible GM is deployed, only after the device is enrolled and fully operative in the network.</t>
        </li>
        <li>
          <t>Information related to existing security groups or to their GMs has changed.</t>
        </li>
      </ul>
      <t>This requires a method for CoAP endpoints to dynamically discover security groups and their GM and to retrieve relevant information about deployed groups.</t>
      <t>To this end, CoAP endpoints can use descriptions and links of group-membership resources at GMs, in order to discover security groups and retrieve the information required for joining them. With the discovery process of security groups expressed in terms of links to resources, the remaining problem is the discovery of those links. The CoRE Resource Directory (RD) <xref target="RFC9176"/> makes it possible to perform such discovery in an efficient way and it is expected to be used in many setups that would benefit of security group discovery.</t>
      <t>This document builds on that approach and defines how CoAP endpoints can use the RD to perform the link discovery steps, in order to discover security groups and retrieve the information required to join them through their GM. In short, the GM registers as an endpoint with the RD. The resulting registration resource includes one link per security group under that GM, specifying the path to the related group-membership resource to access for joining that group.</t>
      <t>Additional descriptive information about the security group is stored with the registered link. In an RD based on the Constrained RESTful Environments (CoRE) Link Format <xref target="RFC6690"/> as defined in <xref target="RFC9176"/>, this information is specified as target attributes of the registered link and includes the identifiers of the application groups that use that security group. This enables a lookup of those application groups at the RD, where they are separately announced by a Commissioning Tool (see <xref section="A" sectionFormat="of" target="RFC9176"/>).</t>
      <t>When querying the RD for security groups, a CoAP endpoint can use CoAP observation <xref target="RFC7641"/>. This results in automatic notifications on the creation of new security groups or on the update of existing groups. Thus, it facilitates the early deployment of CoAP endpoints, i.e., even before the GM is deployed and security groups are created.</t>
      <t>Interaction examples are provided in the CoRE Link Format with reference to the RD defined in <xref target="RFC9176"/> as well as in the Constrained RESTful Application Language CoRAL <xref target="I-D.ietf-core-coral"/> with reference to a CoRAL-based RD such as the one defined in <xref target="I-D.hartke-t2trg-coral-reef"/>.</t>
      <t>The examples in CoRAL are expressed in the Concise Binary Object Representation (CBOR) extended diagnostic notation as defined in <xref section="8" sectionFormat="of" target="RFC8949"/> and <xref section="G" sectionFormat="of" target="RFC8610"/> ("diagnostic notation"), and they refer to values from external dictionaries using Packed CBOR <xref target="I-D.ietf-cbor-packed"/>. Diagnostic notation comments are often used to provide a textual representation of the numeric parameter names and values. <xref target="sec-coral-examples-notation"/> introduces the notation and assumptions used in the CoRAL examples.</t>
      <t>The approach defined in this document is consistent with, but not limited to, the joining of security groups defined in <xref target="I-D.ietf-ace-key-groupcomm-oscore"/>.</t>
      <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>Readers are expected to be familiar with the terms and concepts from the following specifications.</t>
        <ul spacing="normal">
          <li>
            <t>The CoRE Link Format <xref target="RFC6690"/> and the CoRE Resource Directory <xref target="RFC9176"/>.</t>
          </li>
          <li>
            <t>The Constrained RESTful Application Language (CoRAL) <xref target="I-D.ietf-core-coral"/> and Constrained Resource Identifiers (CRIs) <xref target="I-D.ietf-core-href"/>.</t>
          </li>
          <li>
            <t>CBOR <xref target="RFC8949"/> and Packed CBOR <xref target="I-D.ietf-cbor-packed"/>.</t>
          </li>
          <li>
            <t>CoAP <xref target="RFC7252"/>, also in group communication scenarios <xref target="I-D.ietf-core-groupcomm-bis"/>.</t>
          </li>
          <li>
            <t>The security protocol Group Object Security for Constrained RESTful Environments (Group OSCORE) <xref target="I-D.ietf-core-oscore-groupcomm"/> and the joining of security groups defined in <xref target="I-D.ietf-ace-key-groupcomm-oscore"/>.</t>
          </li>
        </ul>
        <t>Consistent with the definitions from <xref section="2.1" sectionFormat="of" target="I-D.ietf-core-groupcomm-bis"/>, this document also refers to the following terminology.</t>
        <ul spacing="normal">
          <li>
            <t>CoAP group: a set of CoAP endpoints that are all configured to receive CoAP multicast messages sent to the group's associated IP multicast address and UDP port number. An endpoint can be a member of multiple CoAP groups by subscribing to multiple IP multicast addresses.</t>
          </li>
          <li>
            <t>Security group: a set of CoAP endpoints that share the same security material and use it to protect and verify exchanged messages. A CoAP endpoint can be a member of multiple security groups. Between security groups and CoAP groups, there can be a many-to-many, one-to-many, many-to-one, or one-to-one relationship.  </t>
            <t>
This document especially considers a security group to be an OSCORE group, i.e., all members share one Group OSCORE Security Context to protect group communication with Group OSCORE <xref target="I-D.ietf-core-oscore-groupcomm"/>. However, the approach defined in this document can be used to support the discovery of different security groups than OSCORE groups.</t>
          </li>
          <li>
            <t>Application group: a set of CoAP endpoints that share a common set of resources. An endpoint can be a member of multiple application groups. Between application groups and security groups, there can be a many-to-many, one-to-many, many-to-one, or one-to-one relationship. Application groups are announced in the RD by a Commissioning Tool, according to the RD-Groups usage pattern (see <xref section="A" sectionFormat="of" target="RFC9176"/>).</t>
          </li>
        </ul>
        <t>Like <xref target="I-D.ietf-core-oscore-groupcomm"/>, this document also uses the following term.</t>
        <ul spacing="normal">
          <li>
            <t>Authentication credential: information associated with an entity, including that entity's public key and parameters associated with the public key. Examples of formats of authentication credentials are CBOR Web Tokens (CWTs) and CWT Claims Sets (CCSs) <xref target="RFC8392"/>, X.509 certificates <xref target="RFC5280"/>, and C509 certificates <xref target="I-D.ietf-cose-cbor-encoded-cert"/>.</t>
          </li>
        </ul>
        <t>Terminology for constrained environments is defined in <xref target="I-D.ietf-iotops-7228bis"/>.</t>
      </section>
      <section anchor="sec-coral-examples-notation">
        <name>Notation and Assumptions in the CoRAL Examples</name>
        <t>As per <xref section="2.4" sectionFormat="of" target="I-D.ietf-core-coral"/>, CoRAL expresses Uniform Resource Identifiers (URIs) <xref target="RFC3986"/> as Constrained Resource Identifier (CRI) references <xref target="I-D.ietf-core-href"/>.</t>
        <t>Throughout this document, the examples in CoRAL use the following notation.</t>
        <t>When using the CURIE syntax <xref target="CURIE-20101216"/>, the following applies:</t>
        <ul spacing="normal">
          <li>
            <t>'linkformat' stands for http://www.iana.org/assignments/linkformat/  </t>
            <t>
This URI is to be defined with IANA, together with other URIs that build on it through further path segments, e.g., http://www.iana.org/assignments/linkformat/rt</t>
          </li>
          <li>
            <t>'rel' stands for http://www.iana.org/assignments/relation/  </t>
            <t>
This URI is to be defined with IANA, together with other URIs that build on it through further path segments, e.g., http://www.iana.org/assignments/relation/hosts</t>
          </li>
          <li>
            <t>'reef' stands for http://coreapps.org/reef</t>
          </li>
        </ul>
        <t>When using a URI http://www.iana.org/assignments/linkformat/SEG1/SEG2</t>
        <ul spacing="normal">
          <li>
            <t>The path segment SEG1 is the name of a web link target attribute.  </t>
            <t>
Names of target attributes used in the CoRE Link Format <xref target="RFC6690"/> are expected to be coordinated through the "Target Attributes" registry <xref target="IANA.Target.Attributes"/> defined in <xref target="RFC9423"/>.</t>
          </li>
          <li>
            <t>The path segment SEG2 is the value of the target attribute indicated by the path segment SEG1.</t>
          </li>
        </ul>
        <t>When using a URI http://www.iana.org/assignments/relation/SEG , the path segment SEG denotes a Web Linking relation type <xref target="RFC8288"/>.</t>
        <t>The application-extension identifier "cri" defined in <xref section="3.7" sectionFormat="of" target="I-D.ietf-cbor-edn-literals"/> is used to notate a Concise Diagnostic Notation (CDN) literal for a CRI or CRI reference. This format is not expected to be sent over the network.</t>
        <t>Packed CBOR <xref target="I-D.ietf-cbor-packed"/> is also used, thus reducing representation size. The examples especially refer to the values from the three shared item tables in <xref target="sec-packed-cbor-tables"/>.</t>
        <t>Finally, the examples use the CoAP Content-Format ID 65087 for the media type "application/coral+cbor" defined in <xref target="I-D.ietf-core-coral"/>.</t>
      </section>
    </section>
    <section anchor="sec-GM-registration">
      <name>Registration of Group Manager Endpoints</name>
      <t>During deployment, a Group Manager (GM) can find the CoRE Resource Directory (RD) as described in <xref section="4" sectionFormat="of" target="RFC9176"/>.</t>
      <t>Afterwards, the GM registers as an endpoint with the RD, as described in <xref section="5" sectionFormat="of" target="RFC9176"/>. The GM <bcp14>SHOULD NOT</bcp14> use the Simple Registration approach described in <xref section="5.1" sectionFormat="of" target="RFC9176"/>.</t>
      <t>When registering with the RD, the GM also registers the links to all the group-membership resources that it has at that point in time, i.e., one for each of its security groups.</t>
      <t>In the registration request, each link to a group-membership resource has as target the URI of that resource at the GM. Also, it specifies a number of descriptive parameters as defined in <xref target="ssec-parameters"/>.</t>
      <t>Furthermore, the GM <bcp14>MAY</bcp14> additionally register the link to its resource implementing the ACE authorization information endpoint (see <xref section="5.10.1" sectionFormat="of" target="RFC9200"/>). A joining node can provide the GM with its own access token by sending it in a request targeting that resource, thus proving to be authorized to join certain security groups (see <xref section="6.1" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>). In such a case, the link <bcp14>MUST</bcp14> include the parameter 'rt', with value "ace.ai" (see <xref section="8.2" sectionFormat="of" target="RFC9200"/>).</t>
      <section anchor="ssec-parameters">
        <name>Parameters</name>
        <t>For each registered link to a group-membership resource at a GM, the following parameters are specified together with the link.</t>
        <t>In the RD defined in <xref target="RFC9176"/> and based on the CoRE Link Format, each parameter is specified in a target attribute with the same name.</t>
        <t>In an RD based on CoRAL, such as the one defined in <xref target="I-D.hartke-t2trg-coral-reef"/>, each parameter is specified in a nested element with the same name.</t>
        <ul spacing="normal">
          <li>
            <t>'ct', specifying 261 as the ID of the CoAP Content-Format used for interactions with the group-membership resource at the Group Manager. This is associated with the media type "application/ace-groupcomm+cbor" and is registered in <xref section="11.2" sectionFormat="of" target="RFC9594"/>.</t>
          </li>
          <li>
            <t>'rt', specifying the resource type of the group-membership resource at the Group Manager, with value "core.osc.gm" registered in <xref section="17.10" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>.</t>
          </li>
          <li>
            <t>'if', specifying the interface description for accessing the group-membership resource at the Group Manager, with value "ace.group" registered in <xref section="11.5" sectionFormat="of" target="RFC9594"/>.</t>
          </li>
          <li>
            <t>'sec-gp', specifying the name of the security group of interest as a stable and invariant identifier, such as the group name used in <xref target="I-D.ietf-ace-key-groupcomm-oscore"/>. This parameter <bcp14>MUST</bcp14> specify a single value.</t>
          </li>
          <li>
            <t>'app-gp', specifying the name of an application group associated with the security group of interest indicated by 'sec-gp'. This parameter <bcp14>MUST</bcp14> occur once for each application group associated with the security group, and each occurrence <bcp14>MUST</bcp14> specify only a single application group.  </t>
            <t>
When a security group is created at the GM, the names of the application groups using it are also specified as part of the security group configuration (see <xref target="I-D.ietf-ace-oscore-gm-admin"/> and <xref target="I-D.ietf-ace-oscore-gm-admin-coral"/>). Thus, when registering the links to its group-membership resource, the GM is aware of those application groups and their names.  </t>
            <t>
If a different entity than the GM registers the security groups to the RD (e.g., a Commissioning Tool), this entity has to also be aware of the application groups and their names to specify. To this end, it can obtain them from the GM or from the Administrator that created the security groups at the GM (see <xref target="I-D.ietf-ace-oscore-gm-admin"/> and <xref target="I-D.ietf-ace-oscore-gm-admin-coral"/>).</t>
          </li>
        </ul>
        <t>Optionally, the following parameters can also be specified. If the CoRE Link Format is used, the value of each of these parameters is encoded as a text string.</t>
        <ul spacing="normal">
          <li>
            <t>'hkdf', specifying the HKDF algorithm used in the security group, e.g., aligned with the parameter HKDF Algorithm in the Group OSCORE Security Context (see <xref section="2" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>). If present, this parameter <bcp14>MUST</bcp14> specify a single value. The HKDF Algorithm is specified by the HMAC Algorithm value, which is taken from the 'Value' column of the "COSE Algorithms" registry <xref target="IANA.COSE.Algorithms"/>. For example, the HKDF Algorithm HKDF SHA-256 is specified as the HMAC Algorithm HMAC 256/256.</t>
          </li>
          <li>
            <t>'cred-fmt', specifying the format of the authentication credentials used in the security group, e.g., aligned with the parameter Authentication Credential Format in the Group OSCORE Security Context (see <xref section="2" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>). If present, this parameter <bcp14>MUST</bcp14> specify a single value, which is taken from the 'Label' column of the "COSE Header Parameters" registry <xref target="IANA.COSE.Header.Parameters"/>. Acceptable values denote a format that <bcp14>MUST</bcp14> explicitly provide the public key as well as the comprehensive set of information related to the public key algorithm, including, e.g., the used elliptic curve (when applicable).  </t>
            <t>
At the time of writing this specification, acceptable formats of authentication credentials are CBOR Web Tokens (CWTs) and CWT Claim Sets (CCSs) <xref target="RFC8392"/>, X.509 certificates <xref target="RFC5280"/>, and C509 certificates <xref target="I-D.ietf-cose-cbor-encoded-cert"/>. Further formats may be available in the future and would be acceptable to use as long as they comply with the criteria defined above.</t>
          </li>
          <li>
            <t>'gp-enc-alg', specifying the encryption algorithm used to encrypt messages in the security group when these are also signed, e.g., aligned with the parameter Group Encryption Algorithm in the Group OSCORE Security Context (see <xref section="2" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>) to be used with the group mode of Group OSCORE (see <xref section="7" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>). If present, this parameter <bcp14>MUST</bcp14> specify a single value, which is taken from the 'Value' column of the "COSE Algorithms" registry <xref target="IANA.COSE.Algorithms"/>.</t>
          </li>
          <li>
            <t>'sign-alg', specifying the algorithm used to sign messages in the security group, e.g., aligned with the parameter Signature Algorithm in the Group OSCORE Security Context (see <xref section="2" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>) to be used with the group mode of Group OSCORE (see <xref section="7" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>). If present, this parameter <bcp14>MUST</bcp14> specify a single value, which is taken from the 'Value' column of the "COSE Algorithms" Registry <xref target="IANA.COSE.Algorithms"/>.</t>
          </li>
          <li>
            <t>'sign-key-kty', specifying the key type of signing keys used to sign messages in the security group. If present, this parameter <bcp14>MUST</bcp14> specify a single value, which is taken from the 'Value' column of the "COSE Key Types" registry <xref target="IANA.COSE.Key.Types"/>.</t>
          </li>
          <li>
            <t>'sign-key-crv', specifying the elliptic curve (if applicable) of signing keys used to sign messages in the security group. If present, this parameter <bcp14>MUST</bcp14> specify a single value, which is taken from the 'Value' column of the "COSE Elliptic Curves" registry <xref target="IANA.COSE.Elliptic.Curves"/>.</t>
          </li>
          <li>
            <t>'alg', specifying the encryption algorithm used to encrypt messages in the security group when these are encrypted with pairwise encryption keys, e.g., aligned with the parameter AEAD Algorithm in the Group OSCORE Security Context (see <xref section="2" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>) to be used with the pairwise mode of Group OSCORE (see <xref section="8" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>). If present, this parameter <bcp14>MUST</bcp14> specify a single value, which is taken from the 'Value' column of the "COSE Algorithms" registry <xref target="IANA.COSE.Algorithms"/>.</t>
          </li>
          <li>
            <t>'ecdh-alg', specifying the ECDH algorithm used to derive pairwise encryption keys in the security group, e.g., aligned with the parameter Pairwise Key Agreement Algorithm in the Group OSCORE Security Context (see <xref section="2" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>) to be used with the pairwise mode of Group OSCORE (see <xref section="8" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>). If present, this parameter <bcp14>MUST</bcp14> specify a single value, which is taken from the 'Value' column of the "COSE Algorithms" registry <xref target="IANA.COSE.Algorithms"/>.</t>
          </li>
          <li>
            <t>'ecdh-alg-crv', specifying the elliptic curve for the ECDH algorithm used to derive pairwise encryption keys in the security group. If present, this parameter <bcp14>MUST</bcp14> specify a single value, which is taken from the 'Value' column of the "COSE Elliptic Curves" registry <xref target="IANA.COSE.Elliptic.Curves"/>.</t>
          </li>
          <li>
            <t>'ecdh-key-kty', specifying the key type of keys used with an ECDH algorithm to derive pairwise encryption keys in the security group. If present, this parameter <bcp14>MUST</bcp14> specify a single value, which is taken from the 'Value' column of the "COSE Key Types" registry <xref target="IANA.COSE.Key.Types"/>.</t>
          </li>
          <li>
            <t>'ecdh-key-crv', specifying the elliptic curve of keys used with an ECDH algorithm to derive pairwise encryption keys in the security group. If present, this parameter <bcp14>MUST</bcp14> specify a single value, which is taken from the 'Value' column of the "COSE Elliptic Curves" registry <xref target="IANA.COSE.Elliptic.Curves"/>.</t>
          </li>
          <li>
            <t>'det-hash-alg', specifying the hash algorithm used in the security group when producing deterministic requests, e.g., as defined in <xref target="I-D.ietf-core-cacheable-oscore"/>. If present, this parameter <bcp14>MUST</bcp14> specify a single value, which is taken from the 'Value' column of the "COSE Algorithms" registry <xref target="IANA.COSE.Algorithms"/>. This parameter <bcp14>MUST NOT</bcp14> be present if the security group does not use deterministic requests.</t>
          </li>
          <li>
            <t>'rekeying-scheme', specifying the rekeying scheme used in the security group for distributing new group keying material to the group members. If present, this parameter <bcp14>MUST</bcp14> specify a single value, which is taken from the 'Value' column of the "ACE Groupcomm Rekeying Schemes" registry defined in <xref section="11.13" sectionFormat="of" target="RFC9594"/>.</t>
          </li>
        </ul>
        <t>If the security group does not recur to message signing, then the parameters 'gp-enc-alg', 'sign-alg', 'sign-key-kty', and 'sign-key-crv' <bcp14>MUST NOT</bcp14> be present. For instance, this is the case for a security group that uses Group OSCORE and uses only the pairwise mode (see <xref section="8" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>).</t>
        <t>If the security group does not recur to message encryption through pairwise encryption keys, then the parameters 'alg', 'ecdh-alg', 'ecdh-alg-crv', 'ecdh-key-kty', and 'ecdh-key-crv' <bcp14>MUST NOT</bcp14> be present. For instance, this is the case for a security group that uses Group OSCORE and uses only the group mode see <xref section="7" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>).</t>
        <t>Note that the values registered in the registries <xref target="IANA.COSE.Algorithms"/><xref target="IANA.COSE.Elliptic.Curves"/><xref target="IANA.COSE.Key.Types"/> are strongly typed. On the contrary, the CoRE Link Format is weakly typed and thus does not distinguish between, for instance, the string value "-10" and the integer value -10.</t>
        <t>Thus, in RDs that return responses in the CoRE Link Format, string values which look like an integer are not supported. Therefore, within responses in the CoRE Link Format, such values <bcp14>MUST NOT</bcp14> be advertised through the corresponding parameters above.</t>
        <t>A CoAP endpoint that queries the RD to discover security groups and their group-membership resource to access (see <xref target="sec-group-discovery"/>) can benefit from the information above as follows:</t>
        <ul spacing="normal">
          <li>
            <t>The values of 'cred-fmt', 'sign-alg', 'sign-key-kty', 'sign-key-crv', 'ecdh-alg', 'ecdh-alg-crv', 'ecdh-key-kty', and 'ecdh-key-crv' related to a group-membership resource provide an early knowledge of the format of authentication credentials as well as of the type of public keys used in the security group.  </t>
            <t>
Thus, the CoAP endpoint does not need to ask the GM for this information as a preliminary step before the joining process, or to perform a trial-and-error joining exchange with the GM. Hence, at the very first step of the joining process, the CoAP endpoint is able to provide the GM with its own authentication credential in the correct expected format and including a public key of the correct expected type.</t>
          </li>
          <li>
            <t>The values of 'hkdf', 'gp-enc-alg', 'sign-alg', 'alg', and 'ecdh-alg' related to a group-membership resource provide an early knowledge of the algorithms used in the security group.  </t>
            <t>
Thus, the CoAP endpoint is able to decide whether to actually proceed with the joining process, depending on its support for the indicated algorithms.</t>
          </li>
        </ul>
      </section>
      <section anchor="ssec-link-as">
        <name>Relation Link to Authorization Server</name>
        <t>For each registered link to a group-membership resource, the GM <bcp14>MAY</bcp14> additionally specify the link to the ACE authorization server (AS) <xref target="RFC9200"/> associated with the GM and that issues authorization credentials to join the security group as defined in <xref target="I-D.ietf-ace-key-groupcomm-oscore"/>.</t>
        <t>The link to the AS has as target the URI of the resource where to send an authorization request to.</t>
        <t>In the RD defined in <xref target="RFC9176"/> and based on the CoRE Link Format, the link to the AS is separately registered with the RD and includes the following parameters as target attributes:</t>
        <ul spacing="normal">
          <li>
            <t>'rel', with value "authorization_server".</t>
          </li>
          <li>
            <t>'anchor', with value the target of the link to the group-membership resource at the GM.</t>
          </li>
        </ul>
        <t>In an RD based on CoRAL, such as the one defined in <xref target="I-D.hartke-t2trg-coral-reef"/>, this is mapped (as describe there) to a link from the registration resource to the AS, using the &lt;http://www.iana.org/assignments/relation/authorization_server&gt; link relation type.</t>
      </section>
      <section anchor="ssec-registration--ex">
        <name>Registration Example</name>
        <t>The example below shows a GM with endpoint name "gm1" and address [2001:db8::ab] that registers with the RD.</t>
        <t>The GM specifies the value of the 'sec-gp' parameter for accessing the security group with name "feedca570000". The security group is used by the application group with name "group1" specified with the value of the 'app-gp' parameter.</t>
        <t>The signature algorithm used in the security group is Ed25519 (-19), i.e., the EdDSA algorithm used with the elliptic curve Ed25519 (see <xref target="RFC9864"/>).</t>
        <t>Authentication credentials used in the security group are X.509 certificates <xref target="RFC5280"/>, which is indicated through the COSE Header Parameter "x5chain" (33). The ECDH algorithm used in the security group is ECDH-SS + HKDF-256 (-27), with elliptic curve X25519 (4).</t>
        <t>In addition, the GM specifies the link to the ACE authorization server associated with the GM, to which a CoAP endpoint can send an authorization request for obtaining an authorization credential to use for joining the corresponding security group (see <xref target="I-D.ietf-ace-key-groupcomm-oscore"/>).</t>
        <section anchor="sssec-registration--ex-link-format">
          <name>Example in Link Format</name>
          <t>Request:  GM -&gt; RD</t>
          <artwork><![CDATA[
Req: POST coap://rd.example.com/rd?ep=gm1
Content-Format: 40 (application/link-format)

Payload:
</ace-group/feedca570000>;ct=261;rt="core.osc.gm";if="ace.group";
                             sec-gp="feedca570000";app-gp="group1";
                             cred-fmt="33";gp-enc-alg="10";
                             sign-alg="-19";alg="10";
                             ecdh-alg="-27";ecdh-alg-crv="4",
<coap://as.example.com/token>;rel="authorization-server";
      anchor="coap://[2001:db8::ab]/ace-group/feedca570000"
]]></artwork>
          <t>Response:  RD -&gt; GM</t>
          <artwork><![CDATA[
Res: 2.01 (Created)
Location-Path: /rd/4521
]]></artwork>
        </section>
        <section anchor="example-in-coral">
          <name>Example in CoRAL</name>
          <t>Request:  GM -&gt; RD</t>
          <artwork><![CDATA[
Req: POST coap://rd.example.com/rd
Content-Format: 65087 (application/coral+cbor)

Payload:
[
  [1, cri'coap://[2001:db8::ab]'],
  [2, 6(-22) / item 59 for reef:ep /, "gm1"],
  [
    2, 6(-20) / item 55 for reef:#rd-item /,
    cri'/ace-group/feedca570000',
    [
      [2, simple(8) / item 8 for linkformat:ct /, 261],
      [
        2, simple(6) / item 6 for linkformat:rt /,
        6(200) / item 416 for cri'http://www.iana.org/assignments/
                                  linkformat/rt/core.osc.gm' /
      ],
      [
        2, simple(7) / item 7 for linkformat:if /,
        6(250) / item 516 for cri'http://www.iana.org/assignments/
                                  linkformat/if/ace.group' /
      ],
      [2, 6(-3) / item 21 for linkformat:sec-gp / , "feedca570000"],
      [2, 6(3)  / item 22 for linkformat:app-gp / , "group1"],
      [2, 6(4)  / item 24 for linkformat:cred-fmt / , 33],
      [2, 6(-5) / item 25 for linkformat:gp-enc-alg / , 10],
      [2, 6(5)  / item 26 for linkformat:sign-alg / , -19],
      [2, 6(-7) / item 29 for linkformat:alg / , 10],
      [2, 6(7)  / item 30 for linkformat:ecdh-alg / , -27],
      [2, 6(-8) / item 31 for linkformat:ecdh-alg-crv / , 4],
      [
        2, simple(1) / item 1 for rel:authorization-server / ,
        cri'coap://as.example.com/token'
      ]
    ]
  ]
]
]]></artwork>
          <t>Response:  RD -&gt; GM</t>
          <artwork><![CDATA[
Res: 2.01 (Created)
Location-Path: /rd/4521
]]></artwork>
        </section>
      </section>
    </section>
    <section anchor="sec-update-addition">
      <name>Addition and Update of Security Groups</name>
      <t>The GM is responsible to refresh the registration of all its group-membership resources in the RD. This means that the GM has to update the registration within its lifetime as per <xref section="5.3.1" sectionFormat="of" target="RFC9176"/> and that it has to change the content of the registration when a group-membership resource is added/removed, or if its parameters have to be changed such as in the following cases:</t>
      <ul spacing="normal">
        <li>
          <t>The GM creates a new security group and starts hosting the related group-membership resource.</t>
        </li>
        <li>
          <t>The GM dismisses a security group and stops hosting the related group-membership resource.</t>
        </li>
        <li>
          <t>Information related to an existing security group changes, e.g., the list of associated application groups.</t>
        </li>
      </ul>
      <t>To perform an update of its registrations, the GM can re-register with the RD and fully specify all links to its group-membership resources.</t>
      <t>Alternatively, the GM can perform a PATCH/iPATCH <xref target="RFC8132"/> request to the RD, as per <xref section="5.3.3" sectionFormat="of" target="RFC9176"/>. This requires new media types to be defined in future standards, to apply a new document as a patch to an existing stored document.</t>
      <section anchor="ssec-addition--ex">
        <name>Addition Example</name>
        <t>The example below shows how the GM from <xref target="sec-GM-registration"/> re-registers with the RD. When doing so, it specifies:</t>
        <ul spacing="normal">
          <li>
            <t>The same previous group-membership resource associated with the security group with name "feedca570000".</t>
          </li>
          <li>
            <t>An additional group-membership resource associated with the security group with name "ech0ech00000". The security group is used by the application group with name "group2".</t>
          </li>
          <li>
            <t>A third group-membership resource associated with the security group with name "abcdef120000". The security group is used by two application groups with name "group3" and "group4".</t>
          </li>
        </ul>
        <t>Furthermore, the GM relates the same authorization server also to the security groups "ech0ech00000" and "abcdef120000".</t>
        <section anchor="example-in-link-format">
          <name>Example in Link Format</name>
          <t>Request:  GM -&gt; RD</t>
          <artwork><![CDATA[
Req: POST coap://rd.example.com/rd?ep=gm1
Content-Format: 40 (application/link-format)

Payload:
</ace-group/feedca570000>;ct=261;rt="core.osc.gm";if="ace.group";
                             sec-gp="feedca570000";app-gp="group1";
                             cred-fmt="33";gp-enc-alg="10";
                             sign-alg="-19";alg="10";
                             ecdh-alg="-27";ecdh-alg-crv="4",
</ace-group/ech0ech00000>;ct=261;rt="core.osc.gm";if="ace.group";
                             sec-gp="ech0ech00000";app-gp="group2";
                             cred-fmt="33";gp-enc-alg="10";
                             sign-alg="-19";alg="10";
                             ecdh-alg="-27";ecdh-alg-crv="4",
</ace-group/abcdef120000>;ct=261;rt="core.osc.gm";if="ace.group";
                             sec-gp="abcdef120000";app-gp="group3";
                             app-gp="group4";cred-fmt="33";
                             gp-enc-alg="10";sign-alg="-19";alg="10";
                             ecdh-alg="-27";ecdh-alg-crv="4",
<coap://as.example.com/token>;rel="authorization-server";
      anchor="coap://[2001:db8::ab]/ace-group/feedca570000",
<coap://as.example.com/token>;rel="authorization-server";
      anchor="coap://[2001:db8::ab]/ace-group/ech0ech00000",
<coap://as.example.com/token>;rel="authorization-server";
      anchor="coap://[2001:db8::ab]/ace-group/abcdef120000"
]]></artwork>
          <t>Response:  RD -&gt; GM</t>
          <artwork><![CDATA[
Res: 2.04 (Changed)
Location-Path: /rd/4521
]]></artwork>
        </section>
        <section anchor="example-in-coral-1">
          <name>Example in CoRAL</name>
          <t>Request:  GM -&gt; RD</t>
          <artwork><![CDATA[
Req: POST coap://rd.example.com/rd
Content-Format: 65087 (application/coral+cbor)

Payload:
[
  [1, cri'coap://[2001:db8::ab]'],
  [2, 6(-22) / item 59 for reef:#ep /, "gm1"],
  [
    2, 6(-20) / item 55 for reef:#rd-item /,
    cri'/ace-group/feedca570000',
    [
      [2, simple(8) / item 8 for linkformat:ct /, 261],
      [2, simple(6) / item 6 for linkformat:rt /,
       6(200) / item 416 for cri'http://www.iana.org/assignments/
                                 linkformat/rt/core.osc.gm' /
      ],
      [2, simple(7) / item 7 for linkformat:if /,
       6(250) / item 516 for cri'http://www.iana.org/assignments/
                                 linkformat/if/ace.group' /
      ],
      [2, 6(-3) / item 21 for linkformat:sec-gp / , "feedca570000"],
      [2, 6(3)  / item 22 for linkformat:app-gp / , "group1"],
      [2, 6(4)  / item 24 for linkformat:cred-fmt / , 33],
      [2, 6(-5) / item 25 for linkformat:gp-enc-alg / , 10],
      [2, 6(5)  / item 26 for linkformat:sign-alg / , -19],
      [2, 6(-7) / item 29 for linkformat:alg / , 10],
      [2, 6(7)  / item 30 for linkformat:ecdh-alg / , -27],
      [2, 6(-8) / item 31 for linkformat:ecdh-alg-crv / , 4],
      [
        2, simple(1) / item 1 for rel:authorization-server / ,
        cri'coap://as.example.com/token'
      ]
    ]
  ],
  [
    2, 6(-20) / item 55 for reef:#rd-item /,
    cri'/ace-group/ech0ech00000',
    [
      [2, simple(8) / item 8 for linkformat:ct /, 261],
      [
        2, simple(6) / item 6 for linkformat:rt /,
        6(200) / item 416 for cri'http://www.iana.org/assignments/
                                  linkformat/rt/core.osc.gm' /
      ],
      [
        2, simple(7) / item 7 for linkformat:if /,
        6(250) / item 516 for cri'http://www.iana.org/assignments/
                                  linkformat/if/ace.group' /
      ],
      [2, 6(-3) / item 21 for linkformat:sec-gp / , "ech0ech00000"],
      [2, 6(3)  / item 22 for linkformat:app-gp / , "group2"],
      [2, 6(4)  / item 24 for linkformat:cred-fmt / , 33],
      [2, 6(-5) / item 25 for linkformat:gp-enc-alg / , 10],
      [2, 6(5)  / item 26 for linkformat:sign-alg / , -19],
      [2, 6(-7) / item 29 for linkformat:alg / , 10],
      [2, 6(7)  / item 30 for linkformat:ecdh-alg / , -27],
      [2, 6(-8) / item 31 for linkformat:ecdh-alg-crv / , 4],
      [
        2, simple(1) / item 1 for rel:authorization-server / ,
        cri'coap://as.example.com/token'
      ]
    ]
  ],
  [
    2, 6(-20) / item 55 for reef:#rd-item /,
    cri'/ace-group/abcdef120000',
    [
      [2, simple(8) / item 8 for linkformat:ct /, 261],
      [2, simple(6) / item 6 for linkformat:rt /,
       6(200) / item 416 for cri'http://www.iana.org/assignments/
                                 linkformat/rt/core.osc.gm' /
      ],
      [
        2, simple(7) / item 7 for linkformat:if /,
        6(250) / item 516 for cri'http://www.iana.org/assignments/
                                  linkformat/if/ace.group' /
      ],
      [2, 6(-3) / item 21 for linkformat:sec-gp / , "abcdef120000"],
      [2, 6(3)  / item 22 for linkformat:app-gp / , "group3"],
      [2, 6(3)  / item 22 for linkformat:app-gp / , "group4"],
      [2, 6(4)  / item 24 for linkformat:cred-fmt / , 33],
      [2, 6(-5) / item 25 for linkformat:gp-enc-alg / , 10],
      [2, 6(5)  / item 26 for linkformat:sign-alg / , -19],
      [2, 6(-7) / item 29 for linkformat:alg / , 10],
      [2, 6(7)  / item 30 for linkformat:ecdh-alg / , -27],
      [2, 6-(8) / item 31 for linkformat:ecdh-alg-crv / , 4],
      [2, simple(1) / item 1 for rel:authorization-server / ,
       cri'coap://as.example.com/token'
      ]
    ]
  ]
]
]]></artwork>
          <t>Response:  RD -&gt; GM</t>
          <artwork><![CDATA[
Res: 2.04 (Changed)
Location-Path: /rd/4521
]]></artwork>
        </section>
      </section>
    </section>
    <section anchor="sec-group-discovery">
      <name>Discovery of Security Groups</name>
      <t>A CoAP endpoint that wants to join a security group, hereafter denoted as joining node, might not have all the necessary information at deployment time. Also, it might want to know about possible new security groups created afterwards by the respective Group Managers.</t>
      <t>To this end, the joining node can perform a resource lookup at the RD as per <xref section="6.1" sectionFormat="of" target="RFC9176"/>, in order to retrieve the missing pieces of information that are needed to join the security group(s) of interest. The joining node can find the RD as described in <xref section="4" sectionFormat="of" target="RFC9176"/>.</t>
      <t>The joining node uses the following parameter value for the lookup filtering.</t>
      <ul spacing="normal">
        <li>
          <t>'rt' = "core.osc.gm", specifying the resource type of the group-membership resource at the Group Manager, with value "core.osc.gm" registered in <xref section="17.10" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>.</t>
        </li>
      </ul>
      <t>The joining node <bcp14>MAY</bcp14> additionally use the following parameters for the lookup filtering, depending on the information that it already has.</t>
      <ul spacing="normal">
        <li>
          <t>'sec-gp', specifying the name of the security group of interest. If this parameter is used, it <bcp14>MUST</bcp14> specify a single value.</t>
        </li>
        <li>
          <t>'ep', specifying the registered endpoint of the GM.</t>
        </li>
        <li>
          <t>'app-gp', specifying the name of an application group associated with the security group of interest. This parameter <bcp14>MAY</bcp14> be included multiple times and each occurrence <bcp14>MUST</bcp14> specify the name of one application group.</t>
        </li>
        <li>
          <t>'if', specifying the interface description for accessing the group-membership resource at the Group Manager, with value "ace.group" registered in <xref section="11.5" sectionFormat="of" target="RFC9594"/>.</t>
        </li>
      </ul>
      <t>The response from the RD can include a link to a group-membership resource specifying multiple application groups, all of which use the same security group. In this case, the joining node is already expected to know the exact application group of interest.</t>
      <t>Furthermore, the response from the RD can include links to different group-membership resources that all specify the same application group of interest for the joining node, if the corresponding security groups are all used by that application group.</t>
      <t>In this case, application policies on the joining node ought to define how to determine the exact security group to join (see <xref section="2.1" sectionFormat="of" target="I-D.ietf-core-groupcomm-bis"/>). For example, different security groups can reflect different security algorithms to use. Hence, a client application can take into account what the joining node supports and prefers when selecting one particular security group among the indicated ones, while a server application would need to join all of them. Later on, the joining node will anyway be able to join only security groups of which it is actually authorized to be a member (see <xref target="I-D.ietf-ace-key-groupcomm-oscore"/>).</t>
      <t>Note that, with RD-based discovery, including the 'app-gp' parameter multiple times would result in finding only a group-membership resource that serves all the specified application groups, i.e., not any group-membership resource that serves either of those. Therefore, a joining node generally needs to perform separate queries with different values for 'app-gp', in order to discover different group-membership resources serving different application groups.</t>
      <t>The discovery of security groups as defined in this document is applicable and useful to other CoAP endpoints than the actual joining nodes. In particular, other entities can be interested in discovering and interacting with the group-membership resource at the Group Manager. These include entities acting as signature checkers, e.g., intermediary gateways, that do not join a security group but can retrieve authentication credentials of group members from the Group Manager, in order to verify counter signatures of group messages (see <xref section="12.3" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>).</t>
      <section anchor="ssec-group-discovery-ex1">
        <name>Discovery Example #1</name>
        <t>Consistent with the examples in <xref target="sec-GM-registration"/> and <xref target="sec-update-addition"/>, the examples below consider a joining node that wants to join the security group associated with the application group "group1", but that does not know the name of the security group, the responsible GM, and the group-membership resource to access.</t>
        <section anchor="example-in-link-format-1">
          <name>Example in Link Format</name>
          <t>Request:  Joining node -&gt; RD</t>
          <artwork><![CDATA[
Req: GET coap://rd.example.com/rd-lookup/res
  ?rt=core.osc.gm&app-gp=group1
]]></artwork>
          <t>Response:  RD -&gt; Joining node</t>
          <artwork><![CDATA[
Res: 2.05 (Content)
Content-Format: 40 (application/link-format)

Payload:
<coap://[2001:db8::ab]/ace-group/feedca570000>;ct=261;
    rt="core.osc.gm";if="ace.group";sec-gp="feedca570000";
    app-gp="group1";cred-fmt="33";gp-enc-alg="10";
    sign-alg="-19";alg="10";ecdh-alg="-27";ecdh-alg-crv="4"
]]></artwork>
          <t>By performing the separate resource lookup below, the joining node can retrieve the link to the ACE authorization server associated with the GM, where to send an authorization request for obtaining an authorization credential to use for joining the corresponding security group (see <xref target="I-D.ietf-ace-key-groupcomm-oscore"/>).</t>
          <t>Request:  Joining node -&gt; RD</t>
          <artwork><![CDATA[
Req: GET coap://rd.example.com/rd-lookup/res
  ?rel=authorization-server&
   anchor=coap://[2001:db8::ab]/ace-group/feedca570000
]]></artwork>
          <t>Response:  RD -&gt; Joining node</t>
          <artwork><![CDATA[
Res: 2.05 (Content)
Content-Format: 40 (application/link-format)

Payload:
<coap://as.example.com/token>;rel=authorization-server;
      anchor="coap://[2001:db8::ab]/ace-group/feedca570000"
]]></artwork>
          <t>In order to retrieve the IP multicast address of the CoAP group used by the application group "group1", the joining node performs an endpoint lookup as shown below. The following assumes that the application group "group1" has been previously registered as per <xref section="A" sectionFormat="of" target="RFC9176"/>, with ff05::db8:0:1 as the IP multicast address of the associated CoAP group.</t>
          <t>Request:  Joining node -&gt; RD</t>
          <artwork><![CDATA[
Req: GET coap://rd.example.com/rd-lookup/ep
  ?et=core.rd-group&ep=group1
]]></artwork>
          <t>Response:  RD -&gt; Joining node</t>
          <artwork><![CDATA[
Res: 2.05 (Content)
Content-Format: 40 (application/link-format)

Payload:
</rd/501>;ep="group1";et="core.rd-group";
          base="coap://[ff05::db8:0:1]";rt="core.rd-ep"
]]></artwork>
        </section>
        <section anchor="example-in-coral-2">
          <name>Example in CoRAL</name>
          <t>Request:  Joining node -&gt; RD</t>
          <artwork><![CDATA[
Req: GET coap://rd.example.com/rd-lookup/res
  ?rt=core.osc.gm&app-gp=group1
Accept: 65087 (application/coral+cbor)
]]></artwork>
          <t>Response:  RD -&gt; Joining node</t>
          <artwork><![CDATA[
Res: 2.05 (Content)
Content-Format: 65087 (application/coral+cbor)

Payload:
[
  [1, cri'coap://[2001:db8::ab]'],
  [
    2, 6(-20) / item 55 for reef:#rd-item /,
    cri'/ace-group/feedca570000',
    [
      [2, simple(8) / item 8 for linkformat:ct /, 261],
      [2, simple(6) / item 6 for linkformat:rt /,
       6(200) / item 416 for cri'http://www.iana.org/assignments/
                                 linkformat/rt/core.osc.gm' /
      ],
      [2, simple(7) / item 7 for linkformat:if /,
       6(250) / item 516 for cri'http://www.iana.org/assignments/
                                 linkformat/if/ace.group' /
      ],
      [2, 6(-3) / item 21 for linkformat:sec-gp / , "feedca570000"],
      [2, 6(3)  / item 22 for linkformat:app-gp / , "group1"],
      [2, 6(4)  / item 24 for linkformat:cred-fmt / , 33],
      [2, 6(-5) / item 25 for linkformat:gp-enc-alg / , 10],
      [2, 6(5)  / item 26 for linkformat:sign-alg / , -19],
      [2, 6(-7) / item 29 for linkformat:alg / , 10],
      [2, 6(7)  / item 30 for linkformat:ecdh-alg / , -27],
      [2, 6(-8) / item 31 for linkformat:ecdh-alg-crv / , 4],
      [2, simple(1) / item 1 for rel:authorization-server / ,
       cri'coap://as.example.com/token'
      ]
    ]
  ]
]
]]></artwork>
          <t>In order to retrieve the IP multicast address of the CoAP group used by the application group "group1", the joining node performs an endpoint lookup as shown below. The following assumes that the application group "group1" has been previously registered, with ff05::db8:0:1 as the IP multicast address of the associated CoAP group.</t>
          <t>Request:  Joining node -&gt; RD</t>
          <artwork><![CDATA[
Req: GET coap://rd.example.com/rd-lookup/ep
  ?et=core.rd-group&ep=group1
Accept: 65087 (application/coral+cbor)
]]></artwork>
          <t>Response:  RD -&gt; Joining node</t>
          <artwork><![CDATA[
Res: 2.05 (Content)
Content-Format: 65087 (application/coral+cbor)

Payload:
[
  [
    2, 6(20) / item 56 for reef:#rd-unit /, cri'/rd/501',
    [
      [2, 6(-22) / item 59 for reef:#ep /, "group1"],
      [2, 6(21) / item 58 for reef:#et /, "core.rd-group"],
      [
        2, 6(22) / item 60 for reef:#base /,
        cri'coap://[ff05::db8:0:1]'
      ],
      [2, 6(-21) / item 57 for reef:#rt /, "core.rd-ep"],
    ]
  ]
]
]]></artwork>
        </section>
      </section>
      <section anchor="ssec-group-discovery-ex2">
        <name>Discovery Example #2</name>
        <t>Consistent with the examples in <xref target="sec-GM-registration"/> and <xref target="sec-update-addition"/>, the examples below consider a joining node that wants to join the security group with name "feedca570000", but that does not know the responsible GM, the group-membership resource to access, and the associated application groups.</t>
        <t>The examples also show how the joining node uses CoAP observation <xref target="RFC7641"/>, in order to be notified of possible changes to the parameters related to the group-membership resource. This is also useful to handle the case where the security group of interest has not been created yet, so that the joining node can receive the requested information when it becomes available at a later point in time.</t>
        <section anchor="example-in-link-format-2">
          <name>Example in Link Format</name>
          <t>Request:  Joining node -&gt; RD</t>
          <artwork><![CDATA[
Req: GET coap://rd.example.com/rd-lookup/res
  ?rt=core.osc.gm&sec-gp=feedca570000
Observe: 0
]]></artwork>
          <t>Response:  RD -&gt; Joining node</t>
          <artwork><![CDATA[
Res: 2.05 (Content)
Observe: 24
Content-Format: 40 (application/link-format)

Payload:
<coap://[2001:db8::ab]/ace-group/feedca570000>;ct=261;
    rt="core.osc.gm";if="ace.group";sec-gp="feedca570000";
    app-gp="group1";cred-fmt="33";gp-enc-alg="10";
    sign-alg="-19";alg="10";ecdh-alg="-27";ecdh-alg-crv="4"
]]></artwork>
          <t>Depending on the search criteria, the joining node performing the resource lookup can get large responses. This can happen, for instance, when the lookup request targets all the group-membership resources at a specified GM, or all the group-membership resources of all the registered GMs, as in the example below.</t>
          <t>Request:  Joining node -&gt; RD</t>
          <artwork><![CDATA[
Req: GET coap://rd.example.com/rd-lookup/res?rt=core.osc.gm
]]></artwork>
          <t>Response:  RD -&gt; Joining node</t>
          <artwork><![CDATA[
Res: 2.05 (Content)
Content-Format: 40 (application/link-format)

Payload:
<coap://[2001:db8::ab]/ace-group/feedca570000>;ct=261;
    rt="core.osc.gm";if="ace.group";sec-gp="feedca570000";
    app-gp="group1";cred-fmt="33";gp-enc-alg="10";
    sign-alg="-19";alg="10";ecdh-alg="-27";ecdh-alg-crv="4",
<coap://[2001:db8::ab]/ace-group/ech0ech00000>;ct=261;
    rt="core.osc.gm";if="ace.group";sec-gp="ech0ech00000";
    app-gp="group2";cred-fmt="33";gp-enc-alg="10";
    sign-alg="-19";alg="10";ecdh-alg="-27";ecdh-alg-crv="4",
<coap://[2001:db8::ab]/ace-group/abcdef120000>;ct=261;
    rt="core.osc.gm";if="ace.group";sec-gp="abcdef120000";
    app-gp="group3";app-gp="group4";cred-fmt="33";
    gp-enc-alg="10";sign-alg="-19";alg="10";ecdh-alg="-27";
    ecdh-alg-crv="4"
]]></artwork>
          <t>Therefore, it is <bcp14>RECOMMENDED</bcp14> that a joining node which performs a resource lookup with the CoAP Observe option specifies the value of the parameter 'sec-gp' in its GET request sent to the RD.</t>
        </section>
        <section anchor="example-in-coral-3">
          <name>Example in CoRAL</name>
          <t>Request:  Joining node -&gt; RD</t>
          <artwork><![CDATA[
Req: GET coap://rd.example.com/rd-lookup/res
  ?rt=core.osc.gm&sec-gp=feedca570000
Observe: 0
Accept: 65087 (application/coral+cbor)
]]></artwork>
          <t>Response:  RD -&gt; Joining node</t>
          <artwork><![CDATA[
Res: 2.05 (Content)
Observe: 24
Content-Format: 65087 (application/coral+cbor)

Payload:
[
  [1, cri'coap://[2001:db8::ab]'],
  [
    2, 6(-20) / item 55 for reef:#rd-item /,
    cri'/ace-group/feedca570000',
    [
      [2, simple(8) / item 8 for linkformat:ct /, 261],
      [2, simple(6) / item 6 for linkformat:rt /,
       6(200) / item 416 for cri'http://www.iana.org/assignments/
                                 linkformat/rt/core.osc.gm' /
      ],
      [2, simple(7) / item 7 for linkformat:if /,
       6(250) / item 516 for cri'http://www.iana.org/assignments/
                                 linkformat/if/ace.group' /
      ],
      [2, 6(-3) / item 21 for linkformat:sec-gp / , "feedca570000"],
      [2, 6(3)  / item 22 for linkformat:app-gp / , "group1"],
      [2, 6(4)  / item 24 for linkformat:cred-fmt / , 33],
      [2, 6(-5) / item 25 for linkformat:gp-enc-alg / , 10],
      [2, 6(5)  / item 26 for linkformat:sign-alg / , -19],
      [2, 6(-7) / item 29 for linkformat:alg / , 10],
      [2, 6(7)  / item 30 for linkformat:ecdh-alg / , -27],
      [2, 6(-8) / item 31 for linkformat:ecdh-alg-crv / , 4],
      [
        2, simple(1) / item 1 for rel:authorization-server / ,
        cri'coap://as.example.com/token'
      ]
    ]
  ]
]
]]></artwork>
        </section>
      </section>
    </section>
    <section anchor="use-case-example">
      <name>Use Case Example With Full Discovery</name>
      <t>This section describes the discovery of security groups to support the process of a lighting installation in an office building. The described process is a simplified version of one of many processes.</t>
      <t>The process described in this section is intended as an example and does not have any particular ambition to serve as a recommendation or best practice to adopt. That is, it shows a possible workflow involving a Commissioning Tool (CT) used in a certain way, while it is not meant to prescribe how the workflow should necessarily be.</t>
      <t>The following considers four luminaires that are members of two application groups. In the first application group, the four luminaires receive presence messages and light intensity messages from sensors or their proxy. In the second application group, the four luminaires and several other pieces of equipment receive building state schedules.</t>
      <t>Each of the two application groups is associated with a different security group and with a different CoAP group that has its own dedicated IP multicast address.</t>
      <t>The Fairhair Alliance describes how a new device is accepted and commissioned in the network <xref target="Fairhair"/>, by means of its certificate stored during the manufacturing process. When commissioning the new device in the installation network, the new device gets a new identity defined by a newly allocated certificate, following the BRSKI specification <xref target="RFC8995"/>.</t>
      <t>Then, consistent with <xref section="7.1" sectionFormat="of" target="RFC9176"/>, the CT assigns an endpoint name based on the CN field (CN=ACME) and the serial number of the certificate (serial number = 123x, with 3 &lt; x &lt; 8). Corresponding ep-names ACME-1234, ACME-1235, ACME-1236, and ACME-1237 are also assumed.</t>
      <t>It is common practice that locations in the building are specified according to a coordinate system. After the acceptance of the luminaires into the installation network, the coordinate of each device is communicated to the CT. This can be done manually or automatically.</t>
      <t>The mapping between location and ep-name is calculated by the CT. For instance, on the basis of grouping criteria, the CT assigns the application group "grp_R2-4-015" to the four luminaires and the application group "grp_schedule" to all schedule requiring devices. Also, the device with ep name ACME-123x has been assigned the IP address [2001:db8:4::x]. The RD is assigned the IP address [2001:db8:4:ff]. The IP multicast addresses used are [ff05::db8:5:1] and [ff05::db8:5:2].</t>
      <t>The following assumes that each device is pre-configured with the name of the two application groups it belongs to. Additional mechanisms can be defined in the RD for supporting devices to discover the application groups they belong to.</t>
      <t><xref target="use-case-example-coral"/> provides this same use case example using CoRAL.</t>
      <t>*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***</t>
      <t>The CT defines the application group "grp_R2-4-015", with resource /light and base address [ff05::db8:5:1], as follows.</t>
      <t>Request:  CT -&gt; RD</t>
      <artwork><![CDATA[
Req: POST coap://[2001:db8:4::ff]/rd
  ?ep=grp_R2-4-015&et=core.rd-group&base=coap://[ff05::db8:5:1]
Content-Format: 40 (application/link-format)

Payload:
</light>;rt="oic.d.light"
]]></artwork>
      <t>Response:  RD -&gt; CT</t>
      <artwork><![CDATA[
Res: 2.01 (Created)
Location-Path: /rd/501
]]></artwork>
      <t>Also, the CT defines a second application group "grp_schedule", with resource /schedule and base address [ff05::db8:5:2], as follows.</t>
      <t>Request:  CT -&gt; RD</t>
      <artwork><![CDATA[
Req: POST coap://[2001:db8:4::ff]/rd
  ?ep=grp_schedule&et=core.rd-group&base=coap://[ff05::db8:5:2]
Content-Format: 40 (application/link-format)

Payload:
</schedule>;rt="oic.r.time.period"
]]></artwork>
      <t>Response:  RD -&gt; CT</t>
      <artwork><![CDATA[
Res: 2.01 (Created)
Location-Path: /rd/502
]]></artwork>
      <t>*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***</t>
      <t>Finally, the CT defines the corresponding security groups. In particular, assuming a Group Manager responsible for both security groups and with address [2001:db8::ab], the CT specifies:</t>
      <t>Request:  CT -&gt; RD</t>
      <artwork><![CDATA[
Req: POST coap://[2001:db8:4::ff]/rd
  ?ep=gm1&base=coap://[2001:db8::ab]
Content-Format: 40 (application/link-format)

Payload:
</ace-group/feedca570000>;ct=261;rt="core.osc.gm";if="ace.group";
                          sec-gp="feedca570000";
                          app-gp="grp_R2-4-015",
</ace-group/feedsc590000>;ct=261;rt="core.osc.gm";if="ace.group";
                          sec-gp="feedsc590000";
                          app-gp="grp_schedule"
]]></artwork>
      <t>Response:  RD -&gt; CT</t>
      <artwork><![CDATA[
Res: 2.01 (Created)
Location-Path: /rd/4521
]]></artwork>
      <t>*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***</t>
      <t>The device with IP address [2001:db8:4::x] can retrieve the IP multicast address of the CoAP group used by the application group "grp_R2-4-015", by performing an endpoint lookup as shown below.</t>
      <t>Request:  Joining node -&gt; RD</t>
      <artwork><![CDATA[
Req: GET coap://[2001:db8:4::ff]/rd-lookup/ep
  ?et=core.rd-group&ep=grp_R2-4-015
]]></artwork>
      <t>Response:  RD -&gt; Joining node</t>
      <artwork><![CDATA[
Res: 2.05 (Content)
Content-Format: 40 (application/link-format)

Payload:
</rd/501>;ep="grp_R2-4-015";et="core.rd-group";
          base="coap://[ff05::db8:5:1]";rt="core.rd-ep"
]]></artwork>
      <t>Similarly, to retrieve the IP multicast address of the CoAP group used by the application group "grp_schedule", the device performs an endpoint lookup as shown below.</t>
      <t>Request:  Joining node -&gt; RD</t>
      <artwork><![CDATA[
Req: GET coap://[2001:db8:4::ff]/rd-lookup/ep
  ?et=core.rd-group&ep=grp_schedule
]]></artwork>
      <t>Response:  RD -&gt; Joining node</t>
      <artwork><![CDATA[
Res: 2.05 (Content)
Content-Format: 40 (application/link-format)

Payload:
</rd/502>;ep="grp_schedule";et="core.rd-group";
          base="coap://[ff05::db8:5:2]";rt="core.rd-ep"
]]></artwork>
      <t>*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***</t>
      <t>Consequently, the device learns the security groups that it has to join. In particular, it does the following for app-gp="grp_R2-4-015".</t>
      <t>Request:  Joining node -&gt; RD</t>
      <artwork><![CDATA[
Req: GET coap://[2001:db8:4::ff]/rd-lookup/res
  ?rt=core.osc.gm&app-gp=grp_R2-4-015
]]></artwork>
      <t>Response:  RD -&gt; Joining Node</t>
      <artwork><![CDATA[
Res: 2.05 (Content)
Content-Format: 40 (application/link-format)

Payload:
<coap://[2001:db8::ab]/ace-group/feedca570000>;ct=261;
    rt="core.osc.gm";if="ace.group";sec-gp="feedca570000";
    app-gp="grp_R2-4-015"
]]></artwork>
      <t>Similarly, the device does the following for app-gp="grp_schedule".</t>
      <artwork><![CDATA[
Req: GET coap://[2001:db8:4::ff]/rd-lookup/res
  ?rt=core.osc.gm&app-gp=grp_schedule
]]></artwork>
      <t>Response:  RD -&gt; Joining Node</t>
      <artwork><![CDATA[
Res: 2.05 (Content)
Content-Format: 40 (application/link-format)

Payload:
<coap://[2001:db8::ab]/ace-group/feedsc590000>;ct=261;
    rt="core.osc.gm";if="ace.group";sec-gp="feedsc590000";
    app-gp="grp_schedule"
]]></artwork>
      <t>*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***</t>
      <t>After this last discovery step, the device can ask for permission to join the security groups and can effectively join them through the Group Manager, e.g., according to <xref target="I-D.ietf-ace-key-groupcomm-oscore"/>.</t>
    </section>
    <section anchor="sec-security-considerations">
      <name>Security Considerations</name>
      <t>The security considerations in <xref section="8" sectionFormat="of" target="RFC9176"/> apply to this document as well.</t>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <t>This document has the following actions for IANA.</t>
      <t>Note to RFC Editor: Please replace all occurrences of "[RFC-XXXX]" with the RFC number of this specification and delete this paragraph.</t>
      <section anchor="iana-link-relation-type">
        <name>Link Relation Types Registry</name>
        <t>IANA is asked to register the following entry in the "Link Relation Types" registry <xref target="IANA.Link.Relation.Types"/> within the "Link Relations" registry group, as per <xref target="RFC8288"/>.</t>
        <ul spacing="normal">
          <li>
            <t>Relation Name: authorization-server</t>
          </li>
          <li>
            <t>Description: Refers to a resource at an authorization server for requesting an authorization credential to access the link's context</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
          <li>
            <t>Notes:</t>
          </li>
        </ul>
      </section>
      <section anchor="iana-target-attributes">
        <name>Target Attributes Registry</name>
        <t>IANA is asked to register the following entries in the "Target Attributes" registry <xref target="IANA.Target.Attributes"/> within the "Constrained RESTful Environments (CoRE) Parameters" registry group, as per <xref target="RFC9423"/>. For all entries, the Change Controller is IETF and the reference is [RFC-XXXX].</t>
        <table align="center">
          <name>Registrations in the "Target Attributes" Registry</name>
          <thead>
            <tr>
              <th align="left">Attribute Name</th>
              <th align="left">Brief Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">sec-gp</td>
              <td align="left">Name of the security group that can be joined through this resource</td>
            </tr>
            <tr>
              <td align="left">app-gp</td>
              <td align="left">Name of an application group associated with a security group</td>
            </tr>
            <tr>
              <td align="left">hkdf</td>
              <td align="left">The HKDF algorithm to use</td>
            </tr>
            <tr>
              <td align="left">cred-fmt</td>
              <td align="left">The format of authentication credential to use</td>
            </tr>
            <tr>
              <td align="left">gp-enc-alg</td>
              <td align="left">The encryption algorithm to use for encrypting signed messages</td>
            </tr>
            <tr>
              <td align="left">sign-alg</td>
              <td align="left">The signature algorithm to use</td>
            </tr>
            <tr>
              <td align="left">sign-key-kty</td>
              <td align="left">The key type of the used signing keys</td>
            </tr>
            <tr>
              <td align="left">sign-key-crv</td>
              <td align="left">The curve of the used signing keys</td>
            </tr>
            <tr>
              <td align="left">alg</td>
              <td align="left">The encryption algorithm to use for encrypting non-signed messages</td>
            </tr>
            <tr>
              <td align="left">ecdh-alg</td>
              <td align="left">The ECDH algorithm to use</td>
            </tr>
            <tr>
              <td align="left">ecdh-alg-crv</td>
              <td align="left">The elliptic curve of the used ECDH algorithm</td>
            </tr>
            <tr>
              <td align="left">ecdh-key-kty</td>
              <td align="left">The key type of the used ECDH keys</td>
            </tr>
            <tr>
              <td align="left">ecdh-key-crv</td>
              <td align="left">The curve of the used ECDH keys</td>
            </tr>
            <tr>
              <td align="left">det-hash-alg</td>
              <td align="left">The hash algorithm to use for computing deterministic requests</td>
            </tr>
            <tr>
              <td align="left">rekeying-scheme</td>
              <td align="left">The rekeying scheme used to distribute new keying material</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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="23" month="December" year="2025"/>
            <abstract>
              <t>   This document defines the security protocol Group Object Security for
   Constrained RESTful Environments (Group OSCORE), providing end-to-end
   security of messages exchanged with the Constrained Application
   Protocol (CoAP) 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 each 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-28"/>
        </reference>
        <reference anchor="I-D.ietf-core-coral">
          <front>
            <title>The Constrained RESTful Application Language (CoRAL)</title>
            <author fullname="Christian Amsüss" initials="C." surname="Amsüss">
         </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>ARM</organization>
            </author>
            <date day="4" month="March" year="2024"/>
            <abstract>
              <t>   The Constrained RESTful Application Language (CoRAL) defines a data
   model and interaction model as well as a compact serialization
   formats for the description of typed connections between resources on
   the Web ("links"), possible operations on such resources ("forms"),
   and simple resource metadata.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-core-coral-06"/>
        </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="Marco Tiloca" initials="M." surname="Tiloca">
              <organization>RISE AB</organization>
            </author>
            <date day="10" month="February" year="2026"/>
            <abstract>
              <t>   The Constrained Application Protocol (CoAP) is a web transfer
   protocol for constrained devices and constrained networks.  In a
   number of use cases, constrained devices often naturally operate in
   groups (e.g., in a building automation scenario, all lights in a
   given room may need to be switched on/off as a group).  This document
   specifies the use of 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-18"/>
        </reference>
        <reference anchor="I-D.ietf-cbor-packed">
          <front>
            <title>Packed CBOR</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <author fullname="Mikolai Gütschow" initials="M." surname="Gütschow">
              <organization>TUD Dresden University of Technology</organization>
            </author>
            <date day="2" month="February" year="2026"/>
            <abstract>
              <t>   The Concise Binary Object Representation (CBOR, RFC 8949 == STD 94)
   is a data format whose design goals include the possibility of
   extremely small code size, fairly small message size, and
   extensibility without the need for version negotiation.

   CBOR does not provide any forms of data compression.  CBOR data
   items, in particular when generated from legacy data models, often
   allow considerable gains in compactness when applying data
   compression.  While traditional data compression techniques such as
   DEFLATE (RFC 1951) can work well for CBOR encoded data items, their
   disadvantage is that the recipient needs to decompress the compressed
   form before it can make use of the data.

   This specification describes Packed CBOR, a set of CBOR tags and
   simple values that enable a simple transformation of an original CBOR
   data item into a Packed CBOR data item that is almost as easy to
   consume as the original CBOR data item.  A separate decompression
   step is therefore often not required at the recipient.


   // (This cref will be removed by the RFC editor:) The present
   // revision -19 is a work-in-progress release in preparation for
   // another cbor-packed side meeting.  This revision resolves the use
   // of the tunables A/B/C by setting A=16, B=8, and C=8, and choosing
   // requested simple values and tag numbers, in preparation for
   // continuing the early allocation process.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cbor-packed-19"/>
        </reference>
        <reference anchor="I-D.ietf-core-href">
          <front>
            <title>Constrained Resource Identifiers</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <date day="21" month="November" year="2025"/>
            <abstract>
              <t>   The Constrained Resource Identifier (CRI) is a complement to the
   Uniform Resource Identifier (URI) that represents the URI components
   in Concise Binary Object Representation (CBOR) rather than as a
   sequence of characters.  This approach simplifies parsing,
   comparison, and reference resolution in environments with severe
   limitations on processing power, code size, and memory size.

   This RFC updates RFC 7595 by adding a column on the "URI Schemes"
   registry.


   // (This "cref" paragraph will be removed by the RFC editor:) After
   // approval of -28 and nit fixes in -29, the present revision -30
   // contains two more small fixes for nits that were uncovered in the
   // RPC intake process.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-core-href-30"/>
        </reference>
        <reference anchor="I-D.ietf-cbor-edn-literals">
          <front>
            <title>Concise Diagnostic Notation (CDN)</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="20" month="July" year="2026"/>
            <abstract>
              <t>   This document formalizes and consolidates the definition of the
   Concise Diagnostic Notation (CDN) of the Concise Binary Object
   Representation (CBOR), addressing implementer experience.

   Replacing CDN's previous informal descriptions, it updates RFC 8949,
   obsoleting its Section 8, and RFC 8610, obsoleting its Appendix G.

   It also specifies registry-based extension points and uses them to
   support text representations such as of epoch-based dates/times and
   of IP addresses and prefixes.


   // (This cref will be removed by the RFC editor:) This is the
   // editorial round focusing on editorial cleanup, specifically where
   // that causes moving text around.  It does not have WG input yet on
   // any renaming decisions (CDN name, b1/t1 name), ABNF cleanup, or
   // Rohan's suggestion to fix the questionable figure in 3.8.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cbor-edn-literals-27"/>
        </reference>
        <reference anchor="I-D.ietf-ace-key-groupcomm-oscore">
          <front>
            <title>Key Management for Group Object Security for Constrained RESTful Environments (Group OSCORE) Using Authentication and Authorization for Constrained Environments (ACE)</title>
            <author fullname="Marco Tiloca" initials="M." surname="Tiloca">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Francesca Palombini" initials="F." surname="Palombini">
              <organization>Ericsson AB</organization>
            </author>
            <date day="14" month="March" year="2026"/>
            <abstract>
              <t>   This document defines an application profile of the Authentication
   and Authorization for Constrained Environments (ACE) framework, to
   request and provision keying material in group communication
   scenarios that are based on the Constrained Application Protocol
   (CoAP) and are secured with Group Object Security for Constrained
   RESTful Environments (Group OSCORE).  This application profile
   delegates the authentication and authorization of Clients, which join
   an OSCORE group through a Resource Server acting as Group Manager for
   that group.  This application profile leverages protocol-specific
   transport profiles of ACE to achieve communication security, server
   authentication, and proof of possession of a key owned by the Client
   and bound to an OAuth 2.0 access token.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ace-key-groupcomm-oscore-21"/>
        </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="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="RFC8288">
          <front>
            <title>Web Linking</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <date month="October" year="2017"/>
            <abstract>
              <t>This specification defines a model for the relationships between resources on the Web ("links") and the type of those relationships ("link relation types").</t>
              <t>It also defines the serialisation of such links in HTTP headers with the Link header field.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8288"/>
          <seriesInfo name="DOI" value="10.17487/RFC8288"/>
        </reference>
        <reference anchor="RFC8610">
          <front>
            <title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="C. Vigano" initials="C." surname="Vigano"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2019"/>
            <abstract>
              <t>This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049). Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8610"/>
          <seriesInfo name="DOI" value="10.17487/RFC8610"/>
        </reference>
        <reference anchor="RFC8949">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="December" year="2020"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
              <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049. It does not create a new version of the format.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="94"/>
          <seriesInfo name="RFC" value="8949"/>
          <seriesInfo name="DOI" value="10.17487/RFC8949"/>
        </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="RFC9053">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Initial Algorithms</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines a set of algorithms that can be used with the CBOR Object Signing and Encryption (COSE) protocol (RFC 9052).</t>
              <t>This document, along with RFC 9052, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9053"/>
          <seriesInfo name="DOI" value="10.17487/RFC9053"/>
        </reference>
        <reference anchor="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="RFC9200">
          <front>
            <title>Authentication and Authorization for Constrained Environments Using the OAuth 2.0 Framework (ACE-OAuth)</title>
            <author fullname="L. Seitz" initials="L." surname="Seitz"/>
            <author fullname="G. Selander" initials="G." surname="Selander"/>
            <author fullname="E. Wahlstroem" initials="E." surname="Wahlstroem"/>
            <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>This specification defines a framework for authentication and authorization in Internet of Things (IoT) environments called ACE-OAuth. The framework is based on a set of building blocks including OAuth 2.0 and the Constrained Application Protocol (CoAP), thus transforming a well-known and widely used authorization solution into a form suitable for IoT devices. Existing specifications are used where possible, but extensions are added and profiles are defined to better serve the IoT use cases.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9200"/>
          <seriesInfo name="DOI" value="10.17487/RFC9200"/>
        </reference>
        <reference anchor="RFC9864">
          <front>
            <title>Fully-Specified Algorithms for JSON Object Signing and Encryption (JOSE) and CBOR Object Signing and Encryption (COSE)</title>
            <author fullname="M.B. Jones" initials="M.B." surname="Jones"/>
            <author fullname="O. Steele" initials="O." surname="Steele"/>
            <date month="October" year="2025"/>
            <abstract>
              <t>This specification refers to cryptographic algorithm identifiers that fully specify the cryptographic operations to be performed, including any curve, key derivation function (KDF), and hash functions, as being "fully specified". It refers to cryptographic algorithm identifiers that require additional information beyond the algorithm identifier to determine the cryptographic operations to be performed as being "polymorphic". This specification creates fully-specified algorithm identifiers for registered JSON Object Signing and Encryption (JOSE) and CBOR Object Signing and Encryption (COSE) polymorphic algorithm identifiers, enabling applications to use only fully-specified algorithm identifiers. It deprecates those polymorphic algorithm identifiers.</t>
              <t>This specification updates RFCs 7518, 8037, and 9053. It deprecates polymorphic algorithms defined by RFCs 8037 and 9053 and provides fully-specified replacements for them. It adds to the instructions to designated experts in RFCs 7518 and 9053.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9864"/>
          <seriesInfo name="DOI" value="10.17487/RFC9864"/>
        </reference>
        <reference anchor="IANA.COSE.Algorithms" target="https://www.iana.org/assignments/cose/cose.xhtml#algorithms">
          <front>
            <title>COSE Algorithms</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="IANA.COSE.Key.Types" target="https://www.iana.org/assignments/cose/cose.xhtml#key-type">
          <front>
            <title>COSE Key Types</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="IANA.COSE.Elliptic.Curves" target="https://www.iana.org/assignments/cose/cose.xhtml#elliptic-curves">
          <front>
            <title>COSE Elliptic Curves</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="IANA.COSE.Header.Parameters" target="https://www.iana.org/assignments/cose/cose.xhtml#header-parameters">
          <front>
            <title>COSE Header Parameters</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="IANA.Target.Attributes" target="https://www.iana.org/assignments/core-parameters/core-parameters.xhtml#target-attributes">
          <front>
            <title>Target Attributes</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="IANA.Link.Relation.Types" target="https://www.iana.org/assignments/link-relations#link-relations-1">
          <front>
            <title>Link Relation Types</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="CURIE-20101216" target="http://www.w3.org/TR/2010/NOTE-curie-20101216">
          <front>
            <title>CURIE Syntax 1.0 - A syntax for expressing Compact URIs - W3C Working Group Note</title>
            <author initials="M." surname="Birbeck" fullname="Mark Birbeck">
              <organization/>
            </author>
            <author initials="S." surname="McCarron" fullname="Shane McCarron">
              <organization/>
            </author>
            <date year="2010" month="December" day="16"/>
          </front>
        </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="I-D.ietf-ace-oscore-gm-admin">
          <front>
            <title>Admin Interface for the OSCORE Group Manager</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>
            <author fullname="Peter Van der Stok" initials="P." surname="Van der Stok">
         </author>
            <author fullname="Francesca Palombini" initials="F." surname="Palombini">
              <organization>Ericsson AB</organization>
            </author>
            <date day="26" month="March" year="2026"/>
            <abstract>
              <t>   Group communication for the Constrained Application Protocol (CoAP)
   can be secured using Group Object Security for Constrained RESTful
   Environments (Group OSCORE).  A Group Manager is responsible for
   handling the joining of new group members, as well as for managing
   and distributing the group keying material.  This document defines a
   RESTful admin interface at the Group Manager that allows an
   Administrator entity to create and delete OSCORE groups, as well as
   to retrieve and update their configuration.  The Authentication and
   Authorization for Constrained Environments (ACE) framework is used to
   enforce authentication and authorization of the Administrator at the
   Group Manager.  Protocol-specific transport profiles of ACE are used
   to achieve communication security, proof of possession, and server
   authentication.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ace-oscore-gm-admin-17"/>
        </reference>
        <reference anchor="I-D.ietf-ace-oscore-gm-admin-coral">
          <front>
            <title>Using the Constrained RESTful Application Language (CoRAL) with the Admin Interface for the OSCORE Group Manager</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="6" month="July" year="2026"/>
            <abstract>
              <t>   Group communication for the Constrained Application Protocol (CoAP)
   can be secured using Group Object Security for Constrained RESTful
   Environments (Group OSCORE).  A Group Manager is responsible to
   handle the joining of new group members, as well as to manage and
   distribute the group keying material.  The Group Manager can provide
   a RESTful admin interface that allows an Administrator entity to
   create and delete OSCORE groups, as well as to retrieve and update
   their configuration.  This document specifies how an Administrator
   interacts with the admin interface at the Group Manager by using the
   Constrained RESTful Application Language (CoRAL).  The ACE framework
   for Authentication and Authorization is used to enforce
   authentication and authorization of the Administrator at the Group
   Manager.  Protocol-specific transport profiles of ACE are used to
   achieve communication security, proof of possession, and server
   authentication.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ace-oscore-gm-admin-coral-06"/>
        </reference>
        <reference anchor="I-D.hartke-t2trg-coral-reef">
          <front>
            <title>Resource Discovery in Constrained RESTful Environments (CoRE) using the Constrained RESTful Application Language (CoRAL)</title>
            <author fullname="Klaus Hartke" initials="K." surname="Hartke">
              <organization>Ericsson</organization>
            </author>
            <date day="9" month="May" year="2020"/>
            <abstract>
              <t>   This document explores how the Constrained RESTful Application
   Language (CoRAL) might be used for two use cases in Constrained
   RESTful Environments (CoRE): CoRE Resource Discovery, which allows a
   client to discover the resources of a server given a host name or IP
   address, and CoRE Resource Directory, which provides a directory of
   resources on many servers.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hartke-t2trg-coral-reef-04"/>
        </reference>
        <reference anchor="I-D.ietf-cose-cbor-encoded-cert">
          <front>
            <title>CBOR Encoded X.509 Certificates (C509 Certificates)</title>
            <author fullname="John Preuß Mattsson" initials="J. P." surname="Mattsson">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Göran Selander" initials="G." surname="Selander">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Shahid Raza" initials="S." surname="Raza">
              <organization>University of Glasgow</organization>
            </author>
            <author fullname="Joel Höglund" initials="J." surname="Höglund">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Martin Furuhed" initials="M." surname="Furuhed">
              <organization>IN Groupe</organization>
            </author>
            <author fullname="Lijun Liao" initials="L." surname="Liao">
              <organization>NIO</organization>
            </author>
            <date day="30" month="June" year="2026"/>
            <abstract>
              <t>   This document specifies a CBOR encoding of X.509 certificates.  The
   resulting certificates are called C509 certificates.  The CBOR
   encoding supports a large subset of RFC 5280 and common certificate
   profiles, and it is extensible.

   Two types of C509 certificates are defined.  One type is an
   invertible CBOR re-encoding of DER-encoded X.509 certificates with
   the signature field copied from the DER encoding.  The other type is
   identical except that the signature is computed over the CBOR
   encoding instead of the DER encoding, thereby avoiding the use of
   ASN.1.  Both types of certificates have the same semantics as X.509
   while providing comparable size reduction.

   This document also specifies CBOR-encoded data structures for
   certification requests and certification request templates, new COSE
   headers, as well as a TLS certificate type and a file format for
   C509.  This document updates RFC 6698 by extending the TLSA selectors
   registry to include C509 certificates.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cose-cbor-encoded-cert-20"/>
        </reference>
        <reference anchor="I-D.ietf-core-cacheable-oscore">
          <front>
            <title>End-to-End Protected and Cacheable CoAP Responses using Group Object Security for Constrained RESTful Environments (Group OSCORE)</title>
            <author fullname="Christian Amsüss" initials="C." surname="Amsüss">
         </author>
            <author fullname="Marco Tiloca" initials="M." surname="Tiloca">
              <organization>RISE AB</organization>
            </author>
            <date day="6" month="July" year="2026"/>
            <abstract>
              <t>   When using the Constrained Application Protocol (CoAP), exchanged
   messages can be protected end-to-end also across untrusted
   intermediary proxies.  This can be achieved with Object Security for
   Constrained RESTful Environments (OSCORE) or, in the case of group
   communication, with Group Object Security for Constrained RESTful
   Environments (Group OSCORE).  However, this sidesteps the proxies'
   abilities to cache responses from the origin server(s).  This
   document restores cacheability of end-to-end protected responses at
   proxies, by using Group OSCORE and introducing consensus requests,
   which any client in an OSCORE group can send to one server or
   multiple servers in the same group.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-core-cacheable-oscore-02"/>
        </reference>
        <reference anchor="I-D.ietf-iotops-7228bis">
          <front>
            <title>Terminology for Constrained-Node Networks</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <author fullname="Mehmet Ersue" initials="M." surname="Ersue">
         </author>
            <author fullname="Ari Keränen" initials="A." surname="Keränen">
              <organization>Ericsson</organization>
            </author>
            <author fullname="Carles Gomez" initials="C." surname="Gomez">
              <organization>Universitat Politecnica de Catalunya</organization>
            </author>
            <date day="6" month="July" year="2026"/>
            <abstract>
              <t>   The Internet Protocol Suite is increasingly used on small devices
   with severe constraints on power, memory, and processing resources,
   creating constrained-node networks.  This document provides a number
   of basic terms that have been useful in research and standardization
   work for constrained-node networks.

   This document obsoletes RFC 7228.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-iotops-7228bis-10"/>
        </reference>
        <reference anchor="RFC5280">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="D. Cooper" initials="D." surname="Cooper"/>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <date month="May" year="2008"/>
            <abstract>
              <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
        <reference anchor="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="RFC8392">
          <front>
            <title>CBOR Web Token (CWT)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="E. Wahlstroem" initials="E." surname="Wahlstroem"/>
            <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="May" year="2018"/>
            <abstract>
              <t>CBOR Web Token (CWT) is a compact means of representing claims to be transferred between two parties. The claims in a CWT are encoded in the Concise Binary Object Representation (CBOR), and CBOR Object Signing and Encryption (COSE) is used for added application-layer security protection. A claim is a piece of information asserted about a subject and is represented as a name/value pair consisting of a claim name and a claim value. CWT is derived from JSON Web Token (JWT) but uses CBOR rather than JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8392"/>
          <seriesInfo name="DOI" value="10.17487/RFC8392"/>
        </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="RFC8995">
          <front>
            <title>Bootstrapping Remote Secure Key Infrastructure (BRSKI)</title>
            <author fullname="M. Pritikin" initials="M." surname="Pritikin"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="T. Eckert" initials="T." surname="Eckert"/>
            <author fullname="M. Behringer" initials="M." surname="Behringer"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document specifies automated bootstrapping of an Autonomic Control Plane. To do this, a Secure Key Infrastructure is bootstrapped. This is done using manufacturer-installed X.509 certificates, in combination with a manufacturer's authorizing service, both online and offline. We call this process the Bootstrapping Remote Secure Key Infrastructure (BRSKI) protocol. Bootstrapping a new device can occur when using a routable address and a cloud service, only link-local connectivity, or limited/disconnected networks. Support for deployment models with less stringent security requirements is included. Bootstrapping is complete when the cryptographic identity of the new key infrastructure is successfully deployed to the device. The established secure connection can be used to deploy a locally issued certificate to the device as well.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8995"/>
          <seriesInfo name="DOI" value="10.17487/RFC8995"/>
        </reference>
        <reference anchor="RFC9423">
          <front>
            <title>Constrained RESTful Environments (CoRE) Target Attributes Registry</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="April" year="2024"/>
            <abstract>
              <t>The Constrained RESTful Environments (CoRE) specifications apply web technologies to constrained environments. One such important technology is Web Linking (RFC 8288), which CoRE specifications use as the basis for a number of discovery protocols, such as the Link Format (RFC 6690) in the Constrained Application Protocol's (CoAP's) resource discovery process (Section 7.2 of RFC 7252) and the Resource Directory (RD) (RFC 9176).</t>
              <t>Web Links can have target attributes, the names of which are not generally coordinated by the Web Linking specification (Section 2.2 of RFC 8288). This document introduces an IANA registry for coordinating names of target attributes when used in CoRE. It updates the "RD Parameters" IANA registry created by RFC 9176 to coordinate with this registry.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9423"/>
          <seriesInfo name="DOI" value="10.17487/RFC9423"/>
        </reference>
        <reference anchor="RFC9594">
          <front>
            <title>Key Provisioning for Group Communication Using Authentication and Authorization for Constrained Environments (ACE)</title>
            <author fullname="F. Palombini" initials="F." surname="Palombini"/>
            <author fullname="M. Tiloca" initials="M." surname="Tiloca"/>
            <date month="September" year="2024"/>
            <abstract>
              <t>This document defines how to use the Authentication and Authorization for Constrained Environments (ACE) framework to distribute keying material and configuration parameters for secure group communication. Candidate group members that act as Clients and are authorized to join a group can do so by interacting with a Key Distribution Center (KDC) acting as the Resource Server, from which they obtain the keying material to communicate with other group members. While defining general message formats as well as the interface and operations available at the KDC, this document supports different approaches and protocols for secure group communication. Therefore, details are delegated to separate application profiles of this document as specialized instances that target a particular group communication approach and define how communications in the group are protected. Compliance requirements for such application profiles are also specified.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9594"/>
          <seriesInfo name="DOI" value="10.17487/RFC9594"/>
        </reference>
        <reference anchor="Fairhair" target="https://openconnectivity.org/wp-content/uploads/2019/11/fairhair_security_wp_march-2018.pdf">
          <front>
            <title>Security Architecture for the Internet of Things (IoT) in Commercial Buildings</title>
            <author>
              <organization>FairHair Alliance</organization>
            </author>
            <date year="2018" month="March"/>
          </front>
          <seriesInfo name="White Paper, ed. Piotr Polak" value=""/>
        </reference>
      </references>
    </references>
    <?line 1129?>

<section anchor="use-case-example-coral">
      <name>Use Case Example With Full Discovery (CoRAL)</name>
      <t>This section provides the same use case example of <xref target="use-case-example"/> but using CoRAL <xref target="I-D.ietf-core-coral"/>.</t>
      <t>*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***</t>
      <t>The CT defines the application group "grp_R2-4-015", with resource /light and base address [ff05::db8:5:1], as follows.</t>
      <t>Request:  CT -&gt; RD</t>
      <artwork><![CDATA[
Req: POST coap://[2001:db8:4::ff]/rd
Content-Format: 65087 (application/coral+cbor)

Payload:
[
  [1, cri'coap://[ff05::db8:5:1]'],
  [2, 6(-22) / item 59 for reef:#ep /, "grp_R2-4-015"],
  [2, 6(21) / item 58 for reef:#et /, "core.rd-group"],
  [
    2, 6(-20) / item 55 for reef:#rd-item /, cri'/light',
    [
      2, simple(6) / item 6 for linkformat:rt /,
      6(-201) / item 417 for cri'http://www.iana.org/assignments/
                                 linkformat/rt/oic.d.light' /
    ]
  ]
]
]]></artwork>
      <t>Response:  RD -&gt; CT</t>
      <artwork><![CDATA[
Res: 2.01 (Created)
Location-Path: /rd/501
]]></artwork>
      <t>Also, the CT defines a second application group "grp_schedule", with resource /schedule and base address [ff05::db8:5:2], as follows.</t>
      <t>Request:  CT -&gt; RD</t>
      <artwork><![CDATA[
Req: POST coap://[2001:db8:4::ff]/rd
Content-Format: 65087 (application/coral+cbor)

Payload:
[
  [1, cri'coap://[ff05::db8:5:2]'],
  [2, 6(-22) / item 59 for reef:#ep /, "grp_schedule"],
  [2, 6(21) / item 58 for reef:#et /, "core.rd-group"],
  [
    2, 6(-20) / item 55 for reef:#rd-item /, cri'/schedule',
    [
      2, simple(6) / item 6 for linkformat:rt /,
      6(201) / item 418 for cri'http://www.iana.org/assignments/
                                 linkformat/rt/oic.r.time.period' /
    ]
  ]
]
]]></artwork>
      <t>Response:  RD -&gt; CT</t>
      <artwork><![CDATA[
Res: 2.01 (Created)
Location-Path: /rd/502
]]></artwork>
      <t>*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***</t>
      <t>Finally, the CT defines the corresponding security groups. In particular, assuming a Group Manager responsible for both security groups and with address [2001:db8::ab], the CT specifies:</t>
      <t>Request:  CT -&gt; RD</t>
      <artwork><![CDATA[
Req: POST coap://[2001:db8:4::ff]/rd
Content-Format: 65087 (application/coral+cbor)

Payload:
[
  [1, cri'coap://[2001:db8::ab]'],
  [2, 6(-22) / item 59 for reef:#ep /, "gm1"],
  [
    2, 6(-20) / item 55 for reef:#rd-item /,
    cri'/ace-group/feedca570000',
    [
      [2, simple(8) / item 8 for linkformat:ct /, 261],
      [
        2, simple(6) / item 6 for linkformat:rt /,
        6(200) / item 416 for cri'http://www.iana.org/assignments/
                                  linkformat/rt/core.osc.gm' /
      ],
      [
        2, simple(7) / item 7 for linkformat:if /,
        6(250) / item 516 for cri'http://www.iana.org/assignments/
                                  linkformat/if/ace.group' /
      ],
      [2, 6(-3) / item 21 for linkformat:sec-gp / , "feedca570000"],
      [2, 6(3)  / item 22 for linkformat:app-gp / , "grp_R2-4-015"]
    ]
  ],
  [
    2, 6(-20) / item 55 for reef:#rd-item /,
    cri'/ace-group/feedsc590000',
    [
      [2, simple(8) / item 8 for linkformat:ct /, 261],
      [
        2, simple(6) / item 6 for linkformat:rt /,
        6(200) / item 416 for cri'http://www.iana.org/assignments/
                                  linkformat/rt/core.osc.gm' /
        ],
      [
        2, simple(7) / item 7 for linkformat:if /,
        6(250) / item 516 for cri'http://www.iana.org/assignments/
                                  linkformat/if/ace.group' /
      ],
      [2, 6(-3) / item 21 for linkformat:sec-gp / , "feedsc590000"],
      [2, 6(3)  / item 22 for linkformat:app-gp / , "grp_schedule"]
    ]
  ]
]
]]></artwork>
      <t>Response:  RD -&gt; CT</t>
      <artwork><![CDATA[
Res: 2.01 (Created)
Location-Path: /rd/4521
]]></artwork>
      <t>*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***</t>
      <t>The device with IP address [2001:db8:4::x] can retrieve the IP multicast address of the CoAP group used by the application group "grp_R2-4-015", by performing an endpoint lookup as shown below.</t>
      <t>Request:  Joining node -&gt; RD</t>
      <artwork><![CDATA[
Req: GET coap://[2001:db8:4::ff]/rd-lookup/ep
  ?et=core.rd-group&ep=grp_R2-4-015
]]></artwork>
      <t>Response:  RD -&gt; Joining node</t>
      <artwork><![CDATA[
Res: 2.05 (Content)
Content-Format: 65087 (application/coral+cbor)

Payload:
[
  [1, cri'coap://[2001:db8:4::ff]/rd'],
  [
    2, 6(20) / item 56 for reef:#rd-unit /, cri'/501',
    [
      [2, 6(-22) / item 59 for reef:#ep /, "grp_R2-4-015"],
      [2, 6(21) / item 58 for reef:#et /, "core.rd-group"],
      [2, 6(22) / item 60 for reef:#base /,
       cri'coap://[ff05::db8:5:1]/'
      ],
      [2, 6(-21) / item 57 for reef:#rt /, "core.rd-ep"],
    ]
  ]
]
]]></artwork>
      <t>Similarly, to retrieve the IP multicast address of the CoAP group used by the application group "grp_schedule", the device performs an endpoint lookup as shown below.</t>
      <t>Request:  Joining node -&gt; RD</t>
      <artwork><![CDATA[
Req: GET coap://[2001:db8:4::ff]/rd-lookup/ep
  ?et=core.rd-group&ep=grp_schedule
]]></artwork>
      <t>Response:  RD -&gt; Joining node</t>
      <artwork><![CDATA[
Res: 2.05 (Content)
Content-Format: 65087 (application/coral+cbor)

Payload:
[
  [1, cri'coap://[2001:db8:4::ff]/rd'],
  [
    2, 6(20) / item 56 for reef:#rd-unit /, cri'/502',
    [
      [2, 6(-22) / item 59 for reef:#ep /, "grp_schedule"],
      [2, 6(21) / item 58 for reef:#et /, "core.rd-group"],
      [2, 6(22) / item 60 for reef:#base /,
       cri'coap://[ff05::db8:5:2]/'
      ],
      [2, 6(-21) / item 57 for reef:#rt /, "core.rd-ep"],
    ]
  ]
]
]]></artwork>
      <t>*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***</t>
      <t>Consequently, the device learns the security groups that it has to join. In particular, it does the following for app-gp="grp_R2-4-015".</t>
      <t>Request:  Joining node -&gt; RD</t>
      <artwork><![CDATA[
Req: GET coap://[2001:db8:4::ff]/rd-lookup/res
  ?rt=core.osc.gm&app-gp=grp_R2-4-015
]]></artwork>
      <t>Response:  RD -&gt; Joining Node</t>
      <artwork><![CDATA[
Res: 2.05 (Content)
Content-Format: 65087 (application/coral+cbor)

Payload:
[
  [1, cri'coap://[2001:db8::ab]'],
  [
    2, 6(-20) / item 55 for reef:#rd-item /,
    cri'/ace-group/feedca570000',
    [
      [2, simple(8) / item 8 for linkformat:ct /, 261],
      [2, simple(6) / item 6 for linkformat:rt /,
       6(200) / item 416 for cri'http://www.iana.org/assignments/
                                 linkformat/rt/core.osc.gm' /
      ],
      [2, simple(7) / item 7 for linkformat:if /,
       6(250) / item 516 for cri'http://www.iana.org/assignments/
                                 linkformat/if/ace.group' /
      ],
      [2, 6(-3) / item 21 for linkformat:sec-gp / , "feedca570000"],
      [2, 6(3)  / item 22 for linkformat:app-gp / , "grp_R2-4-015"]
    ]
  ]
]
]]></artwork>
      <t>Similarly, the device does the following for app-gp="grp_schedule".</t>
      <artwork><![CDATA[
Req: GET coap://[2001:db8:4::ff]/rd-lookup/res
  ?rt=core.osc.gm&app-gp=grp_schedule
]]></artwork>
      <t>Response:  RD -&gt; Joining Node</t>
      <artwork><![CDATA[
Res: 2.05 (Content)
Content-Format: 65087 (application/coral+cbor)

Payload:
[
  [1, cri'coap://[2001:db8::ab]'],
  [
    2, 6(-20) / item 55 for reef:#rd-item /,
    cri'/ace-group/feedsc590000',
    [
      [2, simple(8) / item 8 for linkformat:ct /, 261],
      [2, simple(6) / item 6 for linkformat:rt /,
       6(200) / item 416 for cri'http://www.iana.org/assignments/
                                 linkformat/rt/core.osc.gm' /
      ],
      [2, simple(7) / item 7 for linkformat:if /,
       6(250) / item 516 for cri'http://www.iana.org/assignments/
                                 linkformat/if/ace.group' /
      ],
      [2, 6(-3) / item 21 for linkformat:sec-gp / , "feedsc590000"],
      [2, 6(3)  / item 22 for linkformat:app-gp / , "grp_schedule"]
    ]
  ]
]
]]></artwork>
      <t>*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***</t>
      <t>After this last discovery step, the device can ask for permission to join the security groups and can effectively join them through the Group Manager, e.g., according to <xref target="I-D.ietf-ace-key-groupcomm-oscore"/>.</t>
    </section>
    <section anchor="sec-packed-cbor-tables">
      <name>Shared Item Tables for Packed CBOR</name>
      <t>This appendix defines the three shared item tables that the examples in this document refer to when using Packed CBOR <xref target="I-D.ietf-cbor-packed"/>.</t>
      <t>The application-extension identifier "cri" defined in <xref section="3.7" sectionFormat="of" target="I-D.ietf-cbor-edn-literals"/> is used to notate a Concise Diagnostic Notation (CDN) literal for a CRI.</t>
      <section anchor="compacting-coral-predicates-with-packed-cbor">
        <name>Compacting CoRAL Predicates with Packed CBOR</name>
        <t>The following shared item table is used for compacting CoRAL predicates, as per <xref section="2.2" sectionFormat="of" target="I-D.ietf-cbor-packed"/>.</t>
        <figure anchor="fig-packed-cbor-table-1">
          <name>Shared Item Table for Compacting CoRAL Predicates.</name>
          <artwork align="center"><![CDATA[
+-------+----------------------------------------------------------+
| Index | Item                                                     |
+-------+----------------------------------------------------------+
| 0     | cri'http://www.iana.org/assignments/relation/hosts'      |
+-------+----------------------------------------------------------+
| 1     | cri'http://www.iana.org/assignments/relation/            |
|       |     authorization-server'                                |
+-------+----------------------------------------------------------+
| 6     | cri'http://www.iana.org/assignments/linkformat/rt'       |
+-------+----------------------------------------------------------+
| 7     | cri'http://www.iana.org/assignments/linkformat/if'       |
+-------+----------------------------------------------------------+
| 8     | cri'http://www.iana.org/assignments/linkformat/ct'       |
+-------+----------------------------------------------------------+
| 9     | cri'http://www.iana.org/assignments/linkformat/anchor'   |
+-------+----------------------------------------------------------+
| 10    | cri'http://www.iana.org/assignments/linkformat/rel'      |
+-------+----------------------------------------------------------+
| 21    | cri'http://www.iana.org/assignments/linkformat/sec-gp'   |
+-------+----------------------------------------------------------+
| 22    | cri'http://www.iana.org/assignments/linkformat/app-gp'   |
+-------+----------------------------------------------------------+
| 23    | cri'http://www.iana.org/assignments/linkformat/hkdf'     |
+-------+----------------------------------------------------------+
| 24    | cri'http://www.iana.org/assignments/linkformat/cred-fmt' |
+-------+----------------------------------------------------------+
| 25    | cri'http://www.iana.org/assignments/linkformat/          |
|       |     gp-enc-alg'                                          |
+-------+----------------------------------------------------------+
| 26    | cri'http://www.iana.org/assignments/linkformat/sign-alg' |
+-------+----------------------------------------------------------+
| 27    | cri'http://www.iana.org/assignments/linkformat/          |
|       |     sign-key-kty'                                        |
+-------+----------------------------------------------------------+
| 28    | cri'http://www.iana.org/assignments/linkformat/          |
|       |     sign-key-crv'                                        |
+-------+----------------------------------------------------------+
| 29    | cri'http://www.iana.org/assignments/linkformat/alg'      |
+-------+----------------------------------------------------------+
| 30    | cri'http://www.iana.org/assignments/linkformat/ecdh-alg' |
+-------+----------------------------------------------------------+
| 31    | cri'http://www.iana.org/assignments/linkformat/          |
|       |     ecdh-alg-crv'                                        |
+-------+----------------------------------------------------------+
| 32    | cri'http://www.iana.org/assignments/linkformat/          |
|       |     ecdh-key-kty'                                        |
+-------+----------------------------------------------------------+
| 33    | cri'http://www.iana.org/assignments/linkformat/          |
|       |     ecdh-key-crv'                                        |
+-------+----------------------------------------------------------+
| 34    | cri'http://www.iana.org/assignments/linkformat/          |
|       |     det-hash-alg'                                        |
+-------+----------------------------------------------------------+
| 35    | cri'http://www.iana.org/assignments/linkformat/          |
|       |     rekeying-scheme'                                     |
+-------+----------------------------------------------------------+
| 55    | cri'http://coreapps.org/reef#rd-item'                    |
+-------+----------------------------------------------------------+
| 56    | cri'http://coreapps.org/reef#rd-unit'                    |
+-------+----------------------------------------------------------+
| 57    | cri'http://coreapps.org/reef#rt'                         |
+-------+----------------------------------------------------------+
| 58    | cri'http://coreapps.org/reef#et'                         |
+-------+----------------------------------------------------------+
| 59    | cri'http://coreapps.org/reef#ep'                         |
+-------+----------------------------------------------------------+
| 60    | cri'http://coreapps.org/reef#base'                       |
+-------+----------------------------------------------------------+
]]></artwork>
        </figure>
      </section>
      <section anchor="compacting-values-of-the-rt-target-attribute-with-packed-cbor">
        <name>Compacting Values of the rt= Target Attribute with Packed CBOR</name>
        <t>The following shared item table is used for compacting values of the rt= target attribute, as per <xref section="2.2" sectionFormat="of" target="I-D.ietf-cbor-packed"/>.</t>
        <figure anchor="fig-packed-cbor-table-2">
          <name>Shared Item Table for Compacting Values of the rt= Target Attribute.</name>
          <artwork align="center"><![CDATA[
+-------+----------------------------------------------------+
| Index | Item                                               |
+-------+----------------------------------------------------+
| 416   | cri'http://www.iana.org/assignments/linkformat/rt/ |
|       |     core.osc.gm'                                   |
+-------+----------------------------------------------------+
| 417   | cri'http://www.iana.org/assignments/linkformat/rt/ |
|       |     oic.d.light'                                   |
+-------+----------------------------------------------------+
| 418   | cri'http://www.iana.org/assignments/linkformat/rt/ |
|       |     oic.r.time.period'                             |
+-------+----------------------------------------------------+
]]></artwork>
        </figure>
      </section>
      <section anchor="compacting-values-of-the-if-target-attribute-with-packed-cbor">
        <name>Compacting Values of the if= Target Attribute with Packed CBOR</name>
        <t>The following shared item table is used for compacting values of the if= target attribute, as per <xref section="2.2" sectionFormat="of" target="I-D.ietf-cbor-packed"/>.</t>
        <figure anchor="fig-packed-cbor-table-3">
          <name>Shared Item Table for Compacting Values of the if= Target Attribute.</name>
          <artwork align="center"><![CDATA[
+-------+----------------------------------------------------+
| Index | Item                                               |
+-------+----------------------------------------------------+
| 516   | cri'http://www.iana.org/assignments/linkformat/if/ |
|       |     ace.group'                                     |
+-------+----------------------------------------------------+
]]></artwork>
        </figure>
      </section>
    </section>
    <section numbered="false" anchor="acknowldegment">
      <name>Acknowledgments</name>
      <t>The authors sincerely thank <contact fullname="Carsten Bormann"/>, <contact fullname="Klaus Hartke"/>, <contact fullname="Jaime Jiménez"/>, <contact fullname="Francesca Palombini"/>, <contact fullname="Dave Robin"/>, and <contact fullname="Jim Schaad"/> for their comments and feedback.</t>
      <t>The work on this document has been partly supported by the Sweden's Innovation Agency VINNOVA and the Celtic-Next projects CRITISEC and CYPRESS; by the H2020 project SIFIS-Home (Grant agreement 952652); and by the EIT-Digital High Impact Initiative ACTIVE.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
Gt7q7NS/s63F5/XNeqP2vdwNP3N2gwrCfvgOZNBzV/I3peBX87LoR8TSMI60
+DhhR+oOYQBlsCsBSAdEPZDOj2+KpJPteZ3Wettb2ed85tXa60SWNb/388Ge
B+SztrnVabsjFyibOzbAh8ug1hKZcvntSnWtrU2ovwLqfm03MA3taSXann5s
4COdhrcNnK6z6q1x8fDWM2IDdFMYWI9rDZbX/DTth3xl3byyZV55kvaa9OFa
o8bUGD6dsENP+Ylf5SYjKBmVLa7s6qF3aWTTa2APjEMACU7ax4Z6TxOnGWBb
D7BdHCDNFWj4Z3sFkKIf3mzz4wj0LPVq+pGgP07TiTWLKzz11OtTV7GjAdsp
riLsF1axZW3Hna0i7K9pVla1BqaMDQ1Jp12EmxkcfN8oqFmFQWAMPUinOAjz
Qx5E8sTC65vW65slEpIMkgbY2CiCv2XA3yq+argpvdxeL7y8Zc1bojzFXOlV
4K/Fic12d56Vljxpxh0z48Z68S3FiXnGzk5xRnPONko7ZXNxen9zKq229VBt
yQyivSqejkPp1y3mVCUanioCq6n/fqx9vDe27qke59yOT3eL1okrsjuWakjA
/aSbShf8og2V0L1KjnoG0j0cZZsP3ZxRNL10STvDuX88Gpl00Z4OccCUsk5I
trguTSPd6ziNugiFKrqcfkpbrY1CiwDLmZKrKaQ/UoUzZE/s8oxcmzbZIkdv
WK8nemC2DpNLeUVHyGX/ljNh4F+q1rOqaaAy01X2tvZBYPTJuMQBK1ynRJX6
pc7g3Kst9/EuM2ygYwLCM7rlt6wJemGG9VuiosEfD5+MFhl9wgUi6J2svkNE
4iazKwQieJLoy9gZFd3s6A4P7YeOrSbp3F3AbKnpc8HXWzV1T4Kii4ivSNHR
bKDv+Wr0EJpuRC2v+QIlZ0bjLH/fPd1/tRbSP7KYoL2Bl9MZR5kEp1FN5RsO
leuW8/KKFaQVUyRd7PcEVCfrBajNkmwAkhBuryWlmRZ3FBjw82BQ2j++EEE9
yZ4YzYBKXhjFZGZ4YAbyGkwMVHBX1arOKV/s3XOdLVxT2ksIxELDC3OxD7o5
Rqm4DJPxlO2cpxJ3ohOG+v/Fls94afOIYLCOf5fo7OlIeNELmE67aONmkPpn
AVBduzMfpFdJVUVoEdQNdsTxL5v1Cf1HmOnIMlZ8udqDgWUm8qwVw6IumnlO
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

-->

</rfc>
