<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.3.7) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-tiloca-core-oscore-discovery-18" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.30.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-18"/>
    <author initials="M." surname="Tiloca" fullname="Marco Tiloca">
      <organization>RISE AB</organization>
      <address>
        <postal>
          <street>Isafjordsgatan 22</street>
          <city>Kista</city>
          <code>16440 Stockholm</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="2025" month="September" day="03"/>
    <area>Web and Internet Transport</area>
    <workgroup>CoRE Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 128?>

<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 may not know the exact security groups to join, the respective Group Manager, or other information required to perform the joining process. This document describes 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 Manager. A given security group may protect 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 ACE framework for Authentication and Authorization in constrained environments.</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 132?>

<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, which can be efficiently accessed through group communication. The members of an application group may 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 contexts through CBOR Object Signing and Encryption (COSE) <xref target="RFC9052"/><xref target="RFC9053"/>. An application group may rely on one or more security groups, and a same security group may 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 group keying material. The joining process in <xref target="I-D.ietf-ace-key-groupcomm-oscore"/> is based on the ACE framework for Authentication and Authorization in constrained environments <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 exported by the GM and associated with the security group to join.</t>
      <t>Typically, devices store a static X509 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: (1) the security group(s) to join and the responsible GM(s) are generally unknown at manufacturing time; (2) 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; (3) information related to existing security groups or to their GMs has changed. 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, 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"/> allows 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 specification builds on this approach and describes 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 as well as in the Constrained RESTful Application Language CoRAL <xref target="I-D.ietf-core-coral"/> with reference to a CoRAL-based RD <xref target="I-D.hartke-t2trg-coral-reef"/>.</t>
      <t>The examples in CoRAL are expressed in the Concise Binary Object Representation (CBOR) diagnostic notation <xref target="RFC8949"/> and refer to values from external dictionaries using Packed CBOR <xref target="I-D.ietf-cbor-packed"/>. <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>The CoAP protocol <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>Consistently 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. An endpoint may 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 may be a member of multiple security groups. There can be a one-to-one or a one-to-many relation between security groups and CoAP groups.  </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 may be a member of multiple application groups. An application group can be associated with one or more security groups. Also, multiple application groups can use the same security group. 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 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, such as "constrained device" and "constrained-node network", is defined in <xref target="RFC7228"/>.</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="Target.Attributes"/> defined in <xref target="RFC9423"/>.</t>
          </li>
          <li>
            <t>The path segment SEG2 is the value of the target attribute.</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="B" sectionFormat="of" target="I-D.ietf-core-href"/> is used to notate a CBOR Extended Diagnostic Notation (EDN) 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.</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="16.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(s) of the application group(s) associated with the security group of interest indicated by 'sec-gp'. This parameter <bcp14>MUST</bcp14> occur once for each application group and <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"/><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 the 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"/><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, which is taken from the 'Value' column of the "COSE Algorithms" Registry <xref target="COSE.Algorithms"/>.</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="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>
            <t>
[ As to C509 certificates, there is a pending registration requested by draft-ietf-cose-cbor-encoded-cert. ]</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="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="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="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="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="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="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="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="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="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.amsuess-core-cachable-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="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 meterial 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 COSE Registries <xref target="COSE.Algorithms"/><xref target="COSE.Elliptic.Curves"/><xref target="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, 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"/>) would 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 described 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="I-D.ietf-jose-fully-specified-algorithms"/>).</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 should send an Authorization Request 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 exporting the related group-membership resource.</t>
        </li>
        <li>
          <t>The GM dismisses a security group and stops exporting 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 called the 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="16.10" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>.</t>
        </li>
      </ul>
      <t>The joining node may additionally consider 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. This parameter <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(s) of the application group(s) 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 may include links to a group-membership resource specifying multiple application groups, as all using 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 may include links to different group-membership resources, all specifying a 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 should 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 be anyway able to join only security groups for 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 the group-membership resource that serves all the specified application groups, i.e., not any group-membership resource that serves either. Therefore, a joining node needs to perform N separate queries with different values for 'app-gp', in order to safely discover the (different) group-membership resource(s) serving the N 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>Consistently 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)

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 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)

