<?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.1.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-ace-oscore-gm-admin-10" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.17.2 -->
  <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-10"/>
    <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="October" day="23"/>
    <area>Security</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 also be used for group communication <xref target="I-D.ietf-core-groupcomm-bis"/>, where messages are exchanged between members of a group, e.g., over IP multicast. 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 specify and update their configuration.</t>
      <t>Interaction examples are provided in Link Format <xref target="RFC6690"/> and in CBOR <xref target="RFC8949"/>. The examples in CBOR are expressed in CBOR diagnostic notation without the tag and value abbreviations.</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 <xref section="C" sectionFormat="of" 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 especially include the following concepts.  </t>
            <ul spacing="normal">
              <li>"application group", as a set of CoAP nodes that share a common set of resources.</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 following concepts.  </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="RFC5280"/>, 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 resource: a group-collection resource or a group-configuration resource hosted by the Group Manager.</li>
        </ul>
      </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.</li>
        <li>The Administrator acts as Client (C), and requests to access the group-collection resource and group-configuration resources 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 resources 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>Admin 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 collection of group configurations is represented as a Link Format document <xref target="RFC6690"/> containing the list of corresponding group-configuration resources.</t>
        <t>Each group configuration is represented as a link, which specifies the URI of the group-configuration resource as link target, and the link target attribute 'rt' (Resource Type) with value "core.osc.gconf" defined in <xref target="iana-rt"/> of this document.</t>
      </section>
      <section anchor="discovery">
        <name>Discovery</name>
        <t>The Administrator can discover the group-collection resource from a Resource Directory <xref target="RFC9176"/> 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 resources 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 resources 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 resources 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' 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-collection resource or a group-configuration 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-collection resource for creating a new group with name GROUPNAME or it targets the group-configuration resource associated with an existing group with name GROUPNAME, then 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 (see <xref section="2" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>), 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 Authentication Credential Format used in the OSCORE group (see <xref section="2" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>), 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 (see <xref section="8" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>), or "false" (0xf4) otherwise.</li>
            <li>
              <t>'gp_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 Group Encryption Algorithm used in the OSCORE group to encrypt messages protected with the group mode (see <xref section="2" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>), 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"/>.  </t>
              <t>
