<?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  (Ruby 3.0.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-ace-oscore-gm-admin-08" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.15.3 -->
  <front>
    <title abbrev="Admin Interface for the OSCORE GM">Admin Interface for the OSCORE Group Manager</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-ace-oscore-gm-admin-08"/>
    <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="R." surname="Höglund" fullname="Rikard Höglund">
      <organization>RISE AB</organization>
      <address>
        <postal>
          <street>Isafjordsgatan 22</street>
          <city>Kista</city>
          <code>16440 Stockholm</code>
          <country>Sweden</country>
        </postal>
        <email>rikard.hoglund@ri.se</email>
      </address>
    </author>
    <author initials="P." surname="van der Stok" fullname="Peter van der Stok">
      <organization>Consultant</organization>
      <address>
        <phone>+31-492474673 (Netherlands), +33-966015248 (France)</phone>
        <email>stokcons@bbhmail.nl</email>
      </address>
    </author>
    <author initials="F." surname="Palombini" fullname="Francesca Palombini">
      <organization>Ericsson AB</organization>
      <address>
        <postal>
          <street>Torshamnsgatan 23</street>
          <city>Kista</city>
          <code>16440 Stockholm</code>
          <country>Sweden</country>
        </postal>
        <email>francesca.palombini@ericsson.com</email>
      </address>
    </author>
    <date year="2023" month="March" day="13"/>
    <area>Internet</area>
    <workgroup>ACE Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>Group communication for 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. 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>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
    Authentication and Authorization for Constrained Environments Working Group mailing list (ace@ietf.org),
    which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/ace/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/ace-wg/ace-oscore-gm-admin"/>.</t>
    </note>
  </front>
  <middle>
    <section anchor="intro">
      <name>Introduction</name>
      <t>The Constrained Application Protocol (CoAP) <xref target="RFC7252"/> can be used in group communication environments where messages are also exchanged over IP multicast <xref target="I-D.ietf-core-groupcomm-bis"/>. Applications relying on CoAP can achieve end-to-end security at the application layer by using Object Security for Constrained RESTful Environments (OSCORE) <xref target="RFC8613"/>, and especially Group OSCORE <xref target="I-D.ietf-core-oscore-groupcomm"/> in group communication scenarios.</t>
      <t>When group communication for CoAP is protected with Group OSCORE, nodes are required to explicitly join the correct OSCORE group. To this end, a joining node interacts with a Group Manager (GM) entity responsible for that group, and retrieves the required keying material to securely communicate with other group members using Group OSCORE.</t>
      <t>The method in <xref target="I-D.ietf-ace-key-groupcomm-oscore"/> specifies how nodes can join an OSCORE group through the respective Group Manager. Such a method builds on the ACE framework for Authentication and Authorization <xref target="RFC9200"/>, so ensuring a secure joining process as well as authentication and authorization of joining nodes (clients) at the Group Manager (resource server).</t>
      <t>In some deployments, the application running on the Group Manager may know when a new OSCORE group has to be created, as well as how it should be configured and later on updated or deleted, e.g., based on the current application state or on pre-installed policies. In this case, the Group Manager application can create and configure OSCORE groups when needed, by using a local application interface. However, this requires the Group Manager to be application-specific, which in turn leads to error prone deployments and is poorly flexible.</t>
      <t>In other deployments, a separate Administrator entity, such as a Commissioning Tool, is directly responsible for creating and configuring the OSCORE groups at a Group Manager, as well as for maintaining them during their whole lifetime until their deletion. This allows the Group Manager to be agnostic of the specific applications using secure group communication.</t>
      <t>This document specifies a RESTful admin interface at the Group Manager, intended for an Administrator as a separate entity external to the Group Manager and its application. The interface allows the Administrator to create and delete OSCORE groups, as well as to configure and update their configuration.</t>
      <t>Interaction examples are provided, in Link Format <xref target="RFC6690"/> and Custom CBOR <xref target="RFC8949"/>, as well as in CoRAL <xref target="I-D.ietf-core-coral"/>. The examples in Custom CBOR are expressed in CBOR diagnostic notation without the tag and value abbreviations.</t>
      <t>The examples in CoRAL are expressed in CBOR diagnostic notation, and refer to values from external dictionaries using Packed CBOR <xref target="I-D.ietf-cbor-packed"/>. <xref target="notation-coral-examples"/> introduces the notation and assumptions used in the CoRAL examples.</t>
      <t>The ACE framework is used to ensure authentication and authorization of the Administrator (client) at the Group Manager (resource server). In order to achieve communication security, proof-of-possession and server authentication, the Administrator and the Group Manager leverage protocol-specific transport profiles of ACE, such as <xref target="RFC9202"/><xref target="RFC9203"/>. These include also possible forthcoming transport profiles that comply with the requirements in Appendix C of <xref target="RFC9200"/>.</t>
      <section anchor="terminology">
        <name>Terminology</name>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" 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>
        <t>Readers are expected to be familiar with the terms and concepts from the following specifications:</t>
        <ul spacing="normal">
          <li>CBOR <xref target="RFC8949"/> and COSE <xref target="RFC9052"/><xref target="RFC9053"/>.</li>
          <li>
            <t>The CoAP protocol <xref target="RFC7252"/>, also in group communication scenarios <xref target="I-D.ietf-core-groupcomm-bis"/>. These include the concepts of:  </t>
            <ul spacing="normal">
              <li>"application group", as a set of CoAP nodes that share a common set of resources; and of</li>
              <li>"security group", as a set of CoAP nodes that share the same security material, and use it to protect and verify exchanged messages.</li>
            </ul>
          </li>
          <li>
            <t>The OSCORE <xref target="RFC8613"/> and Group OSCORE <xref target="I-D.ietf-core-oscore-groupcomm"/> security protocols. These especially include the concepts of:  </t>
            <ul spacing="normal">
              <li>Group Manager, as the entity responsible for a set of OSCORE groups where communications among members are secured using Group OSCORE. An OSCORE group is used as security group for one or many application groups.</li>
              <li>Authentication credential, as the set of 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="RFC7925"/> and C509 certificates <xref target="I-D.ietf-cose-cbor-encoded-cert"/>.</li>
            </ul>
          </li>
          <li>The ACE framework for authentication and authorization <xref target="RFC9200"/>. The terminology for entities in the considered architecture is defined in OAuth 2.0 <xref target="RFC6749"/>. In particular, this includes Client (C), Resource Server (RS), and Authorization Server (AS).</li>
          <li>The management of keying material for groups in ACE <xref target="I-D.ietf-ace-key-groupcomm"/> and specifically for OSCORE groups <xref target="I-D.ietf-ace-key-groupcomm-oscore"/>. These include the concept of group-membership resource hosted by the Group Manager, that new members access to join the OSCORE group, while current members can access to retrieve updated keying material.</li>
        </ul>
        <t>Note that, unless otherwise indicated, the term "endpoint" is used here following its OAuth definition, aimed at denoting resources such as /token and /introspect at the AS, and /authz-info at the RS. This document does not use the CoAP definition of "endpoint", which is "An entity participating in the CoAP protocol".</t>
        <t>This document also refers to the following terminology.</t>
        <ul spacing="normal">
          <li>Administrator: entity responsible to create, configure and delete OSCORE groups at a Group Manager.</li>
          <li>Group name: stable and invariant name of an OSCORE group. The group name MUST be unique under the same Group Manager, and MUST include only characters that are valid for a URI path segment.</li>
          <li>
            <t>Group-collection resource: a single-instance resource hosted by the Group Manager. An Administrator accesses a group-collection resource to retrieve the list of existing OSCORE groups, or to create a new OSCORE group, under that Group Manager.  </t>
            <t>
As an example, this document uses /manage as the url-path of the group-collection resource; implementations are not required to use this name, and can define their own instead.</t>
          </li>
          <li>
            <t>Group-configuration resource: a resource hosted by the Group Manager, associated with an OSCORE group under that Group Manager. A group-configuration resource is identifiable with the invariant group name of the respective OSCORE group. An Administrator accesses a group-configuration resource to retrieve or change the configuration of the respective OSCORE group, or to delete that group.  </t>
            <t>
The url-path to a group-configuration resource has GROUPNAME as last segment, with GROUPNAME the invariant group name assigned upon its creation. Building on the considered url-path of the group-collection resource, this document uses /manage/GROUPNAME as the url-path of a group-configuration resource; implementations are not required to use this name, and can define their own instead.</t>
          </li>
          <li>Admin endpoint: an endpoint at the Group Manager associated with the group-collection resource or to a group-configuration resource hosted by that Group Manager.</li>
        </ul>
      </section>
      <section anchor="notation-coral-examples">
        <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"/>. Throughout this document, the CoRAL examples use the following notation.</t>
        <t>When using the CURIE syntax <xref target="CURIE-20101216"/>, the following applies.</t>
        <ul spacing="normal">
          <li>'core.osc.gcoll' stands for http://coreapps.org/core.osc.gcoll#</li>
          <li>'core.osc.gconf' stands for http://coreapps.org/core.osc.gconf#</li>
          <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>
        </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 Link Format <xref target="RFC6690"/> are expected to be coordinated through the "Target Attributes" registry defined in <xref target="I-D.ietf-core-target-attr"/>.</t>
          </li>
          <li>The path segment SEG2 is the value of the target attribute.</li>
        </ul>
        <t>The notation cri'' introduced in <xref target="I-D.bormann-cbor-edn-literals"/> is used to represent CRIs <xref target="I-D.ietf-core-href"/>. 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 two shared item tables in <xref target="sec-packed-cbor-tables"/>.</t>
        <t>Finally, the examples consider a Group Manager with address [2001:db8::ab], and use the CoAP Content-Format ID 65087 for the media-type application/coral+cbor.</t>
      </section>
    </section>
    <section anchor="overview">
      <name>Group Administration</name>
      <t>With reference to the ACE framework and the terminology defined in OAuth 2.0 <xref target="RFC6749"/>:</t>
      <ul spacing="normal">
        <li>The Group Manager acts as Resource Server (RS). It provides one single group-collection resource, and one group-configuration resource per existing OSCORE group. Each of those is exported by a distinct admin endpoint.</li>
        <li>The Administrator acts as Client (C), and requests to access the group-collection resource and group-configuration resources, by accessing the respective admin endpoint at the Group Manager.</li>
        <li>
          <t>The Authorization Server (AS) authorizes the Administrator to access the group-collection resource and group-configuration resources at a Group Manager. Multiple Group Managers can be associated with the same AS.  </t>
          <t>
The authorized access for an Administrator can be limited to performing only a subset of operations, according to what is allowed by the authorization information in the Access Token issued to that Administrator (see <xref target="scope-format"/> and <xref target="getting-access"/>). The AS can authorize multiple Administrators to access the group-collection resource and the (same) group-configuration resources at the Group Manager.  </t>
          <t>
The AS MAY release Access Tokens to the Administrator for other purposes than accessing admin endpoints of registered Group Managers.</t>
        </li>
      </ul>
      <section anchor="managing-groups">
        <name>Managing OSCORE Groups</name>
        <t><xref target="fig-api"/> shows the resources of a Group Manager available to an Administrator.</t>
        <figure anchor="fig-api">
          <name>Resources of a Group Manager</name>
          <artwork align="center"><![CDATA[
             ___
   Group    /   \
Collection  \___/
                 \
                  \____________________
                   \___    \___        \___
                   /   \   /   \  ...  /   \        Group
                   \___/   \___/       \___/   Configurations
]]></artwork>
        </figure>
        <t>The Group Manager exports a single group-collection resource, with resource type "core.osc.gcoll" defined in <xref target="iana-rt"/> of this document. The interface for the group-collection resource defined in <xref target="interactions"/> allows the Administrator to:</t>
        <ul spacing="normal">
          <li>Retrieve the list of existing OSCORE groups.</li>
          <li>Retrieve the list of existing OSCORE groups matching with specified filter criteria.</li>
          <li>Create a new OSCORE group, specifying its invariant group name and, optionally, its configuration.</li>
        </ul>
        <t>The Group Manager exports one group-configuration resource for each of its OSCORE groups. Each group-configuration resource has resource type "core.osc.gconf" defined in <xref target="iana-rt"/> of this document, and is identified by the group name specified upon creating the OSCORE group. The interface for a group-configuration resource defined in <xref target="interactions"/> allows the Administrator to:</t>
        <ul spacing="normal">
          <li>Retrieve the complete current configuration of the OSCORE group.</li>
          <li>Retrieve part of the current configuration of the OSCORE group, by applying filter criteria.</li>
          <li>Overwrite the current configuration of the OSCORE group.</li>
          <li>Selectively update only part of the current configuration of the OSCORE group.</li>
          <li>Delete the OSCORE group.</li>
        </ul>
      </section>
      <section anchor="collection-representation">
        <name>Collection Representation</name>
        <t>A list of group configurations is represented as a document containing the corresponding group-configuration resources in the list. Each group-configuration is represented as a link, where the link target is the URI of the group-configuration resource.</t>
        <t>The list can be represented as a Link Format document <xref target="RFC6690"/> or a CoRAL document <xref target="I-D.ietf-core-coral"/>.</t>
        <t>In the former case, the link to each group-configuration resource specifies the link target attribute 'rt' (Resource Type), with value "core.osc.gconf" defined in <xref target="iana-rt"/> of this document.</t>
        <t>In the latter case, the CoRAL document specifies the group-configuration resources in the list as top-level link elements. In particular, the link to each group-configuration resource has http://coreapps.org/core.osc.gcoll#item as relation type.</t>
      </section>
      <section anchor="discovery">
        <name>Discovery</name>
        <t>The Administrator can discover the group-collection resource from a Resource Directory, for instance <xref target="RFC9176"/> and <xref target="I-D.hartke-t2trg-coral-reef"/>, or from .well-known/core, by using the resource type "core.osc.gcoll" defined in <xref target="iana-rt"/> of this document.</t>
        <t>The Administrator can discover group-configuration resources for the group-collection resource as specified in <xref target="collection-resource-get"/> and <xref target="collection-resource-fetch"/>.</t>
      </section>
    </section>
    <section anchor="scope-format">
      <name>Format of Scope</name>
      <t>This section defines the exact format and encoding of scope to use, in order to express authorization information for the Administrator (see <xref target="getting-access"/>).</t>
      <t>To this end, this document uses the Authorization Information Format (AIF) <xref target="RFC9237"/>. In particular, it uses and extends the AIF specific data model AIF-OSCORE-GROUPCOMM defined in <xref section="3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>.</t>
      <t>The original definition of the data model AIF-OSCORE-GROUPCOMM specifies a scope as structured in scope entries, which express authorization information for users of an OSCORE group, i.e., actual group members or external signature verifiers. In the rest of this section, these are referred to as "user scope entries".</t>
      <t>This document extends the same AIF specific data model AIF-OSCORE-GROUPCOMM as defined below. In particular, it defines how the same scope can (also) include scope entries that express authorization information for Administrators of OSCORE groups. In the rest of this section, these are referred to as "admin scope entries".</t>
      <t>Like in the original definition of the data model AIF-OSCORE-GROUPCOMM, and with reference to the generic AIF model</t>
      <artwork><![CDATA[
   AIF-Generic<Toid, Tperm> = [* [Toid, Tperm]]
]]></artwork>
      <t>the value of the CBOR byte string used as scope encodes the CBOR array [* [Toid, Tperm]], where each [Toid, Tperm] element corresponds to one scope entry.</t>
      <t>Then, the following applies for each admin scope entry intended to express authorization information for an Administrator, as defined in this document.</t>
      <ul spacing="normal">
        <li>
          <t>The object identifier ("Toid") is specialized as either of the following, and specifies a group name pattern P for the admin scope entry.  </t>
          <ul spacing="normal">
            <li>Wildcard pattern: "Toid" is specialized as the CBOR simple value "true" (0xf5), specifying the wildcard pattern. That is, any group name expressed as a literal text string matches with this group name pattern.</li>
            <li>Literal pattern: "Toid" is specialized as a CBOR text string, whose value specifies an exact group name as a literal string. That is, only one specific group name expressed as a literal text string matches with this group name pattern.</li>
            <li>
              <t>Complex pattern: "Toid" is specialized as a tagged CBOR data item, specifying a more complex group name pattern with the semantics signaled by the CBOR tag. That is, multiple group names expressed as a literal text string match with this group name pattern.      </t>
              <t>
For example, and as typically expected, the data item can be a CBOR text string marked with the CBOR tag 35. This indicates that the group name pattern specified as value of the CBOR text string is a regular expression (see <xref section="3.4.5.3" sectionFormat="of" target="RFC8949"/>).      </t>
              <t>
In case the AIF specific data model AIF-OSCORE-GROUPCOMM is used in a JSON payload, the semantics information conveyed by the CBOR tag can be equivalently conveyed, for example, in a nested JSON object.      </t>
              <t>
The AS and the Group Manager are expected to have agreed on commonly supported semantics for group name patterns. This can happen, for instance, as part of the registration process of the Group Manager at the AS.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>The permission set ("Tperm") is specialized as a CBOR unsigned integer with value Q. This specifies the permissions that the Administrator has to perform operations on the admin endpoints at the Group Manager, as pertaining to any OSCORE group whose name matches with the pattern P. The value Q is computed as follows.  </t>
          <ul spacing="normal">
            <li>Each permission in the permission set is converted into the corresponding numeric identifier X from the "Value" column of the "Group OSCORE Admin Permissions" registry, for which this document defines the entries in <xref target="fig-permission-values"/>.</li>
            <li>The set of N numbers is converted into the single value Q, by taking two to the power of each numeric identifier X_1, X_2, ..., X_N, and then computing the inclusive OR of the binary representations of all the power values.</li>
          </ul>
          <t>
In general, a single permission can be associated with multiple different operations that are possible to be performed when interacting with the Group Manager. For example, the "List" permission allows the Administrator to retrieve a list of group configurations (see <xref target="collection-resource-get"/>) or only a subset of that according to specified filter criteria (see <xref target="collection-resource-fetch"/>), by issuing a GET or FETCH request to the group-collection resource, respectively.</t>
        </li>
      </ul>
      <figure anchor="fig-permission-values">
        <name>Numeric identifier of permissions on the admin endpoints at a Group Manager</name>
        <artwork align="center"><![CDATA[
+--------+-------+----------------------------------------+
| Name   | Value | Description                            |
+========+=======+========================================+
| List   | 0     | Retrieve list of group configurations  |
+--------+-------+----------------------------------------+
| Create | 1     | Create new group configurations        |
+--------+-------+----------------------------------------+
| Read   | 2     | Retrieve group configurations          |
+--------+-------+----------------------------------------+
| Write  | 3     | Change group configurations            |
+--------+-------+----------------------------------------+
| Delete | 4     | Delete group configurations            |
+--------+-------+----------------------------------------+
]]></artwork>
      </figure>
      <t>The following CDDL <xref target="RFC8610"/> notation defines an admin scope entry that uses the data model AIF-OSCORE-GROUPCOMM and expresses a set of permissions from those in <xref target="fig-permission-values"/>.</t>
      <sourcecode type="CDDL"><![CDATA[
   AIF-OSCORE-GROUPCOMM = AIF-Generic<oscore-gname, oscore-gperm>

   oscore-gname = true / tstr / #6.nnn(any) ; Group name pattern
   oscore-gperm = uint .bits admin-permissions
   admin-permissions = &(
      List: 0,
      Create: 1,
      Read: 2,
      Write: 3,
      Delete: 4
   )

   scope_entry = [oscore-gname, oscore-gperm]
]]></sourcecode>
      <t>Future specifications that define new permissions on the admin endpoints at the Group Manager MUST register a corresponding numeric identifier in the "Group OSCORE Admin Permissions" registry defined in <xref target="ssec-iana-group-oscore-admin-permissions-registry"/> of this document.</t>
      <t>When using the scope format as defined in this section, the permission set ("Tperm") of each admin scope entry MUST include the "List" permission. It follows that, when expressing permissions for Administrators of OSCORE groups as defined in this document, an admin scope entry has the least significant bit of "Tperm" always set to 1.</t>
      <t>Therefore, an Administrator is always allowed to retrieve a list of existing group configurations. The exact elements included in the returned list are determined by the Group Manager, based on the group name patterns specified in the admin scope entries of the Administrator's Access Token, as well as on possible filter criteria specified in the request from the Administrator (see <xref target="collection-resource-get"/> and <xref target="collection-resource-fetch"/>).</t>
      <t>Building on the above, the same single scope can include user scope entries as well as admin scope entries, whose specific format is defined in <xref section="3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/> and earlier in this section, respectively. The two types of scope entries can be unambiguously distinguished by means of the least significant bit of their permission set "Tperm", which has value 0 for the user scope entries and 1 for the admin scope entries.</t>
      <t>The coexistence of user scope entries and admin scope entries within the same scope makes it possible to issue a single Access Token, in case the requesting Client wishes to be a user for some OSCORE groups and at the same time Administrator for some (other) OSCORE groups under the same Group Manager.</t>
      <t>Throughout the rest of this document, the term "scope entry" is used as referred to "admin scope entry", unless otherwise indicated.</t>
      <section anchor="on-using-group-name-patterns">
        <name>On Using Group Name Patterns</name>
        <t>Having the object identifier ("Toid") specialized as a pattern displays a number of advantages.</t>
        <ul spacing="normal">
          <li>When relying on wildcard patterns and complex patterns, the encoded scope can be compact in size while allowing the Administrator to operate on large pools of group names.</li>
          <li>When relying on wildcard patterns and complex patterns, the Administrator and the AS do not need to know exact group names for requesting and issuing an Access Token, respectively (see <xref target="getting-access"/>). In turn, the Group Manager can effectively take the final decision about the name to assign to an OSCORE group, upon its creation (see <xref target="collection-resource-post"/>).</li>
          <li>The Administrator may have established a secure communication association with the Group Manager based on a first Access Token T1, and then created an OSCORE group G. Following the invalidation of T1 (e.g., due to expiration) and the establishment of a new secure communication association with the Group Manager based on a new Access Token T2, the Administrator can seamlessly perform authorized operations on the previously created group G.</li>
        </ul>
      </section>
    </section>
    <section anchor="getting-access">
      <name>Getting Access to the Group Manager</name>
      <t>All communications between the involved entities rely on the CoAP protocol and MUST be secured.</t>
      <t>In particular, communications between the Administrator and the Group Manager leverage protocol-specific transport profiles of ACE to achieve communication security, proof-of-possession and server authentication. To this end, the AS may explicitly signal the specific transport profile to use, consistently with requirements and assumptions defined in the ACE framework <xref target="RFC9200"/>.</t>
      <t>With reference to the AS, communications between the Administrator and the AS (/token endpoint) as well as between the Group Manager and the AS (/introspect endpoint) can be secured by different means, for instance using DTLS <xref target="RFC9147"/> or OSCORE <xref target="RFC8613"/>. Further details on how the AS secures communications (with the Administrator and the Group Manager) depend on the specifically used transport profile of ACE, and are out of the scope of this document.</t>
      <t>In order to specify authorization information for Administrators, the format and encoding of scope defined in <xref target="scope-format"/> of this document MUST be used, for both the 'scope' claim in the Access Token, as well as for the 'scope' parameter in the Authorization Request and Authorization Response exchanged with the AS (see Sections <xref target="RFC9200" section="5.8.1" sectionFormat="bare"/> and <xref target="RFC9200" section="5.8.2" sectionFormat="bare"/> of <xref target="RFC9200"/>).</t>
      <t>Furthermore, the AS MAY use the extended format of scope defined in <xref section="7" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm"/> for the 'scope' claim of the Access Token. In such a case, the AS MUST use the CBOR tag with tag number TAG_NUMBER, associated with the CoAP Content-Format CF_ID for the media type application/aif+cbor registered in <xref section="16.9" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>.</t>
      <t>Note to RFC Editor: In the previous paragraph, please replace "TAG_NUMBER" with the CBOR tag number computed as TN(ct) in <xref section="4.3" sectionFormat="of" target="RFC9277"/>, where ct is the ID assigned to the CoAP Content-Format CF_ID registered in <xref section="16.9" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>. Then, please replace "CF_ID" with the ID assigned to that CoAP Content-Format. Finally, please delete this paragraph.</t>
      <t>This indicates that the binary encoded scope, as conveying the actual access control information, follows the scope semantics of the AIF specific data model AIF-OSCORE-GROUPCOMM defined in <xref section="3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/> and extended as per <xref target="scope-format"/> of this document.</t>
      <t>In order to get access to the Group Manager for managing OSCORE groups, an Administrator performs the following steps.</t>
      <ol spacing="normal" type="1"><li>
          <t>The Administrator requests an Access Token from the AS, in order to access the group-collection and group-configuration resources on the Group Manager. To this end, the Administrator sends to the AS an Authorization Request as defined in <xref section="5.8.1" sectionFormat="of" target="RFC9200"/>.  </t>
          <t>
If the 'scope' parameter in the Authorization Request includes scope entries whose "Toid" specifies a complex pattern (see <xref target="scope-format"/>), then all such scope entries MUST adhere to the same pattern semantics.  </t>
          <t>
The Administrator will start or continue using a secure communication association with the Group Manager, according to the response from the AS and the specifically used transport profile of ACE.</t>
        </li>
        <li>
          <t>The AS processes the Authorization Request as defined in <xref section="5.8.2" sectionFormat="of" target="RFC9200"/>, especially verifying that the Administrator is authorized to obtain the requested permissions, or possibly a subset of those.  </t>
          <t>
The AS specifies the information on the authorization granted to the Administrator as the value of the 'scope' claim to include in the Access Token, in accordance with the scope format specified in <xref target="scope-format"/>. It is implementation specific which particular approach the AS takes to evaluate the requested permissions against the access policies pertaining to the Administrator for the Group Manager in question. <xref target="sec-as-scope-processing"/> provides an example of such an approach that the AS can use.  </t>
          <t>
If the 'scope' claim in the Authorization Request includes scope entries whose "Toid" specifies a complex pattern, then all such scope entries MUST adhere to the same pattern semantics.  </t>
          <t>
If the 'scope' parameter in the Authorization Request includes scope entries whose "Toid" specifies a complex pattern adhering to a certain pattern semantics, then that semantics MUST be used for all the scope entries in the 'scope' claim that specify a complex pattern.  </t>
          <t>
The AS MUST include the 'scope' parameter in the Authorization Response defined in <xref section="5.8.2" sectionFormat="of" target="RFC9200"/>, when the value included in the Access Token differs from the one specified by the Administrator in the Authorization Request. In such a case, scope specifies the set of permissions that the Administrator actually has to perform operations at the Group Manager, encoded as specified in <xref target="scope-format"/>.  </t>
          <t>
If the 'scope' parameter in the Authorization Request includes scope entries whose "Toid" specifies a complex pattern and any of the following conditions holds, then the AS MUST reply with a 4.00 (Bad Request) error response (see <xref section="5.8.3" sectionFormat="of" target="RFC9200"/>). The 'error_description' parameter carried out in the response payload MUST specify the CBOR value 1 (invalid_scope).  </t>
          <ul spacing="normal">
            <li>The "Toid" of the different scope entries that specify a complex pattern do not all adhere to the same pattern semantics.</li>
            <li>The "Toid" of the different scope entries that specify a complex pattern adhere to the same pattern semantics, but this is not supported by the AS or by the Group Manager.</li>
          </ul>
          <t>
Finally, as discussed in <xref target="scope-format"/>, the authorization information included in the Authorization Request or specified by the AS might also include permissions for the same Client as a user of an OSCORE group, i.e., as an actual group member or an external signature verifier. As per <xref target="scope-format"/>, such authorization information is expressed by "user scope entries", whose format and processing is specified in <xref target="I-D.ietf-ace-key-groupcomm-oscore"/>.</t>
        </li>
        <li>The Administrator transfers authentication and authorization information to the Group Manager by posting the obtained Access Token, according to the used profile of ACE, such as <xref target="RFC9202"/> and <xref target="RFC9203"/>. After that, the Administrator must have a secure communication association established with the Group Manager, before performing any administrative operation on that Group Manager. Possible ways to provide secure communication are DTLS <xref target="RFC9147"/> and OSCORE <xref target="RFC8613"/>. The Administrator and the Group Manager maintain the secure association, to support possible future communications.</li>
        <li>
          <t>Consistently with what is allowed by the authorization information in the Access Token, the Administrator performs administrative operations at the Group Manager, as described in <xref target="interactions"/>. These include retrieving a list of existing OSCORE groups, creating new OSCORE groups, retrieving and changing OSCORE group configurations, and removing OSCORE groups. Messages exchanged among the Administrator and the Group Manager are specified in <xref target="interactions"/>.  </t>
          <t>
Upon receiving a request from the Administrator targeting the group-configuration resource or a group-collection resource, the Group Manager MUST check that it is storing a valid Access Token for that Administrator. If this is not the case, the Group Manager MUST reply with a 4.01 (Unauthorized) error response.  </t>
          <t>
If the request targets the group-configuration resource associated with a group with name GROUPNAME, the Group Manager MUST check that it is storing a valid Access Token from that Administrator, such that the 'scope' claim specified in the Access Token: i) expresses authorization information through scope entries as defined in <xref target="scope-format"/>; and ii) specifically includes a scope entry where:  </t>
          <ul spacing="normal">
            <li>The group name GROUPNAME matches with the pattern specified by the "Toid" of the scope entry; and</li>
            <li>The permission set specified by the "Tperm" of the scope entry allows the Administrator to perform the requested administrative operation on the targeted group-configuration resource.</li>
          </ul>
          <t>