Payload:
<coap://as.example.com/token>;rel=authorization-server;
      anchor="coap://[2001:db8::ab]/ace-group/feedca570000"
]]></artwork>
          <t>In order to retrieve the multicast IP 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 ff35:30:2001:db8::23 as multicast IP 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)

Payload:
</rd/501>;ep="group1";et="core.rd-group";
          base="coap://[ff35:30:2001:db8::23]";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 multicast IP 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 ff35:30:2001:db8::23 as multicast IP 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://[ff35:30:2001:db8::23]'
      ],
      [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>Consistently 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 of 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

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)

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 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>Assume the existence of 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 multicast IP 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, consistently 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: i) application group "grp_R2-4-015" to the four luminaires; and ii) application group "grp_schedule" to all schedule requiring devices. Also, the device with ep name ACME-123x has been assigned IP address: [2001:db8:4::x]. The RD is assigned IP address: [2001:db8:4:ff]. The used multicast addresses are: [ff05::5:1] and [ff05::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>
      <artwork><![CDATA[
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
]]></artwork>
      <t>The CT defines the application group "grp_R2-4-015", with resource /light and base address [ff05::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::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::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::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>
      <artwork><![CDATA[
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
]]></artwork>
      <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>
      <artwork><![CDATA[
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
]]></artwork>
      <t>The device with IP address [2001:db8:4::x] can retrieve the multicast IP 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::5:1]";rt="core.rd-ep"
]]></artwork>
      <t>Similarly, to retrieve the multicast IP 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::5:2]";rt="core.rd-ep"
]]></artwork>
      <artwork><![CDATA[
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
]]></artwork>
      <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>
      <artwork><![CDATA[
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
]]></artwork>
      <t>After this last discovery step, the device can ask 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 as described in <xref section="8" sectionFormat="of" target="RFC9176"/> apply here 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 Type Registry</name>
        <t>IANA is asked to register the following entry in the "Link Relation Type" registry 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: None</t>
          </li>
          <li>
            <t>Application Data: None</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 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 "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="5" month="July" year="2025"/>
            <abstract>
              <t>   This document defines the security protocol Group Object Security for
   Constrained RESTful Environments (Group OSCORE), providing end-to-end
   security of CoAP messages exchanged between members of a group, e.g.,
   sent over IP multicast.  In particular, the described protocol
   defines how OSCORE is used in a group communication setting to
   provide source authentication for CoAP group requests, sent by a
   client to multiple servers, and for protection of the corresponding
   CoAP responses.  Group OSCORE also defines a pairwise mode where each
   member of the group can efficiently derive a symmetric pairwise key
   with 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-26"/>
        </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="2" month="July" year="2025"/>
            <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-14"/>
        </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="7" month="July" year="2025"/>
            <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 -16 is intended as input to IETF 123, to address the
   // discussion about the use of simple values as reference items
   // during the 2025-06-11 CBOR interim meeting.  It contains a number
   // of editorial improvements as well as the new concept of an
   // integration tag; it is for discussion whether the latter should or
   // should not be added to Packed CBOR.  The wording of the present
   // revision continues to make use of the tunables A/B/C to be set to
   // specific numbers before completing the Packed CBOR specification;
   // not all the examples may fully align yet.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cbor-packed-16"/>
        </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="30" month="August" 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 to add a note on how the "URI Schemes"
   registry of RFC 7595 cooperates with the "CRI Scheme Numbers"
   registry created by the present RFC.


   // (This "cref" paragraph will be removed by the RFC editor:) The
   // present revision –24 attempts to address follow-on AD review
   // comments as well as comments from the ARTART review.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-core-href-24"/>
        </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="28" month="August" year="2025"/>
            <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 for 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-18"/>
        </reference>
        <reference anchor="I-D.ietf-jose-fully-specified-algorithms">
          <front>
            <title>Fully-Specified Algorithms for JOSE and COSE</title>
            <author fullname="Michael B. Jones" initials="M. B." surname="Jones">
              <organization>Self-Issued Consulting</organization>
            </author>
            <author fullname="Orie Steele" initials="O." surname="Steele">
              <organization>Transmute</organization>
            </author>
            <date day="11" month="May" 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.

   This specification updates RFC 7518, RFC 8037, and RFC 9053.  It
   deprecates polymorphic algorithms defined by RFC 8037 and RFC 9053
   and provides fully-specified replacements for them.  It adds to the
   instructions to designated experts in RFC 7518 and RFC 9053.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-jose-fully-specified-algorithms-13"/>
        </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="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="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="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="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="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="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="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="8" month="January" year="2025"/>
            <abstract>
              <t>   Group communication for 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 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 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-13"/>
        </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="7" month="July" year="2025"/>
            <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-04"/>
        </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>RISE AB</organization>
            </author>
            <author fullname="Joel Höglund" initials="J." surname="Höglund">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Martin Furuhed" initials="M." surname="Furuhed">
              <organization>IN Groupe</organization>
            </author>
            <date day="18" month="August" year="2025"/>
            <abstract>
              <t>   This document specifies a CBOR encoding of X.509 certificates.  The
   resulting certificates are called C509 Certificates.  The CBOR
   encoding supports a large subset of RFC 5280 and all certificates
   compatible with the RFC 7925, IEEE 802.1AR (DevID), CNSA 1.0, RPKI,
   GSMA eUICC, and CA/Browser Forum Baseline Requirements profiles.
   C509 is deployed in different settings including, in-vehicle and
   vehicle-to-cloud communication, Unmanned Aircraft Systems (UAS), and
   Global Navigation Satellite System (GNSS).  When used to re-encode
   DER encoded X.509 certificates, the CBOR encoding can in many cases
   reduce the size of RFC 7925 profiled certificates by over 50% while
   also significantly reducing memory and code size compared to ASN.1.
   The CBOR encoded structure can alternatively be signed directly
   ("natively signed"), which does not require re-encoding for the
   signature to be verified.  The TLSA selectors registry defined in RFC
   6698 is extended to include C509 certificates.  The document also
   specifies C509 Certificate Requests, C509 COSE headers, a C509 TLS
   certificate type, and a C509 file format.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cose-cbor-encoded-cert-15"/>
        </reference>
        <reference anchor="I-D.amsuess-core-cachable-oscore">
          <front>
            <title>Cacheable 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="2025"/>
            <abstract>
              <t>   Group communication with the Constrained Application Protocol (CoAP)
   can be secured end-to-end using Group Object Security for Constrained
   RESTful Environments (Group OSCORE), also across untrusted
   intermediary proxies.  However, this sidesteps the proxies' abilities
   to cache responses from the origin server(s).  This specification
   restores cacheability of protected responses at proxies, by
   introducing consensus requests which any client in a group can send
   to one server or multiple servers in the same group.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-amsuess-core-cachable-oscore-11"/>
        </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="RFC7228">
          <front>
            <title>Terminology for Constrained-Node Networks</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="M. Ersue" initials="M." surname="Ersue"/>
            <author fullname="A. Keranen" initials="A." surname="Keranen"/>
            <date month="May" year="2014"/>
            <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 the standardization work for constrained-node networks.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7228"/>
          <seriesInfo name="DOI" value="10.17487/RFC7228"/>
        </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 1123?>