Editor's note: as per the text above, the referred version of <xref target="I-D.ietf-ace-key-groupcomm-oscore"/> still uses 'sign_enc_alg' as parameter name. The next version of <xref target="I-D.ietf-ace-key-groupcomm-oscore"/> will be updated in order to use 'gp_enc_alg' instead, as already done for this document and consistently with the naming used in the latest version of <xref target="I-D.ietf-core-oscore-groupcomm"/>.</t>
            </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 (see <xref section="2" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>), 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 (see <xref section="9" sectionFormat="of" 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 (see <xref section="2" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>), 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 (see <xref section="2" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>), 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>
              <t>If 'group_mode' has value "true" (0xf5), the Group Manager SHOULD use the default values defined in <xref section="14.2" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/> as follows: the value of 'sign_enc_alg' for the parameter 'gp_enc_alg' defined in this document; the value of 'sign_alg' and 'sign_params' for the corresponding parameters defined in this document.  </t>
              <t>
Editor's note: as per the text above, the referred version of <xref target="I-D.ietf-ace-key-groupcomm-oscore"/> still uses 'sign_enc_alg' as parameter name. The next version of <xref target="I-D.ietf-ace-key-groupcomm-oscore"/> will be updated in order to use 'gp_enc_alg' instead, as already done for this document and consistently with the naming used in the latest version of <xref target="I-D.ietf-core-oscore-groupcomm"/>.</t>
            </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 "true" (0xf5).</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>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>
      <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>An example of message exchange is shown below.</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>
      </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>The filter criteria are 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"/>).</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>An example of message exchange is shown below.</t>
        <artwork><![CDATA[
=> 0.05 FETCH
   Uri-Path: manage
   Content-Format: CT_TBD (application/ace-groupcomm+cbor)

   Payload:

   {
       "group_mode" : true,
       "gp_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>
      </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>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"/>. 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>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"/>.</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.</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 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 try to determine 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>With reference to the 'scope' claim in the stored Access Token for the Administrator, let us define PERM* as the union of the permission sets associated with the scope entries such that GROUPNAME* matches with the specified group name pattern. Also, let us define PERM as the union of the permission sets associated with the scope entries such that GROUPNAME matches with the specified group name pattern. Then, PERM and PERM* MUST be equal.</li>
        </ul>
        <t>If the Group Manager does not manage to determine a 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 ("Unable to determine a group name").</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>The response payload is a CBOR map, where entries use the same abbreviations defined in <xref target="groupcomm-parameters"/>.</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"/>, 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 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>An example of message exchange is shown below.</t>
        <artwork><![CDATA[
=> 0.02 POST
   Uri-Path: manage
   Content-Format: CT_TBD (application/ace-groupcomm+cbor)

   Payload:

   {
        "gp_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>
      </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.</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>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>An example of message exchange is shown below.</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,
                "gp_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>
      </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>The request payload is a CBOR map, which contains the following field:</t>
        <ul spacing="normal">
          <li>'conf_filter', encoded as a CBOR array. Each element of the array specifies one requested configuration parameter or status parameter of the current group configuration (see <xref target="config-repr"/>), encoded with the corresponding CBOR abbreviation defined in <xref target="groupcomm-parameters"/>.</li>
        </ul>
        <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.</t>
        <t>An example of message exchange is shown below.</t>
        <artwork><![CDATA[
=> 0.05 FETCH
   Uri-Path: manage
   Uri-Path: gp4
   Content-Format: CT_TBD (application/ace-groupcomm+cbor)

   Payload:

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

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

   Payload:

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

]]></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 manage/GROUPNAME associated with an OSCORE group with group name GROUPNAME, in order to overwrite the current configuration of that group with a new one.</t>
        <t>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.</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. When doing so, the configuration parameters 'group_mode' and 'pairwise_mode' as well as the status parameters 'group_name' and 'gid_reuse' MUST remain unchanged. For each other 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 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>An example of message exchange is shown below.</t>
        <artwork><![CDATA[
=> 0.03 PUT
   Uri-Path: manage
   Uri-Path: gp4
   Content-Format: CT_TBD (application/ace-groupcomm+cbor)

   Payload:

   {
       "gp_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>
        <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"/>). Such 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>
              <t>The 'key' parameter includes only the following parameters, with values reflecting the new configuration of the OSCORE group.  </t>
              <ul spacing="normal">
                <li>'hkdf' and 'cred_fmt'.</li>
                <li>
                  <t>'sign_enc_alg', 'sign_alg', and 'sign_params', only in case the configuration parameter 'group_mode' in the group-configuration resource has value "true" (0xf5), i.e., the OSCORE group uses the group mode of Group OSCORE.      </t>
                  <t>
Editor's note: as per the text above, the referred version of <xref target="I-D.ietf-ace-key-groupcomm-oscore"/> still uses 'sign_enc_alg' as parameter name. The next version of <xref target="I-D.ietf-ace-key-groupcomm-oscore"/> will be updated in order to use 'gp_enc_alg' instead, as already done for this document and consistently with the naming used in the latest version of <xref target="I-D.ietf-core-oscore-groupcomm"/>.</t>
                </li>
                <li>'alg', 'ecdh_alg', and 'ecdh_params', only in case the configuration parameter 'pairwise_mode' in the group-configuration resource has value "true" (0xf5), i.e., the OSCORE group uses the pairwise mode of Group OSCORE.</li>
                <li>'det_hash_alg' defined in <xref section="4" sectionFormat="of" target="I-D.amsuess-core-cachable-oscore"/>, only in case the configuration parameter 'det_req' is present with value "true" (0xf5), and specifying the Hash Algorithm used in the OSCORE group when producing deterministic requests, as defined in <xref target="I-D.amsuess-core-cachable-oscore"/>.</li>
              </ul>
            </li>
          </ul>
          <t>Alternatively, group members can obtain the information above by accessing the group-membership resource associated with the OSCORE group (see <xref section="9.1" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>), optionally by subscribing for updates to such a resource, e.g., by using CoAP Observe <xref target="RFC7641"/>.</t>
          <t>When receiving such information, each group member uses it to update the corresponding parameters in the Group OSCORE Security Context of the group in question (see <xref section="2" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>. If any of 'sign_enc_alg', 'sign_alg', 'alg', and 'ecdh_alg' has as value the CBOR simple value "null" (0xf6), then the corresponding parameter in the Group OSCORE Security Context becomes unset if it is not already. According to the new parameter values, each group member derives new Sender/Recipient Keys, a new Common IV, and new Pairwise Keys. When doing so, a group member MUST NOT reset the Sender Sequence Number in its Sender Context or reset the Replay Window in its Recipient Contexts.</t>
          <t>Editor's note: as per the text above, the referred version of <xref target="I-D.ietf-ace-key-groupcomm-oscore"/> still uses 'sign_enc_alg' as parameter name. The next version of <xref target="I-D.ietf-ace-key-groupcomm-oscore"/> will be updated in order to use 'gp_enc_alg' instead, as already done for this document and consistently with the naming used in the latest version of <xref target="I-D.ietf-core-oscore-groupcomm"/>.</t>
          <t>The following holds when the value of specific parameters is updated.</t>
          <ul spacing="normal">
            <li>
              <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"/>), until the status parameter 'active' is changed back to "true" (0xf5). Until then, 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"/>), until the status parameter 'active' is changed back to "true" (0xf5). Until then, 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>
            </li>
            <li>
              <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>
            </li>
            <li>
              <t>If the value of 'gp_enc_alg' and/or 'alg' is changed, the Group Manager determines the new maximum size NEW_MAX_SIZE that can be used for the OSCORE Sender IDs of the group members, based on the size of the AEAD nonce of such algorithms (see <xref section="2.2" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>). In case NEW_MAX_SIZE is strictly smaller than the old, maximum size of the OSCORE Sender IDs used in the OSCORE group, the Group Manager MUST proceed as follows.  </t>
              <ul spacing="normal">
                <li>The Group Manager checks if any of the current group members has an OSCORE Sender ID whose size is strictly larger than NEW_MAX_SIZE.</li>
                <li>If any of such group members is found, the Group Manager MUST evict them from the OSCORE group. That is, the Group Manager MUST terminate their membership and MUST rekey the group in such a way that the new keying material is not provided to those evicted members. This also includes adding their relinquished Sender IDs to the most recent set of stale Sender IDs for the OSCORE group (see <xref section="7.1" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>), before rekeying the group. Such evicted group members can rejoin the OSCORE group, thus obtaining the new group keying material together with a new, valid OSCORE Sender ID.</li>
              </ul>
            </li>
            <li>
              <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>Remain in the OSCORE group and use the Group OSCORE Security Context after having updated it as defined above.</li>
              </ul>
              <t>
Editor's note: as per the text above, the referred version of <xref target="I-D.ietf-ace-key-groupcomm-oscore"/> still uses 'sign_enc_alg' as parameter name. The next version of <xref target="I-D.ietf-ace-key-groupcomm-oscore"/> will be updated in order to use 'gp_enc_alg' instead, as already done for this document and consistently with the naming used in the latest version of <xref target="I-D.ietf-core-oscore-groupcomm"/>.</t>
            </li>
            <li>
              <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, an 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>Remain in the OSCORE group and use the Group OSCORE Security Context after having updated it as defined above, 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>
            </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 manage/GROUPNAME associated with an OSCORE group with group name GROUPNAME, 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>
        <t>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>
        <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>
        <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.</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>When the request uses specifically the iPATCH method, the Group Manager MUST respond with a 4.00 (Bad Request) response, in case the CBOR map includes the parameter 'app_groups_diff'.</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>The Group Manager 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>The Group Manager 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>
        <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>An example of message exchange is shown below.</t>
        <artwork><![CDATA[
=> 0.06 PATCH
   Uri-Path: manage
   Uri-Path: gp4
   Content-Format: CT_TBD (application/ace-groupcomm+cbor)

   Payload:

   {
          "gp_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>
        <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 manage/GROUPNAME associated with an OSCORE group with group name GROUPNAME, 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.</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>An example of message exchange is shown below.</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] |
+-----------------+----------+--------------+------------+
| gp_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 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 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 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 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 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    | Unable to determine a group name |
+-------+----------------------------------+
| 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.      </t>
              <t>
In order to not inadvertently suggest a new group name that is already assigned to an existing OSCORE group, the Administrator can first retrieve the list of existing groups from the Group Manager, as defined in <xref target="collection-resource-get"/>. In the payload of the response from the Group Manager, each specified link indicates the name of an existing OSCORE group as the last segment of its url-path.      </t>
              <t>
The Administrator should choose the new group name GROUPNAME to suggest, in such a way that it does not renounce permissions that were granted per the old group name GROUPNAME*. This is the case if the following holds.      </t>
              <t>
With reference to the 'scope' claim of the Administrator's Access Token, let us define PERM* as the union of the permission sets associated with the scope entries such that GROUPNAME* matches with the specified group name pattern. Also, let us define PERM as the union of the permission sets associated with the scope entries such that GROUPNAME matches with the specified group name pattern. Then, PERM specifies no less permissions than PERM*.</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 Access 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: gp_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: Unable to determine a group name
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">
          <front>
            <title>Group Object Security for Constrained RESTful Environments (Group OSCORE)</title>
            <author fullname="Marco Tiloca" initials="M." surname="Tiloca">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Göran Selander" initials="G." surname="Selander">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Francesca Palombini" initials="F." surname="Palombini">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="John Preuß Mattsson" initials="J. P." surname="Mattsson">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Jiye Park" initials="J." surname="Park">
              <organization>Universitaet Duisburg-Essen</organization>
            </author>
            <date day="2" month="September" year="2023"/>
            <abstract>
              <t>   This document defines the security protocol Group Object Security for
   Constrained RESTful Environments (Group OSCORE), providing end-to-end
   security of CoAP messages exchanged between members of a group, e.g.,
   sent over IP multicast.  In particular, the described protocol
   defines how OSCORE is used in a group communication setting to
   provide source authentication for CoAP group requests, sent by a
   client to multiple servers, and for protection of the corresponding
   CoAP responses.  Group OSCORE also defines a pairwise mode where each
   member of the group can efficiently derive a symmetric pairwise key
   with any other member of the group for pairwise OSCORE communication.
   Group OSCORE can be used between endpoints communicating with CoAP or
   CoAP-mappable HTTP.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-core-oscore-groupcomm-20"/>
        </reference>
        <reference anchor="I-D.ietf-ace-key-groupcomm">
          <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="6" month="October" year="2023"/>
            <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-17"/>
        </reference>
        <reference anchor="I-D.ietf-ace-key-groupcomm-oscore">
          <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-groupcomm-bis">
          <front>
            <title>Group Communication for the Constrained Application Protocol (CoAP)</title>
            <author fullname="Esko Dijk" initials="E." surname="Dijk">
              <organization>IoTconsultancy.nl</organization>
            </author>
            <author fullname="Chonggang Wang" initials="C." surname="Wang">
              <organization>InterDigital</organization>
            </author>
            <author fullname="Marco Tiloca" initials="M." surname="Tiloca">
              <organization>RISE AB</organization>
            </author>
            <date day="23" month="October" 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 and obsoletes RFC 7390, while it updates RFC 7252
   and RFC 7641.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-core-groupcomm-bis-10"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC6690">
          <front>
            <title>Constrained RESTful Environments (CoRE) Link Format</title>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
            <date month="August" year="2012"/>
            <abstract>
              <t>This specification defines Web Linking using a link format for use by constrained web servers to describe hosted resources, their attributes, and other relationships between links. Based on the HTTP Link Header field defined in RFC 5988, the Constrained RESTful Environments (CoRE) Link Format is carried as a payload and is assigned an Internet media type. "RESTful" refers to the Representational State Transfer (REST) architecture. A well-known URI is defined as a default entry point for requesting the links hosted by a server. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6690"/>
          <seriesInfo name="DOI" value="10.17487/RFC6690"/>
        </reference>
        <reference anchor="RFC6749">
          <front>
            <title>The OAuth 2.0 Authorization Framework</title>
            <author fullname="D. Hardt" initials="D." role="editor" surname="Hardt"/>
            <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">
          <front>
            <title>The Constrained Application Protocol (CoAP)</title>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
            <author fullname="K. Hartke" initials="K." surname="Hartke"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2014"/>
            <abstract>
              <t>The Constrained Application Protocol (CoAP) is a specialized web transfer protocol for use with constrained nodes and constrained (e.g., low-power, lossy) networks. The nodes often have 8-bit microcontrollers with small amounts of ROM and RAM, while constrained networks such as IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs) often have high packet error rates and a typical throughput of 10s of kbit/s. The protocol is designed for machine- to-machine (M2M) applications such as smart energy and building automation.</t>
              <t>CoAP provides a request/response interaction model between application endpoints, supports built-in discovery of services and resources, and includes key concepts of the Web such as URIs and Internet media types. CoAP is designed to easily interface with HTTP for integration with the Web while meeting specialized requirements such as multicast support, very low overhead, and simplicity for constrained environments.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7252"/>
          <seriesInfo name="DOI" value="10.17487/RFC7252"/>
        </reference>
        <reference anchor="RFC7641">
          <front>
            <title>Observing Resources in the Constrained Application Protocol (CoAP)</title>
            <author fullname="K. Hartke" initials="K." surname="Hartke"/>
            <date month="September" year="2015"/>
            <abstract>
              <t>The Constrained Application Protocol (CoAP) is a RESTful application protocol for constrained nodes and networks. The state of a resource on a CoAP server can change over time. This document specifies a simple protocol extension for CoAP that enables CoAP clients to "observe" resources, i.e., to retrieve a representation of a resource and keep this representation updated by the server over a period of time. The protocol follows a best-effort approach for sending new representations to clients and provides eventual consistency between the state observed by each client and the actual resource state at the server.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7641"/>
          <seriesInfo name="DOI" value="10.17487/RFC7641"/>
        </reference>
        <reference anchor="RFC8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <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">
          <front>
            <title>PATCH and FETCH Methods for the Constrained Application Protocol (CoAP)</title>
            <author fullname="P. van der Stok" initials="P." surname="van der Stok"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="A. Sehgal" initials="A." surname="Sehgal"/>
            <date month="April" year="2017"/>
            <abstract>
              <t>The methods defined in RFC 7252 for the Constrained Application Protocol (CoAP) only allow access to a complete resource, not to parts of a resource. In case of resources with larger or complex data, or in situations where resource continuity is required, replacing or requesting the whole resource is undesirable. Several applications using CoAP need to access parts of the resources.</t>
              <t>This specification defines the new CoAP methods, FETCH, PATCH, and iPATCH, which are used to access and update parts of a resource.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8132"/>
          <seriesInfo name="DOI" value="10.17487/RFC8132"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8610">
          <front>
            <title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="C. Vigano" initials="C." surname="Vigano"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2019"/>
            <abstract>
              <t>This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049). Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8610"/>
          <seriesInfo name="DOI" value="10.17487/RFC8610"/>
        </reference>
        <reference anchor="RFC8613">
          <front>
            <title>Object Security for Constrained RESTful Environments (OSCORE)</title>
            <author fullname="G. Selander" initials="G." surname="Selander"/>
            <author fullname="J. Mattsson" initials="J." surname="Mattsson"/>
            <author fullname="F. Palombini" initials="F." surname="Palombini"/>
            <author fullname="L. Seitz" initials="L." surname="Seitz"/>
            <date month="July" year="2019"/>
            <abstract>
              <t>This document defines Object Security for Constrained RESTful Environments (OSCORE), a method for application-layer protection of the Constrained Application Protocol (CoAP), using CBOR Object Signing and Encryption (COSE). OSCORE provides end-to-end protection between endpoints communicating using CoAP or CoAP-mappable HTTP. OSCORE is designed for constrained nodes and networks supporting a range of proxy operations, including translation between different transport protocols.</t>
              <t>Although an optional functionality of CoAP, OSCORE alters CoAP options processing and IANA registration. Therefore, this document updates RFC 7252.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8613"/>
          <seriesInfo name="DOI" value="10.17487/RFC8613"/>
        </reference>
        <reference anchor="RFC8949">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="December" year="2020"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
              <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049. It does not create a new version of the format.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="94"/>
          <seriesInfo name="RFC" value="8949"/>
          <seriesInfo name="DOI" value="10.17487/RFC8949"/>
        </reference>
        <reference anchor="RFC9052">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines the CBOR Object Signing and Encryption (COSE) protocol. This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization. This specification additionally describes how to represent cryptographic keys using CBOR.</t>
              <t>This document, along with RFC 9053, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="96"/>
          <seriesInfo name="RFC" value="9052"/>
          <seriesInfo name="DOI" value="10.17487/RFC9052"/>
        </reference>
        <reference anchor="RFC9053">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Initial Algorithms</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines a set of algorithms that can be used with the CBOR Object Signing and Encryption (COSE) protocol (RFC 9052).</t>
              <t>This document, along with RFC 9052, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9053"/>
          <seriesInfo name="DOI" value="10.17487/RFC9053"/>
        </reference>
        <reference anchor="RFC9200">
          <front>
            <title>Authentication and Authorization for Constrained Environments Using the OAuth 2.0 Framework (ACE-OAuth)</title>
            <author fullname="L. Seitz" initials="L." surname="Seitz"/>
            <author fullname="G. Selander" initials="G." surname="Selander"/>
            <author fullname="E. Wahlstroem" initials="E." surname="Wahlstroem"/>
            <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>This specification defines a framework for authentication and authorization in Internet of Things (IoT) environments called ACE-OAuth. The framework is based on a set of building blocks including OAuth 2.0 and the Constrained Application Protocol (CoAP), thus transforming a well-known and widely used authorization solution into a form suitable for IoT devices. Existing specifications are used where possible, but extensions are added and profiles are defined to better serve the IoT use cases.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9200"/>
          <seriesInfo name="DOI" value="10.17487/RFC9200"/>
        </reference>
        <reference anchor="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"/>
            <author fullname="O. Bergmann" initials="O." surname="Bergmann"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="G. Selander" initials="G." surname="Selander"/>
            <author fullname="L. Seitz" initials="L." surname="Seitz"/>
            <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>
        <reference anchor="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"/>
            <author fullname="L. Seitz" initials="L." surname="Seitz"/>
            <author fullname="G. Selander" initials="G." surname="Selander"/>
            <author fullname="M. Gunnarsson" initials="M." surname="Gunnarsson"/>
            <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">
          <front>
            <title>An Authorization Information Format (AIF) for Authentication and Authorization for Constrained Environments (ACE)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <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">
          <front>
            <title>On Stable Storage for Items in Concise Binary Object Representation (CBOR)</title>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <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>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="I-D.tiloca-core-oscore-discovery">
          <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="September" 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-14"/>
        </reference>
        <reference anchor="I-D.amsuess-core-cachable-oscore">
          <front>
            <title>Cacheable OSCORE</title>
            <author fullname="Christian Amsüss" initials="C." surname="Amsüss">
         </author>
            <author fullname="Marco Tiloca" initials="M." surname="Tiloca">
              <organization>RISE AB</organization>
            </author>
            <date day="10" month="July" 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-07"/>
        </reference>
        <reference anchor="I-D.ietf-cose-cbor-encoded-cert">
          <front>
            <title>CBOR Encoded X.509 Certificates (C509 Certificates)</title>
            <author fullname="John Preuß Mattsson" initials="J. P." surname="Mattsson">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Göran Selander" initials="G." surname="Selander">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Shahid Raza" initials="S." surname="Raza">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Joel Höglund" initials="J." surname="Höglund">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Martin Furuhed" initials="M." surname="Furuhed">
              <organization>Nexus Group</organization>
            </author>
            <date day="20" month="October" 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-07"/>
        </reference>
        <reference anchor="I-D.ietf-ace-revoked-token-notification">
          <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="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="2" month="June" 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.  As specified
   in this document, the method allows Clients and Resource Servers to
   access a Token Revocation List on the Authorization Server by using
   the Constrained Application Protocol (CoAP), with the possible
   additional use of resource observation.  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-06"/>
        </reference>
        <reference anchor="RFC5280">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="D. Cooper" initials="D." surname="Cooper"/>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <date month="May" year="2008"/>
            <abstract>
              <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
        <reference anchor="RFC7959">
          <front>
            <title>Block-Wise Transfers in the Constrained Application Protocol (CoAP)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="Z. Shelby" initials="Z." role="editor" surname="Shelby"/>
            <date month="August" year="2016"/>
            <abstract>
              <t>The Constrained Application Protocol (CoAP) is a RESTful transfer protocol for constrained nodes and networks. Basic CoAP messages work well for small payloads from sensors and actuators; however, applications will need to transfer larger payloads occasionally -- for instance, for firmware updates. In contrast to HTTP, where TCP does the grunt work of segmenting and resequencing, CoAP is based on datagram transports such as UDP or Datagram Transport Layer Security (DTLS). These transports only offer fragmentation, which is even more problematic in constrained nodes and networks, limiting the maximum size of resource representations that can practically be transferred.</t>
              <t>Instead of relying on IP fragmentation, this specification extends basic CoAP with a pair of "Block" options for transferring multiple blocks of information from a resource representation in multiple request-response pairs. In many important cases, the Block options enable a server to be truly stateless: the server can handle each block transfer separately, with no need for a connection setup or other server-side memory of previous block transfers. Essentially, the Block options provide a minimal way to transfer larger representations in a block-wise fashion.</t>
              <t>A CoAP implementation that does not support these options generally is limited in the size of the representations that can be exchanged, so there is an expectation that the Block options will be widely used in CoAP implementations. Therefore, this specification updates RFC 7252.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7959"/>
          <seriesInfo name="DOI" value="10.17487/RFC7959"/>
        </reference>
        <reference anchor="RFC8392">
          <front>
            <title>CBOR Web Token (CWT)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="E. Wahlstroem" initials="E." surname="Wahlstroem"/>
            <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="May" year="2018"/>
            <abstract>
              <t>CBOR Web Token (CWT) is a compact means of representing claims to be transferred between two parties. The claims in a CWT are encoded in the Concise Binary Object Representation (CBOR), and CBOR Object Signing and Encryption (COSE) is used for added application-layer security protection. A claim is a piece of information asserted about a subject and is represented as a name/value pair consisting of a claim name and a claim value. CWT is derived from JSON Web Token (JWT) but uses CBOR rather than JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8392"/>
          <seriesInfo name="DOI" value="10.17487/RFC8392"/>
        </reference>
        <reference anchor="RFC9147">
          <front>
            <title>The Datagram Transport Layer Security (DTLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="N. Modadugu" initials="N." surname="Modadugu"/>
            <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">
          <front>
            <title>Constrained RESTful Environments (CoRE) Resource Directory</title>
            <author fullname="C. Amsüss" initials="C." role="editor" surname="Amsüss"/>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
            <author fullname="M. Koster" initials="M." surname="Koster"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="P. van der Stok" initials="P." surname="van der Stok"/>
            <date month="April" year="2022"/>
            <abstract>
              <t>In many Internet of Things (IoT) applications, direct discovery of resources is not practical due to sleeping nodes or networks where multicast traffic is inefficient. These problems can be solved by employing an entity called a Resource Directory (RD), which contains information about resources held on other servers, allowing lookups to be performed for those resources. The input to an RD is composed of links, and the output is composed of links constructed from the information stored in the RD. This document specifies the web interfaces that an RD supports for web servers to discover the RD and to register, maintain, look up, and remove information on resources. Furthermore, new target attributes useful in conjunction with an RD are defined.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9176"/>
          <seriesInfo name="DOI" value="10.17487/RFC9176"/>
        </reference>
        <reference anchor="RFC9177">
          <front>
            <title>Constrained Application Protocol (CoAP) Block-Wise Transfer Options Supporting Robust Transmission</title>
            <author fullname="M. Boucadair" initials="M." surname="Boucadair"/>
            <author fullname="J. Shallow" initials="J." surname="Shallow"/>
            <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>
      </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-document-updates">
      <name>Document Updates</name>
      <t>RFC EDITOR: PLEASE REMOVE THIS SECTION.</t>
      <section anchor="sec-09-10">
        <name>Version -09 to -10</name>
        <ul spacing="normal">
          <li>Consistent use of 4.03 (Forbidden) error responses.</li>
          <li>Removed moot, remnant statements from when CoRAL was used.</li>
          <li>Clarified how the Group Manager may attempt to determine an alternative group name upon creating a new group.</li>
          <li>Made explicit what parameters cannot change when overwriting a group configuration.</li>
          <li>Improved guidelines to the Group Manager on selecting an alternative group name.</li>
          <li>Improved guidelines to Administrators receiving an error after trying to create a new group.</li>
          <li>Changed description of error 11 from "No available group names" to "Unable to determine a group name".</li>
          <li>Editorial fixes and improvements.</li>
        </ul>
      </section>
      <section anchor="sec-08-09">
        <name>Version -08 to -09</name>
        <ul spacing="normal">
          <li>Removed use of CoRAL.</li>
          <li>Use of the pairwise mode changed to "true" by default.</li>
          <li>Clarified effects on group members after a group configuration change.</li>
          <li>Renamed "Signature Encryption Algorithm" to "Group Encryption Algorithm".</li>
          <li>Renamed "sign_enc_alg" to "gp_enc_alg".</li>
          <li>Fixes and editorial improvements.</li>
        </ul>
      </section>
      <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.</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:
H4sIAAAAAAAAA+296VYc2bUu+p+niIHGOEBVZgoQkkp41x4bI1TFtroNyOVz
7boaQWYAYWVGpCMihdiyzmOdX/ffebE729XFisykUVM+xbBLkM2K1cw1+/nN
fr+/8n43ebCy0uTNONtN9kaTvEgOiyarztJhlpyVVdJcZMmr4/1XRwfJT1U5
myYv0iI9z6qV9PS0yt4v/tKLlVE5LNIJjD+q0rOmn2fNWR8+2S/rYVll/fNJ
P8Ux+uO0yepmZWXlXlI3aTF6m47LAr7WVLNsZSWfVvRr3Wxvbj7Z3F5Jqyzd
TY6z4azKm6uVy3OYy/5B8ktZvcuLc57tyrvLXZ5bkTX9p/j8lWHa7MIDRiv1
7HSS13VeFs3VFJ5zeHDybGVlWI7g67vJDGb5w8o0303g514yTItkVmdJWlXp
VbKenyXpeJxcZfVGAgu+SOuL5CKrYJ5J0pTDXXwHfq3Lqqmys3qXxhhlZ+ls
3NTwCX3/asJv458r6ay5KKvdlYR++vJvkuQFfOLFIDnJx+UwNS/zpr5Iq2EZ
vlVWsIKjw+ODZO+P5sUappLB2g/r9OzvZTWqz1PY5mR723xiCBu5m/wph+23
r5UjeMrxQX/r0c7OZnIMq3t3UY4nzgdmRVPB944vs1FWmNezSZqPd5MJzm/Q
0Pz+o8oHdRZf39Eg+fn//O/z8awYBSs8yt+l1aj97je0yIqmOLgoaYbzlvl6
kLyH+YyyCp/yLljq6wxINf4BWu1+WdRAQWnRmNenF3RJvn+w1d95sr3zeOfR
4wfJ+ssM7mA1hltUb/TgzQf9J48ebW493N75IVl/VqXFMNsIF1HD44bwgP84
Pb3AVwbFOL6GZ4PkNdzNyWle5MECeOh6mEY+QSs4qPJhXZdF7MxOyqq+SCeF
ntmDz3pmZzrVwVSn+h+ZzG4wLCcrK0VZTdImf5/hlTzsPx0Q6yKmpbwLmQx8
duJ9Apnbu+xq2XdlsPZD7CdO8xrfPnq2v7219UR+ffToyab++nhHX328/XBb
f320syW//rC1/cj8+mDb/Pp4R399tLVpf32gvz4x4z7ZNOPCr/qBJ8CM7a/b
9lf7gQePza+P6df9V8cHg73xeQl8+2JSM7/zeR+RyuHeyz36ewSCAc4rHcul
EnGF4yR2HH4rrc6RlC6aZlrv3r9/eXk5yEFiDWDE+ykw+/NikhVNfX9Y1hn9
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
2r3jWo4dRlQHT6fp3Ldkzyw6NgO84TkpA2c5XQSjS9jb4BC8bKPjO/bvxzJU
FJ2GS0joAiMlV0WJ84X5E1ACE2ZgnflMPicuRaCRP39O6LP96ejVm9cv914c
IEWNU6BuuYc9CWqY9zv3jOPqqJtO0csJwoAdfOg++iM61x2vsqOELE268+7B
fW/+4Y2Yv/7PdyU4Kc69BN0chpjg/GOaw9YwSMmvOGSpwUqM8b3Ps8tPKyu/
4FmSlMoKpsZ2sEMdNq4iuUgz3FXdLXAlYmwKDiSmDYIy2ajvriZrhBn6PAJg
l0I2f5+m8IAoX7ZqdnB1eZKu+sohMZB1NefpqWY1jz7pS/NmVseD3mZWXYqx
0fizDpfr3c0u1CKSFxgXhtvhv15rtkfMOCOdYO+YWRGtzMx/pFON+qplzHE+
ycXdA0eJViUzDlAiQOjPTsXgLOFNvq89HLWs2KosQaODhagj314Y32xyzVVR
8PZ4amQbwvfrGc+BmGvgca2zDKgf7IJp1udxxM74+PE8a5Dw+rzQT582JNXi
mDV03QkOuOPGekNfj9jwE+u43Rs3ozs9H5jci73/ibH+LK39jTDKrL8D5ECg
YNF0Vk3Lmj0/aoFQTMfjfTV7lc5hAGL6PjWx+5T+cu7sT6zbkid1Iu+xWVYD
J/v4EVbaT6c5unIuNBrhPS+Mh6fv03ycinYdUh/M4X/ZH5MlSD9v377FF3g0
+LkP///byr49leRv8JH7/pcS+lDrJfpo6yfyOfqg+6/+Hvsszcj+OxgM7Gv0
w3nQHU+57/zrvrbvklPt7c/H3eSeHAAn4v24ytLuaM4JrIJkbVDG9EHxPy9+
XB1m6GReFee4f1rZB3TQ10bRnycXLlmsqY51Nc2SVTTaB2C7D87xK6uuCPv4
EZMB++h6Ya3DUSvCUJcmsnffRH9gG6WqkSd0B8pIZB4tb1QMrvl5tPWHF/gy
7Y4GGMHeyscYZR9WOfkC2BPebalIgE4N/Ljqh8kp5RRXjR6WHmt/QQCv+4gX
inTyY6VDUubIy+BtTHKAby1UcefQR3G2NH30NICu1oSVMM6G2N0mZdhEukNv
TozaFqiBd0ZuFOxC80FdSVELpKVAmTHQS6KfWnoIyo1AdzMRVIwUX4Hac4kv
XG9g+u5xNmZrCXQFCSaT3nCjqdKIT9XCar0HcsmRAEcZhovVhFhZ2UscVqHe
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

-->

</rfc>