Note that the checks defined above only consider scope entries expressing permissions for administrative operations, namely "admin scope entries" as defined in <xref target="scope-format"/>, while the alternative "user scope entries" defined in <xref target="I-D.ietf-ace-key-groupcomm-oscore"/> are not considered.  </t>
          <t>
Further detailed checks to perform are defined separately for each operation at the Group Manager, when specified in <xref target="interactions"/>.  </t>
          <t>
In case the Group Manager stores a valid Access Token but the verifications above fail, the Group Manager MUST reply with a 4.03 (Forbidden) error response. This response MAY be an AS Request Creation Hints, as defined in <xref section="5.3" sectionFormat="of" target="RFC9200"/>, in which case the Content-Format MUST be set to application/ace+cbor.  </t>
          <t>
If the request is not formatted correctly (e.g., required fields are not present or are not encoded as expected), the Group Manager MUST reply with a 4.00 (Bad Request) error response.</t>
        </li>
      </ol>
      <section anchor="multiple-administrators-for-the-same-oscore-group">
        <name>Multiple Administrators for the Same OSCORE Group</name>
        <t>In addition to a "main" primary Administrator responsible for an OSCORE group at the Group Manager, it is also possible to have "assistant" secondary Administrators that are effectively authorized to perform some operations on the same OSCORE group.</t>
        <t>With respect to the main Administrator, such assistant Administrators are expected to have less permissions to perform administrative operations related to the OSCORE group at the Group Manager. For example, they may not be authorized to create the OSCORE group if not existing already, or to delete the OSCORE group and its configuration.</t>
        <t>In case the main Administrator of an OSCORE group is dismissed or relinquishes its role, one of the assistant Administrators can be "promoted" and become main Administrator for that OSCORE group. Practically, this requires that the access policies associated with the promoted Administrator are updated accordingly at the Authorization Server. Also, the promoted Administrator has to request from the Authorization Server a new Access Token and to upload it to the Group Manager. If allowed by the used transport profile of ACE, this process can efficiently enforce a dynamic update of access rights, thus preserving the current secure association between the promoted Administrator and the Group Manager.</t>
        <t>If an Administrator is not sure about being the only Administrator responsible for an OSCORE group, then it is RECOMMENDED that the Administrator ensures to have a recent representation of the group-configuration resource associated with the OSCORE group before overwriting (see <xref target="configuration-resource-put"/>)), updating (see <xref target="configuration-resource-patch"/>) or deleting (see <xref target="configuration-resource-delete"/>) the group configuration. This can be achieved in the following ways.</t>
        <ul spacing="normal">
          <li>The Administrator performs a regular polling of the group configuration, by sending a GET request to the corresponding group-configuration resource (see <xref target="configuration-resource-get"/>).</li>
          <li>If the group-configuration resource associated with the OSCORE group is Observable, then the Administrator subscribes to that resource by using CoAP Observe <xref target="RFC7641"/>. The Observation request is a GET request sent to the group-configuration resource (see <xref target="configuration-resource-get"/>). In such a case, the Group Manager will also send a 4.04 (Not Found) response in case another Administrator deletes the group-configuration resource, as a result of deleting the associated OSCORE group and its configuration.</li>
        </ul>
        <t>If the Administrator gains knowledge that the group configuration has changed compared to the latest known representation, then the Administrator might hold the execution of writing or deletion operation on the group-configuration resource, and first attempt checking with other Administrators responsible for the same OSCORE group about the changes they have made.</t>
      </section>
    </section>
    <section anchor="group-configurations">
      <name>Group Configurations</name>
      <t>A group configuration consists of a set of parameters.</t>
      <section anchor="config-repr">
        <name>Group Configuration Representation</name>
        <t>The group configuration representation is a CBOR map, which includes configuration properties and status properties.</t>
        <section anchor="config-repr-config-properties">
          <name>Configuration Properties</name>
          <t>The CBOR map includes the following configuration parameters, whose CBOR abbreviations are defined in <xref target="groupcomm-parameters"/> of this document.</t>
          <ul spacing="normal">
            <li>'hkdf', which specifies the HKDF Algorithm used in the OSCORE group, encoded as a CBOR text string or a CBOR integer. Possible values are the same ones admitted for the 'hkdf' parameter of the Group_OSCORE_Input_Material object, defined in <xref section="6.3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>.</li>
            <li>'cred_fmt', which specifies the format of authentication credentials used in the OSCORE group, encoded as a CBOR integer. Possible values are the same ones admitted for the 'cred_fmt' parameter of the Group_OSCORE_Input_Material object, defined in <xref section="6.3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>.</li>
            <li>'group_mode', encoded as a CBOR simple value. Its value is "true" (0xf5) if the OSCORE group uses the group mode of Group OSCORE <xref target="I-D.ietf-core-oscore-groupcomm"/>, or "false" (0xf4) otherwise.</li>
            <li>'sign_enc_alg', which is formatted as follows. If the configuration parameter 'group_mode' has value "false" (0xf4), this parameter has as value the CBOR simple value "null" (0xf6). Otherwise, this parameter specifies the Signature Encryption Algorithm used in the OSCORE group to encrypt messages protected with the group mode, encoded as a CBOR text string or a CBOR integer. Possible values are the same ones admitted for the 'sign_enc_alg' parameter of the Group_OSCORE_Input_Material object, defined in <xref section="6.3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>.</li>
            <li>'sign_alg', which is formatted as follows. If the configuration parameter 'group_mode' has value "false" (0xf4), this parameter has as value the CBOR simple value "null" (0xf6). Otherwise, this parameter specifies the Signature Algorithm used in the OSCORE group, encoded as a CBOR text string or a CBOR integer. Possible values are the same ones admitted for the 'sign_alg' parameter of the Group_OSCORE_Input_Material object, defined in <xref section="6.3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>.</li>
            <li>'sign_params', which is formatted as follows. If the configuration parameter 'group_mode' has value "false" (0xf4), this parameter has as value the CBOR simple value "null" (0xf6). Otherwise, this parameter specifies the additional parameters for the Signature Algorithm used in the OSCORE group, encoded as a CBOR array. Possible formats and values are the same ones admitted for the 'sign_params' parameter of the Group_OSCORE_Input_Material object, defined in <xref section="6.3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>.</li>
            <li>'pairwise_mode', encoded as a CBOR simple value. Its value is "true" (0xf5) if the OSCORE group uses the pairwise mode of Group OSCORE <xref target="I-D.ietf-core-oscore-groupcomm"/>, or "false" (0xf4) otherwise.</li>
            <li>'alg', which is formatted as follows. If the configuration parameter 'pairwise_mode' has value "false" (0xf4), this parameter has as value the CBOR simple value "null" (0xf6). Otherwise, this parameter specifies the AEAD Algorithm used in the OSCORE group to encrypt messages protected with the pairwise mode, encoded as a CBOR text string or a CBOR integer. Possible values are the same ones admitted for the 'alg' parameter of the Group_OSCORE_Input_Material object, defined in <xref section="6.3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>.</li>
            <li>'ecdh_alg', which is formatted as follows. If the configuration parameter 'pairwise_mode' has value "false" (0xf4), this parameter has as value the CBOR simple value "null" (0xf6). Otherwise, this parameter specifies the Pairwise Key Agreement Algorithm used in the OSCORE group, encoded as a CBOR text string or a CBOR integer. Possible values are the same ones admitted for the 'ecdh_alg' parameter of the Group_OSCORE_Input_Material object, defined in <xref section="6.3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>.</li>
            <li>'ecdh_params', which is formatted as follows. If the configuration parameter 'pairwise_mode' has value "false" (0xf4), this parameter has as value the CBOR simple value "null" (0xf6). Otherwise, this parameter specifies the parameters for the Pairwise Key Agreement Algorithm used in the OSCORE group, encoded as a CBOR array. Possible formats and values are the same ones admitted for the 'ecdh_params' parameter of the Group_OSCORE_Input_Material object, defined in <xref section="6.3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>.</li>
            <li>'det_req', encoded as a CBOR simple value. Its value is "true" (0xf5) if the OSCORE group uses deterministic requests as defined in <xref target="I-D.amsuess-core-cachable-oscore"/>, or "false" (0xf4) otherwise. This parameter MUST NOT be present if the configuration parameter 'group_mode' has value "false" (0xf4).</li>
            <li>
              <t>'det_hash_alg', encoded as a CBOR integer or text string. If present, this parameter specifies the Hash Algorithm used in the OSCORE group when producing deterministic requests, as defined in <xref target="I-D.amsuess-core-cachable-oscore"/>. This parameter takes values from the "Value" column of the "COSE Algorithms" Registry <xref target="COSE.Algorithms"/>.  </t>
              <t>