<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>
      <artwork><![CDATA[
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
]]></artwork>
      <t>The CT defines the application group "grp_R2-4-015", with resource /light and base address [ff05::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::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::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::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>
      <artwork><![CDATA[
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
]]></artwork>
      <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>
      <artwork><![CDATA[
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
]]></artwork>
      <t>The device with IP address [2001:db8:4::x] can retrieve the multicast IP 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::5:1]/'],
      [2, 6(-21) / item 57 for reef:#rt /, "core.rd-ep"],
    ]
  ]
]
]]></artwork>
      <t>Similarly, to retrieve the multicast IP 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::5:2]/'],
      [2, 6(-21) / item 57 for reef:#rt /, "core.rd-ep"],
    ]
  ]
]
]]></artwork>
      <artwork><![CDATA[
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
]]></artwork>
      <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>
      <artwork><![CDATA[
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
]]></artwork>
      <t>After this last discovery step, the device can ask 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 for using Packed CBOR <xref target="I-D.ietf-cbor-packed"/>.</t>
      <t>The application-extension identifier "cri" defined in <xref section="B" sectionFormat="of" target="I-D.ietf-core-href"/> is used to notate a CBOR Extended Diagnostic Notation (EDN) literal for a CRI.</t>
      <section anchor="compression-of-coral-predicates">
        <name>Compression of CoRAL predicates</name>
        <t>The following shared item table is used for compressing 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 Compressing 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="compression-of-values-of-the-rt-target-attribute">
        <name>Compression of Values of the rt= Target Attribute</name>
        <t>The following shared item table is used for compressing 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 Compressing 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="compression-of-values-of-the-if-target-attribute">
        <name>Compression of Values of the if= Target Attribute</name>
        <t>The following shared item table is used for compressing 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 Compressing 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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
+xOC/WSTFfIKfMVKHU6LNC8ZgKiiqMs4CZao9KHmx6AU0hjIwrG2J76AvKTk
YJ4YQp0DthjIFa1dPmLVkIG63EVCcBJFOpttDRJISaWzVclQUmiQ+4U2Ru0U
4k/dYjqBfmWHzgit8k+QdGaNre6KZzwW5kiQmGaTPfQKWDyR0m5bgt7YXlfa
Kx+HQrqMzYTBiRUmbrYs/4jhiW3BwW2dDeuTAYSzvzrn4WfYw34ZdtqTPrzp
ZtSxCkmMTj93l+Ugx6D3pyym3dqowDZyi7NRGWptKVWkC7m5mkHG2ciYmMl5
NhdBGlIaotHT/cPFY9Dw2pSaL4LDZGmPGbFUnfoLQADkkdJkeWlAnhOXhlmr
k1J/KKN1dqK2l7IKEqobqHxvjdNqiJMujCIwPmr1lbKvF3HpLZCzXPUqSy+Q
1SpIIyvFAWw+rVVJGgYT01Kg2A4MdQAKNDkvA8vJRC7OqSNVynpiQTatchXL
MWZXtpKQ5WSgy6L26amWoS5tqjpQRlFCHndJsY+JKLBJt4QsxvMhehBshIFd
vRxYKCnzZeRk1gkulti3UuU1X1Y+bDU6Kp2kM2es0NwMboqVMCkBAt3s35Bj
KrY6ZGjNQFgIkKj5cxc3ghXnRKU2asKqWqUhtsXuf632fqQ12ym6CS5KI8tQ
bQu3rtJzo9wCDd9Joq0J+DDzVHPCHjm6mQVSfAxbjcRnzHwG570KWfD6b/uv
hOkD4fmSitVgijCi8Cx2mZDlJjSW6U2hh5kewStolJ2yl6QcSlkmpCnPgqLJ
ubiwLqxDz1OAurwhpKc/4fdPgUtE42Gsqbhe6LZR1xYq+sAKHT20+MI4SLM/
rFAZlAtGn5DJ4ZM7bUIhbLRnxjV09S1ty5vgFL3SVdtSaoZR3p1S+w2qq+ti
IhDpB8rJxM5AAErtEPERgld+RjYWYn6Gax+6ATSbSYnfACYAAQP0DF5IHYKd
UMVRHEmTkhO40/uNjxJV6D4jgvqMiCWSOYrZwoqWWRrsMp+jYimY/xKGZSIs
ptpTHFRjg4FcVGzva4T2hPI9mKXoKPdFEEa0RkX8/TE2YOCpdLGCi4qc3Jm4
qVHCFXs5pkbj7rqpOqA7U36Hsc2C0+SC/fXw8/EXsUtirrQY2tCUSoICMVLO
hCoXEKtv3GVsytJb4uMnYj5nI/wcGx2V2Y+0lacFfo8VRfylTdWpZD+s4rDo
sQoYsaI5OBNzHKcA9iFEhVuq4pufYoiuH9sZgmctTPLsm5dHuD3VBFGmAnx2
BgnMsc9Y7hxQg5PHDX6oDUYL9Ty/Km8yShbtoshUHTp8lt1kzx929aZ3WHnx
pjtZae3d9KKC4xWEZdh3ReW3g5FCp7IyXgp90TR2HkoMqLf0ARwFYXqJRRnO
VIjgeZTXg939r8c1DODzMI6tb55xyG5vUC0ZDvb2X1dQB+jSHA+q3t9bC4wP
ekA8+rtnqWSn9CMdPCwdzMVEdUx8kSTybXBTQtNcctZKE52RWcDWt4Gomwhi
g5x5aOj3g6Lb0lJP5s1BkE1gv/jNXD45FsQjKh3kzBEu6AgpVUjZkFbuVhSp
TGuniAb1b5JrVUYxMJ3kVGpoRVgZBOglkhOguJ1EFbZUyE9yL6Jm1h2ANKqK
/6lmRfzAtE1CltnD1WAUmHIO5GWh4ZG0PbQc84XjBA+2CZhg8YOWWbADCrhj
WqCb/1eZ39Zut9prxXDe4fRdSPFzKshhfVPr4+QfiX0tISt4N1zDtmgDoVvH
tw2qaKSFHlHuTBRzCIaDzOTZCTKpkuqKNSyqCD/ztQJV4JNxWKysRdxOa7g5
Bh0mqfM5J+vjlVhWKHW0w6KGUBSFhG5PAnwFdDsm/60s/FoNe+nyfCbiUkwV
oEAN8irFn0JyTJY41CTmX5aenLCSpwmcW1Ygei3xXvUpAMU2DVIVUqqKD13K
4Fy/puJr48wSR497FoxDECeqtKuhkjLsJkgVJNKB+2Z7tW7qHTGcfEbt5PE7
+IoSYcfcNuVoX2XDpTIfp7FuiSTdCoZCzow7Vab4EzaqEBEW0QSxmRDRgktQ
1VTcvgh2oU9ZZRS9V4O4lBb0LtDL6vZHZESmDFuvmC2k3LXFQjtaFTasCFV5
DjeTmaMP0jwdUxQroJg8PW7KxNAg8XvnGJ5daJtyQc5pDjPaimWFEqB3Nww1
jVMWPSh3PPZOdGNaHpeOpWBOKbXLwPZckeydmfixjZVNC0XY2ItOH1cauA2r
TIumsaOe6Znp1SUCc4xiqVaUnQsVPmYrqNAOhsKuI2yIOORuFNhhyG3wUehk
2FDtunSPokDgxRBRE/DalGnq9NXRxaHWRMUUzteSjrDmV1hm2A/TLOd5FUZK
c5YXilGIQis4tUw/CXLSRmjk0jHrOsnlahNttxvVDtfGvBSQpTdxH6uoWsWw
p2gC/I8lTfx7cWRpL0y4NVk52O6B2gbTgRJPQSviEDl36KPtcn0SpX3sSR04
ooqZzBSeagvdZgBZqDk/80iXObxROZd+08tjakJpUzcxhaUZ3CFvc3IasNZc
8Xs9EP5ezvXlzphiafdYtzGjjNPKtCjV2pIztTM0cAqDuUzEadpV6lFaymyf
L+3upLia42kJ2k4uoerClFCCMbXt9cA2acbJglJYS2g/plRR2/zJ2Wcnlb7c
v6o6F7eiI1bLVJoV0gXdhX78J+92Xbmx4y58579AzJ4HV0h01zE7cfHtfWXe
aq12iE1cemLJoSFBQd9lPiwErpHu1V3dzK40nGrGj3+au/7JQ6rC6cfveWqv
1EmzBQcIVXdquYALYrMpP197fZpAzAEBUHuajHK0ebMM16PsyvrZsM26pW7u
8PEXOMXtnd7p1s5OcPrxk9Yndaqa2wiP54ORbcWC0dM1EehER8dCLqe1Fn0o
OAfD1weW2w02nq3CT73lNx4xmYu6cTLJg1KapDMafQALthmKZjk+0Cot1AKt
u2WbQOpcziCA7aDX2dhob4ulZnt7WReikLu2t3+8WxzGgFPwz5lRCklyMy5V
YitqYtn6NJFJ+v6svBDjzrCSzdXyK5OCRP3zBuhOYVwXS2try7ynVb7rySiF
h5vHx+KPlN7W7GxsAnY7z5YVOyqg7u8Kc+vLisEoaWdEoE+8c8m8ahFHHU3V
jQUFFQNOIdoQWoj40v1ICZFCN9OCkVTAQ1W65KSSE+QlTwz/CGPPaH3yhBlK
FUdhRYOVxmts9ESA7ghEW/N7vHev9r/sD36/Iz68B+uvmwTIENNeS3EjvDsN
/vyzHL0AllPzaxN2xPoq8GWnUsCZdxmLHq/wqpOd2p9sCcGKyxm+f97NX3Q2
28/T/IWXtv887L9wEt+fmxuBKn+YVb3wmc5z5gUvNPOYMYa28l7U19bqz61W
/KIOVvys+ZXW/AJM/m2YeL63tFINb3We1Z+7JuKL+nq9UfuT2o0g83aDaqe+
fw5i54Uv7JtK1ut5WdojYmkYT0B8mrAjdY8wgDLYEQGkA9IdSOeHt0XSyXZE
p7XaFkt7nC68XHuTqMLeD0E+2BFAPivrG522P3KBsrkXAXy4CGotkSkXoS5V
l5y6hPoLoO6XdgPT0Z5Wou3ppwY+0mmITeBdnWWxwiW0G9vEBugKJjAZVxos
ovlp2g/1yqp9ZcO+8iTtNenDlUaNqTF8OmGHnvITv6hNRlAyqvBb2jJDb9HI
top+ByxCAAlO2qeGfs8Qpx1g0wywWRwgzTVo+LO5BEgxD6+3+XEEepZGNf1I
0I/XTmHF4QpPhX596iqeGcCeFVcR9gur2HC2495WEfZXDCurWgNTxpqBpNMu
ws0MDr5vFDSrwiAwhhmkUxyE+SEPonhi4fV15/X1EgkpBkkDrK0Vwd+w4G8U
X7XclF5urxZe3nDmLVGeZq70KvDX4sR2uzvbpSVPmvGZnXFttfiW5sQ8Y+dZ
cUZ7ztZKO+VycXp/fSqtts1QbcUMop0qno5D2QtQLXOqEg1PNYHV9P9/qn16
MLYudLNqbjdn2v6aJBPVGkrX7nNj4KbW7q6NbcKNiM3NANQTj+5OKJt56NuM
oul1QcaVzo3A0a6k+8xMlAKmVGU4qldxaRpUGUP2EOnLK6hSyusUtNFaK1TT
Ox6UXE+hnJA6NqGaG5dn5JqvyUY4usB6PdkDS3WYXKhLFUKukHf8B4PgQnda
Vb3xrGmu87iN3wEjSNYRDmjhOiCqai/1eObeynmA103xvSg2rDuj87k7RS/M
sEJKVnS64wmS0e3GP6wuGEC/ZPXNDwpBmVsvEMGTRGTWfKho7EY3LxgPdOy0
vOZqfLuvti8EFjKlsmlq+IuuIb7ZwkSlgcjnq4JDaHYj6rXMV994M1o3+Yfd
k73XKyH9o0oL2mt4h5h1kClwGtWkvuaRevFmDKQX2/Kj2M4IKI+rB7iLkGqY
kRBurxS12SZvFBII8u6gtH/c3l4/yR4Yw4VK3hfNaWZ4Xgbq0kEMUXDr0KpO
I9fu7vlOFi7Y7CUEYqFBxI5pxorujVEqL8JkPGU75ylZneh8oQ54seMtXtg8
sjtYxf8W6OTpKHjR+5dOuzbhZpAGp12gunZnPkgvk6qqyyKoa6pvHf2xXp/Q
r4OZjioVxZerHRNY/qHOWjEk6qOZ5/TXM8tP8OgB+FY9AA7WXCpYMNY8AvOx
1vnGseYelAVjzTuDPtbWZo3hPb1ef+5jcfq7RRz/nrxPDzetR/MPN61HNLc0
ytbBKGMt/tHX9uTbcLbd3Md2ny62G3nYbu5Yu0+/2qNb7dGt9ptxqy2G37iS
6NG5/5/t3Pe0kjtxoc4jF3rkQjfgQq5i+qj1/AeyHs8yuRPrWbvb6+uPnOsW
nKu5dFvOdTeG9YDByJvbvWLfvTZoUgiyWDoyoYrlMlAXevOF6aXifExJ5avK
8a5v6V9zhs2RG2IYng34fkiKyOke2bHEpMog9W+5D3Knfzl1oHJ6TfNICBJC
hNn16gpgcx191X2splWk6VCuPfPufffkD1etSEsXihcXVQgoGf+8ujTXXIxb
Dh9tFuKk/gXS3h3R1D0RU6JDxFSxEZi5Rg3LS5wm0GVnuuoMqlt7ciCgtBrT
EJ6hnrfte2msiiuJbDIt5632VYWBwlY/jLjhpemWK174/Wy/ze65JdRgNzGv
fEFfdTY5B34Sqgr1G8UKLx14DyKg/R612lxEc9ybd6yVFXM56DW8Rk1NefUP
2ui2vKTdf/DdrFSe0LM3jSEv4lI97qGJXW/5lmIPCy42Mfm/qrHtt9dX+URx
SxRZtuwAWAXStO4Cb69BmAKis+Ypl7hR4B0lhS1cqLzK7VDdpmeb03snju4W
4SPgXllCkiPnGDheo1gK0LoEUhHhnB8TtqXu5KwFvrrQwUugYqbTwDKcwZe1
oVMQNyEZOzOXb9ogdVCBBF0jZLDrPjFKsK+lNHeie1hX+eOc8cA5BYnpliAd
xJevdyQRVuzEM8etpctcHa40scaUyxI5+aQfYb1gxVNOhR43cbR1kqIbhZSU
4eABR8PuCLgvVKCbjLEdvk6v8tHCBXbMQ0Z8parq+pxJhIeZOVXT52F3HAXF
SmERDBPDK3QNA7xBw4R4kExo3YGRK4J1FSrrcbD7zEOHLfEGLxkVusbAA/ky
hAfpys2rSxReKieNxqDK+SJ2kSpVnQWXKuqCRP+6CvfmyJvVBpgie8XWjvbV
zfBGk/XvLawqjynydEYQHBj4mPJzQi1Y3d4A1VXZdHEm4jwziq3TUbyCr3FN
DWrDeHXqfCPLEPmPV8Ie+BuFu5u5xcDvTBmeKUQnfFmS1zckwY5Zeesqo1nQ
xxo+U7WOa1sy7y9Phh2lMEKud+DdhMSxQeGG0xKf8hrOlK6ht734dDsHvKkZ
AOeL4cpXnDKrYpL00JeRILHHrqGGoEbliDp1UalmvgyQhp1YNlU0qqsq3IuD
biaraYszo31YANSweIO7KerqDmT3nHgIJ+3R/JR4Bug8g52HI0tJd2hT0d1g
1UacOB3nii0q62NKzTxsk9ddxmmt7isdLiWpO4qJOWL7A70EbzjVMbDA/Nsd
zrabpwHHE9f01aHfj0/aNg2uYPQ25ef29aR7tN1LIyflweG283fFjN7rwoVh
nGVnFP7C8a0wtauK3Co027KSoONxDdpXtfuqFYFRfCbr+56GQzY11orphh5z
9Ke4UWLWX10sTArF/3AwORLfZMtoBeCoCfHnNH/hmHJ/UBknjJEZDhgXlGpX
zIZYUnF/L8nrJrkeJhuHPEOzUnKqE7zo1WKW1xwZSZNSZmYkxfhoe3mlRYwt
h1VypugFIZKf4DvxHB13qmIs1bw/eLniPVKzjF5UuSL/gPupkm9uQn33fAIm
pxFVLWKBBXuHE11oqOiB9ZKLww+maNy9dor3e3q2rmWoJVJWR8G/3VA7ATNK
qo75HLDXzbklGC9slk4lxuR5qXziVFKnPs6Z9jsrlHyMuwUPI52Xfn9tY2dt
dceit7OGr05DkXPmLLbuh+LlCAleKvYNn9Ncf5D3zbzRh76x2v7+uXSYqdR8
WcPh5RWivWHJtQqvn+o22xKGkKP6zVPTHlQy8p0WM9PYFrkH955B95gSd5Ow
6mNK3GNK3G8ipHv7ZJSvHdL9j9ZCfidaxjcnCK2Uc4Xcpi/kxnFIoogEHCs8
FQJtjnzzSrbWscdtY8t9ieYsKFLVyUYwiJ15c9UZBJUtN83IlfqVqtfTCfzf
hfKZix4fSmlArDzjE1xMnWkups435GKaVE851ZlUdBbN6SiyXqWZJcbuMvnS
KIwq6WrVcv4B8ZHkFLk8D0VVvs8219vFjItT6hPL7nps/KkTSVRBtLlnzYbk
Z2UbOLcNI6TWLQ0j9iJV/o5UrTwXU8PTxHUR2cR5dSbLlcReuIll2xX+la4M
L3Q5v74LzE0RoLhTiAMDi0S0mjvO6JbsiIJC3sX0vyXHnvKMec6N97TfwIYX
6+cww3bW/2O9fvvFZJNMBml3YC6wm6yUlDJ2lF6CRIrdFyNswmhbP6vDg98O
sANiqeG0vjpIj2NK9qmZow3CTQ63M33bIB1yLEyxmP2i6rhRyGH54S1nKyiG
6pXV35t3sHAeHl3btyLyxuwVVhYg32iFfp1xeYWdr7zCymLhG63Qrwkur3Ct
UChcXfo7b4VvYcX07nTu5YTNOSvh6GDv/du3B+/2D/ZV8ksh7YEyGKxZVeJe
RoMjRUNJCJFwwtaU/qI2BcF0GlW9dfDca15GF5CYHiRlsfs1/IUzBO5XsJtc
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
MMDAs9jdOzn86aBV+/8A2/NE0yoBAA==

-->

</rfc>