This parameter MUST NOT be present if the configuration parameter 'det_req' is not present or if it is present with value "false" (0xf4). If the configuration parameter 'det_req' is present with value "true" (0xf5) and 'det_hash_alg' is not present, the choice of the Hash Algorithm to use when producing deterministic requests is left to the Group Manager.</t>
            </li>
          </ul>
        </section>
        <section anchor="config-repr-status-properties">
          <name>Status Properties</name>
          <t>The CBOR map includes the following status parameters. Unless specified otherwise, these are defined in this document and their CBOR abbreviations are defined in <xref target="groupcomm-parameters"/>.</t>
          <ul spacing="normal">
            <li>'rt', with value the resource type "core.osc.gconf" associated with group-configuration resources, encoded as a CBOR text string.</li>
            <li>'active', encoding the CBOR simple value "true" (0xf5) if the OSCORE group is currently active, or the CBOR simple value "false" (0xf4) otherwise.</li>
            <li>'group_name', with value the group name of the OSCORE group encoded as a CBOR text string.</li>
            <li>'group_title', with value either a human-readable description of the OSCORE group encoded as a CBOR text string, or the CBOR simple value "null" (0xf6) if no description is specified.</li>
            <li>'ace_groupcomm_profile', defined in <xref section="4.3.1" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm"/>, with value "coap_group_oscore_app" defined in <xref section="16.5" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/> encoded as a CBOR integer.</li>
            <li>'max_stale_sets', encoding a CBOR unsigned integer with value strictly greater than 1. With reference to <xref section="7.1" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>, this parameter specifies N, i.e., the maximum number of sets of stale OSCORE Sender IDs that the Group Manager stores for the group.</li>
            <li>'exp', defined in <xref section="4.3.1" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm"/>.</li>
            <li>'gid_reuse', encoding the CBOR simple value "true" (0xf5) if, upon rekeying the OSCORE group, the Group Manager can reassign the values of the OSCORE Group ID used as OSCORE ID Context, as per <xref section="3.2.1.1" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/> and <xref section="11" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>. Otherwise, this parameter encodes the CBOR simple value "false" (0xf4).</li>
            <li>'app_groups', with value a list of names of application groups, encoded as a CBOR array. Each element of the array is a CBOR text string, specifying the name of an application group using the OSCORE group as security group (see <xref section="2.1" sectionFormat="of" target="I-D.ietf-core-groupcomm-bis"/>).</li>
            <li>'joining_uri', with value the URI of the group-membership resource for joining the newly created OSCORE group as per <xref section="6.2" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>, encoded as a CBOR text string.</li>
            <li>'group_policies', defined in <xref section="4.3.1" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm"/>, and consistent with the format and content defined in <xref section="6.3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>.</li>
            <li>'as_uri', with value the URI of the Authorization Server associated with the Group Manager for the OSCORE group, encoded as a CBOR text string. Candidate group members will have to obtain an Access Token from that Authorization Server, before starting the joining process with the Group Manager to join the OSCORE group (see Sections <xref target="I-D.ietf-ace-key-groupcomm-oscore" section="5" sectionFormat="bare"/> and <xref target="I-D.ietf-ace-key-groupcomm-oscore" section="6" sectionFormat="bare"/> of <xref target="I-D.ietf-ace-key-groupcomm-oscore"/>).</li>
          </ul>
        </section>
      </section>
      <section anchor="default-values">
        <name>Default Values</name>
        <t>This section defines the default values that the Group Manager refers to for configuration and status parameters.</t>
        <t>A possible reason for the Group Manager to consider default values different from those recommended in this section is to ensure that each of those are consistent with what the Group Manager supports, e.g., in terms of signature algorithm and format of authentication credentials used in the OSCORE group.</t>
        <t>This ensures that the Group Manager is able to perform the operations defined in <xref target="I-D.ietf-ace-key-groupcomm-oscore"/>, as to its interactions with joining nodes and current group members for an OSCORE group (see <xref section="14" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>).</t>
        <section anchor="default-values-conf">
          <name>Configuration Parameters</name>
          <t>For each of the configuration parameters listed below, the Group Manager refers to the following pre-configured default value, if none is specified by the Administrator.</t>
          <ul spacing="normal">
            <li>For 'group_mode', the Group Manager SHOULD use the CBOR simple value "true" (0xf5).</li>
            <li>If 'group_mode' has value "true" (0xf5), the Group Manager SHOULD use the same default values defined in <xref section="14.2" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/> for the parameters 'sign_enc_alg', 'sign_alg' and 'sign_params'.</li>
            <li>If 'group_mode' has value "true" (0xf5), the Group Manager SHOULD use the CBOR simple value "false" (0xf4) for the parameter 'det_req'.</li>
            <li>If 'det_req' has value "true" (0xf5), the Group Manager SHOULD use SHA-256 (COSE algorithm encoding: -16) as default value for the parameter 'det_hash_alg'.</li>
            <li>For 'pairwise_mode', the Group Manager SHOULD use the CBOR simple value "false" (0xf4).</li>
            <li>If 'pairwise_mode' has value "true" (0xf5), the Group Manager SHOULD use the same default values defined in <xref section="14.3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/> for the parameters 'alg', 'ecdh_alg' and 'ecdh_params'.</li>
            <li>For any other configuration parameter, the Group Manager SHOULD use the same default values defined in <xref section="14.1" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>.</li>
          </ul>
        </section>
        <section anchor="status-parameters">
          <name>Status Parameters</name>
          <t>For each of the status parameters listed below, the Group Manager refers to the following pre-configured default value, if none is specified by the Administrator.</t>
          <ul spacing="normal">
            <li>For 'active', the Group Manager SHOULD use the CBOR simple value "false" (0xf4).</li>
            <li>For 'group_title', the Group Manager SHOULD use the CBOR simple value "null" (0xf6).</li>
            <li>For 'max_stale_sets', the Group Manager SHOULD use the CBOR unsigned integer with value 3.</li>
            <li>For 'gid_reuse', the Group Manager SHOULD use the CBOR simple value "false" (0xf4).</li>
            <li>For 'app_groups', the Group Manager SHOULD use the empty CBOR array.</li>
            <li>For 'group_policies', the Group Manager SHOULD use the default values defined in <xref section="6.3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>.</li>
          </ul>
        </section>
      </section>
    </section>
    <section anchor="interactions">
      <name>Interactions with the Group Manager</name>
      <t>This section describes the operations that are possible to perform on the group-collection resource and the group-configuration resources at the Group Manager.</t>
      <t>For each operation, it is defined whether that operation is required or optional to support for the Group Manager and an Administrator. If the Group Manager supports an operation, then the Group Manager must be able to correctly handle authorized and valid requests sent by the Administrator to carry out that operation. If the Group Manager receives an authorized and valid request to perform an operation that it does not support, then the Group Manager MUST respond with a 5.01 (Not Implemented) response.</t>
      <t>When checking the scope claim of a stored access token to verify that any of the requests defined in the following is authorized, the Group Manager only considers scope entries expressing permissions for administrative operations, namely "admin scope entries" as defined in <xref target="scope-format"/>. Instead, the alternative "user scope entries" defined in <xref target="I-D.ietf-ace-key-groupcomm-oscore"/> are not considered. That is, when handling any of the requests for administrative operations defined in the following, the Group Manager ignores possible "user scope entries" specified in the scope of a stored access token.</t>
      <t>When custom CBOR is used, the Content-Format in messages containing a payload is set to application/ace-groupcomm+cbor, defined in <xref section="11.2" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm"/>. Furthermore, the entry labels defined in <xref target="groupcomm-parameters"/> of this document MUST be used, when specifying the corresponding configuration and status parameters.</t>
      <t>When CoRAL is used, the Content-Format in messages containing a payload is set to application/coral+cbor, defined in <xref section="7.2" sectionFormat="of" target="I-D.ietf-core-coral"/>. In addition, the following applies.</t>
      <ul spacing="normal">
        <li>The parameters 'sign_params', 'ecdh_params', 'app_groups' and 'group_policies' are referred to as "structured parameters".</li>
        <li>If a message payload specifies a link element corresponding to a structured parameter, then the payload MUST NOT include any link element corresponding to an inner information element of that structured parameter.</li>
        <li>If a message payload specifies a link element corresponding to a structured parameter, then that link element MUST have the link target with value "false" (0xf4) for indicating the structured parameter with no elements.</li>
      </ul>
      <section anchor="collection-resource-get">
        <name>Retrieve the Full List of Group Configurations</name>
        <t>This operation MUST be supported by the Group Manager and an Administrator.</t>
        <t>The Administrator can send a GET request to the group-collection resource, in order to retrieve a list of the existing OSCORE groups at the Group Manager. This is returned as a list of links to the corresponding group-configuration resources.</t>
        <t>The Group Manager MUST prepare the list L to include in the response as follows. For each group-configuration resource R:</t>
        <ol spacing="normal" type="1"><li>The Group Manager considers the group name GROUPNAME of the OSCORE group associated with R.</li>
          <li>The Group Manager retrieves the stored Access Token for the Administrator. Then, it checks whether GROUPNAME matches with the group name pattern specified in any scope entry of the 'scope' claim in the Access Token.</li>
          <li>The link to the group-configuration resource R is added to the list L only in case of a positive match.</li>
        </ol>
        <t>Example in Link Format:</t>
        <artwork><![CDATA[
=> 0.01 GET
   Uri-Path: manage

<= 2.05 Content
   Content-Format: 40 (application/link-format)

   Payload:

   <coap://[2001:db8::ab]/manage/gp1>;rt="core.osc.gconf",
   <coap://[2001:db8::ab]/manage/gp2>;rt="core.osc.gconf",
   <coap://[2001:db8::ab]/manage/gp3>;rt="core.osc.gconf"
]]></artwork>
        <t>Example in CoRAL:</t>
        <artwork><![CDATA[
=> 0.01 GET
   Uri-Path: manage

<= 2.05 Content
   Content-Format: 65087 (application/coral+cbor)

   Payload:

   [
     [1, cri'coap://[2001:db8::ab]/manage'],
     [2, 6(17) / item 50 for core.osc.gcoll:item /, cri'/gp1', [
       [2, simple(6) / item 6 for linkformat:rt /,
        6(-200) / item 415 for cri'http://www.iana.org/assignments
                                   /linkformat/rt/core.osc.gconf' /]
     ]],
     [2, 6(17) / item 50 for core.osc.gcoll:item /, cri'/gp2', [
       [2, simple(6) / item 6 for linkformat:rt /,
        6(-200) / item 415 for cri'http://www.iana.org/assignments
                                   /linkformat/rt/core.osc.gconf' /]
     ]],
     [2, 6(17) / item 50 for core.osc.gcoll:item /, cri'/gp3', [
       [2, simple(6) / item 6 for linkformat:rt /,
        6(-200) / item 415 for cri'http://www.iana.org/assignments
                                   /linkformat/rt/core.osc.gconf' /]
     ]]
   ]
]]></artwork>
      </section>
      <section anchor="collection-resource-fetch">
        <name>Retrieve a List of Group Configurations by Filters</name>
        <t>This operation MUST be supported by the Group Manager and MAY be supported by an Administrator.</t>
        <t>The Administrator can send a FETCH request to the group-collection resource, in order to retrieve a list of the existing OSCORE groups that fully match a set of specified filter criteria. This is returned as a list of links to the corresponding group-configuration resources.</t>
        <t>When custom CBOR is used, the set of filter criteria is specified in the request payload as a CBOR map, whose possible entries are specified in <xref target="config-repr"/> and use the same abbreviations defined in <xref target="groupcomm-parameters"/>. Entry values are the ones admitted for the corresponding labels in the POST request for creating a group configuration (see <xref target="collection-resource-post"/>). A valid request MUST NOT include the same entry multiple times.</t>
        <t>When CoRAL is used, the filter criteria are specified in the request payload with top-level link elements, each of which corresponds to an entry specified in <xref target="config-repr"/>, with the exception of the 'app_groups' status parameter. If names of application groups are used as filter criteria, each element of the 'app_groups' array from the status properties is included as a separate link element with name 'app_group'. With the exception of the 'app_group' element, a valid request MUST NOT include the same element multiple times. Element values are the ones admitted for the corresponding labels in the POST request for creating a group configuration (see <xref target="collection-resource-post"/>).</t>
        <t>The Group Manager MUST prepare the list L to include in the response as follows.</t>
        <ol spacing="normal" type="1"><li>The Group Manager prepares a preliminary version of the list L, as specified in <xref target="collection-resource-get"/> for the processing of a GET request to the group-collection resource.</li>
          <li>The Group Manager applies the filter criteria specified in the FETCH request to the list L from the previous step. The result is the list L to include in the response.</li>
        </ol>
        <t>Example in custom CBOR and Link Format:</t>
        <artwork><![CDATA[
=> 0.05 FETCH
   Uri-Path: manage
   Content-Format: CT_TBD (application/ace-groupcomm+cbor)

   Payload:

   {
       "group_mode" : true,
     "sign_enc_alg" : 10,
             "hkdf" : 5
   }

<= 2.05 Content
   Content-Format: 40 (application/link-format)

   Payload:

   <coap://[2001:db8::ab]/manage/gp1>;rt="core.osc.gconf",
   <coap://[2001:db8::ab]/manage/gp2>;rt="core.osc.gconf",
   <coap://[2001:db8::ab]/manage/gp3>;rt="core.osc.gconf"
]]></artwork>
        <t>Example in CoRAL:</t>
        <artwork><![CDATA[
=> 0.05 FETCH
   Uri-Path: manage
   Content-Format: 65087 (application/coral+cbor)

   Payload:

   [
     [2, 6(27) / item 70 for core.osc.gconf:group_mode /, true],
     [2, 6(-28) / item 71 for core.osc.gconf:sign_enc_alg /, 10],
     [2, 6(26) / item 68 for core.osc.gconf:hkdf /, 5]
   ]

<= 2.05 Content
   Content-Format: 65087 (application/coral+cbor)

   Payload:

   [
    [1, cri'coap://[2001:db8::ab]/manage'],
    [2, 6(17) / item 50 for core.osc.gcoll:item /, cri'/gp1', [
      [2, simple(6) / item 6 for linkformat:rt /,
       6(-200) / item 415 for cri'http://www.iana.org/assignments
                                  /linkformat/rt/core.osc.gconf' /]
    ]],
    [2, 6(17) / item 50 for core.osc.gcoll:item /, cri'/gp2', [
      [2, simple(6) / item 6 for linkformat:rt /,
       6(-200) / item 415 for cri'http://www.iana.org/assignments
                                  /linkformat/rt/core.osc.gconf' /]
    ]],
    [2, 6(17) / item 50 for core.osc.gcoll:item /, cri'/gp3', [
      [2, simple(6) / item 6 for linkformat:rt /,
       6(-200) / item 415 for cri'http://www.iana.org/assignments
                                  /linkformat/rt/core.osc.gconf' /]
    ]]
   ]
]]></artwork>
      </section>
      <section anchor="collection-resource-post">
        <name>Create a New Group Configuration</name>
        <t>This operation MUST be supported by the Group Manager and an Administrator.</t>
        <t>The Administrator can send a POST request to the group-collection resource, in order to create a new OSCORE group at the Group Manager. The request MUST specify the intended group name GROUPNAME, and MAY specify the intended group title together with pieces of information concerning the group configuration.</t>
        <t>When custom CBOR is used, the request payload is a CBOR map, whose possible entries are specified in <xref target="config-repr"/> and use the same abbreviations defined in <xref target="groupcomm-parameters"/>.</t>
        <t>When CoRAL is used, each link element of the request payload corresponds to an entry specified in <xref target="config-repr"/>, with the exception of the 'app_groups' status parameter (see below).</t>
        <t>In particular:</t>
        <ul spacing="normal">
          <li>The payload MAY include any of the configuration parameters defined in <xref target="config-repr-config-properties"/>.</li>
          <li>The payload MUST include the status parameter 'group_name' defined in <xref target="config-repr-status-properties"/> and specifying the intended group name.</li>
          <li>
            <t>The payload MAY include any of the status parameters 'active', 'group_title', 'max_stale_sets', 'exp', 'gid_reuse', 'app_groups, 'group_policies' and 'as_uri' defined in <xref target="config-repr-status-properties"/>.  </t>
            <t>
When CoRAL is used, each element of the 'app_groups' array from the status properties is included as a separate element with name 'app_group'.</t>
          </li>
          <li>The payload MUST NOT include any of the status parameters 'rt', 'ace_groupcomm_profile' and 'joining_uri' defined in <xref target="config-repr-status-properties"/>.</li>
        </ul>
        <t>Consistently with what is defined at step 4 of <xref target="getting-access"/>, the Group Manager MUST check whether the group name specified in the 'group_name' parameter matches with the group name pattern specified in any scope entry of the 'scope' claim in the stored Access Token for the Administrator. In case of a positive match, the Group Manager MUST check whether the permission set in the found scope entry specifies the permission "Create".</t>
        <t>If the verification above fails (i.e., there are no matching scope entries specifying the "Create" permission), the Group Manager MUST reply with a 4.03 (Forbidden) error response. The response MUST have Content-Format set to application/ace-groupcomm+cbor and is formatted as defined in <xref section="4.1.2" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm"/>.</t>
        <t>If the group configuration to be created would include parameter values that prevent the Group Manager from performing the operations defined in <xref target="I-D.ietf-ace-key-groupcomm-oscore"/> (e.g., due to the Group Manager not supporting a format of authentication credentials), the Group Manager MUST respond with a 5.03 (Service Unavailable) response. The response MUST have Content-Format set to application/ace-groupcomm+cbor and is formatted as defined in <xref section="4.1.2" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm"/>. The value of the 'error' field MUST be set to 12 ("Unsupported group configuration") and the 'error_description' parameter SHOULD be included in order to provide additional context.</t>
        <t>Otherwise, if any of the following occurs, the Group Manager MUST respond with a 4.00 (Bad Request) response.</t>
        <ul spacing="normal">
          <li>Any of the received parameters is specified multiple times, with the exception of the 'app_group' link element when using CoRAL.</li>
          <li>Any of the received parameters is not recognized, or not valid, or not consistent with respect to other related parameters.</li>
          <li>The Group Manager does not trust the Authorization Server with URI specified in the 'as_uri' parameter, and has no alternative Authorization Server to consider for the OSCORE group to create.</li>
        </ul>
        <t>After a successful processing of the POST request, the Group Manager performs the following actions.</t>
        <t>If the 'group_name' parameter specifies the group name of an already existing OSCORE group, the Group Manager MUST find an alternative name for the new OSCORE group to create.</t>
        <t>In addition to that, the final decision about the name assigned to the new OSCORE group is always of the Group Manager, which may have more constraints than the Administrator can be aware of, possibly beyond the availability of suggested names. For example, the Group Manager may specifically want to use a randomized character string as the name of a newly created group.</t>
        <t>If the Group Manager has selected a name GROUPNAME different from the name GROUPNAME* indicated in the parameter 'group_name' of the request, then the following conditions MUST hold.</t>
        <ul spacing="normal">
          <li>The chosen name GROUPNAME is available to assign; and</li>
          <li>If GROUPNAME* matches with the group name pattern of certain scope entries from the 'scope' claim in the stored Access Token for the Administrator, then the chosen group name GROUPNAME also matches with each of those group name patterns.</li>
        </ul>
        <t>If the Group Manager does not find any group name for which both the above conditions hold, the Group Manager MUST respond with a 5.03 (Service Unavailable) response. The response MUST have Content-Format set to application/ace-groupcomm+cbor and is formatted as defined in <xref section="4.1.2" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm"/>. The value of the 'error' field MUST be set to 11 ("No available group names").</t>
        <t>Otherwise, the Group Manager creates a new group-configuration resource, accessible to the Administrator at /manage/GROUPNAME, where GROUPNAME is the name of the OSCORE group as either indicated in the parameter 'group_name' of the request or uniquely assigned by the Group Manager. The group-collection resource is also accordingly updated.</t>
        <t>The operation of creating the new group-configuration resource and accordingly updating the group-collection resource MUST be atomic.</t>
        <t>The value of the status parameter 'rt' is set to "core.osc.gconf". The values of other parameters specified in the request are used as group configuration information for the newly created OSCORE group.</t>
        <t>If the request specifies the parameter 'gid_reuse' encoding the CBOR simple value "true" (0xf5) and the Group Manager does not support the reassignment of OSCORE Group ID values (see <xref section="3.2.1.1" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/> and <xref section="11" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>), then the Group Manager sets the value of the 'gid_reuse' status parameter in the group-configuration resource to the CBOR simple value "false" (0xf4).</t>
        <t>For each parameter not specified in the request, the Group Manager refers to the default values specified in <xref target="default-values"/>.</t>
        <t>After that, the Group Manager creates a new group-membership resource accessible at ace-group/GROUPNAME to nodes that want to join the OSCORE group, as specified in <xref section="6.1" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>. Note that such group membership-resource comprises a number of sub-resources intended to current group members, as defined in <xref section="4.1" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm"/> and <xref section="8" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>.</t>
        <t>From then on, the Group Manager will rely on the current group configuration to build the Join Response message defined in <xref section="6.3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>, when handling the joining of a new group member. Furthermore, the Group Manager generates the following pieces of information, and assigns them to the newly created OSCORE group.</t>
        <ul spacing="normal">
          <li>The OSCORE Master Secret.</li>
          <li>The OSCORE Master Salt (optionally).</li>
          <li>The Group ID, used as OSCORE ID Context, which MUST be unique within the set of OSCORE groups under the Group Manager.</li>
        </ul>
        <t>Finally, the Group Manager replies to the Administrator with a 2.01 (Created) response. The Location-Path option MUST be included in the response, indicating the location of the just created group-configuration resource. The response MUST NOT include a Location-Query option.</t>
        <t>The response payload specifies the parameters 'group_name', 'joining_uri' and 'as_uri', from the status properties of the newly created OSCORE group (see <xref target="config-repr"/>), as detailed below.</t>
        <t>When custom CBOR is used, the response payload is a CBOR map, where entries use the same abbreviations defined in <xref target="groupcomm-parameters"/>. When CoRAL is used, the response payload includes one link element for each specified parameter.</t>
        <ul spacing="normal">
          <li>'group_name', with value the group name of the OSCORE group. This value can be different from the group name possibly specified by the Administrator in the POST request, and reflects the final choice of the Group Manager as 'group_name' status property for the OSCORE group. This parameter MUST be included.</li>
          <li>'joining_uri', with value the URI of the group-membership resource for joining the newly created OSCORE group. This parameter MUST be included.</li>
          <li>'as_uri', with value the URI of the Authorization Server associated with the Group Manager for the newly created OSCORE group. This parameter MUST be included. Its value can be different from the URI possibly specified by the Administrator in the POST request, and reflects the final choice of the Group Manager as 'as_uri' status property for the OSCORE group.</li>
        </ul>
        <t>If the POST request specified the parameter 'gid_reuse' encoding the CBOR simple value "true" (0xf5) but the Group Manager has set the value of the 'gid_reuse' status parameter in the group-configuration resource to the CBOR simple value "false" (0xf4), then the response payload MUST include also the parameter 'gid_reuse' encoding the CBOR simple value "false" (0xf4).</t>
        <t>If the POST request did not specify certain parameters and the Group Manager used default values different from the ones recommended in <xref target="default-values"/>, then the response payload MUST include also those parameters, specifying the values chosen by the Group Manager for the current group configuration.</t>
        <t>The Group Manager can register the link to the group-membership resource with URI specified in 'joining_uri' to a Resource Directory <xref target="RFC9176"/><xref target="I-D.hartke-t2trg-coral-reef"/>, as defined in <xref section="2" sectionFormat="of" target="I-D.tiloca-core-oscore-discovery"/>. The Group Manager considers the current group configuration when specifying additional information for the link to register.</t>
        <t>Alternatively, the Administrator can perform the registration in the Resource Directory on behalf of the Group Manager, acting as Commissioning Tool. The Administrator considers the following when specifying additional information for the link to register.</t>
        <ul spacing="normal">
          <li>The name of the OSCORE group MUST take the value specified in 'group_name' from the 2.01 (Created) response.</li>
          <li>The names of the application groups using the OSCORE group MUST take the values possibly specified by the elements of the 'app_groups' parameter (when custom CBOR is used) or by the different 'app_group' link elements (when CoRAL is used) in the POST request.</li>
          <li>If also registering a related link to the Authorization Server associated with the OSCORE group, the related link MUST have as link target the URI in 'as_uri' from the 2.01 (Created) response.</li>
          <li>
            <t>As to every other information element describing the current group configuration, the following applies.  </t>
            <ul spacing="normal">
              <li>If a certain parameter was specified in the POST request, the Administrator MUST use either the value specified in the 2.01 (Created) response, if the Group Manager specified one, or the value specified in the POST request otherwise.</li>
              <li>If a certain parameter was not specified in the POST request, the Administrator MUST use either the value specified in the 2.01 (Created) response, if the Group Manager specified one, or the corresponding default value recommended in <xref target="default-values-conf"/> otherwise.</li>
            </ul>
          </li>
        </ul>
        <t>Note that, compared to the Group Manager, the Administrator is less likely to remain closely aligned with possible changes and updates that would require a prompt update to the registration in the Resource Directory. This applies especially to the address of the Group Manager, as well as the URI of the group-membership resource or of the Authorization Server associated with the Group Manager.</t>
        <t>Therefore, it is RECOMMENDED that registrations of links to group-membership resources in the Resource Directory are made (and possibly updated) directly by the Group Manager, rather than by the Administrator.</t>
        <t>Example in custom CBOR:</t>
        <artwork><![CDATA[
=> 0.02 POST
   Uri-Path: manage
   Content-Format: CT_TBD (application/ace-groupcomm+cbor)

   Payload:

   {
      "sign_enc_alg" : 10,
              "hkdf" : 5,
     "pairwise_mode" : true,
            "active" : true,
        "group_name" : "gp4",
       "group_title" : "rooms 1 and 2",
        "app_groups" : ["room1", "room2"],
            "as_uri" : "coap://as.example.com/token"
   }

<= 2.01 Created
   Location-Path: manage
   Location-Path: gp4
   Content-Format: CT_TBD (application/ace-groupcomm+cbor)

   Payload:

   {
      "group_name" : "gp4",
     "joining_uri" : "coap://[2001:db8::ab]/ace-group/gp4/",
          "as_uri" : "coap://as.example.com/token"
   }
]]></artwork>
        <t>Example in CoRAL:</t>
        <artwork><![CDATA[
=> 0.02 POST
   Uri-Path: manage
   Content-Format: 65087 (application/coral+cbor)

   Payload:

   [
     [2, 6(-28) / item 71 for core.osc.gconf:sign_enc_alg /, 10],
     [2, 6(26) / item 68 for core.osc.gconf:hkdf /, 5],
     [2, 6(-31) / item 77 for core.osc.gconf:pairwise_mode /, true],
     [2, 6(-36) / item 87 for core.osc.gconf:active /, true],
     [2, 6(36) / item 88 for core.osc.gconf:group_name /, "gp4"],
     [2, 6(-37) / item 89 for core.osc.gconf:group_title /,
      "rooms 1 and 2"],
     [2, 6(39) / item 94 for core.osc.gconf:app_group /, "room 1"],
     [2, 6(39) / item 94 for core.osc.gconf:app_group /, "room 2"],
     [2, 6(43) / item 102 for core.osc.gconf:as_uri /,
      cri'coap://as.example.com/token']
   ]

<= 2.01 Created
   Location-Path: manage
   Location-Path: gp4
   Content-Format: 65087 (application/coral+cbor)

   Payload:

   [
     [2, 6(36) / item 88 for core.osc.gconf:group_name /, "gp4"],
     [2, 6(-41) / item 97 for core.osc.gconf:joining_uri /,
      cri'coap://[2001:db8::ab]/ace-group/gp4/'],
     [2, 6(43) / item 102 for core.osc.gconf:as_uri /,
      cri'coap://as.example.com/token']
   ]
]]></artwork>
      </section>
      <section anchor="configuration-resource-get">
        <name>Retrieve a Group Configuration</name>
        <t>This operation MUST be supported by the Group Manager and an Administrator.</t>
        <t>The Administrator can send a GET request to the group-configuration resource manage/GROUPNAME associated with an OSCORE group with group name GROUPNAME, in order to retrieve the complete current configuration of that group.</t>
        <t>Consistently with what is defined at step 4 of <xref target="getting-access"/>, the Group Manager MUST check whether GROUPNAME matches with the group name pattern specified in any scope entry of the 'scope' claim in the stored Access Token for the Administrator. In case of a positive match, the Group Manager MUST check whether the permission set in the found scope entry specifies the permission "Read".</t>
        <t>If the verification above fails (i.e., there are no matching scope entries specifying the "Read" permission), the Group Manager MUST reply with a 4.03 (Forbidden) error response. The response MUST have Content-Format set to application/ace-groupcomm+cbor and is formatted as defined in <xref section="4.1.2" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm"/>.</t>
        <t>Otherwise, after a successful processing of the GET request, the Group Manager replies to the Administrator with a 2.05 (Content) response. The response has as payload the representation of the group configuration as specified in <xref target="config-repr"/>. The exact content of the payload reflects the current configuration of the OSCORE group. This includes both configuration properties and status properties.</t>
        <t>When custom CBOR is used, the response payload is a CBOR map, whose possible entries are specified in <xref target="config-repr"/> and use the same abbreviations defined in <xref target="groupcomm-parameters"/>.</t>
        <t>When CoRAL is used, the response payload includes one link element for each entry specified in <xref target="config-repr"/>, with the exception of the 'app_groups' status parameter. That is, each element of the 'app_groups' array from the status properties is included as a separate link element with name 'app_group'.</t>
        <t>Example in custom CBOR:</t>
        <artwork><![CDATA[
=> 0.01 GET
   Uri-Path: manage
   Uri-Path: gp4

<= 2.05 Content
   Content-Format: CT_TBD (application/ace-groupcomm+cbor)

   Payload:

   {
                      "hkdf" : 5,
                  "cred_fmt" : 33,
                "group_mode" : true,
              "sign_enc_alg" : 10,
                  "sign_alg" : -8,
               "sign_params" : [[1], [1, 6]],
             "pairwise_mode" : true,
                       "alg" : 10,
                  "ecdh_alg" : -27,
               "ecdh_params" : [[1], [1, 6]],
                   "det_req" : false,
                        "rt" : "core.osc.gconf",
                    "active" : true,
                "group_name" : "gp4",
               "group_title" : "rooms 1 and 2",
     "ace_groupcomm_profile" : "coap_group_oscore_app",
            "max_stale_sets" : 3,
                       "exp" : 1360289224,
                 "gid_reuse" : false,
                "app_groups" : ["room1", "room2"],
               "joining_uri" : "coap://[2001:db8::ab]/ace-group/gp4/",
                    "as_uri" : "coap://as.example.com/token"
   }
]]></artwork>
        <t>Example in CoRAL:</t>
        <artwork><![CDATA[
=> 0.01 GET
   Uri-Path: manage
   Uri-Path: gp4

<= 2.05 Content
   Content-Format: 65087 (application/coral+cbor)

   Payload:

   [
     [2, 6(26) / item 68 for core.osc.gconf:hkdf /, 5],
     [2, 6(-27) / item 69 for core.osc.gconf:cred_fmt /, 33],
     [2, 6(27) / item 70 for core.osc.gconf:group_mode /, true],
     [2, 6(-28) / item 71 for core.osc.gconf:sign_enc_alg /, 10],
     [2, 6(28) / item 72 for core.osc.gconf:sign_alg /, -8],
     [2, 6(29) / item 74 for
      core.osc.gconf:sign_params.alg_capab.key_type /, 1],
     [2, 6(-30) / item 75 for
      core.osc.gconf:sign_params.key_type_capab.key_type /, 1],
     [2, 6(30) / item 76 for
      core.osc.gconf:sign_params.key_type_capab.curve /, 6],
     [2, 6(-31) / item 77 for core.osc.gconf:pairwise_mode /, true],
     [2, 6(31) / item 78 for core.osc.gconf:alg /, 10],
     [2, 6(-32) / item 79 for core.osc.gconf:ecdh_alg /, -27],
     [2, 6(-33) / item 81 for
      core.osc.gconf:ecdh_params.alg_capab.key_type /, 1],
     [2, 6(33) / item 82 for
      core.osc.gconf:ecdh_params.key_type_capab.key_type /, 1],
     [2, 6(-34) / item 83 for
      core.osc.gconf:ecdh_params.key_type_capab.curve /, 6],
     [2, 6(34) / item 84 for core.osc.gconf:det_req /, false],
     [2, 6(35) / item 86 for core.osc.gconf:rt /, "core.osc.gconf"],
     [2, 6(-36) / item 87 for core.osc.gconf:active /, true],
     [2, 6(36) / item 88 for core.osc.gconf:group_name /, "gp4"],
     [2, 6(-37) / item 89 for core.osc.gconf:group_title /,
      "rooms 1 and 2"],
     [2, 6(37) / item 90 for core.osc.gconf:ace_groupcomm_profile /,
      "coap_group_oscore_app"],
     [2, 6(-38) / item 91 for core.osc.gconf:max_stale_sets /, 3],
     [2, 6(38) / item 92 for core.osc.gconf:exp /, 1360289224],
     [2, 6(-39) / item 93 for core.osc.gconf:gid_reuse /, false],
     [2, 6(39) / item 94 for core.osc.gconf:app_group /, "room 1"],
     [2, 6(39) / item 94 for core.osc.gconf:app_group /, "room 2"],
     [2, 6(-41) / item 97 for core.osc.gconf:joining_uri /,
      cri'coap://[2001:db8::ab]/ace-group/gp4/'],
     [2, 6(43) / item 102 for core.osc.gconf:as_uri /,
      cri'coap://as.example.com/token']
   ]
]]></artwork>
      </section>
      <section anchor="configuration-resource-fetch">
        <name>Retrieve Part of a Group Configuration by Filters</name>
        <t>This operation MUST be supported by the Group Manager and MAY be supported by an Administrator.</t>
        <t>The Administrator can send a FETCH request to the group-configuration resource manage/GROUPNAME associated with an OSCORE group with group name GROUPNAME, in order to retrieve part of the current configuration of that group.</t>
        <t>When custom CBOR is used, the request payload is a CBOR map, which contains the following fields:</t>
        <ul spacing="normal">
          <li>'conf_filter', encoded as a CBOR array and with CBOR abbreviation defined in <xref target="groupcomm-parameters"/>. Each element of the array specifies one requested configuration parameter or status parameter of the current group configuration (see <xref target="config-repr"/>).</li>
        </ul>
        <t>When CoRAL is used, the request payload includes one link element for each requested configuration parameter or status parameter of the current group configuration (see <xref target="config-repr"/>). All the specified link elements MUST have the link target with value "null". Also, the request payload MUST NOT include any link element corresponding to an inner information element of a structured parameter.</t>
        <t>The Group Manager MUST perform the same authorization checks defined for the processing of a GET request to a group-configuration resource in <xref target="configuration-resource-get"/>. That is, the Group Manager MUST verify that the Administrator has been granted a "Read" permission applicable to the targeted group-configuration resource.</t>
        <t>After a successful processing of the FETCH request, the Group Manager replies to the Administrator with a 2.05 (Content) response. The response has as payload a partial representation of the group configuration (see <xref target="config-repr"/>). The exact content of the payload reflects the current configuration of the OSCORE group, and is limited to the configuration properties and status properties requested by the Administrator in the FETCH request.</t>
        <t>The response payload includes the requested configuration parameters and status parameters, and is formatted as in the response payload of a GET request to a group-configuration resource (see <xref target="configuration-resource-get"/>). If the request payload specifies a parameter that is not included in the group configuration, then the response payload MUST NOT include a corresponding parameter (when Custom CBOR is used) or link element (when CoRAL is used).</t>
        <t>Example in custom CBOR:</t>
        <artwork><![CDATA[
=> 0.05 FETCH
   Uri-Path: manage
   Uri-Path: gp4
   Content-Format: CT_TBD (application/ace-groupcomm+cbor)

   Payload:

   {
     "conf_filter" : ["sign_enc_alg",
                      "hkdf",
                      "pairwise_mode",
                      "active",
                      "group_title",
                      "app_groups"]
   }

<= 2.05 Content
   Content-Format: CT_TBD (application/ace-groupcomm+cbor)

   Payload:

   {
      "sign_enc_alg" : 10,
              "hkdf" : 5,
     "pairwise_mode" : true,
            "active" : true,
       "group_title" : "rooms 1 and 2",
        "app_groups" : ["room1", "room2"]
   }

]]></artwork>
        <t>Example in CoRAL:</t>
        <artwork><![CDATA[
=> 0.05 FETCH
   Uri-Path: manage
   Uri-Path: gp4
   Content-Format: 65087 (application/coral+cbor)

   Payload:

   [
     [2, 6(-28) / item 71 for core.osc.gconf:sign_enc_alg /, null],
     [2, 6(26) / item 68 for core.osc.gconf:hkdf /, null],
     [2, 6(-31) / item 77 for core.osc.gconf:pairwise_mode /, null],
     [2, 6(-36) / item 87 for core.osc.gconf:active /, null],
     [2, 6(-37) / item 89 for core.osc.gconf:group_title /, null],
     [2, 6(41) / item 98 for core.osc.gconf:app_groups /, null]
   ]

<= 2.05 Content
   Content-Format: 65087 (application/coral+cbor)

   Payload:

   [
     [2, 6(-28) / item 71 for core.osc.gconf:sign_enc_alg /, 10],
     [2, 6(26) / item 68 for core.osc.gconf:hkdf /, 5],
     [2, 6(-31) / item 77 for core.osc.gconf:pairwise_mode /, true],
     [2, 6(-36) / item 87 for core.osc.gconf:active /, true],
     [2, 6(-37) / item 89 for core.osc.gconf:group_title /,
      "rooms 1 and 2"],
     [2, 6(39) / item 94 for core.osc.gconf:app_group /, "room 1"],
     [2, 6(39) / item 94 for core.osc.gconf:app_group /, "room 2"]
   ]
]]></artwork>
      </section>
      <section anchor="configuration-resource-put">
        <name>Overwrite a Group Configuration</name>
        <t>This operation MAY be supported by the Group Manager and an Administrator.</t>
        <t>The Administrator can send a PUT request to the group-configuration resource associated with an OSCORE group, in order to overwrite the current configuration of that group with a new one. The payload of the request has the same format of the POST request defined in <xref target="collection-resource-post"/>, with the exception that the configuration parameters 'group_mode' and 'pairwise_mode' as well as the status parameters 'group_name' and 'gid_reuse' MUST NOT be included.</t>
        <t>The error handling for the PUT request is the same as for the POST request defined in <xref target="collection-resource-post"/>, with the following difference in terms of authorization checks.</t>
        <t>Consistently with what is defined at step 4 of <xref target="getting-access"/>, the Group Manager MUST check whether GROUPNAME matches with the group name pattern specified in any scope entry of the 'scope' claim in the stored Access Token for the Administrator. In case of a positive match, the Group Manager MUST check whether the permission set in the found scope entry specifies the permission "Write".</t>
        <t>If the verification above fails (i.e., there are no matching scope entries specifying the "Write" permission), the Group Manager MUST reply with a 4.03 (Forbidden) error response. The response MUST have Content-Format set to application/ace-groupcomm+cbor and is formatted as defined in <xref section="4.1.2" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm"/>.</t>
        <t>If the updated group configuration would include parameter values that prevent the Group Manager from performing the operations defined in <xref target="I-D.ietf-ace-key-groupcomm-oscore"/> (e.g., due to the Group Manager not supporting a format of authentication credentials), the Group Manager MUST respond with a 5.03 (Service Unavailable) response. The response MUST have Content-Format set to application/ace-groupcomm+cbor and is formatted as defined in <xref section="4.1.2" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm"/>. The value of the 'error' field MUST be set to 12 ("Unsupported group configuration") and the 'error_description' parameter SHOULD be included in order to provide additional context.</t>
        <t>If no error occurs and the PUT request is successfully processed, the Group Manager performs the following actions.</t>
        <t>First, the Group Manager updates the group-configuration resource, consistently with the values indicated in the PUT request from the Administrator. For each parameter not specified in the PUT request, the Group Manager MUST use default values as specified in <xref target="default-values"/>. The corresponding group-membership resource is also accordingly updated.</t>
        <t>The operation of overwriting the group-configuration resource and accordingly updating the group-membership resource MUST be atomic.</t>
        <t>If a new value N' is specified for the 'max_stale_sets' status parameter and N' is smaller than the current value N, the Group Manager preserves the (up to) N' most recent sets of stale OSCORE Sender IDs associated with the group, and deletes any possible older set (see <xref section="7.1" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>).</t>
        <t>From then on, the Group Manager relies on the latest updated configuration to build the Join Response message defined in <xref section="6.3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>, when handling the joining of a new group member. Similarly, the Group Manager relies on the new group configuration when building responses specifying (part of) the group configuration to a current group member. For instance, this applies when a group member retrieves from the Group Manager the updated group keying material (see <xref section="9.1" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>) or the current group status (see <xref section="9.9" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>).</t>
        <t>Then, the Group Manager replies to the Administrator with a 2.04 (Changed) response. The payload of the response has the same format of the 2.01 (Created) response defined in <xref target="collection-resource-post"/>.</t>
        <t>If the PUT request did not specify certain parameters and the Group Manager used default values different from the ones recommended in <xref target="default-values"/>, then the response payload MUST include also those parameters, specifying the values chosen by the Group Manager for the current group configuration.</t>
        <t>If the link to the group-membership resource was registered in the Resource Directory <xref target="RFC9176"/>, the Group Manager is responsible to refresh the registration, as defined in <xref section="3" sectionFormat="of" target="I-D.tiloca-core-oscore-discovery"/>.</t>
        <t>Alternatively, the Administrator can update the registration in the Resource Directory on behalf of the Group Manager, acting as Commissioning Tool. The Administrator considers the following when specifying additional information for the link to update.</t>
        <ul spacing="normal">
          <li>The name of the OSCORE group MUST take the value specified in 'group_name' from the 2.04 (Changed) response.</li>
          <li>The names of the application groups using the OSCORE group MUST take the values possibly specified by the elements of the 'app_groups' parameter (when custom CBOR is used) or by the different 'app_group' link elements (when CoRAL is used) in the PUT request.</li>
          <li>If also registering a related link to the Authorization Server associated with the OSCORE group, the related link MUST have as link target the URI in 'as_uri' from the 2.04 (Changed) response.</li>
          <li>
            <t>As to every other information element describing the current group configuration, the following applies.  </t>
            <ul spacing="normal">
              <li>If a certain parameter was specified in the PUT request, the Administrator MUST use either the value specified in the 2.04 (Changed) response, if the Group Manager specified one, or the value specified in the PUT request otherwise.</li>
              <li>If a certain parameter was not specified in the PUT request, the Administrator MUST use either the value specified in the 2.04 (Changed) response, if the Group Manager specified one, or the corresponding default value recommended in <xref target="default-values-conf"/> otherwise.</li>
            </ul>
          </li>
        </ul>
        <t>As discussed in <xref target="collection-resource-post"/>, it is RECOMMENDED that registrations of links to group-membership resources in the Resource Directory are made (and possibly updated) directly by the Group Manager, rather than by the Administrator.</t>
        <t>Example in custom CBOR:</t>
        <artwork><![CDATA[
=> 0.03 PUT
   Uri-Path: manage
   Uri-Path: gp4
   Content-Format: CT_TBD (application/ace-groupcomm+cbor)

   Payload:

   {
     "sign_enc_alg" : 11,
             "hkdf" : 5
   }

<= 2.04 Changed
   Content-Format: CT_TBD (application/ace-groupcomm+cbor)

   Payload:

   {
      "group_name" : "gp4",
     "joining_uri" : "coap://[2001:db8::ab]/ace-group/gp4/",
          "as_uri" : "coap://as.example.com/token"
   }
]]></artwork>
        <t>Example in CoRAL:</t>
        <artwork><![CDATA[
=> 0.03 PUT
   Uri-Path: manage
   Uri-Path: gp4
   Content-Format: 65087 (application/coral+cbor)

   Payload:

   [
     [2, 6(-28) / item 71 for core.osc.gconf:sign_enc_alg /, 11],
     [2, 6(26) / item 68 for core.osc.gconf:hkdf /, 5]
   ]

<= 2.04 Changed
   Content-Format: 65087 (application/coral+cbor)

   Payload:

   [
     [2, 6(36) / item 88 for core.osc.gconf:group_name /, "gp4"],
     [2, 6(-41) / item 97 for core.osc.gconf:joining_uri /,
      cri'coap://[2001:db8::ab]/ace-group/gp4/'],
     [2, 6(43) / item 102 for core.osc.gconf:as_uri /,
      cri'coap://as.example.com/token']
   ]
]]></artwork>
        <section anchor="sssec-effects-overwrite-joining-nodes">
          <name>Effects on Joining Nodes</name>
          <t>After having overwritten a group configuration, if the value of the status parameter 'active' is changed from "true" (0xf5) to "false" (0xf4), the Group Manager MUST stop admitting new members in the OSCORE group. In particular, until the status parameter 'active' is changed back to "true" (0xf5), the Group Manager MUST respond to a Join Request with a 5.03 (Service Unavailable) response, as defined in <xref section="6.2" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>.</t>
          <t>If the value of the status parameter 'active' is changed from "false" (0xf4) to "true" (0xf5), the Group Manager resumes admitting new members in the OSCORE group, by processing their Join Requests (see <xref section="6.2" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>).</t>
        </section>
        <section anchor="sssec-effects-overwrite-group-members">
          <name>Effects on the Group Members</name>
          <t>After having overwritten a group configuration, the Group Manager informs the members of the OSCORE group, over the pairwise secure communication channels established when joining the group (see <xref section="6" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>).</t>
          <t>To this end, the Group Manager can individually target the 'control_uri' URI of each group member (see <xref section="4.3.1" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm"/>), if provided by the intended recipient upon joining the OSCORE group (see <xref section="6.1" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>). To this end, messages sent by the Group Manager to each group member MUST have Content-Format set to application/ace-groupcomm+cbor, and MUST be formatted as the Join Response defined in <xref section="6.3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>, with the following differences.</t>
          <ul spacing="normal">
            <li>Only the parameters 'gkty', 'key', 'num', 'exp' and 'ace_groupcomm_profile' are present.</li>
            <li>The 'key' parameter includes only the parameters 'hkdf', 'cred_fmt', 'sign_enc_alg', 'sign_alg', 'sign_params', 'alg', 'ecdh_alg' and 'ecdh_params', with values reflecting the new configuration of the OSCORE group.</li>
          </ul>
          <t>Alternatively, group members can subscribe for updates to the group-membership resource of the OSCORE group, e.g., by using CoAP Observe <xref target="RFC7641"/>.</t>
          <t>If the value of the status parameter 'active' is changed from "true" (0xf5) to "false" (0xf4):</t>
          <ul spacing="normal">
            <li>The Group Manager MUST stop accepting requests for new individual keying material from current group members (see <xref section="9.2" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>). In particular, until the status parameter 'active' is changed back to "true" (0xf5), the Group Manager MUST respond to a Key Renewal Request with a 5.03 (Service Unavailable) response, as defined in <xref section="9.2" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>.</li>
            <li>The Group Manager MUST stop accepting updated authentication credentials uploaded by current group members (see <xref section="9.4" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>). In particular, until the status parameter 'active' is changed back to "true" (0xf5), the Group Manager MUST respond to an Authentication Credential Update Request with a 5.03 (Service Unavailable) response, as defined in <xref section="9.4" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>.</li>
          </ul>
          <t>Every group member, upon learning that the OSCORE group has been deactivated (i.e., 'active' has value "false" (0xf4)), SHOULD stop communicating in the group.</t>
          <t>Every group member, upon learning that the OSCORE group has been reactivated (i.e., 'active' has value "true" (0xf5) again), can resume communicating in the group.</t>
          <t>Every group member, upon receiving updated values for 'hkdf', 'sign_enc_alg' and 'alg', MUST either:</t>
          <ul spacing="normal">
            <li>Leave the OSCORE group (see <xref section="9.11" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>), e.g., if not supporting the indicated new algorithms; or</li>
            <li>Use the new parameter values, and accordingly re-derive the OSCORE Security Context for the OSCORE group (see <xref section="2" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>).</li>
          </ul>
          <t>Every group member, upon receiving updated values for 'cred_fmt', 'sign_alg', 'sign_params', 'ecdh_alg' and 'ecdh_params' MUST either:</t>
          <ul spacing="normal">
            <li>Leave the OSCORE group, e.g., if not supporting the indicated new format, algorithms, parameters and encoding; or</li>
            <li>Leave the OSCORE group and rejoin it (see <xref section="6" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>). When rejoining the group, a new authentication credential in the indicated format used in the OSCORE group MUST be provided to the Group Manager. The authentication credential as well as the included public key MUST be compatible with the indicated algorithms and parameters.</li>
            <li>
              <t>Use the new parameter values, and, if required, perform the following actions.  </t>
              <ul spacing="normal">
                <li>
                  <t>Provide the Group Manager with a new authentication credential to use in the OSCORE group (see <xref section="9.4" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>). The new authentication credential MUST be in the indicated format used in the OSCORE group. The new authentication credential as well as the included public key MUST be compatible with the indicated algorithms and parameters.      </t>
                  <t>
Consistently, the group member has to retrieve the new authentication credentials of other group members as they are uploaded to the Group Manager (see <xref section="9.3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>). In order to ensure the retrieval of latest authentication credentials that are consistent with the new group configuration, it is preferable that the group member retrieves such authentication credentials after a pre-configured time interval has elapsed since uploading its own authentication credential. Later on, the group member will need to retrieve other group members' authentication credentials that it is still missing and that it needs for processing messages exchanged in the OSCORE group.</t>
                </li>
                <li>Retrieve from the Group Manager the new Group Manager's authentication credential (see <xref section="9.5" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>). The new Group Manager's authentication credential is in the indicated format used in the OSCORE group. The new authentication credential as well as the included public key are compatible with the indicated algorithms and parameters.</li>
              </ul>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="configuration-resource-patch">
        <name>Selective Update of a Group Configuration</name>
        <t>This operation MAY be supported by the Group Manager and an Administrator.</t>
        <t>The Administrator can send a PATCH/iPATCH request <xref target="RFC8132"/> to the group-configuration resource associated with an OSCORE group, in order to update the value of only part of the group configuration.</t>
        <t>The request payload has the same format of the PUT request defined in <xref target="configuration-resource-put"/>, with the difference that it MAY also specify names of application groups to be removed from or added to the 'app_groups' status parameter. The names of such application groups are provided as defined below.</t>
        <ul spacing="normal">
          <li>
            <t>When custom CBOR is used, the CBOR map in the request payload includes the field 'app_groups_diff', whose CBOR abbreviation is defined in <xref target="groupcomm-parameters"/>. This field is encoded as a CBOR array including the following two elements.  </t>
            <ul spacing="normal">
              <li>The first element is a CBOR array, namely 'app_groups_del'. Each of its elements is a CBOR text string, with value the name of an application group to remove from the 'app_groups' status parameter.</li>
              <li>The second element is a CBOR array, namely 'app_groups_add'. Each of its elements is a CBOR text string, with value the name of an application group to add to the 'app_groups' status parameter.</li>
            </ul>
            <t>
The CDDL definition <xref target="RFC8610"/> of the CBOR array 'app_groups_diff' formatted as in the response from the Group Manager is provided below.</t>
          </li>
        </ul>
        <figure anchor="cddl-diff">
          <name>CDDL definition of the 'app_groups_diff' field</name>
          <artwork type="CDDL" align="left"><![CDATA[
   app-group-name = tstr
   name-patch = [* app-group-name]
   app_groups_diff = [app_groups_del: name-patch,
                      app_groups_add: name-patch]
]]></artwork>
        </figure>
        <t>The Group Manager MUST respond with a 4.00 (Bad Request) response in case: both the inner CBOR arrays 'app_groups_del' and 'app_groups_add' are empty; or the CBOR map in the request payload includes both the 'app_groups' field and the 'app_groups_diff' field.</t>
        <ul spacing="normal">
          <li>
            <t>When CoRAL is used, the request payload includes the following top-level link elements.  </t>
            <ul spacing="normal">
              <li>'app_group_del', with value a text string specifying the name of an application group to remove from the 'app_groups' status parameter. This link element can be included multiple times.</li>
              <li>'app_group_add', with value a text string specifying the name of an application group to add to the 'app_groups' status parameter. This link element can be included multiple times.</li>
            </ul>
            <t>
The Group Manager MUST respond with a 4.00 (Bad Request) response, in case the request payload includes both any 'app_group' link element as well as any 'app_group_del' and/or 'app_group_add' link element.</t>
          </li>
        </ul>
        <t>The error handling for the PATCH/iPATCH request is the same as for the PUT request defined in <xref target="configuration-resource-put"/>, with the following additions.</t>
        <ul spacing="normal">
          <li>The set of group configuration parameters to update MUST NOT be empty. That is, the Group Manager MUST respond with a 4.00 (Bad Request) response, if the request payload includes an empty CBOR map (when custom CBOR is used) or no link elements (when CoRAL is used).</li>
          <li>If the Request-URI does not point to an existing group-configuration resource, the Group Manager MUST NOT create a new resource, and MUST respond with a 4.04 (Not Found) response.</li>
          <li>
            <t>When applying the specified updated values would yield an inconsistent group configuration, the Group Manager MUST respond with a 4.09 (Conflict) response.  </t>
            <t>
The response, MAY include the current representation of the group configuration resource, like when responding to a GET request as defined in <xref target="configuration-resource-get"/>. Otherwise, the response SHOULD include a diagnostic payload with additional information for the Administrator to recognize the source of the conflict.</t>
          </li>
          <li>
            <t>When the request uses specifically the iPATCH method, the Group Manager MUST respond with a 4.00 (Bad Request) response, in case:  </t>
            <ul spacing="normal">
              <li>When custom CBOR is used, the CBOR map includes the parameter 'app_groups_diff'; or</li>
              <li>When CoRAL is used, any link element 'app_group_del' and/or 'app_group_add' is included.</li>
            </ul>
          </li>
        </ul>
        <t>Furthermore, the Group Manager MUST perform the same authorization checks defined for the processing of a PUT request to a group-configuration resource in <xref target="configuration-resource-put"/>. That is, the Group Manager MUST verify that the Administrator has been granted a "Write" permission applicable to the targeted group-configuration resource.</t>
        <t>If the updated group configuration would include parameter values that prevent the Group Manager from performing the operations defined in <xref target="I-D.ietf-ace-key-groupcomm-oscore"/> (e.g., due to the Group Manager not supporting a format of authentication credentials), the Group Manager MUST respond with a 5.03 (Service Unavailable) response. The response MUST have Content-Format set to application/ace-groupcomm+cbor and is formatted as defined in <xref section="4.1.2" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm"/>. The value of the 'error' field MUST be set to 12 ("Unsupported group configuration") and the 'error_description' parameter SHOULD be included in order to provide additional context.</t>
        <t>If no error occurs and the PATCH/iPATCH request is successfully processed, the Group Manager performs the following actions.</t>
        <t>First, the Group Manager updates the group-configuration resource, consistently with the values indicated in the PATCH/iPATCH request from the Administrator. The corresponding group-membership resource is also accordingly updated.</t>
        <t>The operation of updating the group-configuration resource and accordingly updating the group-membership resource MUST be atomic.</t>
        <t>Unlike for the PUT request defined in <xref target="configuration-resource-put"/>, the Group Manager does not alter the value of configuration parameters and status parameters for which updated values are not specified in the request payload. In particular, the Group Manager does not assign possible default values to those parameters.</t>
        <t>Special processing occurs when updating the 'app_groups' status parameter by difference, as defined below. The Administrator should not expect the Group Manager to add or delete names of application group names according to any particular order.</t>
        <ul spacing="normal">
          <li>If the name of an application group to add (delete) is specified multiple times, the Group Manager considers it only once for addition to (deletion from) the 'app_groups' status parameter.</li>
          <li>If the name of an application group to delete is not present in the 'app_groups' status parameter before any change is applied, the Group Manager ignores that name.</li>
          <li>If the name of an application group to add is already present in the 'app_groups' status parameter before any change is applied, the Group Manager ignores that name.</li>
          <li>
            <t>When custom CBOR is used, the Group Manager:  </t>
            <ul spacing="normal">
              <li>Deletes from the 'app_groups' status parameter the names of the application groups specified in the inner 'app_groups_del' CBOR array of the 'app_groups_diff' field.</li>
              <li>Adds to the 'app_groups' status parameter the names of the application groups specified in the inner 'app_groups_add' CBOR array of the 'app_groups_diff' field.</li>
            </ul>
          </li>
          <li>
            <t>When CoRAL is used, the Group Manager:  </t>
            <ul spacing="normal">
              <li>Deletes from the 'app_groups' status parameter the names of the application groups specified in the different 'app_group_del' link elements.</li>
              <li>Adds to the 'app_groups' status parameter the names of the application groups specified in the different 'app_group_add' link elements.</li>
            </ul>
          </li>
        </ul>
        <t>After having updated the group-configuration resource, from then on the Group Manager relies on the new group configuration to build the Join Response message defined in <xref section="6.3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>, when handling the joining of a new group member. Similarly, the Group Manager relies on the new group configuration when building responses specifying (part of) the group configuration to a current group member. For instance, this applies when a group member retrieves from the Group Manager the updated group keying material (see <xref section="9.1" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>) or the current group status (see <xref section="9.9" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>).</t>
        <t>Finally, the Group Manager replies to the Administrator with a 2.04 (Changed) response. The payload of the response has the same format of the 2.01 (Created) response defined in <xref target="collection-resource-post"/>.</t>
        <t>The same considerations as for the PUT request defined in <xref target="configuration-resource-put"/> hold also in this case, with respect to refreshing a possible registration of the link to the group-membership resource in the Resource Directory <xref target="RFC9176"/>.</t>
        <t>Example in custom CBOR:</t>
        <artwork><![CDATA[
=> 0.06 PATCH
   Uri-Path: manage
   Uri-Path: gp4
   Content-Format: CT_TBD (application/ace-groupcomm+cbor)

   Payload:

   {
        "sign_enc_alg" : 10,
     "app_groups_diff" : [["room1"],
                          ["room3", "room4"]]
   }

<= 2.04 Changed
   Content-Format: CT_TBD (application/ace-groupcomm+cbor)

   Payload:

   {
      "group_name" : "gp4",
     "joining_uri" : "coap://[2001:db8::ab]/ace-group/gp4/",
          "as_uri" : "coap://as.example.com/token"
   }
]]></artwork>
        <t>Example in CoRAL:</t>
        <artwork><![CDATA[
=> 0.06 PATCH
   Uri-Path: manage
   Uri-Path: gp4
   Content-Format: 65087 (application/coral+cbor)

   Payload:

   [
     [2, 6(-28) / item 71 for core.osc.gconf:sign_enc_alg /, 10],
     [2, 6(-40) / item 95 for core.osc.gconf:app_group_del /, "room1"],
     [2, 6(40) / item 96 for core.osc.gconf:app_group_add /, "room3"],
     [2, 6(40) / item 96 for core.osc.gconf:app_group_add /, "room4"]
   ]

<= 2.04 Changed
   Content-Format: 65087 (application/coral+cbor)

   Payload:

   [
     [2, 6(36) / item 88 for core.osc.gconf:group_name /, "gp4"],
     [2, 6(-41) / item 97 for core.osc.gconf:joining_uri /,
      cri'coap://[2001:db8::ab]/ace-group/gp4/'],
     [2, 6(43) / item 102 for core.osc.gconf:as_uri /,
      cri'coap://as.example.com/token']
   ]
]]></artwork>
        <section anchor="effects-on-joining-nodes">
          <name>Effects on Joining Nodes</name>
          <t>After having selectively updated part of a group configuration, the effects on candidate joining nodes are the same as defined in <xref target="sssec-effects-overwrite-joining-nodes"/> for the case of group configuration overwriting.</t>
        </section>
        <section anchor="effects-on-the-group-members">
          <name>Effects on the Group Members</name>
          <t>After having selectively updated part of a group configuration, the effects on the current group members are the same as defined in <xref target="sssec-effects-overwrite-group-members"/> for the case of group configuration overwriting.</t>
        </section>
      </section>
      <section anchor="configuration-resource-delete">
        <name>Delete a Group Configuration</name>
        <t>This operation MUST be supported by the Group Manager and an Administrator.</t>
        <t>The Administrator can send a DELETE request to the group-configuration resource, in order to delete that OSCORE group.</t>
        <t>Consistently with what is defined at step 4 of <xref target="getting-access"/>, the Group Manager MUST check whether GROUPNAME matches with the group name pattern specified in any scope entry of the 'scope' claim in the stored Access Token for the Administrator. In case of a positive match, the Group Manager MUST check whether the permission set in the found scope entry specifies the permission "Delete".</t>
        <t>If the verification above fails (i.e., there are no matching scope entries specifying the "Delete" permission), the Group Manager MUST reply with a 4.03 (Forbidden) error response. The response MUST have Content-Format set to application/ace-groupcomm+cbor and is formatted as defined in <xref section="4.1.2" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm"/>.</t>
        <t>Otherwise, the Group Manager continues processing the request, which would be successful only on an inactive OSCORE group. That is, the DELETE request actually yields a successful deletion of the OSCORE group, only if the corresponding status parameter 'active' has current value "false" (0xf4). The Administrator can ensure that, by first performing an update of the group-configuration resource associated with the OSCORE group (see <xref target="configuration-resource-put"/>), and setting the corresponding status parameter 'active' to "false" (0xf4).</t>
        <t>If, upon receiving the DELETE request, the current value of the status parameter 'active' is "true" (0xf5), the Group Manager MUST respond with a 4.09 (Conflict) response. The response MUST have Content-Format set to application/ace-groupcomm+cbor and is formatted as defined in <xref section="4.1.2" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm"/>. The value of the 'error' field MUST be set to 10 ("Group currently active").</t>
        <t>After a successful processing of the DELETE request, the Group Manager performs the following actions.</t>
        <t>First, the Group Manager deletes the OSCORE group, deallocates both the group-configuration resource as well as the group-membership resource associated with that group, and accordingly updates the group-collection resource.</t>
        <t>The operation of deleting the group-configuration resource and the corresponding group-membership resource, as well as of accordingly updating the group-collection resource MUST be atomic.</t>
        <t>Then, the Group Manager replies to the Administrator with a 2.02 (Deleted) response.</t>
        <t>Example:</t>
        <artwork><![CDATA[
=> 0.04 DELETE
   Uri-Path: manage
   Uri-Path: gp4

<= 2.02 Deleted
]]></artwork>
        <section anchor="effects-on-the-group-members-1">
          <name>Effects on the Group Members</name>
          <t>After having deleted an OSCORE group, the Group Manager can inform the group members by means of the following two methods. When contacting a group member, the Group Manager uses the pairwise secure communication association established with that member during its joining process (see <xref section="6" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>).</t>
          <ul spacing="normal">
            <li>The Group Manager sends an individual request message to each group member, targeting the respective resource used to perform the group rekeying process (see <xref section="11.1" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>). The Group Manager uses the same format of the Join Response message in <xref section="6.3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>, where only the parameters 'gkty', 'key' and 'ace_groupcomm_profile' are present, and the 'key' parameter is the empty CBOR map.</li>
            <li>A group member may subscribe for updates to the group-membership resource associated with the OSCORE group. In particular, if this relies on CoAP Observe <xref target="RFC7641"/>, a group member would receive a 4.04 (Not Found) notification response from the Group Manager, since the group-configuration resource has been deallocated upon deleting the OSCORE group (see <xref section="6.1" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm"/>). The response MUST have Content-Format set to application/ace-groupcomm+cbor and is formatted as defined in <xref section="4.1.2" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm"/>. The value of the 'error' field MUST be set to 5 ("Group deleted").</li>
          </ul>
          <t>When being informed about the deletion of the OSCORE group, a group member deletes the OSCORE Security Context that it stores as associated with that group, and possibly deallocates any dedicated control resource intended for the Group Manager that it has for that group.</t>
        </section>
      </section>
    </section>
    <section anchor="groupcomm-parameters">
      <name>ACE Groupcomm Parameters</name>
      <t>In addition to what is defined in <xref section="8" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm"/>, this document defines additional parameters used in the messages exchanged between the Administrator and the Group Manager (see <xref target="interactions"/>). The table below summarizes them and specifies the CBOR key to use instead of the full descriptive name.</t>
      <t>Note that the media type application/ace-groupcomm+cbor MUST be used when these parameters are transported in the respective message fields.</t>
      <figure anchor="fig-ACE-Groupcomm-Parameters">
        <name>ACE Groupcomm Parameters</name>
        <artwork align="center"><![CDATA[
+-----------------+----------+--------------+------------+
| Name            | CBOR Key | CBOR Type    | Reference  |
+-----------------+----------+--------------+------------+
| hkdf            | TBD      | tstr / int   | [RFC-XXXX] |
+-----------------+----------+--------------+------------+
| cred_fmt        | TBD      | int          | [RFC-XXXX] |
+-----------------+----------+--------------+------------+
| group_mode      | TBD      | simple value | [RFC-XXXX] |
+-----------------+----------+--------------+------------+
| sign_enc_alg    | TBD      | tstr / int / | [RFC-XXXX] |
|                 |          | simple value |            |
+-----------------+----------+--------------+------------+
| sign_alg        | TBD      | tstr / int / | [RFC-XXXX] |
|                 |          | simple value |            |
+-----------------+----------+--------------+------------+
| sign_params     | TBD      | array /      | [RFC-XXXX] |
|                 |          | simple value |            |
+-----------------+----------+--------------+------------+
| pairwise_mode   | TBD      | simple value | [RFC-XXXX] |
+-----------------+----------+--------------+------------+
| alg             | TBD      | tstr / int / | [RFC-XXXX] |
|                 |          | simple value |            |
+-----------------+----------+--------------+------------+
| ecdh_alg        | TBD      | tstr / int / | [RFC-XXXX] |
|                 |          | simple value |            |
+-----------------+----------+--------------+------------+
| ecdh_params     | TBD      | array /      | [RFC-XXXX] |
|                 |          | simple value |            |
+-----------------+----------+--------------+------------+
| det_req         | TBD      | simple value | [RFC-XXXX] |
+-----------------+----------+--------------+------------+
| det_hash_alg    | TBD      | tstr / int   | [RFC-XXXX] |
+-----------------+----------+--------------+------------+
| rt              | TBD      | tstr         | [RFC-XXXX] |
+-----------------+----------+--------------+------------+
| active          | TBD      | simple value | [RFC-XXXX] |
+-----------------+----------+--------------+------------+
| group_name      | TBD      | tstr         | [RFC-XXXX] |
+-----------------+----------+--------------+------------+
| group_title     | TBD      | tstr /       | [RFC-XXXX] |
|                 |          | simple value |            |
+-----------------+----------+--------------+------------+
| max_stale_sets  | TBD      | uint         | [RFC-XXXX] |
+-----------------+----------+--------------+------------+
| gid_reuse       | TBD      | simple value | [RFC-XXXX] |
+-----------------+----------+--------------+------------+
| app_groups      | TBD      | array        | [RFC-XXXX] |
+-----------------+----------+--------------+------------+
| joining_uri     | TBD      | tstr         | [RFC-XXXX] |
+-----------------+----------+--------------+------------+
| as_uri          | TBD      | tstr         | [RFC-XXXX] |
+-----------------+----------+--------------+------------+
| conf_filter     | TBD      | array        | [RFC-XXXX] |
+-----------------+----------+--------------+------------+
| app_groups_diff | TBD      | array        | [RFC-XXXX] |
+-----------------+----------+--------------+------------+
]]></artwork>
      </figure>
      <t>The following holds for the Group Manager.</t>
      <ul spacing="normal">
        <li>
          <t>It MUST support the parameters 'error', 'error_description', 'ace_groupcomm_profile', 'exp' and 'group_policies', which are defined in <xref section="8" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm"/>.  </t>
          <t>
This is consistent with what is defined in <xref section="8" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm"/> for the Key Distribution Center, of which the Group Manager defined in <xref target="I-D.ietf-ace-key-groupcomm-oscore"/> is a specific instance.</t>
        </li>
        <li>It MUST support all the parameters listed in <xref target="fig-ACE-Groupcomm-Parameters"/>, with the exception of the 'app_groups_diff' parameter, which MUST be supported and understood only if the Group Manager supports the selective update of a group configuration (see <xref target="configuration-resource-patch"/>).</li>
      </ul>
      <t>The following holds for an Administrator.</t>
      <ul spacing="normal">
        <li>It MUST support and understand the parameters 'error', 'error_description', 'ace_groupcomm_profile', 'exp' and 'group_policies', which are defined in <xref section="8" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm"/>.</li>
        <li>
          <t>It MUST support and understand all the parameters listed in <xref target="fig-ACE-Groupcomm-Parameters"/>, with the following exceptions.  </t>
          <ul spacing="normal">
            <li>'conf_filter', which MUST be supported and understood only if the Administrator supports the partial retrieval of a group configuration by filters (see <xref target="configuration-resource-fetch"/>).</li>
            <li>'app_groups_diff' parameter, which MUST be supported and understood only if the Administrator supports the selective update of a group configuration (see <xref target="configuration-resource-patch"/>).</li>
          </ul>
        </li>
      </ul>
    </section>
    <section anchor="error-types">
      <name>ACE Groupcomm Error Identifiers</name>
      <t>In addition to what is defined in <xref section="9" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm"/>, this document defines a new value that the Group Manager can include as error identifiers, in the 'error' field of an error response with Content-Format application/ace-groupcomm+cbor.</t>
      <figure anchor="fig-ACE-Groupcomm-Error">
        <name>ACE Groupcomm Error Identifiers</name>
        <artwork align="center"><![CDATA[
+-------+---------------------------------+
| Value | Description                     |
+-------+---------------------------------+
| 10    | Group currently active          |
+-------+---------------------------------+
| 11    | No available group names        |
+-------+---------------------------------+
| 12    | Unsupported group configuration |
+-------+---------------------------------+
]]></artwork>
      </figure>
      <t>When receiving an error response from the Group Manager, an Administrator may use the information conveyed in the 'error' parameter to determine what actions to take next. If it is included in the error response, the 'error_description' parameter may provide additional context. In particular, the following guidelines apply.</t>
      <ul spacing="normal">
        <li>In case of error 10, the Administrator should stop sending the DELETE request to the Group Manager (see <xref target="configuration-resource-delete"/>), until the group becomes inactive. As per this document, this error is relevant only for the Administrator, if it tries to delete a group without having set its status to inactive first (see <xref target="configuration-resource-delete"/>). In such a case, the Administrator should take the expected course of actions, and set the group status to inactive first (see <xref target="configuration-resource-put"/> and <xref target="configuration-resource-patch"/>), before sending a new request of group deletion to the Group Manager.</li>
        <li>
          <t>In case of error 11, the Administrator has the following options.  </t>
          <ul spacing="normal">
            <li>The Administrator simply tries again later on. The new POST request to the group-collection resource specifies the same group name originally suggested in the previous request that triggered the error response (see <xref target="collection-resource-post"/>). This option fundamentally relies on the Group Manager freeing up group names, hence it is not viable if considerably or indefinitely postponing the creation of the group is not acceptable.</li>
            <li>
              <t>The Administrator sends a new POST request to the group-collection resource right away, specifying a different group name than the one suggested in the previous request that triggered the error response. The new group name suggested by the Administrator should be such that the following holds.      </t>
              <t>
Let us define: i) S, as the set of all the scope entries in the Administrator's Access Token, such that the old group name matched with each of those scope entries; ii) S', as the set of all the scope entries in the Administrator's Access Token, such that the new group name matches with each of those scope entries. Then, S' is neither equal to S nor a subset of S.</t>
            </li>
            <li>
              <t>The Administrator requests a new Access Token to the Authorization Server, in order to update its access rights, and have a new granted scope whose scope entries specify more and/or different group name patterns than the old Access Token.      </t>
              <t>
After uploading the new Access Token to the Group Manager, the Administrator can send a new POST request to the group-collection resource. When doing so, the Administrator suggests a new group name to the Group Manager, according to the same criteria discussed for the previous option.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>In case of error 12, the Administrator has the following options.  </t>
          <ul spacing="normal">
            <li>
              <t>If the Administrator has attempted to create a new group configuration (see <xref target="collection-resource-post"/>), the Administrator can take into account what the Group Manager specifies in the 'error_description' parameter of the error response, and send a new request to the Group Manager for accordingly creating the group configuration.      </t>
              <t>
This requires that the Administrator finds acceptable to create a group configuration different from the originally intended one.</t>
            </li>
            <li>
              <t>If the Administrator has attempted to overwrite (see <xref target="configuration-resource-put"/>) or selectively update (see <xref target="configuration-resource-patch"/>) an existing group configuration, the Administrator can take into account what the Group Manager specifies in the 'error_description' parameter of the error response, and send a new request to the Group Manager for accordingly overwriting or selectively updating the group configuration.      </t>
              <t>
This requires that the Administrator finds acceptable to overwrite or update the current group configuration differently than how it was originally intended. If this is not attainable, the Administrator may decide to not take further actions and keep the current group configuration as is, or instead to delete the group configuration altogether (see <xref target="configuration-resource-delete"/>).</t>
            </li>
          </ul>
        </li>
      </ul>
    </section>
    <section anchor="sec-security-considerations">
      <name>Security Considerations</name>
      <t>Security considerations are inherited from the ACE framework for Authentication and Authorization <xref target="RFC9200"/>, and from the specific transport profile of ACE used between the Administrator and the Group Manager, such as <xref target="RFC9202"/> and <xref target="RFC9203"/>.</t>
      <t>The same security considerations from <xref target="I-D.ietf-ace-key-groupcomm"/> and <xref target="I-D.ietf-ace-key-groupcomm-oscore"/> also apply, with particular reference to the process of rekeying OSCORE groups.</t>
      <t>Further security considerations are compiled below.</t>
      <section anchor="change-of-group-configuration">
        <name>Change of Group Configuration</name>
        <t>With respect to changing group configurations, the following security considerations hold.</t>
        <ul spacing="normal">
          <li>
            <t>A change of the current group configuration (see <xref target="configuration-resource-put"/> and <xref target="configuration-resource-patch"/>) might result in generating and distributing new group keying material, consistently with the newly enforced algorithms and related parameters. In such a case, the Group Manager can perform a group rekeying as per <xref section="11" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>, or provide the new group keying material together with the new group configuration as per <xref target="configuration-resource-put"/> and <xref target="configuration-resource-patch"/> of this document.  </t>
            <t>
After gaining knowledge of the new group configuration, current group members may also leave the OSCORE group and rejoin it, hence obtaining the new group configuration parameters and the up-to-date group keying material. When this happens, the Group Manager SHOULD NOT repeatedly rekey the group upon the re-join of every current group member, each of which is identifiable by means of the secure association that it has with the Group Manager.  </t>
            <t>
Shortly following an update of group configuration, the Group Manager SHOULD prioritize the re-join of such current group members before processing Join Requests from new group members.</t>
          </li>
          <li>Following the enforcement of a new group configuration, a group member might support it while not deeming it conducive to a sufficient security level (e.g., in terms of security algorithms and related parameters). In such a case, it is RECOMMENDED that the group member leaves the group.</li>
          <li>
            <t>A change of the current group configuration, possibly also requiring a group rekeying, might result in temporarily preventing communications among some group members altogether, until they have aligned themselves to the new group configuration. This is especially the case for a change of group configuration affecting the security algorithms and related parameters used in the group.  </t>
            <t>
Furthermore, a change of group configuration might interfere with ongoing, extended exchanges between group members, especially Block-Wise transfers <xref target="RFC7959"/><xref target="RFC9177"/> and the transmission of Observe notifications for ongoing Observations <xref target="RFC7641"/>.  </t>
            <t>
A group configuration (possibly together with the group keying material) may have been updated while a Block-Wise transfer is ongoing between two group members. This will result in blocks being resent, if the block sender and recipient are not yet both aligned with the new group configuration (and group keying material), in which case the block recipient would reply with an error message.  </t>
            <t>
After a change of group configuration, a group member MUST terminate an ongoing Observation if the new group configuration would not have allowed to compute exactly the Observe request associated with the ongoing Observation. This occurs, for example, when the new group configuration specifies a signature algorithm different than the one used in the group when the Observe request was protected.</t>
          </li>
        </ul>
      </section>
      <section anchor="group-manager">
        <name>Group Manager</name>
        <t>In addition to what is discussed in <xref section="10.1" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm"/>, a compromised Group Manager would allow an adversary to also monitor the group configurations specified by an Administrator, or to enforce group configurations different than the specified ones, which can result in communications in the OSCORE groups not attaining the originally intended security level.</t>
        <t>Although this is undesirable, it is not worse than the control that the adversary would gain on the group keying material through the compromised Group Manager (see <xref section="10.1" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm"/>).</t>
        <t>Unlike what is defined in <xref section="10.2" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm"/> with respect to renewing the group keying material, the Group Manager does not have to change the group configurations of the OSCORE groups it is responsible for, after having experienced a reboot.</t>
      </section>
      <section anchor="administrators">
        <name>Administrators</name>
        <t>If multiple Administrators are responsible for the same OSCORE group, they are expected to be aware of each other and of their shared responsibility, as well as to be aligned on what is in the best interest of the OSCORE group and its secure operation. It is out of the scope of this document to define how different Administrators are appointed as responsible for an OSCORE group and how they achieve and maintain such an alignment with each other.</t>
        <t>A compromised Administrator may collude with unauthorized parties. Within the extent of the granted access rights, the compromised Administrator may leak group configurations, change them in such a way that communications in the OSCORE groups do not attain the originally intended security level, or delete OSCORE groups altogether thus impeding their secure operation.</t>
        <t>When an Administrator is found compromised, the pertaining Access Tokens MUST be revoked by the Authorization Server. A possible way for the Authorization Server to notify the affected Group Managers about such revoked Acess Tokens is defined in <xref target="I-D.ietf-ace-revoked-token-notification"/>.</t>
      </section>
    </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-ace-groupcomm-parameters">
        <name>ACE Groupcomm Parameters</name>
        <t>IANA is asked to register the following entries in the "ACE Groupcomm Parameters" registry defined in <xref section="11.6" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm"/>.</t>
        <artwork><![CDATA[
Name: hkdf
CBOR Key: TBD
CBOR Type: tstr / int
Reference: [RFC-XXXX]

Name: cred_fmt
CBOR Key: TBD
CBOR Type: int
Reference: [RFC-XXXX]

Name: group_mode
CBOR Key: TBD
CBOR Type: simple value
Reference: [RFC-XXXX]

Name: sign_enc_alg
CBOR Key: TBD
CBOR Type: tstr / int / simple value
Reference: [RFC-XXXX]

Name: sign_alg
CBOR Key: TBD
CBOR Type: tstr / int / simple value
Reference: [RFC-XXXX]

Name: sign_params
CBOR Key: TBD
CBOR Type: array / simple value
Reference: [RFC-XXXX]

Name: pairwise_mode
CBOR Key: TBD
CBOR Type: simple value
Reference: [RFC-XXXX]

Name: alg
CBOR Key: TBD
CBOR Type: tstr / int / simple value
Reference: [RFC-XXXX]

Name: ecdh_alg
CBOR Key: TBD
CBOR Type: tstr / int / simple value
Reference: [RFC-XXXX]

Name: ecdh_params
CBOR Key: TBD
CBOR Type: array / simple value
Reference: [RFC-XXXX]

Name: det_req
CBOR Key: TBD
CBOR Type: simple value
Reference: [RFC-XXXX]

Name: det_hash_alg
CBOR Key: TBD
CBOR Type: tstr / int
Reference: [RFC-XXXX]

Name: rt
CBOR Key: TBD
CBOR Type: tstr
Reference: [RFC-XXXX]

Name: active
CBOR Key: TBD
CBOR Type: simple value
Reference: [RFC-XXXX]

Name: group_name
CBOR Key: TBD
CBOR Type: tstr
Reference: [RFC-XXXX]

Name: group_title
CBOR Key: TBD
CBOR Type: tstr / simple value
Reference: [RFC-XXXX]

Name: max_stale_sets
CBOR Key: TBD
CBOR Type: uint
Reference: [RFC-XXXX]

Name: gid_reuse
CBOR Key: TBD
CBOR Type: simple value
Reference: [RFC-XXXX]

Name: app_groups
CBOR Key: TBD
CBOR Type: array
Reference: [RFC-XXXX]

Name: joining_uri
CBOR Key: TBD
CBOR Type: tstr
Reference: [RFC-XXXX]

Name: as_uri
CBOR Key: TBD
CBOR Type: tstr
Reference: [RFC-XXXX]

Name: conf_filter
CBOR Key: TBD
CBOR Type: array
Reference: [RFC-XXXX]

Name: app_groups_diff
CBOR Key: TBD
CBOR Type: array
Reference: [RFC-XXXX]
]]></artwork>
      </section>
      <section anchor="iana-ace-groupcomm-errors">
        <name>ACE Groupcomm Errors</name>
        <t>IANA is asked to register the following entry in the "ACE Groupcomm Errors" registry defined in <xref section="11.11" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm"/>.</t>
        <artwork><![CDATA[
Value: 10
Description: Group currently active
Reference: [RFC-XXXX]

Value: 11
Description: No available group names
Reference: [RFC-XXXX]

Value: 12
Description: Unsupported group configuration
Reference: [RFC-XXXX]
]]></artwork>
      </section>
      <section anchor="iana-rt">
        <name>Resource Types</name>
        <t>IANA is asked to enter the following values in the "Resource Type (rt=) Link Target Attribute Values" registry within the "Constrained Restful Environments (CoRE) Parameters" registry group.</t>
        <artwork><![CDATA[
Value: core.osc.gcoll
Description: Group-collection resource of an OSCORE Group Manager
Reference: [RFC-XXXX]

Value: core.osc.gconf
Description: Group-configuration resource of an OSCORE Group Manager
Reference: [RFC-XXXX]
]]></artwork>
      </section>
      <section anchor="ssec-iana-group-oscore-admin-permissions-registry">
        <name>Group OSCORE Admin Permissions</name>
        <t>This document establishes the IANA "Group OSCORE Admin Permissions" registry. The registry has been created to use the "Expert Review" registration procedure <xref target="RFC8126"/>. Expert review guidelines are provided in <xref target="ssec-iana-expert-review"/>.</t>
        <t>This registry includes the possible permissions that Administrators can have to perform operations on an OSCORE Group Manager, each in combination with a numeric identifier. These numeric identifiers are used to express authorization information about performing administrative operations concerning OSCORE groups under the control of the Group Manager, as specified in <xref target="scope-format"/> of [RFC-XXXX].</t>
        <t>The columns of this registry are:</t>
        <ul spacing="normal">
          <li>Name: A value that can be used in documents for easier comprehension, to identify a possible permission that Administrators can perform when interacting with an OSCORE Group Manager.</li>
          <li>
            <t>Value: The numeric identifier for this permission. Integer values greater than 65535 are marked as "Private Use", all other values use the registration policy "Expert Review" <xref target="RFC8126"/>.  </t>
            <t>
Note that, in general, a single permission can be associated with multiple different operations that are possible to be performed when interacting with the Group Manager.</t>
          </li>
          <li>Description: This field contains a brief description of the permission.</li>
          <li>Reference: This contains a pointer to the public specification for the permission.</li>
        </ul>
        <t>This registry will be initially populated by the values in <xref target="fig-permission-values"/>.</t>
        <t>The Reference column for all of these entries will be [RFC-XXXX].</t>
      </section>
      <section anchor="ssec-iana-expert-review">
        <name>Expert Review Instructions</name>
        <t>The IANA registry established in this document is defined as "Expert Review".  This section gives some general guidelines for what the experts should be looking for, but they are being designated as experts for a reason so they should be given substantial latitude.</t>
        <t>Expert reviewers should take into consideration the following points:</t>
        <ul spacing="normal">
          <li>
            <t>Clarity and correctness of registrations. Experts are expected to check the clarity of purpose and use of the requested entries. Experts should inspect the entry for the considered permission, to verify the correctness of its description against the permission as intended in the specification that defined it. Expert should consider requesting an opinion on the correctness of registered parameters from the Authentication and Authorization for Constrained Environments (ACE) Working Group and the Constrained RESTful Environments (CoRE) Working Group.  </t>
            <t>
Entries that do not meet these objective of clarity and completeness should not be registered.</t>
          </li>
          <li>Duplicated registration and point squatting should be discouraged. Reviewers are encouraged to get sufficient information for registration requests to ensure that the usage is not going to duplicate one that is already registered and that the point is likely to be used in deployments.</li>
          <li>Experts should take into account the expected usage of permissions when approving point assignment. Given a 'Value' V as code point, the length of the encoding of (2^(V+1) - 1) should be weighed against the usage of the entry, considering the resources and capabilities of devices it will be used on. Additionally, given a 'Value' V as code point, the length of the encoding of (2^(V+1) - 1) should be weighed against how many code points resulting in that encoding length are left, and the resources and capabilities of devices it will be used on.</li>
          <li>Specifications are recommended. When specifications are not provided, the description provided needs to have sufficient information to verify the points above.</li>
        </ul>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="I-D.ietf-core-oscore-groupcomm" target="https://datatracker.ietf.org/doc/html/draft-ietf-core-oscore-groupcomm-17">
          <front>
            <title>Group OSCORE - Secure Group Communication for CoAP</title>
            <author fullname="Marco Tiloca" initials="M." surname="Tiloca">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Göran Selander" initials="G." surname="Selander">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Francesca Palombini" initials="F." surname="Palombini">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="John Preuß Mattsson" initials="J. P." surname="Mattsson">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Jiye Park" initials="J." surname="Park">
              <organization>Universitaet Duisburg-Essen</organization>
            </author>
            <date day="20" month="December" year="2022"/>
            <abstract>
              <t>   This document defines Group Object Security for Constrained RESTful
   Environments (Group OSCORE), providing end-to-end security of CoAP
   messages exchanged between members of a group, e.g., sent over IP
   multicast.  In particular, the described approach defines how OSCORE
   is used in a group communication setting to provide source
   authentication for CoAP group requests, sent by a client to multiple
   servers, and for protection of the corresponding CoAP responses.
   Group OSCORE also defines a pairwise mode where each member of the
   group can efficiently derive a symmetric pairwise key with any other
   member of the group for pairwise OSCORE communication.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-core-oscore-groupcomm-17"/>
        </reference>
        <reference anchor="I-D.ietf-ace-key-groupcomm" target="https://datatracker.ietf.org/doc/html/draft-ietf-ace-key-groupcomm-16">
          <front>
            <title>Key Provisioning for Group Communication using ACE</title>
            <author fullname="Francesca Palombini" initials="F." surname="Palombini">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Marco Tiloca" initials="M." surname="Tiloca">
              <organization>RISE AB</organization>
            </author>
            <date day="5" month="September" year="2022"/>
            <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 acting as Clients and authorized to join a
   group can do so by interacting with a Key Distribution Center (KDC)
   acting as 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="Internet-Draft" value="draft-ietf-ace-key-groupcomm-16"/>
        </reference>
        <reference anchor="I-D.ietf-ace-key-groupcomm-oscore" target="https://datatracker.ietf.org/doc/html/draft-ietf-ace-key-groupcomm-oscore-16">
          <front>
            <title>Key Management for OSCORE Groups in ACE</title>
            <author fullname="Marco Tiloca" initials="M." surname="Tiloca">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Jiye Park" initials="J." surname="Park">
              <organization>Universitaet Duisburg-Essen</organization>
            </author>
            <author fullname="Francesca Palombini" initials="F." surname="Palombini">
              <organization>Ericsson AB</organization>
            </author>
            <date day="6" month="March" year="2023"/>
            <abstract>
              <t>   This document defines an application profile of the ACE framework for
   Authentication and Authorization, to request and provision keying
   material in group communication scenarios that are based on CoAP and
   are secured with Group Object Security for Constrained RESTful
   Environments (Group OSCORE).  This application profile delegates the
   authentication and authorization of Clients, that 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-16"/>
        </reference>
        <reference anchor="I-D.ietf-core-coral" target="https://datatracker.ietf.org/doc/html/draft-ietf-core-coral-05">
          <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="7" month="March" year="2022"/>
            <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-05"/>
        </reference>
        <reference anchor="I-D.ietf-core-groupcomm-bis" target="https://datatracker.ietf.org/doc/html/draft-ietf-core-groupcomm-bis-08">
          <front>
            <title>Group Communication for the Constrained Application Protocol (CoAP)</title>
            <author fullname="Esko Dijk" initials="E." surname="Dijk">
              <organization>IoTconsultancy.nl</organization>
            </author>
            <author fullname="Chonggang Wang" initials="C." surname="Wang">
              <organization>InterDigital</organization>
            </author>
            <author fullname="Marco Tiloca" initials="M." surname="Tiloca">
              <organization>RISE AB</organization>
            </author>
            <date day="11" month="January" year="2023"/>
            <abstract>
              <t>   This document specifies the use of the Constrained Application
   Protocol (CoAP) for group communication, including the use of UDP/IP
   multicast as the default underlying data transport.  Both unsecured
   and secured CoAP group communication are specified.  Security is
   achieved by use of the Group Object Security for Constrained RESTful
   Environments (Group OSCORE) protocol.  The target application area of
   this specification is any group communication use cases that involve
   resource-constrained devices or networks that support CoAP.  This
   document replaces RFC 7390, while it updates RFC 7252 and RFC 7641.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-core-groupcomm-bis-08"/>
        </reference>
        <reference anchor="I-D.bormann-cbor-edn-literals" target="https://datatracker.ietf.org/doc/html/draft-bormann-cbor-edn-literals-01">
          <front>
            <title>Application-Oriented Literals in CBOR Extended Diagnostic Notation</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="24" month="October" year="2022"/>
            <abstract>
              <t>   The Concise Binary Object Representation, CBOR (RFC 8949), defines a
   "diagnostic notation" in order to be able to converse about CBOR data
   items without having to resort to binary data.

   This document specifies how to add application-oriented extensions to
   the diagnostic notation.  It then defines two such extensions for the
   use of CBOR diagnostic notation with CoRAL and Constrained Resource
   Identifiers (draft-ietf-core-coral, draft-ietf-core-href).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-bormann-cbor-edn-literals-01"/>
        </reference>
        <reference anchor="I-D.ietf-cbor-packed" target="https://datatracker.ietf.org/doc/html/draft-ietf-cbor-packed-08">
          <front>
            <title>Packed CBOR</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="23" month="January" year="2023"/>
            <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 receiver needs to decompress the compressed
   form to make use of the data.

   This specification describes Packed CBOR, a simple transformation of
   a CBOR data item into another 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 receiver.


   // The present version (-08) is a refresh update to -07, which added
   // the concept of Tag Equivalence as initially discussed at the CBOR
   // Interim meeting 12 in 2022 and at IETF 114.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cbor-packed-08"/>
        </reference>
        <reference anchor="I-D.ietf-core-href" target="https://datatracker.ietf.org/doc/html/draft-ietf-core-href-12">
          <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="6" month="March" year="2023"/>
            <abstract>
              <t>   The Constrained Resource Identifier (CRI) is a complement to the
   Uniform Resource Identifier (URI) that serializes the URI components
   in Concise Binary Object Representation (CBOR) instead of a sequence
   of characters.  This simplifies parsing, comparison and reference
   resolution in environments with severe limitations on processing
   power, code size, and memory size.


   // The present revision -12 of this draft adds a registry that is
   // intended to provide full coverage for representing a URI scheme
   // (and certain text strings used in their place) as negative
   // integers.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-core-href-12"/>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner">
              <organization/>
            </author>
            <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="RFC3986" target="https://www.rfc-editor.org/info/rfc3986">
          <front>
            <title>Uniform Resource Identifier (URI): Generic Syntax</title>
            <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee">
              <organization/>
            </author>
            <author fullname="R. Fielding" initials="R." surname="Fielding">
              <organization/>
            </author>
            <author fullname="L. Masinter" initials="L." surname="Masinter">
              <organization/>
            </author>
            <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" target="https://www.rfc-editor.org/info/rfc6690">
          <front>
            <title>Constrained RESTful Environments (CoRE) Link Format</title>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby">
              <organization/>
            </author>
            <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="RFC6749" target="https://www.rfc-editor.org/info/rfc6749">
          <front>
            <title>The OAuth 2.0 Authorization Framework</title>
            <author fullname="D. Hardt" initials="D." role="editor" surname="Hardt">
              <organization/>
            </author>
            <date month="October" year="2012"/>
            <abstract>
              <t>The OAuth 2.0 authorization framework enables a third-party application to obtain limited access to an HTTP service, either on behalf of a resource owner by orchestrating an approval interaction between the resource owner and the HTTP service, or by allowing the third-party application to obtain access on its own behalf.  This specification replaces and obsoletes the OAuth 1.0 protocol described in RFC 5849.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6749"/>
          <seriesInfo name="DOI" value="10.17487/RFC6749"/>
        </reference>
        <reference anchor="RFC7252" target="https://www.rfc-editor.org/info/rfc7252">
          <front>
            <title>The Constrained Application Protocol (CoAP)</title>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby">
              <organization/>
            </author>
            <author fullname="K. Hartke" initials="K." surname="Hartke">
              <organization/>
            </author>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <date month="June" year="2014"/>
            <abstract>
              <t>The Constrained Application Protocol (CoAP) is a specialized web transfer protocol for use with constrained nodes and constrained (e.g., low-power, lossy) networks.  The nodes often have 8-bit microcontrollers with small amounts of ROM and RAM, while constrained networks such as IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs) often have high packet error rates and a typical throughput of 10s of kbit/s.  The protocol is designed for machine- to-machine (M2M) applications such as smart energy and building automation.</t>
              <t>CoAP provides a request/response interaction model between application endpoints, supports built-in discovery of services and resources, and includes key concepts of the Web such as URIs and Internet media types.  CoAP is designed to easily interface with HTTP for integration with the Web while meeting specialized requirements such as multicast support, very low overhead, and simplicity for constrained environments.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7252"/>
          <seriesInfo name="DOI" value="10.17487/RFC7252"/>
        </reference>
        <reference anchor="RFC7641" target="https://www.rfc-editor.org/info/rfc7641">
          <front>
            <title>Observing Resources in the Constrained Application Protocol (CoAP)</title>
            <author fullname="K. Hartke" initials="K." surname="Hartke">
              <organization/>
            </author>
            <date month="September" year="2015"/>
            <abstract>
              <t>The Constrained Application Protocol (CoAP) is a RESTful application protocol for constrained nodes and networks.  The state of a resource on a CoAP server can change over time.  This document specifies a simple protocol extension for CoAP that enables CoAP clients to "observe" resources, i.e., to retrieve a representation of a resource and keep this representation updated by the server over a period of time.  The protocol follows a best-effort approach for sending new representations to clients and provides eventual consistency between the state observed by each client and the actual resource state at the server.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7641"/>
          <seriesInfo name="DOI" value="10.17487/RFC7641"/>
        </reference>
        <reference anchor="RFC8126" target="https://www.rfc-editor.org/info/rfc8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton">
              <organization/>
            </author>
            <author fullname="B. Leiba" initials="B." surname="Leiba">
              <organization/>
            </author>
            <author fullname="T. Narten" initials="T." surname="Narten">
              <organization/>
            </author>
            <date month="June" year="2017"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters.  To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper.  For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed.  This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
        <reference anchor="RFC8132" target="https://www.rfc-editor.org/info/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">
              <organization/>
            </author>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <author fullname="A. Sehgal" initials="A." surname="Sehgal">
              <organization/>
            </author>
            <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="RFC8174" target="https://www.rfc-editor.org/info/rfc8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba">
              <organization/>
            </author>
            <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>
        <reference anchor="RFC8610" target="https://www.rfc-editor.org/info/rfc8610">
          <front>
            <title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz">
              <organization/>
            </author>
            <author fullname="C. Vigano" initials="C." surname="Vigano">
              <organization/>
            </author>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <date month="June" year="2019"/>
            <abstract>
              <t>This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049).  Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8610"/>
          <seriesInfo name="DOI" value="10.17487/RFC8610"/>
        </reference>
        <reference anchor="RFC8613" target="https://www.rfc-editor.org/info/rfc8613">
          <front>
            <title>Object Security for Constrained RESTful Environments (OSCORE)</title>
            <author fullname="G. Selander" initials="G." surname="Selander">
              <organization/>
            </author>
            <author fullname="J. Mattsson" initials="J." surname="Mattsson">
              <organization/>
            </author>
            <author fullname="F. Palombini" initials="F." surname="Palombini">
              <organization/>
            </author>
            <author fullname="L. Seitz" initials="L." surname="Seitz">
              <organization/>
            </author>
            <date month="July" year="2019"/>
            <abstract>
              <t>This document defines Object Security for Constrained RESTful Environments (OSCORE), a method for application-layer protection of the Constrained Application Protocol (CoAP), using CBOR Object Signing and Encryption (COSE).  OSCORE provides end-to-end protection between endpoints communicating using CoAP or CoAP-mappable HTTP. OSCORE is designed for constrained nodes and networks supporting a range of proxy operations, including translation between different transport protocols.</t>
              <t>Although an optional functionality of CoAP, OSCORE alters CoAP options processing and IANA registration.  Therefore, this document updates RFC 7252.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8613"/>
          <seriesInfo name="DOI" value="10.17487/RFC8613"/>
        </reference>
        <reference anchor="RFC8949" target="https://www.rfc-editor.org/info/rfc8949">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman">
              <organization/>
            </author>
            <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" target="https://www.rfc-editor.org/info/rfc9052">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad">
              <organization/>
            </author>
            <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" target="https://www.rfc-editor.org/info/rfc9053">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Initial Algorithms</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad">
              <organization/>
            </author>
            <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="RFC9200" target="https://www.rfc-editor.org/info/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">
              <organization/>
            </author>
            <author fullname="G. Selander" initials="G." surname="Selander">
              <organization/>
            </author>
            <author fullname="E. Wahlstroem" initials="E." surname="Wahlstroem">
              <organization/>
            </author>
            <author fullname="S. Erdtman" initials="S." surname="Erdtman">
              <organization/>
            </author>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig">
              <organization/>
            </author>
            <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="RFC9203" target="https://www.rfc-editor.org/info/rfc9203">
          <front>
            <title>The Object Security for Constrained RESTful Environments (OSCORE) Profile of the Authentication and Authorization for Constrained Environments (ACE) Framework</title>
            <author fullname="F. Palombini" initials="F." surname="Palombini">
              <organization/>
            </author>
            <author fullname="L. Seitz" initials="L." surname="Seitz">
              <organization/>
            </author>
            <author fullname="G. Selander" initials="G." surname="Selander">
              <organization/>
            </author>
            <author fullname="M. Gunnarsson" initials="M." surname="Gunnarsson">
              <organization/>
            </author>
            <date month="August" year="2022"/>
            <abstract>
              <t>This document specifies a profile for the Authentication and Authorization for Constrained Environments (ACE) framework.  It utilizes Object Security for Constrained RESTful Environments (OSCORE) to provide communication security 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="RFC" value="9203"/>
          <seriesInfo name="DOI" value="10.17487/RFC9203"/>
        </reference>
        <reference anchor="RFC9237" target="https://www.rfc-editor.org/info/rfc9237">
          <front>
            <title>An Authorization Information Format (AIF) for Authentication and Authorization for Constrained Environments (ACE)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <date month="August" year="2022"/>
            <abstract>
              <t>Information about which entities are authorized to perform what operations on which constituents of other entities is a crucial component of producing an overall system that is secure.  Conveying precise authorization information is especially critical in highly automated systems with large numbers of entities, such as the Internet of Things.</t>
              <t>This specification provides a generic information model and format for representing such authorization information, as well as two variants of a specific instantiation of that format for use with Representational State Transfer (REST) resources identified by URI path.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9237"/>
          <seriesInfo name="DOI" value="10.17487/RFC9237"/>
        </reference>
        <reference anchor="RFC9277" target="https://www.rfc-editor.org/info/rfc9277">
          <front>
            <title>On Stable Storage for Items in Concise Binary Object Representation (CBOR)</title>
            <author fullname="M. Richardson" initials="M." surname="Richardson">
              <organization/>
            </author>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <date month="August" year="2022"/>
            <abstract>
              <t>This document defines a stored ("file") format for Concise Binary Object Representation (CBOR) data items that is friendly to common systems that recognize file types, such as the Unix file(1) command.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9277"/>
          <seriesInfo name="DOI" value="10.17487/RFC9277"/>
        </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="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>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="I-D.tiloca-core-oscore-discovery" target="https://datatracker.ietf.org/doc/html/draft-tiloca-core-oscore-discovery-13">
          <front>
            <title>Discovery of OSCORE Groups with the CoRE Resource Directory</title>
            <author fullname="Marco Tiloca" initials="M." surname="Tiloca">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Christian Amsüss" initials="C." surname="Amsüss">
         </author>
            <author fullname="Peter Van der Stok" initials="P." surname="Van der Stok">
              <organization>Consultant</organization>
            </author>
            <date day="8" month="March" year="2023"/>
            <abstract>
              <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>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-tiloca-core-oscore-discovery-13"/>
        </reference>
        <reference anchor="I-D.hartke-t2trg-coral-reef" target="https://datatracker.ietf.org/doc/html/draft-hartke-t2trg-coral-reef-04">
          <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.amsuess-core-cachable-oscore" target="https://datatracker.ietf.org/doc/html/draft-amsuess-core-cachable-oscore-06">
          <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="11" month="January" year="2023"/>
            <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-06"/>
        </reference>
        <reference anchor="I-D.ietf-cose-cbor-encoded-cert" target="https://datatracker.ietf.org/doc/html/draft-ietf-cose-cbor-encoded-cert-05">
          <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>Nexus Group</organization>
            </author>
            <date day="10" month="January" year="2023"/>
            <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, RPKI, GSMA
   eUICC, and CA/Browser Forum Baseline Requirements profiles.  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
   with over 50%.  The CBOR encoded structure can alternatively be
   signed directly ("natively signed"), which does not require re-
   encoding for the signature to be verified.  The document also
   specifies 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-05"/>
        </reference>
        <reference anchor="I-D.ietf-ace-revoked-token-notification" target="https://datatracker.ietf.org/doc/html/draft-ietf-ace-revoked-token-notification-04">
          <front>
            <title>Notification of Revoked Access Tokens in the Authentication and Authorization for Constrained Environments (ACE) Framework</title>
            <author fullname="Marco Tiloca" initials="M." surname="Tiloca">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Ludwig Seitz" initials="L." surname="Seitz">
              <organization>Combitech</organization>
            </author>
            <author fullname="Francesca Palombini" initials="F." surname="Palombini">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Sebastian Echeverria" initials="S." surname="Echeverria">
              <organization>CMU SEI</organization>
            </author>
            <author fullname="Grace Lewis" initials="G." surname="Lewis">
              <organization>CMU SEI</organization>
            </author>
            <date day="13" month="March" year="2023"/>
            <abstract>
              <t>   This document specifies a method of the Authentication and
   Authorization for Constrained Environments (ACE) framework, which
   allows an Authorization Server to notify Clients and Resource Servers
   (i.e., registered devices) about revoked Access Tokens.  The method
   allows Clients and Resource Servers to access a Token Revocation List
   on the Authorization Server, with the possible additional use of
   resource observation for the Constrained Application Protocol (CoAP).
   Resulting (unsolicited) notifications of revoked Access Tokens
   complement alternative approaches such as token introspection, while
   not requiring additional endpoints on Clients and Resource Servers.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ace-revoked-token-notification-04"/>
        </reference>
        <reference anchor="I-D.ietf-core-target-attr" target="https://datatracker.ietf.org/doc/html/draft-ietf-core-target-attr-04">
          <front>
            <title>CoRE Target Attributes Registry</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="5" month="March" year="2023"/>
            <abstract>
              <t>   The Constrained RESTful Environments (CoRE) specifications apply Web
   technologies to constrained environments.  One important such
   technology is Web Linking (RFC 8288), which CoRE uses as the basis
   for a number of discovery protocols, such as the Link Format (RFC
   6690) in CoAP's Resource Discovery Protocol (Section 7.2 of RFC7252)
   and the Resource Directory (RFC 9176).

   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 Constrained
   RESTful Environments.  It updates the RD Parameters Registry of RFC
   9176 to coordinate with this registry.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-core-target-attr-04"/>
        </reference>
        <reference anchor="RFC7925" target="https://www.rfc-editor.org/info/rfc7925">
          <front>
            <title>Transport Layer Security (TLS) / Datagram Transport Layer Security (DTLS) Profiles for the Internet of Things</title>
            <author fullname="H. Tschofenig" initials="H." role="editor" surname="Tschofenig">
              <organization/>
            </author>
            <author fullname="T. Fossati" initials="T." surname="Fossati">
              <organization/>
            </author>
            <date month="July" year="2016"/>
            <abstract>
              <t>A common design pattern in Internet of Things (IoT) deployments is the use of a constrained device that collects data via sensors or controls actuators for use in home automation, industrial control systems, smart cities, and other IoT deployments.</t>
              <t>This document defines a Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) 1.2 profile that offers communications security for this data exchange thereby preventing eavesdropping, tampering, and message forgery.  The lack of communication security is a common vulnerability in IoT products that can easily be solved by using these well-researched and widely deployed Internet security protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7925"/>
          <seriesInfo name="DOI" value="10.17487/RFC7925"/>
        </reference>
        <reference anchor="RFC7959" target="https://www.rfc-editor.org/info/rfc7959">
          <front>
            <title>Block-Wise Transfers in the Constrained Application Protocol (CoAP)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <author fullname="Z. Shelby" initials="Z." role="editor" surname="Shelby">
              <organization/>
            </author>
            <date month="August" year="2016"/>
            <abstract>
              <t>The Constrained Application Protocol (CoAP) is a RESTful transfer protocol for constrained nodes and networks.  Basic CoAP messages work well for small payloads from sensors and actuators; however, applications will need to transfer larger payloads occasionally -- for instance, for firmware updates.  In contrast to HTTP, where TCP does the grunt work of segmenting and resequencing, CoAP is based on datagram transports such as UDP or Datagram Transport Layer Security (DTLS).  These transports only offer fragmentation, which is even more problematic in constrained nodes and networks, limiting the maximum size of resource representations that can practically be transferred.</t>
              <t>Instead of relying on IP fragmentation, this specification extends basic CoAP with a pair of "Block" options for transferring multiple blocks of information from a resource representation in multiple request-response pairs.  In many important cases, the Block options enable a server to be truly stateless: the server can handle each block transfer separately, with no need for a connection setup or other server-side memory of previous block transfers.  Essentially, the Block options provide a minimal way to transfer larger representations in a block-wise fashion.</t>
              <t>A CoAP implementation that does not support these options generally is limited in the size of the representations that can be exchanged, so there is an expectation that the Block options will be widely used in CoAP implementations.  Therefore, this specification updates RFC 7252.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7959"/>
          <seriesInfo name="DOI" value="10.17487/RFC7959"/>
        </reference>
        <reference anchor="RFC8392" target="https://www.rfc-editor.org/info/rfc8392">
          <front>
            <title>CBOR Web Token (CWT)</title>
            <author fullname="M. Jones" initials="M." surname="Jones">
              <organization/>
            </author>
            <author fullname="E. Wahlstroem" initials="E." surname="Wahlstroem">
              <organization/>
            </author>
            <author fullname="S. Erdtman" initials="S." surname="Erdtman">
              <organization/>
            </author>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig">
              <organization/>
            </author>
            <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="RFC9147" target="https://www.rfc-editor.org/info/rfc9147">
          <front>
            <title>The Datagram Transport Layer Security (DTLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla">
              <organization/>
            </author>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig">
              <organization/>
            </author>
            <author fullname="N. Modadugu" initials="N." surname="Modadugu">
              <organization/>
            </author>
            <date month="April" year="2022"/>
            <abstract>
              <t>This document specifies version 1.3 of the Datagram Transport Layer Security (DTLS) protocol. DTLS 1.3 allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>The DTLS 1.3 protocol is based on the Transport Layer Security (TLS) 1.3 protocol and provides equivalent security guarantees with the exception of order protection / non-replayability.  Datagram semantics of the underlying transport are preserved by the DTLS protocol.</t>
              <t>This document obsoletes RFC 6347.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9147"/>
          <seriesInfo name="DOI" value="10.17487/RFC9147"/>
        </reference>
        <reference anchor="RFC9176" target="https://www.rfc-editor.org/info/rfc9176">
          <front>
            <title>Constrained RESTful Environments (CoRE) Resource Directory</title>
            <author fullname="C. Amsüss" initials="C." role="editor" surname="Amsüss">
              <organization/>
            </author>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby">
              <organization/>
            </author>
            <author fullname="M. Koster" initials="M." surname="Koster">
              <organization/>
            </author>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <author fullname="P. van der Stok" initials="P." surname="van der Stok">
              <organization/>
            </author>
            <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="RFC9177" target="https://www.rfc-editor.org/info/rfc9177">
          <front>
            <title>Constrained Application Protocol (CoAP) Block-Wise Transfer Options Supporting Robust Transmission</title>
            <author fullname="M. Boucadair" initials="M." surname="Boucadair">
              <organization/>
            </author>
            <author fullname="J. Shallow" initials="J." surname="Shallow">
              <organization/>
            </author>
            <date month="March" year="2022"/>
            <abstract>
              <t>This document specifies alternative Constrained Application Protocol (CoAP) block-wise transfer options: Q-Block1 and Q-Block2.</t>
              <t>These options are similar to, but distinct from, the CoAP Block1 and Block2 options defined in RFC 7959. The Q-Block1 and Q-Block2 options are not intended to replace the Block1 and Block2 options but rather have the goal of supporting Non-confirmable (NON) messages for large amounts of data with fewer packet interchanges. Also, the Q-Block1 and Q-Block2 options support faster recovery should any of the blocks get lost in transmission.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9177"/>
          <seriesInfo name="DOI" value="10.17487/RFC9177"/>
        </reference>
        <reference anchor="RFC9202" target="https://www.rfc-editor.org/info/rfc9202">
          <front>
            <title>Datagram Transport Layer Security (DTLS) Profile for Authentication and Authorization for Constrained Environments (ACE)</title>
            <author fullname="S. Gerdes" initials="S." surname="Gerdes">
              <organization/>
            </author>
            <author fullname="O. Bergmann" initials="O." surname="Bergmann">
              <organization/>
            </author>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <author fullname="G. Selander" initials="G." surname="Selander">
              <organization/>
            </author>
            <author fullname="L. Seitz" initials="L." surname="Seitz">
              <organization/>
            </author>
            <date month="August" year="2022"/>
            <abstract>
              <t>This specification defines a profile of the Authentication and Authorization for Constrained Environments (ACE) framework that allows constrained servers to delegate client authentication and authorization.  The protocol relies on DTLS version 1.2 or later for communication security between entities in a constrained network using either raw public keys or pre-shared keys. A resource-constrained server can use this protocol to delegate management of authorization information to a trusted host with less-severe limitations regarding processing power and memory.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9202"/>
          <seriesInfo name="DOI" value="10.17487/RFC9202"/>
        </reference>
      </references>
    </references>
    <section anchor="sec-as-scope-processing">
      <name>Processing of Group Name Patterns at the AS</name>
      <t>When processing an Authorization Request from an Administrator (see <xref target="getting-access"/>), the AS builds the authorization information expressing granted permissions as scope entries, according to the AIF specific data model AIF-OSCORE-GROUPCOMM and to its extension specified in <xref target="scope-format"/>. These scope entries are in turn specified as value of the 'scope' claim to include in the Access Token.</t>
      <t>In order to evaluate the requested permissions against the access policies pertaining to the Administrator for the Group Manager in question, the AS can perform the following steps.</t>
      <t>The following specifically refers only to "admin scope entries", i.e., scope entries that express authorization information for Administrators of OSCORE groups.</t>
      <ol spacing="normal" type="1"><li>The AS initializes three empty sets of scope entries, namely S1, S2 and S3.</li>
        <li>
          <t>For each scope entry E in the 'scope' parameter of the Authorization Request, the AS performs the following actions.  </t>
          <ul spacing="normal">
            <li>In its access policies related to administrative operations at the Group Manager for the Administrator, the AS determines every group name superpattern P*, such that every group name matching with the pattern P of the scope entry E matches also with P*.</li>
            <li>If no superpatterns are found, the AS proceeds with the next scope entry, if any. Otherwise, the AS computes Tperm* as the union of the permission sets associated with the superpatterns found at the previous step. That is, Tperm* is the inclusive OR of the binary representations of the Tperm values associated with the found superpatterns and encoding the corresponding permission sets as per <xref target="scope-format"/>.</li>
            <li>The AS adds to the set S1 a scope entry, such that its Toid is the same as in the scope entry E, while its Tperm is the AND of Tperm* with the Tperm in the scope entry E.</li>
          </ul>
        </li>
        <li>
          <t>For each scope entry E in the 'scope' parameter of the Authorization Request, the AS performs the following actions.  </t>
          <ul spacing="normal">
            <li>In its access policies related to administrative operations at the Group Manager for the Administrator, the AS determines every group name subpattern P*, such that: i) the pattern P of the scope entry E is different from P*; and ii) every group name matching with P* also matches with P.</li>
            <li>If no subpatterns are found, the AS proceeds with the next scope entry, if any. Otherwise, for each found subpattern P*, the AS adds to the set S2 a scope entry, such that its Toid is the same as in the subpattern P*, while its Tperm is the AND of the Tperm from the subpattern P* with the Tperm in the scope entry E.</li>
          </ul>
        </li>
        <li>
          <t>For each scope entry E in the 'scope' parameter of the Authorization Request, the AS performs the following actions.  </t>
          <ul spacing="normal">
            <li>
              <t>For each group name pattern P* in its access policies related to administrative operations at the Group Manager for the Administrator, the AS performs the following actions.      </t>
              <ul spacing="normal">
                <li>The AS attempts to determine a crosspattern P** such that: i) in the previous steps, P** was not identified as a superpattern or subpattern for the pattern P of the scope entry E; ii) every group name matching with P** also matches with both P and P*.</li>
                <li>If no crosspattern is built, the AS proceeds with the next pattern in its access policies related to administrative operations at the Group Manager for the Administrator, if any. Otherwise, the AS adds to the set S3 a scope entry, such that its Toid is the same as in the crosspattern P**, while its Tperm is the AND of the Tperm from the pattern P* and the Tperm in the scope entry E.</li>
              </ul>
            </li>
          </ul>
        </li>
        <li>If the sets S1, S2 and S3 are all empty, the Authorization Request has not been successfully verified, and the AS returns an error response as per <xref section="5.8.3" sectionFormat="of" target="RFC9200"/>. Otherwise, the AS uses the scope entries in the sets S1, S2 and S3 as the scope entries for the 'scope' claim to include in the Access Token, as per the format defined in <xref target="scope-format"/>.</li>
      </ol>
    </section>
    <section anchor="sec-packed-cbor-tables">
      <name>Shared item tables for Packed CBOR</name>
      <t>This appendix defines the two shared item tables that the CoRAL examples refer to for using Packed CBOR <xref target="I-D.ietf-cbor-packed"/>.</t>
      <t>The notation cri'' introduced in <xref target="I-D.bormann-cbor-edn-literals"/> is used to represent CRIs <xref target="I-D.ietf-core-href"/>.</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                                                   |
+-------+--------------------------------------------------------+
| 6     | cri'http://www.iana.org/assignments/linkformat/rt'     |
+-------+--------------------------------------------------------+
| 50    | cri'http://coreapps.org/core.osc.gcoll#item'           |
+-------+--------------------------------------------------------+
| 68    | cri'http://coreapps.org/core.osc.gconf#hkdf'           |
+-------+--------------------------------------------------------+
| 69    | cri'http://coreapps.org/core.osc.gconf#cred_fmt'       |
+-------+--------------------------------------------------------+
| 70    | cri'http://coreapps.org/core.osc.gconf#group_mode'     |
+-------+--------------------------------------------------------+
| 71    | cri'http://coreapps.org/core.osc.gconf#sign_enc_alg'   |
+-------+--------------------------------------------------------+
| 72    | cri'http://coreapps.org/core.osc.gconf#sign_alg'       |
+-------+--------------------------------------------------------+
| 73    | cri'http://coreapps.org/core.osc.gconf#sign_params'    |
+-------+--------------------------------------------------------+
| 74    | cri'http://coreapps.org/core.osc.gconf#sign_params     |
|       |     .alg_capab.key_type'                               |
+-------+--------------------------------------------------------+
| 75    | cri'http://coreapps.org/core.osc.gconf#sign_params     |
|       |     .key_type_capab.key_type'                          |
+-------+--------------------------------------------------------+
| 76    | cri'http://coreapps.org/core.osc.gconf#sign_params     |
|       |     .key_type_capab.curve'                             |
+-------+--------------------------------------------------------+
| 77    | cri'http://coreapps.org/core.osc.gconf#pairwise_mode'  |
+-------+--------------------------------------------------------+
| 78    | cri'http://coreapps.org/core.osc.gconf#alg'            |
+-------+--------------------------------------------------------+
| 79    | cri'http://coreapps.org/core.osc.gconf#ecdh_alg'       |
+-------+--------------------------------------------------------+
| 80    | cri'http://coreapps.org/core.osc.gconf#ecdh_params'    |
+-------+--------------------------------------------------------+
| 81    | cri'http://coreapps.org/core.osc.gconf#ecdh_params     |
|       |     .alg_capab.key_type'                               |
+-------+--------------------------------------------------------+
| 82    | cri'http://coreapps.org/core.osc.gconf#ecdh_params     |
|       |     .key_type_capab.key_type'                          |
+-------+--------------------------------------------------------+
| 83    | cri'http://coreapps.org/core.osc.gconf#ecdh_params     |
|       |     .key_type_capab.curve'                             |
+-------+--------------------------------------------------------+
| 84    | cri'http://coreapps.org/core.osc.gconf#det_req'        |
+-------+--------------------------------------------------------+
| 85    | cri'http://coreapps.org/core.osc.gconf#det_hash_alg'   |
+-------+--------------------------------------------------------+
| 86    | cri'http://coreapps.org/core.osc.gconf#rt'             |
+-------+--------------------------------------------------------+
| 87    | cri'http://coreapps.org/core.osc.gconf#active'         |
+-------+--------------------------------------------------------+
| 88    | cri'http://coreapps.org/core.osc.gconf#group_name'     |
+-------+--------------------------------------------------------+
| 89    | cri'http://coreapps.org/core.osc.gconf#group_title'    |
+-------+--------------------------------------------------------+
| 90    | cri'http://coreapps.org/core.osc.gconf                 |
|       |     #ace_groupcomm_profile'                            |
+-------+--------------------------------------------------------+
| 91    | cri'http://coreapps.org/core.osc.gconf#max_stale_sets' |
+-------+--------------------------------------------------------+
| 92    | cri'http://coreapps.org/core.osc.gconf#exp'            |
+-------+--------------------------------------------------------+
| 93    | cri'http://coreapps.org/core.osc.gconf#gid_reuse'      |
+-------+--------------------------------------------------------+
| 94    | cri'http://coreapps.org/core.osc.gconf#app_group'      |
+-------+--------------------------------------------------------+
| 95    | cri'http://coreapps.org/core.osc.gconf#app_group_del'  |
+-------+--------------------------------------------------------+
| 96    | cri'http://coreapps.org/core.osc.gconf#app_group_add'  |
+-------+--------------------------------------------------------+
| 97    | cri'http://coreapps.org/core.osc.gconf#joining_uri'    |
+-------+--------------------------------------------------------+
| 98    | cri'http://coreapps.org/core.osc.gconf#app_groups'     |
+-------+--------------------------------------------------------+
| 99    | cri'http://coreapps.org/core.osc.gconf#group_policies' |
+-------+--------------------------------------------------------+
| 100   | cri'http://coreapps.org/core.osc.gconf#group_policies  |
|       |     .key_update_check_interval'                        |
+-------+--------------------------------------------------------+
| 101   | cri'http://coreapps.org/core.osc.gconf#group_policies  |
|       |     .exp_delta'                                        |
+-------+--------------------------------------------------------+
| 102   | cri'http://coreapps.org/core.osc.gconf#as_uri'         |
+-------+--------------------------------------------------------+
]]></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                                                   |
+-------+--------------------------------------------------------+
| 415   | cri'http://www.iana.org/assignments/linkformat/rt      |
|       |     /core.osc.gconf'                                   |
+-------+--------------------------------------------------------+
]]></artwork>
        </figure>
      </section>
    </section>
    <section anchor="sec-document-updates">
      <name>Document Updates</name>
      <t>RFC EDITOR: PLEASE REMOVE THIS SECTION.</t>
      <section anchor="sec-07-08">
        <name>Version -07 to -08</name>
        <ul spacing="normal">
          <li>Consistency of parameter names.</li>
          <li>More details on consistency of message payload.</li>
          <li>New section on multiple, concurrent Administrators.</li>
          <li>Specified atomicity of write operations.</li>
          <li>Clarified effects of configuration overwriting on group members.</li>
          <li>New ACE Groupcomm Error on unsupported configuration.</li>
          <li>Possible reason to deviate from default parameter values.</li>
          <li>Added security considerations.</li>
          <li>CoRAL examples use CBOR diagnostic notation and Packed CBOR.</li>
          <li>Various clarifications and editorial improvements.</li>
        </ul>
      </section>
      <section anchor="sec-06-07">
        <name>Version -06 to -07</name>
        <ul spacing="normal">
          <li>Alignment with renaming in draft-ietf-ace-key-groupcomm.</li>
          <li>Updated signaling of semantics for binary encoded scopes.</li>
          <li>Split between parameter registration and their CBOR abbreviations.</li>
          <li>Classified parameters as must/should/may be supported.</li>
          <li>New error code "No available group names" and related guidelines.</li>
          <li>Fixes in the examples.</li>
          <li>Editorial improvements.</li>
        </ul>
      </section>
      <section anchor="sec-05-06">
        <name>Version -05 to -06</name>
        <ul spacing="normal">
          <li>Use and extend the same AIF specific data model AIF-OSCORE-GROUPCOMM defined in <xref target="I-D.ietf-ace-key-groupcomm-oscore"/>.</li>
          <li>Revised Client-AS interaction, based on the used AIF specific data model.</li>
          <li>Categorized operations at the Group Manager as required and optional to support.</li>
          <li>Added status parameter 'gid_reuse', on reassigning OSCORE Group IDs upon group rekeying.</li>
          <li>Clarifications on the group name ultimately chosen by the Group Manager.</li>
          <li>Moved the detailed processing of group name patterns at the AS to an Appendix, as an example.</li>
          <li>Editorial improvements.</li>
        </ul>
      </section>
      <section anchor="sec-04-05">
        <name>Version -04 to -05</name>
        <ul spacing="normal">
          <li>Defined format of scope based on a new AIF data model.</li>
          <li>Specified authorization checks at the Group Manager.</li>
          <li>Revised resource handlers based on the new scope format.</li>
          <li>Renamed 'pub_key_enc' to 'cred_fmt'.</li>
          <li>Mandatory to include 'group_name' in the group creation request.</li>
          <li>Suggesting a used 'group_name' results in a new name, not in an error.</li>
          <li>Distinction between authentication credentials and public keys.</li>
          <li>More details on informing group members about changes in the group configuration.</li>
          <li>Revised order of sections; editorial improvements.</li>
        </ul>
      </section>
      <section anchor="sec-03-04">
        <name>Version -03 to -04</name>
        <ul spacing="normal">
          <li>Clarifications on what to do in case of enhanced error responses.</li>
          <li>Clarifications on handling default values for group parameters.</li>
          <li>New configuration parameters to support OSCORE deterministic requests.</li>
          <li>IANA considerations - Use RFC8126 terminology.</li>
          <li>Author's change of address.</li>
          <li>Editorial improvements.</li>
        </ul>
      </section>
      <section anchor="sec-02-03">
        <name>Version -02 to -03</name>
        <ul spacing="normal">
          <li>Aligned new and old parameters to core-groupcomm-oscore and ace-key-groupcomm-oscore.</li>
          <li>Removed 'cs_key_params' and 'ecdh_key_params' to avoid redundant COSE capabilities of key types, consistently with draft-ietf-ace-key-groupcomm-oscore.</li>
          <li>Revised examples and side effects due to parameter changes.</li>
          <li>New error type "Group currently active".</li>
        </ul>
      </section>
      <section anchor="sec-01-02">
        <name>Version -01 to -02</name>
        <ul spacing="normal">
          <li>Admit multiple Administrators and limited access to admin resources.</li>
          <li>Early design considerations for defining the format of scope.</li>
          <li>Additional error handling, using also error types.</li>
          <li>Selective update of group-configuration resources with PATCH/iPATCH.</li>
          <li>Editorial improvements.</li>
        </ul>
      </section>
      <section anchor="sec-00-01">
        <name>Version -00 to -01</name>
        <ul spacing="normal">
          <li>Names of application groups as status parameter.</li>
          <li>Parameters related to the pairwise mode of Group OSCORE.</li>
          <li>Defined FETCH for group-configuration resources.</li>
          <li>Policies on registration of links to the Resource Directory.</li>
          <li>Added resource type for group-configuration resources.</li>
          <li>Fixes, clarifications and editorial improvements.</li>
        </ul>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgment">
      <name>Acknowledgments</name>
      <t>Klaus Hartke provided substantial contribution in defining the resource model based on group collection and group configurations, as well as the interactions with the Group Manager using CoRAL.</t>
      <t>The authors sincerely thank <contact fullname="Christian Amsüss"/>, <contact fullname="Carsten Bormann"/> and <contact fullname="Jim Schaad"/> for their comments and feedback.</t>
      <t>The work on this document has been partly supported by VINNOVA and the Celtic-Next project CRITISEC; and by the H2020 project SIFIS-Home (Grant agreement 952652).</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
0e7Bo92t3tr/Dw/5iVhMQQIA

-->

</rfc>
