<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.3.8) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-ace-oscore-gm-admin-17" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <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-17"/>
    <author initials="M." surname="Tiloca" fullname="Marco Tiloca">
      <organization>RISE AB</organization>
      <address>
        <postal>
          <street>Isafjordsgatan 22</street>
          <city>Kista</city>
          <code>164 40</code>
          <country>Sweden</country>
        </postal>
        <email>marco.tiloca@ri.se</email>
      </address>
    </author>
    <author initials="R." surname="Höglund" fullname="Rikard Höglund">
      <organization>RISE AB</organization>
      <address>
        <postal>
          <street>Isafjordsgatan 22</street>
          <city>Kista</city>
          <code>164 40</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/>
      <address>
        <email>stokcons@kpnmail.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>164 40</code>
          <country>Sweden</country>
        </postal>
        <email>francesca.palombini@ericsson.com</email>
      </address>
    </author>
    <date year="2026" month="March" day="26"/>
    <area>Security</area>
    <workgroup>ACE Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 118?>

<t>Group communication for the Constrained Application Protocol (CoAP) can be secured using Group Object Security for Constrained RESTful Environments (Group OSCORE). A Group Manager is responsible for handling the joining of new group members, as well as for managing and distributing the group keying material. This document defines a RESTful admin interface at the Group Manager that allows an Administrator entity to create and delete OSCORE groups, as well as to retrieve and update their configuration. The Authentication and Authorization for Constrained Environments (ACE) framework is used to enforce authentication and authorization of the Administrator at the Group Manager. Protocol-specific transport profiles of ACE are used to achieve communication security, proof of possession, and server authentication.</t>
    </abstract>
    <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>
    <?line 122?>

<section anchor="intro">
      <name>Introduction</name>
      <t>The Constrained Application Protocol (CoAP) <xref target="RFC7252"/> can 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 join the correct OSCORE group explicitly. 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><xref target="I-D.ietf-ace-key-groupcomm-oscore"/> specifies how nodes can join an OSCORE group through the respective Group Manager. That method builds on the ACE framework for Authentication and Authorization <xref target="RFC9200"/>, 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, how the group should be configured upon creation, and later on how the group should be updated or deleted, e.g., based on the current application state or 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 may lead to error-prone deployments and is not very 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 their configurations 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>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 "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -18?>

<t>Readers are expected to be familiar with the terms and concepts from the following specifications:</t>
        <ul spacing="normal">
          <li>
            <t>CDDL <xref target="RFC8610"/>, CBOR <xref target="RFC8949"/>, and COSE <xref target="RFC9052"/><xref target="RFC9053"/>.</t>
          </li>
          <li>
            <t>CoAP <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>
                <t>"application group", as a set of CoAP nodes that share a common set of resources.</t>
              </li>
              <li>
                <t>"security group", as a set of CoAP nodes that share the same security material and use it to protect and verify exchanged messages.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>The security protocols OSCORE <xref target="RFC8613"/> and Group OSCORE <xref target="I-D.ietf-core-oscore-groupcomm"/>. These especially include the following concepts:  </t>
            <ul spacing="normal">
              <li>
                <t>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 a security group for one or many application groups.</t>
              </li>
              <li>
                <t>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"/>.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>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).</t>
          </li>
          <li>
            <t>The management of keying material for groups in ACE <xref target="RFC9594"/> 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, and that current members can access to retrieve updated keying material.</t>
          </li>
        </ul>
        <t>Note that the term "endpoint" is used here following its OAuth definition <xref target="RFC6749"/>, aimed at denoting resources such as <tt>/token</tt> and <tt>/introspect</tt> at the AS, and <tt>/authz-info</tt> at the RS. The CoAP definition, which is "[a]n entity participating in the CoAP protocol" <xref target="RFC7252"/>, is not used in this document.</t>
        <t>This document also refers to the following terminology:</t>
        <ul spacing="normal">
          <li>
            <t>Administrator: entity responsible for creating, configuring, and deleting OSCORE groups at a Group Manager.</t>
          </li>
          <li>
            <t>Group name: stable and invariant name of an OSCORE group. The group name <bcp14>MUST</bcp14> be unique under the same Group Manager and <bcp14>MUST</bcp14> be consistent with the ABNF rule "segment = *pchar" defined in <xref section="3.3" sectionFormat="of" target="RFC3986"/>.</t>
          </li>
          <li>
            <t>Group-collection resource: a single-instance resource hosted by the Group Manager. An Administrator accesses a group-collection resource to retrieve a list of existing OSCORE groups or to create a new OSCORE group, under that Group Manager.  </t>
            <t>
When defining operations at the Group Manager and providing examples, this document uses /manage as the url-path of the group-collection resource; implementations can use a different url-path.</t>
          </li>
          <li>
            <t>Group-configuration resource: a resource hosted by the Group Manager and 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. Aligned with that, a group name has to be consistent with the semantics of URI path segments (see <xref section="3.3" sectionFormat="of" target="RFC3986"/>). 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 same construct and can define their own instead.</t>
          </li>
          <li>
            <t>Admin resource: a group-collection resource or a group-configuration resource hosted by the Group Manager.</t>
          </li>
          <li>
            <t>Secure communication association: a security association established between any two of the Administrator, the AS, and the Group Manager and used for protecting their message exchanges. For example, depending on the transport profile of ACE used, this can rely on DTLS <xref target="RFC6347"/><xref target="RFC9147"/> as per <xref target="RFC9202"/> or on OSCORE <xref target="RFC8613"/> as per <xref target="RFC9203"/>.</t>
          </li>
        </ul>
      </section>
      <section anchor="notations">
        <name>Notations</name>
        <t>Interaction examples are provided in the CoRE Link Format <xref target="RFC6690"/> and in CBOR <xref target="RFC8949"/>. The examples in CBOR are expressed in CBOR extended diagnostic notation as defined in <xref section="8" sectionFormat="of" target="RFC8949"/> and <xref section="G" sectionFormat="of" target="RFC8610"/> ("diagnostic notation"). Diagnostic notation comments are often used to provide a textual representation of the numeric parameter names and values.</t>
        <t>In the CBOR diagnostic notation used in this document, constructs of the form e'SOME_NAME' are replaced by the value assigned to SOME_NAME in the CDDL model shown in <xref target="fig-cddl-model"/> of <xref target="sec-cddl-model"/>. For example, {e'group_name': "gp1", e'gp_enc_alg': 10} stands for {-13: "gp1", -4: 10}.</t>
        <t>Note to RFC Editor: Please delete the paragraph immediately preceding this note. Also, in the CBOR diagnostic notation used in this document, please replace the constructs of the form e'SOME_NAME' with the value assigned to SOME_NAME in the CDDL model shown in <xref target="fig-cddl-model"/> of <xref target="sec-cddl-model"/>. Finally, please delete this note.</t>
      </section>
    </section>
    <section anchor="overview">
      <name>Group Administration</name>
      <t>With reference to the ACE framework and the terminology defined in OAuth 2.0 <xref target="RFC6749"/>:</t>
      <ul spacing="normal">
        <li>
          <t>The Group Manager acts as Resource Server (RS). The Group Manager provides one single group-collection resource and one group-configuration resource per existing OSCORE group.</t>
        </li>
        <li>
          <t>The Administrator acts as Client (C) and requests to access the group-collection resource and group-configuration resources at the Group Manager.</t>
        </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 <bcp14>MAY</bcp14> issue access tokens to the Administrator for other purposes than accessing admin resources of registered Group Managers. For example, an access token can specify authorization information for joining OSCORE groups at a Group Manager (see <xref target="I-D.ietf-ace-key-groupcomm-oscore"/>), possibly combined with authorization information for accessing admin resources at the same Group Manager (see <xref target="scope-format"/>). Also, an AS can of course issue an access token that specifies authorization information unrelated to OSCORE groups, but instead pertaining to the access of other resources hosted by the Group Manager or other Resource Servers.</t>
        </li>
      </ul>
      <section anchor="managing-groups">
        <name>Managing OSCORE Groups</name>
        <t><xref target="fig-api"/> shows the resources of a Group Manager that are available to an Administrator.</t>
        <figure anchor="fig-api">
          <name>Admin Resources of a Group Manager</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="160" width="488" viewBox="0 0 488 160" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 100,56 L 108,72" fill="none" stroke="black"/>
                <path d="M 148,136 L 156,152" fill="none" stroke="black"/>
                <path d="M 132,72 L 156,120" fill="none" stroke="black"/>
                <path d="M 132,40 L 140,56" fill="none" stroke="black"/>
                <path d="M 180,120 L 188,136" fill="none" stroke="black"/>
                <path d="M 212,136 L 220,152" fill="none" stroke="black"/>
                <path d="M 212,104 L 220,120" fill="none" stroke="black"/>
                <path d="M 244,120 L 252,136" fill="none" stroke="black"/>
                <path d="M 308,136 L 316,152" fill="none" stroke="black"/>
                <path d="M 308,104 L 316,120" fill="none" stroke="black"/>
                <path d="M 340,120 L 348,136" fill="none" stroke="black"/>
                <path d="M 100,56 L 108,40" fill="none" stroke="black"/>
                <path d="M 132,72 L 140,56" fill="none" stroke="black"/>
                <path d="M 148,136 L 156,120" fill="none" stroke="black"/>
                <path d="M 180,152 L 188,136" fill="none" stroke="black"/>
                <path d="M 212,136 L 220,120" fill="none" stroke="black"/>
                <path d="M 244,152 L 252,136" fill="none" stroke="black"/>
                <path d="M 308,136 L 316,120" fill="none" stroke="black"/>
                <path d="M 340,152 L 348,136" fill="none" stroke="black"/>
                <path d="M 108,40 L 132,40" fill="none" stroke="black"/>
                <path d="M 108,72 L 132,72" fill="none" stroke="black"/>
                <path d="M 148,104 L 308,104" fill="none" stroke="black"/>
                <path d="M 156,120 L 180,120" fill="none" stroke="black"/>
                <path d="M 220,120 L 244,120" fill="none" stroke="black"/>
                <path d="M 316,120 L 340,120" fill="none" stroke="black"/>
                <path d="M 156,152 L 180,152" fill="none" stroke="black"/>
                <path d="M 220,152 L 244,152" fill="none" stroke="black"/>
                <path d="M 316,152 L 340,152" fill="none" stroke="black"/>
                <g class="text">
                  <text x="48" y="52">Group</text>
                  <text x="44" y="68">Collection</text>
                  <text x="280" y="132">...</text>
                  <text x="432" y="132">Group</text>
                  <text x="428" y="148">Configurations</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
             ___
   Group    /   \
Collection  \___/
                \
                 \____________________
                  \___    \___        \___
                  /   \   /   \  ...  /   \        Group
                  \___/   \___/       \___/   Configurations
]]></artwork>
          </artset>
        </figure>
        <t>The Group Manager exports a single group-collection resource, with resource type "core.osc.gcoll" registered in <xref target="iana-rt"/> of this document. The interface for the group-collection resource defined in <xref target="interactions"/> allows the Administrator, if permitted, to:</t>
        <ul spacing="normal">
          <li>
            <t>Retrieve a list of existing OSCORE groups.</t>
          </li>
          <li>
            <t>Retrieve a list of existing OSCORE groups matching with specified filter criteria.</t>
          </li>
          <li>
            <t>Create a new OSCORE group, specifying its invariant group name and, optionally, its configuration.</t>
          </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" registered 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, if permitted, to:</t>
        <ul spacing="normal">
          <li>
            <t>Retrieve the complete current configuration of the OSCORE group.</t>
          </li>
          <li>
            <t>Retrieve part of the current configuration of the OSCORE group, by applying filter criteria.</t>
          </li>
          <li>
            <t>Overwrite the current configuration of the OSCORE group.</t>
          </li>
          <li>
            <t>Selectively update only part of the current configuration of the OSCORE group.</t>
          </li>
          <li>
            <t>Delete the OSCORE group.</t>
          </li>
        </ul>
      </section>
      <section anchor="collection-representation">
        <name>Collection Representation</name>
        <t>A collection of group configurations is represented as a CoRE 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, as well as the link target attribute 'rt' (Resource Type) with value "core.osc.gconf".</t>
      </section>
      <section anchor="discovery">
        <name>Discovery</name>
        <t>The Administrator can discover group-collection resources from a Resource Directory <xref target="RFC9176"/> or from the resource /.well-known/core hosted by the Group Manager, by using the resource type "core.osc.gcoll".</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>Building on the definition in <xref section="3.3" sectionFormat="of" target="RFC6749"/> considered in the ACE framework <xref target="RFC9200"/>, scope denotes: the permissions that the Client (i.e., the Administrator) seeks to obtain from the AS for accessing resources at a Resource Server (i.e., the Group Manager); and the permissions that the AS actually issues to the Client following its request. This process is detailed in 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>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 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 into scope entries, which express authorization information for users of an OSCORE group, i.e., actual group members or external signature verifiers. Hereafter, these are referred to as "user scope entries".</t>
      <t>This document extends the same AIF 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. Hereafter, these are referred to as "admin scope entries", or simply as "scope entries" unless otherwise indicated.</t>
      <t>Like in the original definition of the data model AIF-OSCORE-GROUPCOMM, and with reference to the generic AIF model</t>
      <sourcecode type="cddl"><![CDATA[
   AIF-Generic<Toid, Tperm> = [* [Toid, Tperm]]
]]></sourcecode>
      <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>
              <t>Wildcard pattern: "Toid" is specialized as the CBOR simple value <tt>true</tt> (0xf5), specifying the wildcard pattern. That is, any group name matches with this group name pattern.</t>
            </li>
            <li>
              <t>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.      </t>
              <t>
Consistent with the definition of group-configuration resource (see <xref target="terminology"/>), the specified group name has to be consistent with the semantics of URI path segments (see <xref section="3.3" sectionFormat="of" target="RFC3986"/>).</t>
            </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 of number 21065. This indicates that the group name pattern specified as the value of the CBOR text string is a regular expression in the I-Regexp flavor <xref target="RFC9485"/>.      </t>
              <t>
In case the AIF 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 with respect to performing operations on the admin resources at the Group Manager, as pertaining to any OSCORE group whose name matches with the group name pattern P specified by the object identifier ("Toid") of the same admin scope entry. The value Q is computed as follows.  </t>
          <ul spacing="normal">
            <li>
              <t>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 defined in <xref target="ssec-iana-group-oscore-admin-permissions-registry"/>, for which this document defines the entries in <xref target="tab-permission-values"/>.</t>
            </li>
            <li>
              <t>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.</t>
            </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>
      <table align="center" anchor="tab-permission-values">
        <name>Numeric identifier of permissions on the admin resources at a Group Manager</name>
        <thead>
          <tr>
            <th align="left">Name</th>
            <th align="left">Value</th>
            <th align="left">Description</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">List</td>
            <td align="left">0</td>
            <td align="left">Retrieve list of group configurations</td>
          </tr>
          <tr>
            <td align="left">Create</td>
            <td align="left">1</td>
            <td align="left">Create new group configurations</td>
          </tr>
          <tr>
            <td align="left">Read</td>
            <td align="left">2</td>
            <td align="left">Retrieve group configurations</td>
          </tr>
          <tr>
            <td align="left">Write</td>
            <td align="left">3</td>
            <td align="left">Change group configurations</td>
          </tr>
          <tr>
            <td align="left">Delete</td>
            <td align="left">4</td>
            <td align="left">Delete group configurations</td>
          </tr>
        </tbody>
      </table>
      <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="tab-permission-values"/>.</t>
      <sourcecode type="cddl"><![CDATA[
   ;# include rfc9237

   AIF-OSCORE-GROUPCOMM = AIF-Generic<oscore-gname, oscore-gperm>

   oscore-gname = true / tstr / #6.<uint>(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>The following example in CBOR diagnostic notation shows a CBOR array including five scope entries as its elements.</t>
      <sourcecode type="cbor-diag"><![CDATA[
[[true,   / Toid (wildcard pattern) /
  5       / Tperm (List + Read) /
 ],
 ["gp1",  / Toid (literal pattern) /
  31      / Tperm (List + Create +
            Read + Write + Delete) /
 ],
 ["gp2",  / Toid (literal pattern) /
  31      / Tperm (List + Create +
            Read + Write + Delete) /
 ],
 [21065("^[A-K][0-9][-a-z0-9]*$"),  / Toid (complex pattern) /
  31                                / Tperm (List + Create +
                                      Read + Write + Delete) /
 ],
 [21065("^[J-Z][0-9][-a-z0-9]*$"),  / Toid (complex pattern) /
  13                                / Tperm (List + Read + Write) /
 ]
]
]]></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 <bcp14>MUST</bcp14> 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>
      <section anchor="on-using-group-name-patterns">
        <name>On Using Group Name Patterns</name>
        <t>Having the object identifier ("Toid") specialized as a pattern confers a number of advantages:</t>
        <ul spacing="normal">
          <li>
            <t>When relying on wildcard patterns and complex patterns, the encoded scope can have a small size while allowing the Administrator to operate on large pools of group names.</t>
          </li>
          <li>
            <t>When relying on wildcard patterns and complex patterns, the Administrator and the AS do not need to know the 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 when creating it (see <xref target="collection-resource-post"/>).</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="getting-access">
      <name>Getting Access to the Group Manager</name>
      <t>All communications between the involved entities (Administrator, Group Manager, Authorization Server) rely on CoAP, and they <bcp14>MUST</bcp14> occur and be secured in accordance with the protocol-specific transport profile of ACE used.</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 (<tt>/token</tt> endpoint) as well as between the Group Manager and the AS (<tt>/introspect</tt> 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 transport profile of ACE used, 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 <bcp14>MUST</bcp14> be used, for both the 'scope' claim in the access token and 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>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 <bcp14>MUST</bcp14> adhere to the same pattern semantics. Also, in the 'scope' claim of the access token issued by the AS, that semantics <bcp14>MUST</bcp14> be used for all the scope entries that specify a complex pattern.</t>
      <t>Furthermore, the AS <bcp14>MAY</bcp14> use the extended format of scope defined in <xref section="7" sectionFormat="of" target="RFC9594"/> for the 'scope' claim of the access token. In such a case, the AS <bcp14>MUST</bcp14> 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="17.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="17.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 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>
The Administrator will start or continue using a secure communication association with the Group Manager, according to the response from the AS and the transport profile of ACE used.</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>
The AS <bcp14>MUST</bcp14> 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 been granted with respect to performing 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 <bcp14>MUST</bcp14> 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 <bcp14>MUST</bcp14> specify the CBOR value 1 (invalid_scope).  </t>
          <ul spacing="normal">
            <li>
              <t>The "Toid" of the different scope entries that specify a complex pattern do not all adhere to the same pattern semantics.</t>
            </li>
            <li>
              <t>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.</t>
            </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>
          <t>The Administrator transfers authentication and authorization information to the Group Manager through the uploading of the access token, according to the profile of ACE used, 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.</t>
        </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 <bcp14>MUST</bcp14> check that it is storing a valid access token for that Administrator, and that the access token includes at least one admin scope entry. If this is not the case, the Group Manager <bcp14>MUST</bcp14> 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 <bcp14>MUST</bcp14> check that it is storing a valid access token for 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>
              <t>The group name GROUPNAME matches with the pattern specified by the "Toid" of the scope entry; and</t>
            </li>
            <li>
              <t>The permission set specified by the "Tperm" of the scope entry allows the Administrator to perform the requested administrative operation on the targeted resource.</t>
            </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 <bcp14>MUST</bcp14> reply with a 4.03 (Forbidden) error response. This response <bcp14>MAY</bcp14> be an AS Request Creation Hints, as defined in <xref section="5.3" sectionFormat="of" target="RFC9200"/>, in which case the Content-Format <bcp14>MUST</bcp14> be set to "application/ace+cbor" (i.e., ID: 19).  </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 <bcp14>MUST</bcp14> reply with a 4.00 (Bad Request) error response.</t>
        </li>
      </ol>
      <section anchor="multiple-admins">
        <name>Multiple Administrators for the Same OSCORE Group</name>
        <t>It is possible that multiple Administrators are authorized to operate on the same Group Manager in the interest of the same OSCORE group, while also taking different responsibilities.</t>
        <t>For example, 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 fewer permissions to perform administrative operations related to the OSCORE group at the Group Manager. For example, they may not be authorized to create an OSCORE group, or to delete an 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 that has to be uploaded to the Group Manager. If allowed by the transport profile of ACE used, 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 <bcp14>RECOMMENDED</bcp14> that the Administrator regularly obtains a recent representation of the group-configuration resource associated with the OSCORE group before overwriting (see <xref target="configuration-resource-post"/>), 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>
            <t>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"/>).</t>
          </li>
          <li>
            <t>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.</t>
          </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 that they have made.</t>
        <t>In order to avoid race conditions due to possible concurrent updates of the group-configuration resource (i.e., the "lost update" problem), the Group Manager can include the ETag Option in the responses to the GET requests sent to the group-configuration resource (see <xref section="5.10.6" sectionFormat="of" target="RFC7252"/>). Then, when sending to the Group Manager a request for overwriting or updating the group-configuration resource, the Administrator includes an If-Match Option with value the most recent ETag that the Administrator knows for that resource (see <xref section="5.10.8.1" sectionFormat="of" target="RFC7252"/>).</t>
      </section>
    </section>
    <section anchor="group-configurations">
      <name>Group Configurations</name>
      <t>A group configuration consists of information related to an OSCORE group, as organized into configuration parameters and status parameters.</t>
      <t>In particular, configuration parameters specify how members of the OSCORE group use the Group OSCORE protocol to protect their communications (e.g., by using which algorithms). Instead, status parameters specify information concerning the management of the OSCORE group and its current setting at the Group Manager (e.g., for handling identifiers and the joining of group members).</t>
      <section anchor="config-repr">
        <name>Group Configuration Representation</name>
        <t>The group configuration representation is a CBOR map, which includes the configuration parameters specified in <xref target="config-repr-config-properties"/> and the status parameters specified in <xref target="config-repr-status-properties"/>.</t>
        <t>Unless stated otherwise, these parameters are defined in this document and their CBOR abbreviations are defined in <xref target="groupcomm-parameters"/>.</t>
        <section anchor="config-repr-config-properties">
          <name>Configuration Parameters</name>
          <t>The CBOR map includes the following configuration parameters:</t>
          <ul spacing="normal">
            <li>
              <t>'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. The HKDF Algorithm is specified by the HMAC Algorithm value. For example, the HKDF Algorithm HKDF SHA-256 is specified as the HMAC Algorithm HMAC 256/256. This parameter can take the same values as 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"/>.</t>
            </li>
            <li>
              <t>'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. This parameter can take the same values as 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"/>.</t>
            </li>
            <li>
              <t>'group_mode', encoded as a CBOR simple value. Its value is <tt>true</tt> (0xf5) if the OSCORE group uses the group mode of Group OSCORE (see <xref section="7" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>), or <tt>false</tt> (0xf4) otherwise.</t>
            </li>
            <li>
              <t>'gp_enc_alg', which is formatted as follows. If the configuration parameter 'group_mode' has value <tt>false</tt> (0xf4), this parameter has as value the CBOR simple value <tt>null</tt> (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. This parameter can take the same values as the 'gp_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>
            </li>
            <li>
              <t>'sign_alg', which is formatted as follows. If the configuration parameter 'group_mode' has value <tt>false</tt> (0xf4), this parameter has as value the CBOR simple value <tt>null</tt> (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. This parameter can take the same values as 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"/>.</t>
            </li>
            <li>
              <t>'sign_params', which is formatted as follows. If the configuration parameter 'group_mode' has value <tt>false</tt> (0xf4), this parameter has as value the CBOR simple value <tt>null</tt> (0xf6). Otherwise, this parameter specifies the additional parameters for the Signature Algorithm used in the OSCORE group, encoded as a CBOR array. This parameter can take the same values as 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"/>.</t>
            </li>
            <li>
              <t>'pairwise_mode', encoded as a CBOR simple value. Its value is <tt>true</tt> (0xf5) if the OSCORE group uses the pairwise mode of Group OSCORE (see <xref section="8" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>), or <tt>false</tt> (0xf4) otherwise.</t>
            </li>
            <li>
              <t>'alg', which is formatted as follows. If the configuration parameter 'pairwise_mode' has value <tt>false</tt> (0xf4), this parameter has as value the CBOR simple value <tt>null</tt> (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. This parameter can take the same values as 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"/>.</t>
            </li>
            <li>
              <t>'ecdh_alg', which is formatted as follows. If the configuration parameter 'pairwise_mode' has value <tt>false</tt> (0xf4), this parameter has as value the CBOR simple value <tt>null</tt> (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. This parameter can take the same values as 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"/>.</t>
            </li>
            <li>
              <t>'ecdh_params', which is formatted as follows. If the configuration parameter 'pairwise_mode' has value <tt>false</tt> (0xf4), this parameter has as value the CBOR simple value <tt>null</tt> (0xf6). Otherwise, this parameter specifies the parameters for the Pairwise Key Agreement Algorithm used in the OSCORE group, encoded as a CBOR array. This parameter can take the same values as 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"/>.</t>
            </li>
            <li>
              <t>'det_req', encoded as a CBOR simple value. Its value is <tt>true</tt> (0xf5) if the OSCORE group uses deterministic requests (see <xref target="I-D.ietf-core-cacheable-oscore"/>), or <tt>false</tt> (0xf4) otherwise. This parameter can be present only if both the configuration parameters 'group_mode' and 'pairwise_mode' have value <tt>true</tt> (0xf5), and it <bcp14>MUST NOT</bcp14> be present otherwise.</t>
            </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 (see <xref target="I-D.ietf-core-cacheable-oscore"/>). This parameter takes values from the "Value" column of the "COSE Algorithms" Registry <xref target="COSE.Algorithms"/>.  </t>
              <t>
This parameter <bcp14>MUST NOT</bcp14> be present if the configuration parameter 'det_req' is not present or if it is present with value <tt>false</tt> (0xf4). If the configuration parameter 'det_req' is present with value <tt>true</tt> (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 Parameters</name>
          <t>The CBOR map includes the following status parameters:</t>
          <ul spacing="normal">
            <li>
              <t>'rt', which specifies the resource type "core.osc.gconf" associated with group-configuration resources, encoded as a CBOR text string.</t>
            </li>
            <li>
              <t>'active', which specifies whether the OSCORE group is currently active, encoded as the CBOR simple value <tt>true</tt> (0xf5) of <tt>false</tt> (0xf4).</t>
            </li>
            <li>
              <t>'group_name', which specifies the group name of the OSCORE group encoded as a CBOR text string.</t>
            </li>
            <li>
              <t>'group_description', which specifies either a human-readable description of the OSCORE group encoded as a CBOR text string, or the CBOR simple value <tt>null</tt> (0xf6) if no description is specified.</t>
            </li>
            <li>
              <t>'ace_groupcomm_profile', defined in <xref section="4.3.1" sectionFormat="of" target="RFC9594"/>, with value "coap_group_oscore_app" registered in <xref section="17.5" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>, encoded as a CBOR integer.</t>
            </li>
            <li>
              <t>'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.</t>
            </li>
            <li>
              <t>'exp', defined in <xref section="4.3.1" sectionFormat="of" target="RFC9594"/>.</t>
            </li>
            <li>
              <t>'gid_reuse', encoding the CBOR simple value <tt>true</tt> (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="12.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 <tt>false</tt> (0xf4).</t>
            </li>
            <li>
              <t>'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"/>).</t>
            </li>
            <li>
              <t>'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.</t>
            </li>
            <li>
              <t>'group_policies', defined in <xref section="4.3.1" sectionFormat="of" target="RFC9594"/>, and consistent with the format and content defined in <xref section="6.3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>.</t>
            </li>
            <li>
              <t>'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"/>).</t>
            </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 the configuration and status parameters. In particular, <xref target="default-values-conf"/> and <xref target="default-values-status"/> define the default values that are <bcp14>RECOMMENDED</bcp14> to use for the configuration and status parameters, respectively.</t>
        <t>Exceptionally, the Group Manager <bcp14>MAY</bcp14> choose different default values instead of those recommended in <xref target="default-values-conf"/> and <xref target="default-values-status"/>. A possible reason 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 uses the following pre-configured default value, if that parameter is not specified by the Administrator:</t>
          <ul spacing="normal">
            <li>
              <t>'group_mode' - The Group Manager <bcp14>SHOULD</bcp14> use the CBOR simple value <tt>true</tt> (0xf5).</t>
            </li>
            <li>
              <t>'pairwise_mode' - The Group Manager <bcp14>SHOULD</bcp14> use the CBOR simple value <tt>true</tt> (0xf5).</t>
            </li>
            <li>
              <t>'gp_enc_alg', 'sign_alg', and 'sign_params' - If the value of 'group_mode' is determined to be the CBOR simple value <tt>true</tt> (0xf5), the Group Manager <bcp14>SHOULD</bcp14> use the same default values defined in <xref section="14.2" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/> for the parameters 'gp_enc_alg', 'sign_alg', and 'sign_params' specified in that document, respectively.</t>
            </li>
            <li>
              <t>'alg', 'ecdh_alg', and 'ecdh_params' - If the value of 'pairwise_mode' is determined to be the CBOR simple value <tt>true</tt> (0xf5), the Group Manager <bcp14>SHOULD</bcp14> 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' specified in that document, respectively.</t>
            </li>
            <li>
              <t>'det_req' - If the value of both 'group_mode' and 'pairwise_mode' is determined to be the CBOR simple value <tt>true</tt> (0xf5), the Group Manager <bcp14>SHOULD</bcp14> add the 'det_req' parameter to the group configuration and <bcp14>SHOULD</bcp14> set its value to the CBOR simple value <tt>false</tt> (0xf4).</t>
            </li>
            <li>
              <t>'det_hash_alg' - If the value of 'det_req' is determined to be the CBOR simple value <tt>true</tt> (0xf5), the Group Manager <bcp14>SHOULD</bcp14> add the 'det_hash_alg' parameter to the group configuration and <bcp14>SHOULD</bcp14> set its value to -16 (COSE algorithm encoding for SHA-256).</t>
            </li>
          </ul>
          <t>For any other configuration parameter, the Group Manager <bcp14>SHOULD</bcp14> use the same default values defined in <xref section="14.1" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/> for the parameter with the same name specified in that document.</t>
        </section>
        <section anchor="default-values-status">
          <name>Status Parameters</name>
          <t>For each of the status parameters listed below, the Group Manager uses the following pre-configured default value, if that parameter is not specified by the Administrator:</t>
          <ul spacing="normal">
            <li>
              <t>'active' - The Group Manager <bcp14>SHOULD</bcp14> use the CBOR simple value <tt>false</tt> (0xf4).</t>
            </li>
            <li>
              <t>'group_description' - The Group Manager <bcp14>SHOULD</bcp14> use the CBOR simple value <tt>null</tt> (0xf6).</t>
            </li>
            <li>
              <t>'max_stale_sets' - The Group Manager <bcp14>SHOULD</bcp14> use the CBOR unsigned integer with value 3, consistent with what is defined in <xref section="14.1" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>.</t>
            </li>
            <li>
              <t>'gid_reuse' - The Group Manager <bcp14>SHOULD</bcp14> use the CBOR simple value <tt>false</tt> (0xf4).</t>
            </li>
            <li>
              <t>'app_groups' - The Group Manager <bcp14>SHOULD</bcp14> use the empty CBOR array.</t>
            </li>
            <li>
              <t>'group_policies' - The Group Manager <bcp14>SHOULD</bcp14> use the default values defined in <xref section="6.3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>.</t>
            </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. 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 (i.e., the CoAP method used in the request is not supported by the targeted resource), then the Group Manager replies with a 4.05 (Method Not Allowed) response (see <xref section="5.8" sectionFormat="of" target="RFC7252"/>).</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"/>. 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>Upon receiving from the Administrator a POST request to the group-collection resource or a request to a group-configuration resource, the Group Manager performs the following authorization checks, consistently with what is defined at Step 4 of <xref target="getting-access"/>:</t>
      <ul spacing="normal">
        <li>
          <t>The Group Manager <bcp14>MUST</bcp14> check whether the group name TARGETNAME pertaining to the request matches with the group name pattern specified in any scope entry of the 'scope' claim in the stored access token for the Administrator.</t>
        </li>
        <li>
          <t>In case of a positive match, the Group Manager <bcp14>MUST</bcp14> check whether the permission set in the found scope entry specifies the permission PERMISSION required to perform the requested administrative operation.</t>
        </li>
      </ul>
      <t>If there are no matching scope entries specifying the permission PERMISSION, the Group Manager <bcp14>MUST</bcp14> reply with a 4.03 (Forbidden) error response. Further details on TARGETNAME and PERMISSION are defined separately for each operation at the Group Manager.</t>
      <t>The Content-Format "application/ace-groupcomm+cbor" defined in <xref section="11.2" sectionFormat="of" target="RFC9594"/> is used in requests including a payload and in successful responses including a payload, except for successful responses sent in reply to GET and FETCH requests targeting the group-collection resource (for which the Content-Format "application/link-format" is used). Furthermore, the CBOR abbreviations defined in <xref target="groupcomm-parameters"/> of this document <bcp14>MUST</bcp14> be used when specifying the corresponding configuration and status parameters.</t>
      <section anchor="collection-resource-get">
        <name>Retrieve a List of Group Configurations</name>
        <t>This operation <bcp14>MUST</bcp14> be supported by the Group Manager.</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 list is returned as a list of links to the corresponding group-configuration resources. In particular, a successful 2.05 (Content) response <bcp14>MUST</bcp14> have Content-Format set to "application/link-format" and its payload specifies the list of links in the CoRE Link Format <xref target="RFC6690"/>.</t>
        <t>The Group Manager <bcp14>MUST</bcp14> prepare the list L to include in the response as follows. For each group-configuration resource R:</t>
        <ol spacing="normal" type="1"><li>
            <t>The Group Manager considers the group name GROUPNAME of the OSCORE group associated with R.</t>
          </li>
          <li>
            <t>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.</t>
          </li>
          <li>
            <t>The link to the group-configuration resource R is added to the list L only in case of a positive match.</t>
          </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 <bcp14>MUST</bcp14> be supported by the Group Manager.</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 list is returned as a list of links to the corresponding group-configuration resources. In particular, the request <bcp14>MUST</bcp14> have Content-Format set to "application/ace-groupcomm+cbor", while a successful 2.05 (Content) response <bcp14>MUST</bcp14> have Content-Format set to "application/link-format" and its payload specifies the list of links in the CoRE Link Format <xref target="RFC6690"/>.</t>
        <t>The request payload is a CBOR map, whose entries specify the filter criteria. The possible entries of the CBOR map are specified in <xref target="config-repr"/>.</t>
        <t>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"/>), with the exception that the 'group_name' parameter (if present) can also be encoded as a tagged CBOR data item, specifying a group name pattern with the semantics signaled by the CBOR tag.</t>
        <t>In such a case, the 'group_name' parameter expresses a group name pattern in the same way as a complex pattern Toid does in a scope entry (see <xref target="scope-format"/>). In particular, the filter criterion is satisfied by any group name that matches with the group name pattern specified by the 'group_name' parameter in the payload of the FETCH request.</t>
        <t>The Group Manager <bcp14>MUST</bcp14> prepare the list L to include in the response as follows:</t>
        <ol spacing="normal" type="1"><li>
            <t>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.</t>
          </li>
          <li>
            <t>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.</t>
          </li>
        </ol>
        <t>An example of message exchange is shown below. In particular, the following is assumed:</t>
        <ul spacing="normal">
          <li>
            <t>The Group Manager hosts three group-configuration resources, for the OSCORE groups with names "gp1", "gp2", and "gp3".</t>
          </li>
          <li>
            <t>All the OSCORE groups use the group mode of Group OSCORE, the AEAD Algorithm AES-CCM-16-64-128 (COSE algorithm encoding: 10), and the HKDF Algorithm HKDF SHA-256 (specified as the HMAC Algorithm HMAC 256/256, COSE algorithm encoding: 5).</t>
          </li>
          <li>
            <t>The OSCORE groups "gp1" and "gp3" use the Signature Algorithm EdDSA (COSE algorithm encoding: -8), while the OSCORE group "gp2" uses the Signature Algorithm ES256 (COSE algorithm encoding: -7).</t>
          </li>
        </ul>
        <artwork><![CDATA[
=> 0.05 FETCH
   Uri-Path: "manage"
   Content-Format: 261 (application/ace-groupcomm+cbor)

   Payload:

   {
     e'group_mode': true,
     e'gp_enc_alg': 10 / AES-CCM-16-64-128 /,
       e'sign_alg': -8 / EdDSA /,
           e'hkdf': 5 / HMAC with SHA-256 /
   }

<= 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/gp3>;rt="core.osc.gconf"
]]></artwork>
        <t>The following, additional example considers a request payload that uses both configuration parameters and status parameters as filter criteria. In particular, the following is assumed:</t>
        <ul spacing="normal">
          <li>
            <t>In the URI of every group-configuration resource, the path component is /manage/GROUPNAME, where GROUPNAME is the group name of the associated OSCORE group.</t>
          </li>
          <li>
            <t>The Group Manager hosts four group-configuration resources, for the OSCORE groups with names "gp4", "gp5", "gp6", and "foo". All the OSCORE groups use the AEAD Algorithm AES-CCM-16-64-128 (COSE algorithm encoding: 10). Also, all the OSCORE groups are currently active, except for "gp6".</t>
          </li>
        </ul>
        <artwork><![CDATA[
=> 0.05 FETCH
   Uri-Path: "manage"
   Content-Format: 261 (application/ace-groupcomm+cbor)

   Payload:

   {
     e'gp_enc_alg': 10 / AES-CCM-16-64-128 /,
     e'group_name': 21065("gp[0-9]*"),
         e'active': true
   }

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

   Payload:

   <coap://[2001:db8::ab]/manage/gp4>;rt="core.osc.gconf",
   <coap://[2001:db8::ab]/manage/gp5>;rt="core.osc.gconf"
]]></artwork>
      </section>
      <section anchor="collection-resource-post">
        <name>Create a New Group Configuration</name>
        <t>This operation <bcp14>MUST</bcp14> be supported by the Group Manager.</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. In particular, the request <bcp14>MUST</bcp14> have Content-Format set to "application/ace-groupcomm+cbor".</t>
        <t>The request <bcp14>MUST</bcp14> specify the intended group name GROUPNAME and <bcp14>MAY</bcp14> specify the intended group description 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"/>. In particular:</t>
        <ul spacing="normal">
          <li>
            <t>The payload <bcp14>MAY</bcp14> include any of the configuration parameters defined in <xref target="config-repr-config-properties"/>.</t>
          </li>
          <li>
            <t>The payload <bcp14>MUST</bcp14> include the status parameter 'group_name' defined in <xref target="config-repr-status-properties"/> and specifying the intended group name encoded as a CBOR text string. As defined later in this section, the group name specified in this parameter is simply a suggestion to the Group Manager, which makes the final decision about the name to assign to the new group.</t>
          </li>
          <li>
            <t>The payload <bcp14>MAY</bcp14> include any of the status parameters 'active', 'group_description', 'max_stale_sets', 'exp', 'gid_reuse', 'app_groups', 'group_policies', and 'as_uri' defined in <xref target="config-repr-status-properties"/>.</t>
          </li>
          <li>
            <t>The payload <bcp14>MUST NOT</bcp14> include any of the status parameters 'rt', 'ace_groupcomm_profile', and 'joining_uri' defined in <xref target="config-repr-status-properties"/>.</t>
          </li>
        </ul>
        <t>When performing the authorization checks, the Group Manager uses the value of the 'group_name' parameter from the request as TARGETNAME, and "Create" as PERMISSION.</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 <bcp14>MUST</bcp14> reply with a 5.03 (Service Unavailable) response. The response <bcp14>MUST</bcp14> have Content-Format set to "application/concise-problem-details+cbor" <xref target="RFC9290"/> and is formatted as defined in <xref section="4.1.2" sectionFormat="of" target="RFC9594"/>. Within the Custom Problem Detail entry 'ace-groupcomm-error', the value of the 'error-id' field <bcp14>MUST</bcp14> be set to 12 ("Unsupported group configuration") and the 'detail' field <bcp14>SHOULD</bcp14> be included in order to provide additional context.</t>
        <t>Note to RFC Editor: Please make sure that "application/concise-problem-details+cbor" is on one line (no line wrapping), on every occurrence throughout the document. Then, please delete this note.</t>
        <t>Otherwise, if any of the following occurs, the Group Manager <bcp14>MUST</bcp14> reply with a 4.00 (Bad Request) response.</t>
        <ul spacing="normal">
          <li>
            <t>Any of the received parameters is not recognized, or not valid, or not consistent with respect to other related parameters. In particular, the value of the status parameter 'exp' (if present) is not valid if the indicated expiration date is not in the future.</t>
          </li>
          <li>
            <t>The Group Manager does not trust or deem acceptable the Authorization Server with URI specified in the 'as_uri' parameter, and it has no alternative Authorization Server to consider for the OSCORE group to create.</t>
          </li>
        </ul>
        <t>After a successful processing of the POST request, the Group Manager performs the following actions.</t>
        <ol spacing="normal" type="1"><li>
            <t>The Group Manager selects the name to actually assign to the new OSCORE group.  </t>
            <t>
If the 'group_name' parameter specifies the group name of an already existing OSCORE group, the Group Manager <bcp14>MUST</bcp14> try to determine an alternative name for the new OSCORE group to create.  </t>
            <t>
In general, 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 'group_name' parameter of the request, then the following conditions <bcp14>MUST</bcp14> hold.  </t>
            <ul spacing="normal">
              <li>
                <t>The chosen name GROUPNAME is available to assign; and</t>
              </li>
              <li>
                <t>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* <bcp14>MUST</bcp14> be equal.</t>
              </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 <bcp14>MUST</bcp14> reply with a 5.03 (Service Unavailable) response. The response <bcp14>MUST</bcp14> have Content-Format set to "application/concise-problem-details+cbor" <xref target="RFC9290"/> and is formatted as defined in <xref section="4.1.2" sectionFormat="of" target="RFC9594"/>. Within the Custom Problem Detail entry 'ace-groupcomm-error', the value of the 'error-id' field <bcp14>MUST</bcp14> be set to 11 ("Unable to determine a group name").</t>
          </li>
          <li>
            <t>If the previous step has succeeded, the Group Manager creates a new group-configuration resource accessible to the Administrator at /manage/GROUPNAME, where GROUPNAME is the final name given to the OSCORE group, as either the one indicated in the 'group_name' parameter of the request and confirmed by the Group Manager, or the alternative one that has been determined and uniquely assigned by the Group Manager. The group-collection resource is also updated accordingly.  </t>
            <t>
The operation of creating the new group-configuration resource and accordingly updating the group-collection resource <bcp14>MUST</bcp14> be atomic. That is, until the request processing fails, or the group-configuration resource is fully created and the values of its parameters are set, the following applies.  </t>
            <ul spacing="normal">
              <li>
                <t>The group-configuration resource <bcp14>MUST NOT</bcp14> be accessible through other operations.</t>
              </li>
              <li>
                <t>The group-collection resource <bcp14>MUST NOT</bcp14> be updated to reflect the presence of the new group-configuration resource.</t>
              </li>
            </ul>
            <t>
When the group-collection resource is eventually updated to reflect the presence of the new group-configuration resource, this update <bcp14>MUST NOT</bcp14> be interrupted by other updates to the group-collection resource due to the creation or deletion of group-configuration resources.  </t>
            <t>
In the newly created group-configuration resource, 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 'gid_reuse' parameter encoding the CBOR simple value <tt>true</tt> (0xf5) and the Group Manager does not support the reassignment of OSCORE Group ID values (see <xref section="12.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 <tt>false</tt> (0xf4).  </t>
            <t>
For each parameter not specified in the POST request, the Group Manager refers to default values as specified in <xref target="default-values"/>.</t>
          </li>
          <li>
            <t>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="RFC9594"/> 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>
                <t>The OSCORE Master Secret.</t>
              </li>
              <li>
                <t>The OSCORE Master Salt (optionally).</t>
              </li>
              <li>
                <t>The Group ID, used as OSCORE ID Context, which <bcp14>MUST</bcp14> be unique within the set of OSCORE groups under the Group Manager.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>The Group Manager replies to the Administrator with a 2.01 (Created) response, which <bcp14>MUST</bcp14> have Content-Format set to "application/ace-groupcomm+cbor". One or more Location-Path options <bcp14>MUST</bcp14> be included in the response, indicating the location of the just created group-configuration resource. The response <bcp14>MUST NOT</bcp14> include a Location-Query option.  </t>
            <t>
The response payload is a CBOR map, whose possible entries are specified in <xref target="config-repr"/>. In particular, the following applies.  </t>
            <t>
The response payload specifies the parameters 'group_name', 'joining_uri', and 'as_uri' from the status parameters of the newly created OSCORE group (see <xref target="config-repr"/>), as detailed below.  </t>
            <ul spacing="normal">
              <li>
                <t>'group_name', specifying the group name of the OSCORE group. This value can be different from the group name specified by the Administrator in the POST request, and it reflects the final choice of the Group Manager, as the value of the 'group_name' status parameter for the OSCORE group. This parameter <bcp14>MUST</bcp14> be included.</t>
              </li>
              <li>
                <t>'joining_uri', specifying the URI of the group-membership resource for joining the newly created OSCORE group. This parameter <bcp14>MUST</bcp14> be included.</t>
              </li>
              <li>
                <t>'as_uri', specifying the URI of the Authorization Server associated with the Group Manager for the newly created OSCORE group. This parameter <bcp14>MUST</bcp14> be included. Its value can be different from the URI possibly specified by the Administrator in the POST request, and it reflects the final choice of the Group Manager, as the value of the 'as_uri' status parameter for the OSCORE group.</t>
              </li>
            </ul>
            <t>
If the POST request specified the 'gid_reuse' parameter encoding the CBOR simple value <tt>true</tt> (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 <tt>false</tt> (0xf4), then the response payload <bcp14>MUST</bcp14> also include the 'gid_reuse' parameter encoding the CBOR simple value <tt>false</tt> (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-conf"/> and <xref target="default-values-status"/>, then the response payload <bcp14>MUST</bcp14> also include those parameters, specifying the values chosen by the Group Manager for the current group configuration.</t>
          </li>
          <li>
            <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"/>, e.g., by using the approach described in <xref 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>
It is also possible that the Administrator performs 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>
                <t>The name of the OSCORE group <bcp14>MUST</bcp14> take the value specified in the 'group_name' parameter from the 2.01 (Created) response.</t>
              </li>
              <li>
                <t>The names of the application groups using the OSCORE group <bcp14>MUST</bcp14> take the values possibly specified by the elements of the 'app_groups' parameter in the POST request.</t>
              </li>
              <li>
                <t>If also registering a related link to the Authorization Server associated with the OSCORE group, the related link <bcp14>MUST</bcp14> have as link target the URI specified in the 'as_uri' parameter from the 2.01 (Created) response.</t>
              </li>
              <li>
                <t>As to every other information element describing the current group configuration, the following applies.</t>
              </li>
              <li>
                <t>If a certain parameter was specified in the POST request, the Administrator <bcp14>MUST</bcp14> 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.</t>
              </li>
              <li>
                <t>If a certain parameter was not specified in the POST request, the Administrator <bcp14>MUST</bcp14> 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"/> or <xref target="default-values-status"/> otherwise.</t>
              </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 <bcp14>RECOMMENDED</bcp14> 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>
          </li>
        </ol>
        <t>An example of message exchange is shown below.</t>
        <artwork><![CDATA[
=> 0.02 POST
   Uri-Path: "manage"
   Content-Format: 261 (application/ace-groupcomm+cbor)

   Payload:

   {
            e'gp_enc_alg': 10 / AES-CCM-16-64-128 /,
                  e'hkdf': 5 / HMAC with SHA-256 /,
         e'pairwise_mode': true,
                e'active': true,
            e'group_name': "gp4",
     e'group_description': "rooms 1 and 2",
            e'app_groups': ["room1", "room2"],
                e'as_uri': "coap://as.example.com/token"
   }

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

   Payload:

   {
      e'group_name': "gp4",
     e'joining_uri': "coap://[2001:db8::ab]/ace-group/gp4/",
          e'as_uri': "coap://as.example.com/token"
   }
]]></artwork>
      </section>
      <section anchor="configuration-resource-get">
        <name>Retrieve a Group Configuration</name>
        <t>This operation <bcp14>MUST</bcp14> be supported by the Group Manager.</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>When performing the authorization checks, the Group Manager uses GROUPNAME as TARGETNAME, and "Read" as PERMISSION.</t>
        <t>After a successful processing of the GET request, the Group Manager replies to the Administrator with a 2.05 (Content) response, which <bcp14>MUST</bcp14> have Content-Format set to "application/ace-groupcomm+cbor".</t>
        <t>The response payload is a CBOR map, whose possible entries are specified in <xref target="config-repr"/>. In particular, 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 parameters and status 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: 261 (application/ace-groupcomm+cbor)

   Payload:

   {
                       e'hkdf': 5 / HMAC with SHA-256 /,
                   e'cred_fmt': 33 / x5chain /,
                 e'group_mode': true,
                 e'gp_enc_alg': 10 / AES-CCM-16-64-128 /,
                   e'sign_alg': -8 / EdDSA /,
                e'sign_params': [[1], [1, 6]]
                                / [[OKP], [OKP, Ed25519]] /,
              e'pairwise_mode': true,
                        e'alg': 10 / AES-CCM-16-64-128 /,
                   e'ecdh_alg': -27 / ECDH-SS-HKDF-256 /,
                e'ecdh_params': [[1], [1, 4]]
                                / [[OKP], [OKP, X25519]] /,
                    e'det_req': false,
                         e'rt': "core.osc.gconf",
                     e'active': true,
                 e'group_name': "gp4",
          e'group_description': "rooms 1 and 2",
     / ace_groupcomm_profile /
                            10: e'coap_group_oscore_app',
             e'max_stale_sets': 3,
                    / exp / 11: 1360289224,
                  e'gid_reuse': false,
                 e'app_groups': ["room1", "room2"],
                e'joining_uri': "coap://[2001:db8::ab]/ace-group/gp4/",
                     e'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 <bcp14>MUST</bcp14> be supported by the Group Manager.</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 <bcp14>MUST</bcp14> have Content-Format set to "application/ace-groupcomm+cbor" and its payload is a CBOR map, which contains the following field:</t>
        <ul spacing="normal">
          <li>
            <t>'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"/>.</t>
          </li>
        </ul>
        <t>When performing the authorization checks, the Group Manager uses GROUPNAME as TARGETNAME, and "Read" as PERMISSION.</t>
        <t>After a successful processing of the FETCH request, the Group Manager replies to the Administrator with a 2.05 (Content) response, which <bcp14>MUST</bcp14> have Content-Format set to "application/ace-groupcomm+cbor".</t>
        <t>The response payload is a CBOR map, whose possible entries are specified in <xref target="config-repr"/>. In particular, 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 it is limited to the configuration parameters and status parameters 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 of the OSCORE group, then the response payload <bcp14>MUST NOT</bcp14> 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: 261 (application/ace-groupcomm+cbor)

   Payload:

   {
     e'conf_filter': [e'gp_enc_alg',
                      e'hkdf',
                      e'pairwise_mode',
                      e'active',
                      e'group_description',
                      e'app_groups']
   }

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

   Payload:

   {
            e'gp_enc_alg': 10 / AES-CCM-16-64-128 /,
                  e'hkdf': 5 / HMAC with SHA-256 /,
         e'pairwise_mode': true,
                e'active': true,
     e'group_description': "rooms 1 and 2",
            e'app_groups': ["room1", "room2"]
   }

]]></artwork>
      </section>
      <section anchor="configuration-resource-post">
        <name>Overwrite a Group Configuration</name>
        <t>This operation <bcp14>MAY</bcp14> be supported by the Group Manager.</t>
        <t>The Administrator can send a POST 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 request <bcp14>MUST</bcp14> have Content-Format set to "application/ace-groupcomm+cbor" and its payload is a CBOR map. In particular, the request payload has the same format as that 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' <bcp14>MUST NOT</bcp14> be included.</t>
        <t>The error handling for the POST 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>When performing the authorization checks, the Group Manager uses GROUPNAME as TARGETNAME, and "Write" as PERMISSION.</t>
        <t>If the group-configuration resource targeted by the POST request does not currently exist, then the Group Manager <bcp14>MUST NOT</bcp14> create the resource and <bcp14>MUST</bcp14> reply with a 4.04 (Not Found) 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 <bcp14>MUST</bcp14> reply with a 5.03 (Service Unavailable) response. The response <bcp14>MUST</bcp14> have Content-Format set to "application/concise-problem-details+cbor" <xref target="RFC9290"/> and is formatted as defined in <xref section="4.1.2" sectionFormat="of" target="RFC9594"/>. Within the Custom Problem Detail entry 'ace-groupcomm-error', the value of the 'error-id' field <bcp14>MUST</bcp14> be set to 12 ("Unsupported group configuration") and the 'detail' field <bcp14>SHOULD</bcp14> be included in order to provide additional context.</t>
        <t>If no error occurs and the POST request is successfully processed, the Group Manager performs the following actions.</t>
        <ol spacing="normal" type="1"><li>
            <t>The Group Manager updates the group-configuration resource, consistently with the values indicated in the POST 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' <bcp14>MUST</bcp14> remain unchanged.  </t>
            <t>
For each parameter not specified in the POST request, the Group Manager refers to default values as specified in <xref target="default-values"/>. Note that the default value recommended for the status parameter 'active' is the CBOR simple value <tt>false</tt> (0xf4). Therefore, if the Administrator intends to preserve the current status of the group as active, then the payload of the POST request has to include the 'active' parameter specifying the CBOR simple value <tt>true</tt> (0xf5).  </t>
            <t>
When updating the group-configuration resource, the corresponding group-membership resource is also updated accordingly. The operation of overwriting such two resources <bcp14>MUST</bcp14> be atomic. That is, until the request processing fails, or the group-configuration resource has been fully updated and the values of its parameters are set, the following applies:  </t>
            <ul spacing="normal">
              <li>
                <t>The group-configuration resource <bcp14>MUST NOT</bcp14> be accessible through other operations.</t>
              </li>
              <li>
                <t>The group-membership resource <bcp14>MUST NOT</bcp14> be updated to reflect the new group configuration.</t>
              </li>
              <li>
                <t>The filter criteria specified in a FETCH request to the group-collection resource (see <xref target="collection-resource-fetch"/>) <bcp14>MUST</bcp14> be compared against the representation that the group-configuration resource had before its update started.</t>
              </li>
            </ul>
            <t>
When the group-membership resource is eventually updated to reflect the new group configuration, this update <bcp14>MUST NOT</bcp14> be interrupted by other operations performed on the group-membership resource.  </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 it 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>
          </li>
          <li>
            <t>The Group Manager replies to the Administrator with a 2.04 (Changed) response, which <bcp14>MUST</bcp14> have Content-Format set to "application/ace-groupcomm+cbor". The payload of the response is a CBOR map and it has the same format as that of the 2.01 (Created) response defined in <xref target="collection-resource-post"/>.  </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-conf"/> and <xref target="default-values-status"/>, then the response payload <bcp14>MUST</bcp14> also include those parameters, specifying the values chosen by the Group Manager for the current group configuration.</t>
          </li>
          <li>
            <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.  </t>
            <t>
It is also possible that the Administrator updates 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>
                <t>The name of the OSCORE group <bcp14>MUST</bcp14> take the value specified in the 'group_name' parameter from the 2.04 (Changed) response.</t>
              </li>
              <li>
                <t>The names of the application groups using the OSCORE group <bcp14>MUST</bcp14> take the values possibly specified by the elements of the 'app_groups' parameter in the POST request.</t>
              </li>
              <li>
                <t>If also registering a related link to the Authorization Server associated with the OSCORE group, the related link <bcp14>MUST</bcp14> have as link target the URI specified in the 'as_uri' parameter from the 2.04 (Changed) response.</t>
              </li>
              <li>
                <t>As to every other information element describing the current group configuration, the following applies.      </t>
                <ul spacing="normal">
                  <li>
                    <t>If a certain parameter was specified in the POST request, the Administrator <bcp14>MUST</bcp14> use either the value specified in the 2.04 (Changed) response, if the Group Manager specified one, or the value specified in the POST request otherwise.</t>
                  </li>
                  <li>
                    <t>If a certain parameter was not specified in the POST request, the Administrator <bcp14>MUST</bcp14> 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"/> or <xref target="default-values-status"/> otherwise.</t>
                  </li>
                </ul>
              </li>
            </ul>
            <t>
As discussed in <xref target="collection-resource-post"/>, it is <bcp14>RECOMMENDED</bcp14> 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>
          </li>
        </ol>
        <t>An example of message exchange is shown below.</t>
        <artwork><![CDATA[
=> 0.02 POST
   Uri-Path: "manage"
   Uri-Path: "gp4"
   Content-Format: 261 (application/ace-groupcomm+cbor)

   Payload:

   {
     e'gp_enc_alg': 11 / AES-CCM-16-64-256 /,
           e'hkdf': 5 / HMAC with SHA-256 /
   }

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

   Payload:

   {
      e'group_name': "gp4",
     e'joining_uri': "coap://[2001:db8::ab]/ace-group/gp4/",
          e'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 <tt>true</tt> (0xf5) to <tt>false</tt> (0xf4) and thus the group becomes inactive, the Group Manager stops admitting new members in the OSCORE group. In particular, until the status parameter 'active' is changed back to <tt>true</tt> (0xf5) and thus the group becomes active again, the Group Manager replies 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 <tt>false</tt> (0xf4) to <tt>true</tt> (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="RFC9594"/>), 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 <bcp14>MUST</bcp14> have Content-Format set to "application/ace-groupcomm+cbor", and <bcp14>MUST</bcp14> 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>
              <t>Only the parameters 'gkty', 'key', 'num', 'exp', and 'ace_groupcomm_profile' are present.</t>
            </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>
                  <t>'hkdf' and 'cred_fmt'.</t>
                </li>
                <li>
                  <t>'gp_enc_alg', 'sign_alg', and 'sign_params', only in case the configuration parameter 'group_mode' in the group-configuration resource has value <tt>true</tt> (0xf5), i.e., the OSCORE group uses the group mode of Group OSCORE.</t>
                </li>
                <li>
                  <t>'alg', 'ecdh_alg', and 'ecdh_params', only in case the configuration parameter 'pairwise_mode' in the group-configuration resource has value <tt>true</tt> (0xf5), i.e., the OSCORE group uses the pairwise mode of Group OSCORE.</t>
                </li>
                <li>
                  <t>'det_hash_alg' defined in <xref section="4" sectionFormat="of" target="I-D.ietf-core-cacheable-oscore"/>, only in case the configuration parameter 'det_req' is present with value <tt>true</tt> (0xf5), and specifying the Hash Algorithm used in the OSCORE group when producing deterministic requests (see <xref target="I-D.ietf-core-cacheable-oscore"/>).</t>
                </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 'gp_enc_alg', 'sign_alg', 'alg', and 'ecdh_alg' has as value the CBOR simple value <tt>null</tt> (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 <bcp14>MUST NOT</bcp14> reset the Sender Sequence Number in its Sender Context or re-initialize the Replay Window in its Recipient Contexts.</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 <tt>true</tt> (0xf5) to <tt>false</tt> (0xf4) and thus the group becomes inactive:  </t>
              <ul spacing="normal">
                <li>
                  <t>The Group Manager stops 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 <tt>true</tt> (0xf5) and thus the group becomes active again. Until then, the Group Manager replies 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"/>.</t>
                </li>
                <li>
                  <t>The Group Manager stops 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 <tt>true</tt> (0xf5) and thus the group becomes active again. Until then, the Group Manager replies 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"/>.</t>
                </li>
              </ul>
            </li>
            <li>
              <t>Every group member, upon learning that the OSCORE group has been deactivated (i.e., 'active' has value <tt>false</tt> (0xf4)), stops sending messages to other group members and stops processing messages from other group members, until the group becomes active again. In the meantime, the group member can still interact with the Group Manager, e.g., in order to check whether the group has become active again.  </t>
              <t>
Every group member, upon learning that the OSCORE group has been reactivated (i.e., 'active' has value <tt>true</tt> (0xf5) again), can resume taking part in communications with other group members (i.e., sending messages and processing incoming messages).  </t>
              <t>
A group member can learn about the current group status of a group with group name GROUPNAME by accessing the /ace-group/GROUPNAME/active resource at the Group Manager, as specified in <xref section="9.9" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/>. Optionally, the group member may subscribe for updates to such a resource, e.g., by using CoAP Observe <xref target="RFC7641"/>.</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 <bcp14>MUST</bcp14> proceed as follows.  </t>
              <ul spacing="normal">
                <li>
                  <t>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.</t>
                </li>
                <li>
                  <t>If any such group members are found, the Group Manager <bcp14>MUST</bcp14> evict them from the OSCORE group. That is, the Group Manager <bcp14>MUST</bcp14> terminate their membership and <bcp14>MUST</bcp14> 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.</t>
                </li>
              </ul>
            </li>
            <li>
              <t>Every group member, upon receiving updated values for 'hkdf', 'gp_enc_alg', and 'alg', <bcp14>MUST</bcp14> either:  </t>
              <ul spacing="normal">
                <li>
                  <t>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</t>
                </li>
                <li>
                  <t>Remain in the OSCORE group and use the Group OSCORE Security Context after having updated it as defined above.</t>
                </li>
              </ul>
            </li>
            <li>
              <t>Every group member, upon receiving updated values for 'cred_fmt', 'sign_alg', 'sign_params', 'ecdh_alg', and 'ecdh_params' <bcp14>MUST</bcp14> either:  </t>
              <ul spacing="normal">
                <li>
                  <t>Leave the OSCORE group, e.g., if not supporting the indicated new format, algorithms, parameters, and encoding; or</t>
                </li>
                <li>
                  <t>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 <bcp14>MUST</bcp14> be provided to the Group Manager. The authentication credential as well as the included public key <bcp14>MUST</bcp14> be compatible with the indicated algorithms and parameters.</t>
                </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 <bcp14>MUST</bcp14> be in the indicated format used in the OSCORE group. The new authentication credential as well as the included public key <bcp14>MUST</bcp14> 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>
                      <t>Retrieve from the Group Manager the Group Manager's new 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.</t>
                    </li>
                  </ul>
                </li>
              </ul>
            </li>
          </ul>
          <t>As discussed above, after the group configuration has been updated, some group members may leave the OSCORE group and rejoin it. Shortly following an update of the group configuration, the Group Manager <bcp14>SHOULD</bcp14> prioritize the re-join of such current group members before processing Join Requests from other, new group members.</t>
        </section>
      </section>
      <section anchor="configuration-resource-patch">
        <name>Selective Update of a Group Configuration</name>
        <t>This operation <bcp14>MAY</bcp14> be supported by the Group Manager.</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 <bcp14>MUST</bcp14> have Content-Format set to "application/ace-groupcomm+cbor" and its payload is a CBOR map. In particular, the request payload has the same format as that of the POST request defined in <xref target="configuration-resource-post"/>, with the difference that it <bcp14>MAY</bcp14> also specify names of application groups to be removed from or added to the 'app_groups' status parameter. Within the CBOR map conveyed as request payload, the names of such application groups are specified by the 'app_groups_diff' field, which is encoded as a CBOR array that includes the following two elements.</t>
        <ul spacing="normal">
          <li>
            <t>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.</t>
          </li>
          <li>
            <t>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.</t>
          </li>
        </ul>
        <t>The CDDL definition <xref target="RFC8610"/> of the CBOR array 'app_groups_diff' formatted as in the request from the Administrator is provided below.</t>
        <figure anchor="cddl-diff">
          <name>CDDL definition of the 'app_groups_diff' field</name>
          <sourcecode type="cddl"><![CDATA[
   app-group-name = tstr
   name-patch = [* app-group-name]
   app_groups_diff = [app_groups_del: name-patch,
                      app_groups_add: name-patch]
]]></sourcecode>
        </figure>
        <t>The Group Manager <bcp14>MUST</bcp14> reply 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 that for the POST request defined in <xref target="configuration-resource-post"/>, with the following additions:</t>
        <ul spacing="normal">
          <li>
            <t>The set of group configuration parameters to update <bcp14>MUST NOT</bcp14> be empty. The Group Manager <bcp14>MUST</bcp14> reply with a 4.00 (Bad Request) response, if the request payload includes an empty CBOR map.</t>
          </li>
          <li>
            <t>If the request URI does not identify an existing group-configuration resource, the Group Manager <bcp14>MUST NOT</bcp14> create a new resource and <bcp14>MUST</bcp14> reply with a 4.04 (Not Found) response.</t>
          </li>
          <li>
            <t>If applying the specified updated values would yield an inconsistent group configuration, the Group Manager <bcp14>MUST</bcp14> reply with a 4.09 (Conflict) response.  </t>
            <t>
As an example, this is the case if the resulting group configuration would include the 'sign_alg' parameter specifying the signature algorithm EdDSA (COSE algorithm encoding: -8) and, at the same time, the 'sign_params' parameter specifying EC2 as COSE key type and P-256 as COSE elliptic curve (i.e., as the CBOR array <tt>[[2], [2, 1]]</tt>).  </t>
            <t>
The 4.09 (Conflict) response <bcp14>MAY</bcp14> include the current representation of the group configuration resource, like when replying with a 2.05 (Content) response to a GET request as defined in <xref target="configuration-resource-get"/>. Otherwise, the 4.09 (Conflict) response <bcp14>SHOULD</bcp14> include a diagnostic payload with additional information for the Administrator to recognize the source of the conflict.</t>
          </li>
          <li>
            <t>When the request uses specifically the iPATCH method, the Group Manager <bcp14>MUST</bcp14> reply with a 4.00 (Bad Request) response, in case the CBOR map conveyed as request payload includes the 'app_groups_diff' parameter and the name of an application group is specified both in the 'app_groups_del' and 'app_groups_add' inner arrays.</t>
          </li>
        </ul>
        <t>When performing the authorization checks, the Group Manager uses GROUPNAME as TARGETNAME, and "Write" as PERMISSION.</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 <bcp14>MUST</bcp14> reply with a 5.03 (Service Unavailable) response. The response <bcp14>MUST</bcp14> have Content-Format set to "application/concise-problem-details+cbor" <xref target="RFC9290"/> and is formatted as defined in <xref section="4.1.2" sectionFormat="of" target="RFC9594"/>. Within the Custom Problem Detail entry 'ace-groupcomm-error', the value of the 'error-id' field <bcp14>MUST</bcp14> be set to 12 ("Unsupported group configuration") and the 'detail' field <bcp14>SHOULD</bcp14> 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>
        <ol spacing="normal" type="1"><li>
            <t>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 updated accordingly.  </t>
            <t>
The operation of updating the group-configuration resource and accordingly updating the group-membership resource <bcp14>MUST</bcp14> be atomic. That is, the same as defined in <xref target="configuration-resource-post"/> when atomically overwriting a group-configuration resource applies.  </t>
            <t>
Unlike for the POST request defined in <xref target="configuration-resource-post"/>, 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>
                <t>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.</t>
              </li>
              <li>
                <t>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.</t>
              </li>
              <li>
                <t>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.</t>
              </li>
              <li>
                <t>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.</t>
              </li>
              <li>
                <t>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.</t>
              </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>
          </li>
          <li>
            <t>The Group Manager replies to the Administrator with a 2.04 (Changed) response, which <bcp14>MUST</bcp14> have Content-Format set to "application/ace-groupcomm+cbor". The payload of the response is a CBOR map and it has the same format as that of the 2.01 (Created) response defined in <xref target="collection-resource-post"/>.</t>
          </li>
          <li>
            <t>The same considerations as for the POST request defined in <xref target="configuration-resource-post"/> 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>
          </li>
        </ol>
        <t>An example of message exchange is shown below.</t>
        <artwork><![CDATA[
=> 0.06 PATCH
   Uri-Path: "manage"
   Uri-Path: "gp4"
   Content-Format: 261 (application/ace-groupcomm+cbor)

   Payload:

   {
          e'gp_enc_alg': 10 / AES-CCM-16-64-128 /,
     e'app_groups_diff': [["room1"], ["room3", "room4"]]
   }

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

   Payload:

   {
      e'group_name': "gp4",
     e'joining_uri': "coap://[2001:db8::ab]/ace-group/gp4/",
          e'as_uri': "coap://as.example.com/token"
   }
]]></artwork>
        <section anchor="sssec-effects-update-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="sssec-effects-update-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 <bcp14>MUST</bcp14> be supported by the Group Manager.</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>When performing the authorization checks, the Group Manager uses GROUPNAME as TARGETNAME, and "Delete" as PERMISSION.</t>
        <t>If the OSCORE group is active, i.e., the current value of the status parameter 'active' is <tt>true</tt> (0xf5), then the request <bcp14>MUST</bcp14> fail and the Group Manager <bcp14>MUST</bcp14> reply with a 4.00 (Bad Request) response. The response <bcp14>MUST</bcp14> have Content-Format set to "application/concise-problem-details+cbor" <xref target="RFC9290"/> and is formatted as defined in <xref section="4.1.2" sectionFormat="of" target="RFC9594"/>. Within the Custom Problem Detail entry 'ace-groupcomm-error', the value of the 'error-id' field <bcp14>MUST</bcp14> be set to 10 ("Group currently active").</t>
        <t>That is, the request yields the deletion of the OSCORE group only if the OSCORE group is inactive, i.e., the corresponding status parameter 'active' has current value <tt>false</tt> (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-post"/> and <xref target="configuration-resource-patch"/>) and setting the corresponding status parameter 'active' to <tt>false</tt> (0xf4).</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 <bcp14>MUST</bcp14> be atomic. That is, until the request processing fails or the group-configuration resource is deleted, the following applies:</t>
        <ul spacing="normal">
          <li>
            <t>The group-configuration resource <bcp14>MUST NOT</bcp14> be accessible through other operations.</t>
          </li>
          <li>
            <t>The group-membership resource <bcp14>MUST NOT</bcp14> be deleted.</t>
          </li>
          <li>
            <t>The group-collection resource <bcp14>MUST NOT</bcp14> be updated to reflect the deletion of the group-configuration resource.</t>
          </li>
        </ul>
        <t>When the group-membership resource is eventually deleted, this deletion <bcp14>MUST NOT</bcp14> be interrupted by other operations performed on the group-membership resource.</t>
        <t>When the group-collection resource is eventually updated to reflect the deletion of the group-configuration resource, this update <bcp14>MUST NOT</bcp14> be interrupted by other updates to the group-collection resource due to the creation or deletion of group-configuration resources, or to other operations performed on those.</t>
        <t>After deleting the group-configuration resource, 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="sssec-effects-delete-group-members">
          <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>
              <t>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 value of the 'key' parameter encodes the empty CBOR map.</t>
            </li>
            <li>
              <t>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="RFC9594"/>). The response <bcp14>MUST</bcp14> have Content-Format set to "application/concise-problem-details+cbor" <xref target="RFC9290"/> and is formatted as defined in <xref section="4.1.2" sectionFormat="of" target="RFC9594"/>. Within the Custom Problem Detail entry 'ace-groupcomm-error', the value of the 'error-id' field <bcp14>MUST</bcp14> be set to 6 ("Group deleted").</t>
            </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="RFC9594"/>, 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" <bcp14>MUST</bcp14> be used when these parameters are transported in the respective message fields.</t>
      <table align="center" anchor="tab-ACE-Groupcomm-Parameters">
        <name>ACE Groupcomm Parameters</name>
        <thead>
          <tr>
            <th align="left">Name</th>
            <th align="left">CBOR Key</th>
            <th align="left">CBOR Type</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">hkdf</td>
            <td align="left">-1</td>
            <td align="left">tstr or int</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">cred_fmt</td>
            <td align="left">-2</td>
            <td align="left">int</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">group_mode</td>
            <td align="left">-3</td>
            <td align="left">True or False</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">gp_enc_alg</td>
            <td align="left">-4</td>
            <td align="left">Null or tstr or int</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">sign_alg</td>
            <td align="left">-5</td>
            <td align="left">Null or tstr or int</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">sign_params</td>
            <td align="left">-6</td>
            <td align="left">Null or array</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">pairwise_mode</td>
            <td align="left">-7</td>
            <td align="left">True or False</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">alg</td>
            <td align="left">-8</td>
            <td align="left">Null or tstr or int</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">ecdh_alg</td>
            <td align="left">-9</td>
            <td align="left">Null or tstr or int</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">ecdh_params</td>
            <td align="left">-10</td>
            <td align="left">Null or array</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">det_req</td>
            <td align="left">-25</td>
            <td align="left">True or False</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">det_hash_alg</td>
            <td align="left">-26</td>
            <td align="left">tstr or int</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">rt</td>
            <td align="left">-11</td>
            <td align="left">tstr</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">active</td>
            <td align="left">-12</td>
            <td align="left">True or False</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">group_name</td>
            <td align="left">-13</td>
            <td align="left">tstr or #6.&lt;uint&gt;(any)</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">group_description</td>
            <td align="left">-14</td>
            <td align="left">Null or tstr</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">max_stale_sets</td>
            <td align="left">-15</td>
            <td align="left">uint</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">gid_reuse</td>
            <td align="left">-16</td>
            <td align="left">True or False</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">app_groups</td>
            <td align="left">-17</td>
            <td align="left">array</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">joining_uri</td>
            <td align="left">-18</td>
            <td align="left">tstr</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">as_uri</td>
            <td align="left">-19</td>
            <td align="left">tstr</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">conf_filter</td>
            <td align="left">-27</td>
            <td align="left">array</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">app_groups_diff</td>
            <td align="left">-28</td>
            <td align="left">array</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
        </tbody>
      </table>
      <t>The following holds for the Group Manager:</t>
      <ul spacing="normal">
        <li>
          <t>It <bcp14>MUST</bcp14> support the parameters 'ace_groupcomm_profile', 'exp', and 'group_policies', which are defined in <xref section="8" sectionFormat="of" target="RFC9594"/>.  </t>
          <t>
This is consistent with what is defined in <xref section="8" sectionFormat="of" target="RFC9594"/> for the Key Distribution Center (KDC), of which the Group Manager defined in <xref target="I-D.ietf-ace-key-groupcomm-oscore"/> is a specific instance.</t>
        </li>
        <li>
          <t>It <bcp14>MUST</bcp14> support all the parameters listed in <xref target="tab-ACE-Groupcomm-Parameters"/>, with the exception of the 'app_groups_diff' parameter that <bcp14>MUST</bcp14> be supported only if the Group Manager supports the selective update of a group configuration (see <xref target="configuration-resource-patch"/>).</t>
        </li>
      </ul>
      <t>The following holds for an Administrator.</t>
      <ul spacing="normal">
        <li>
          <t>It <bcp14>MUST</bcp14> support the parameters 'ace_groupcomm_profile', 'exp', and 'group_policies', which are defined in <xref section="8" sectionFormat="of" target="RFC9594"/>.</t>
        </li>
        <li>
          <t>It <bcp14>MUST</bcp14> support all the parameters listed in <xref target="tab-ACE-Groupcomm-Parameters"/>, with the following exceptions.  </t>
          <ul spacing="normal">
            <li>
              <t>'conf_filter', which <bcp14>MUST</bcp14> be supported only if the Administrator supports the partial retrieval of a group configuration by filters (see <xref target="configuration-resource-fetch"/>).</t>
            </li>
            <li>
              <t>'app_groups_diff' parameter, which <bcp14>MUST</bcp14> be supported only if the Administrator supports the selective update of a group configuration (see <xref target="configuration-resource-patch"/>).</t>
            </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="RFC9594"/>, this document defines new values that the Group Manager can use as error identifiers. These are used in error responses with Content-Format "application/concise-problem-details+cbor" <xref target="RFC9290"/>, as values of the 'error-id' field within the Custom Problem Detail entry 'ace-groupcomm-error' (see <xref section="4.1.2" sectionFormat="of" target="RFC9594"/>).</t>
      <table align="center" anchor="tab-ACE-Groupcomm-Error">
        <name>ACE Groupcomm Error Identifiers</name>
        <thead>
          <tr>
            <th align="left">Value</th>
            <th align="left">Description</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">10</td>
            <td align="left">Group currently active</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">11</td>
            <td align="left">Unable to determine a group name</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">12</td>
            <td align="left">Unsupported group configuration</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
        </tbody>
      </table>
      <t>If the Administrator supports the problem-details format <xref target="RFC9290"/> and the Custom Problem Detail entry 'ace-groupcomm-error' defined in <xref section="4.1.2" sectionFormat="of" target="RFC9594"/>, and is able to understand the error specified in the 'error-id' field therein, then the Administrator may use that information to determine what actions to take next. If the Concise Problem Details data item specified in the error response includes the 'detail' entry and the Administrator supports it, such an entry may provide additional context. In particular, the following guidelines apply.</t>
      <ul spacing="normal">
        <li>
          <t>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-post"/> and <xref target="configuration-resource-patch"/>), before sending a new request of group deletion to the Group Manager.</t>
        </li>
        <li>
          <t>In case of error 11, the Administrator has the following options.  </t>
          <ul spacing="normal">
            <li>
              <t>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 making the group name available again before the Administrator sends the new POST request. Hence, this option is not viable if it is unacceptable for the Administrator to considerably or indefinitely postpone the creation of the new group.</t>
            </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 a 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 fewer 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 'detail' entry of the Concise Problem Details data item <xref target="RFC9290"/> specified in the error response, and send a new request to the Group Manager for creating the group configuration accordingly.      </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-post"/>) 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 'detail' entry of the Concise Problem Details data item <xref target="RFC9290"/> specified in 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="operational-considerations">
      <name>Operational Considerations</name>
      <t>In addition to the considerations already discussed in this document (e.g., regarding default values), this section compiles additional operational considerations that hold for this document.</t>
      <t>The operational considerations from <xref target="I-D.ietf-ace-key-groupcomm-oscore"/> also apply, with respect to the operations and RESTful interface at the Group Manager that are defined in that document for the management of keying material in OSCORE groups.</t>
      <section anchor="administration-of-groups">
        <name>Administration of Groups</name>
        <t>The RESTful admin interface at the Group Manager defined in this document is specifically intended for the administration of OSCORE groups. To this end, it provides the set of operations specified in <xref target="interactions"/> for interacting with the group-collection resource and the group-configuration resources at the Group Manager (see <xref target="managing-groups"/>).</t>
        <t>By relying on a data model based on CBOR for the representation of group configurations and their parameters (see <xref target="group-configurations"/>), the admin interface enables multiple Administrators to perform administrative operations at the same Group Manager in an interoperable way. <xref target="multiple-admins"/> discusses the case where multiple Administrators operate on the same Group Manager in the interest of the same OSCORE group.</t>
        <t>Except for the status parameters 'rt', 'ace_groupcomm_profile', and 'joining_uri', the group configuration parameters defined in this document are configurable by authorized Administrators.</t>
        <t>Notably, the Group Manager takes the final decision about:</t>
        <ul spacing="normal">
          <li>
            <t>The name given to a newly created OSCORE group, specified by the 'group_name' status parameter.</t>
          </li>
          <li>
            <t>The URI of the group-membership resource <xref target="I-D.ietf-ace-key-groupcomm-oscore"/> for joining a newly created group, specified by the 'joining_uri' status parameter.</t>
          </li>
          <li>
            <t>The URI of the Authorization Server associated with the Group Manager for an OSCORE group, specified by the 'as_uri' status parameter.</t>
          </li>
        </ul>
        <t>Furthermore, the configuration parameters 'group_mode' and 'pairwise_mode' as well as the status parameters 'group_name' and 'gid_reuse' cannot be updated after the group has been created with its initial configuration.</t>
        <t>Default values for the group configuration parameters are specified in <xref target="default-values"/>, building on the default values specified in <xref section="14" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore"/> when applicable. As defined in <xref target="default-values"/>, it is recommended that the default values used by the Group Manager are the specified ones, but the Group Manager may choose to use different ones.</t>
        <t>Given a group, its configuration is available to retrieve to Administrators that are authorized to access the corresponding group-configuration resource at the Group Manager, by means of a GET request (see <xref target="configuration-resource-get"/>) or a FETCH request (see <xref target="configuration-resource-fetch"/>). In practice, most of the information specified in the group configuration will also be provided to authorized Clients that interact with the Group Manager through the RESTful interface defined in <xref target="I-D.ietf-ace-key-groupcomm-oscore"/>, e.g., when joining the group and later on as current group members.</t>
        <t>Creating a new group and the corresponding configuration at the Group Manager yields the expectation that traffic will occur between the Group Manager and (candidate) group members, as well as between nodes that have become group members. Conversely, the deletion of a group and of the corresponding configuration anticipates that the traffic mentioned above will cease. In either case, this information can be used to accordingly plan and adjust the allocation of network resources. In particular, this information can be acquired by Administrators that are authorized to access the group-collection resource at the Group Manager, by means of a GET request (see <xref target="collection-resource-get"/>) or a FETCH request (see <xref target="collection-resource-fetch"/>). Alternatively, it can be acquired by authorized, external management applications and operators, by retrieving relevant log entries about the creation and deletion of groups (see <xref target="ops-cons-logging"/>).</t>
        <t>Certain operations at the Group Manager could result in side effects on network nodes, in terms of communications with the Group Manager and with one another as members of the same OSCORE group. These side effects are compiled in <xref target="sssec-effects-overwrite-joining-nodes"/> and <xref target="sssec-effects-overwrite-group-members"/> with respect to the overwriting of an existing group configuration, in <xref target="sssec-effects-update-joining-nodes"/> and <xref target="sssec-effects-update-group-members"/> with respect to the selective update of an existing group configuration, and in <xref target="sssec-effects-delete-group-members"/> with respect to the deletion of an OSCORE group and of its corresponding configuration.</t>
        <t>By delegating the creation, (re)-configuration, and deletion of OSCORE groups to an Administrator, the Group Manager can be agnostic of the specific applications using secure group communication. Nonetheless, even when providing the admin interface defined in this document, the Group Manager could additionally take the initiative in creating, (re-)configuring, and deleting some of its OSCORE groups through a local application interface, i.e., without the involvement of an Administrator.</t>
      </section>
      <section anchor="ops-cons-logging">
        <name>Logging</name>
        <t>When performing its normal operations, the Group Manager is expected to produce and store timestamped logs about the following:</t>
        <ul spacing="normal">
          <li>
            <t>Any event that has resulted in the Group Manager sending an error response, as a reply to a request received at any of the resources exported by the interface specified in this document.  </t>
            <t>
The logged information contains a description of the error occurred in the context of the interface defined in the present document, together with a description of the event related to the error and relevant metadata about the Administrator that has sent the request. For instance, possible metadata include: addressing information of the Administrator; when applicable, (an identifier of) the authentication credential that the Administrator has used to authenticate itself to the Group Manager when establishing their secure communication association.  </t>
            <t>
Note that, if the error response uses the format problem-details defined in <xref target="RFC9290"/>, then the "detail" entry in the response payload is meant to convey the diagnostic description of the error, which is meant to be part of the log entry for this event.</t>
          </li>
          <li>
            <t>Any event consisting in a successfully performed operation that is triggered by a request received at any of the resources exported by the interface specified in this document.  </t>
            <t>
Such events include:  </t>
            <ul spacing="normal">
              <li>
                <t>An Administrator retrieving a list of existing OSCORE groups.</t>
              </li>
              <li>
                <t>An Administrator creating a new OSCORE group. This results in the creation of a group-configuration resource and the corresponding group-membership resource.</t>
              </li>
              <li>
                <t>An Administrator retrieving (part of) a group configuration.</t>
              </li>
              <li>
                <t>An Administrator overwriting or selectively updating a group configuration.</t>
              </li>
              <li>
                <t>An Administrator deleting an OSCORE group and thus the corresponding group configuration. This results in the deletion of a group-configuration resource and of the corresponding group-membership resource.</t>
              </li>
            </ul>
            <t>
The logged information contains a description of the operation performed in the context of the interface defined in the present document, together with relevant metadata about the Administrator that has sent the request. For instance, possible metadata include: addressing information of the Administrator; when applicable, (an identifier of) the authentication credential that the Administrator has used to authenticate itself to the Group Manager when establishing their secure communication association.</t>
          </li>
          <li>
            <t>For each OSCORE group, the evolution of the corresponding group configuration, i.e., starting from the initial configuration that is established when creating the group, and tracking the result of possible overwriting and selective updates.  </t>
            <t>
In practice, this can be achieved by readily creating and storing dedicated log entries, or instead by producing those when needed, leveraging the logged events that pertain to the group-configuration resource for the group in question.  </t>
            <t>
The Group Manager is also expected to log the evolution of group configurations that are created, overwritten, updated, and deleted at its own initiative through a local application interface, i.e., without the involvement of an Administrator.</t>
          </li>
        </ul>
        <t>In addition to what is compiled above, the Group Manager could log additional information. Further details about what the Group Manager logs, with what granularity, and based on what triggering events and conditions are application-specific and left to operators to define.</t>
        <t>The Group Manager <bcp14>MUST NOT</bcp14> log any secret or confidential information pertaining to a group and its configuration. Although the configuration parameters and status parameters defined in <xref target="group-configurations"/> of this document do not specify secret or confidential information, this requirement is set in preparation for possible new parameters that can be defined in the future.</t>
        <t>It is up to the application to specify for how long a log entry is retained from the time of its creation and until its deletion. Different retention policies could be enforced for different groups. For a given group, the oldest log entries are expected to be those deleted first, and different retention policies could be enforced depending on whether the group currently exists or has been deleted.</t>
        <t>It is out of the scope of this document what specific semantics and data model are used by the Group Manager for producing and processing the logs. Nonetheless, log entries could use the data model defined in <xref target="group-configurations"/> to represent group configurations. Specific semantics and data models can be defined by applications and future specifications.</t>
        <t>The Group Manager is expected to make the logs that it produces available for secure access by authorized external management applications and operators.</t>
        <t>In particular, logged information could be retrieved in the following ways:</t>
        <ul spacing="normal">
          <li>
            <t>By accessing logs at the Group Manager through polling. This can occur in an occasional, regular, or event-driven way.</t>
          </li>
          <li>
            <t>Through notifications sent by the Group Manager according to an operator-defined frequency.</t>
          </li>
          <li>
            <t>Through notifications asynchronously sent by the Group Manager, throttling them in order to prevent congestion and duplication and to not create attack vectors.</t>
          </li>
        </ul>
        <t>Some of the logged information can be privacy-sensitive. This especially holds for the metadata about an Administrator, i.e., addressing information of the Administrator and, when applicable, (an identifier of) the authentication credential that the Administrator has used to authenticate itself to the Group Manager when establishing their secure communication association. If external management applications and operators obtain such metadata, they become able to track a given Administrator, as to its interactions with one or multiple Group Managers and its performed operations at those Group Managers.</t>
        <t>Therefore, the logged information that is effectively provided to external management applications and operators <bcp14>SHOULD</bcp14> be redacted by the Group Manager, by omitting any privacy-sensitive information element that could enable or facilitate the impairment of Administrators' privacy, e.g., by tracking Administrators across different Group Managers.</t>
        <t>Furthermore, within a group configuration, the status parameters 'group_description' and 'app_groups' specify information that can be privacy-sensitive. Therefore, the logged information that is effectively provided to external management applications and operators <bcp14>SHOULD</bcp14> be redacted by the Group Manager, by omitting the information specified in the status parameters 'group_description' and 'app_groups'. The same applies with respect to privacy-sensitive information specified by configuration parameters or status parameters that can be defined in the future.</t>
        <t>Exceptions to the omission of logged information could apply, e.g., if the Group Manager can verify that the management application or operator in question is specifically authorized to obtain such privacy-sensitive information and appropriately entitled to obtain it according to enforced privacy policies.</t>
      </section>
      <section anchor="access-control">
        <name>Access Control</name>
        <t>Building on the ACE framework <xref target="RFC9200"/>, access control is enforced for Administrators acting as Clients that interact with the interface at the Group Manager specified in this document.</t>
        <t>In particular, the granularity of such access control takes into account the resource specifically targeted at the Group Manager, the operation requested by sending a request to that resource, and the specific permission(s) that the requesting Administrator is authorized to have according to its corresponding access token.</t>
        <t>Furthermore, the interactions between an Administrator and the Group Manager are secured as per the specific transport profile of ACE used (e.g., <xref target="RFC9202"/> and <xref target="RFC9203"/>).</t>
      </section>
    </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="RFC9594"/> 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-post"/> 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-post"/> 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 <bcp14>SHOULD NOT</bcp14> 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>
          </li>
          <li>
            <t>Following the enforcement of a new group configuration, a group member might not deem it conducive to a sufficient security level (e.g., in terms of security algorithms and related parameters). In such a case, it is <bcp14>RECOMMENDED</bcp14> that the group member leaves the group.</t>
          </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 <bcp14>MUST</bcp14> 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 from 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="RFC9594"/>, a compromised Group Manager would allow an adversary to monitor the group configurations specified by an Administrator, or to enforce group configurations different from 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="RFC9594"/>).</t>
        <t>Unlike what is defined in <xref section="10.2" sectionFormat="of" target="RFC9594"/> 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><xref target="collection-resource-get"/> and <xref target="collection-resource-fetch"/> define exchanges where the Administrator sends a GET or FETCH request to the group-collection resource at the Group Manager. The payload of a successful response to those requests can include links to group-configuration resources at the Group Manager. When processing the response, the Administrator <bcp14>MUST NOT</bcp14> accept any of such links whose URI specified as link target does not point to the Group Manager that has sent the response. In particular, the Administrator <bcp14>MUST NOT</bcp14> consider those links as pointing to the alleged group-configuration resources.</t>
        <t>From <xref target="collection-resource-post"/> to <xref target="configuration-resource-patch"/>, other exchanges are defined where the Administrator sends different requests to the group-collection resource or a group-configuration resource at the Group Manager. The payload of a successful response to those requests has to or can include the 'joining_uri' status parameter. When processing the response, the Administrator <bcp14>SHOULD NOT</bcp14> accept the URI encoded by the 'joining_uri' parameter if the URI does not point to the Group Manager that has sent the response. In particular, the Administrator <bcp14>SHOULD NOT</bcp14> consider that URI as pointing to the alleged group-membership resource.</t>
        <t>Exceptions in accepting URIs that allegedly point to group-membership resources ought to be carefully understood and vetted by the Administrator. As a notable example, a trusted CoAP reverse-proxy might stand in for the Group Manager, in such a way that candidate group members can reach the Group Manager by actually interacting with the reverse-proxy. In this case, the host subcomponent of the URI does not refer to the Group Manager, but instead to the reverse-proxy.</t>
        <t>The Administrator can verify that a URI retrieved from a response sent by the Group Manager points to the same Group Manager by comparing the host subcomponent of the URI with the host subcomponent of the corresponding request URI. If one host subcomponent consists of an IP literal and the other host subcomponent consists of a hostname, the comparison could require resolving the hostname to an IP address.</t>
        <t>If the Administrator determines that a URI pointing to an alleged group-membership resource cannot be accepted, the following applies:</t>
        <ul spacing="normal">
          <li>
            <t>Aligned with what is allowed by the granted authorization, the Administrator can attempt to retrieve the correct URI pointing to the group-membership resource in question, by sending a GET or FETCH request to the corresponding group-configuration resource (see <xref target="configuration-resource-get"/> and <xref target="configuration-resource-fetch"/>). Also aligned with what is allowed by the granted authorization, the Administrator could ultimately delete the group configuration in question by deleting the corresponding group-configuration resource (see <xref target="configuration-resource-delete"/>) and then create a new group configuration (see <xref target="collection-resource-post"/>).</t>
          </li>
          <li>
            <t>The Administrator <bcp14>MUST NOT</bcp14> register the link to the group-membership resource with URI specified in the 'joining_uri' parameter to a Resource Directory <xref target="RFC9176"/> on behalf of the Group Manager.</t>
          </li>
        </ul>
        <t>If the Administrator determines that a URI pointing to an alleged group-configuration resource or group-membership resource cannot be accepted, the Administrator ought to report it as appropriate.</t>
        <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 could 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 <bcp14>MUST</bcp14> 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="RFC9770"/>.</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 <xref target="ACE.Groupcomm.Parameters"/> within the "Authentication and Authorization for Constrained Environments (ACE)" registry group:</t>
        <ul spacing="normal">
          <li>
            <t>Name: hkdf</t>
          </li>
          <li>
            <t>CBOR Key: -1 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: tstr or int</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Name: cred_fmt</t>
          </li>
          <li>
            <t>CBOR Key: -2 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: int</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Name: group_mode</t>
          </li>
          <li>
            <t>CBOR Key: -3 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: True or False</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Name: gp_enc_alg</t>
          </li>
          <li>
            <t>CBOR Key: -4 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: Null or tstr or int</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Name: sign_alg</t>
          </li>
          <li>
            <t>CBOR Key: -5 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: Null or tstr or int</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Name: sign_params</t>
          </li>
          <li>
            <t>CBOR Key: -6 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: Null or array</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Name: pairwise_mode</t>
          </li>
          <li>
            <t>CBOR Key: -7 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: True or False</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Name: alg</t>
          </li>
          <li>
            <t>CBOR Key: -8 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: Null or tstr or int</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Name: ecdh_alg</t>
          </li>
          <li>
            <t>CBOR Key: -9 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: Null or tstr or int</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Name: ecdh_params</t>
          </li>
          <li>
            <t>CBOR Key: -10 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: Null or array</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Name: det_req</t>
          </li>
          <li>
            <t>CBOR Key: -25 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: True or False</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Name: det_hash_alg</t>
          </li>
          <li>
            <t>CBOR Key: -26 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: tstr or int</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Name: rt</t>
          </li>
          <li>
            <t>CBOR Key: -11 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: tstr</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Name: active</t>
          </li>
          <li>
            <t>CBOR Key: -12 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: True or False</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Name: group_name</t>
          </li>
          <li>
            <t>CBOR Key: -13 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: tstr or #6.&lt;uint&gt;(any)</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Name: group_description</t>
          </li>
          <li>
            <t>CBOR Key: -14 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: Null or tstr</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Name: max_stale_sets</t>
          </li>
          <li>
            <t>CBOR Key: -15 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: uint</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Name: gid_reuse</t>
          </li>
          <li>
            <t>CBOR Key: -16 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: True or False</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Name: app_groups</t>
          </li>
          <li>
            <t>CBOR Key: -17 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: array</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Name: joining_uri</t>
          </li>
          <li>
            <t>CBOR Key: -18 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: tstr</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Name: as_uri</t>
          </li>
          <li>
            <t>CBOR Key: -19 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: tstr</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Name: conf_filter</t>
          </li>
          <li>
            <t>CBOR Key: -27 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: array</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Name: app_groups_diff</t>
          </li>
          <li>
            <t>CBOR Key: -28 (suggested)</t>
          </li>
          <li>
            <t>CBOR Type: array</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
      </section>
      <section anchor="iana-ace-groupcomm-errors">
        <name>ACE Groupcomm Errors</name>
        <t>IANA is asked to register the following entries in the "ACE Groupcomm Errors" registry <xref target="ACE.Groupcomm.Errors"/> within the "Authentication and Authorization for Constrained Environments (ACE)" registry group:</t>
        <ul spacing="normal">
          <li>
            <t>Value: 10 (suggested)</t>
          </li>
          <li>
            <t>Description: Group currently active</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Value: 11 (suggested)</t>
          </li>
          <li>
            <t>Description: Unable to determine a group name</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Value: 12 (suggested)</t>
          </li>
          <li>
            <t>Description: Unsupported group configuration</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
      </section>
      <section anchor="iana-rt">
        <name>Resource Types</name>
        <t>IANA is asked to register the following entries in the "Resource Type (rt=) Link Target Attribute Values" registry <xref target="Resource.Type.Values"/> within the "Constrained Restful Environments (CoRE) Parameters" registry group:</t>
        <ul spacing="normal">
          <li>
            <t>Value: core.osc.gcoll</t>
          </li>
          <li>
            <t>Description: Group-collection resource of an OSCORE Group Manager</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
        <t><br/></t>
        <ul spacing="normal">
          <li>
            <t>Value: core.osc.gconf</t>
          </li>
          <li>
            <t>Description: Group-configuration resource of an OSCORE Group Manager</t>
          </li>
          <li>
            <t>Reference: [RFC-XXXX]</t>
          </li>
        </ul>
      </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 within the "Authentication and Authorization for Constrained Environments (ACE)" registry group. 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>
            <t>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.</t>
          </li>
          <li>
            <t>Value: The numeric identifier for this permission. These values <bcp14>MUST</bcp14> be unique. The value can be an integer greater than or equal to 0. Integer values greater than 65535 are marked as "Private Use" (see <xref section="4.1" sectionFormat="of" target="RFC8126"/>). All other values use the registration policy "Expert Review" (see <xref section="4.5" sectionFormat="of" 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>
            <t>Description: This field contains a brief description of the permission.</t>
          </li>
          <li>
            <t>Reference: This contains a pointer to the public specification for the permission, if one exists.</t>
          </li>
        </ul>
        <t>This registry will be initially populated by the values in <xref target="tab-permission-values"/>. 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>
            <t>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.</t>
          </li>
          <li>
            <t>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<sup>V+1</sup> - 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<sup>V+1</sup> - 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.</t>
          </li>
          <li>
            <t>Specifications are recommended. When specifications are not provided, the description provided needs to have sufficient information to verify the points above.</t>
          </li>
        </ul>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="I-D.ietf-core-oscore-groupcomm">
          <front>
            <title>Group Object Security for Constrained RESTful Environments (Group OSCORE)</title>
            <author fullname="Marco Tiloca" initials="M." surname="Tiloca">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Göran Selander" initials="G." surname="Selander">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Francesca Palombini" initials="F." surname="Palombini">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="John Preuß Mattsson" initials="J. P." surname="Mattsson">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Rikard Höglund" initials="R." surname="Höglund">
              <organization>RISE AB</organization>
            </author>
            <date day="23" month="December" year="2025"/>
            <abstract>
              <t>   This document defines the security protocol Group Object Security for
   Constrained RESTful Environments (Group OSCORE), providing end-to-end
   security of messages exchanged with the Constrained Application
   Protocol (CoAP) between members of a group, e.g., sent over IP
   multicast.  In particular, the described protocol defines how OSCORE
   is used in a group communication setting to provide source
   authentication for CoAP group requests, sent by a client to multiple
   servers, and for protection of the corresponding CoAP responses.
   Group OSCORE also defines a pairwise mode where each member of the
   group can efficiently derive a symmetric pairwise key with each other
   member of the group for pairwise OSCORE communication.  Group OSCORE
   can be used between endpoints communicating with CoAP or CoAP-
   mappable HTTP.

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

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ace-key-groupcomm-oscore-21"/>
        </reference>
        <reference anchor="I-D.ietf-core-groupcomm-bis">
          <front>
            <title>Group Communication for the Constrained Application Protocol (CoAP)</title>
            <author fullname="Esko Dijk" initials="E." surname="Dijk">
              <organization>IoTconsultancy.nl</organization>
            </author>
            <author fullname="Marco Tiloca" initials="M." surname="Tiloca">
              <organization>RISE AB</organization>
            </author>
            <date day="10" month="February" year="2026"/>
            <abstract>
              <t>   The Constrained Application Protocol (CoAP) is a web transfer
   protocol for constrained devices and constrained networks.  In a
   number of use cases, constrained devices often naturally operate in
   groups (e.g., in a building automation scenario, all lights in a
   given room may need to be switched on/off as a group).  This document
   specifies the use of CoAP for group communication, including the use
   of UDP/IP multicast as the default underlying data transport.  Both
   unsecured and secured CoAP group communication are specified.
   Security is achieved by use of the Group Object Security for
   Constrained RESTful Environments (Group OSCORE) protocol.  The target
   application area of this specification is any group communication use
   cases that involve resource-constrained devices or networks that
   support CoAP.  This document replaces and obsoletes RFC 7390, while
   it updates RFC 7252 and RFC 7641.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-core-groupcomm-bis-18"/>
        </reference>
        <reference anchor="RFC3986">
          <front>
            <title>Uniform Resource Identifier (URI): Generic Syntax</title>
            <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
            <author fullname="R. Fielding" initials="R." surname="Fielding"/>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <date month="January" year="2005"/>
            <abstract>
              <t>A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet. The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier. This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="66"/>
          <seriesInfo name="RFC" value="3986"/>
          <seriesInfo name="DOI" value="10.17487/RFC3986"/>
        </reference>
        <reference anchor="RFC6690">
          <front>
            <title>Constrained RESTful Environments (CoRE) Link Format</title>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
            <date month="August" year="2012"/>
            <abstract>
              <t>This specification defines Web Linking using a link format for use by constrained web servers to describe hosted resources, their attributes, and other relationships between links. Based on the HTTP Link Header field defined in RFC 5988, the Constrained RESTful Environments (CoRE) Link Format is carried as a payload and is assigned an Internet media type. "RESTful" refers to the Representational State Transfer (REST) architecture. A well-known URI is defined as a default entry point for requesting the links hosted by a server. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6690"/>
          <seriesInfo name="DOI" value="10.17487/RFC6690"/>
        </reference>
        <reference anchor="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="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="RFC9176">
          <front>
            <title>Constrained RESTful Environments (CoRE) Resource Directory</title>
            <author fullname="C. Amsüss" initials="C." role="editor" surname="Amsüss"/>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
            <author fullname="M. Koster" initials="M." surname="Koster"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="P. van der Stok" initials="P." surname="van der Stok"/>
            <date month="April" year="2022"/>
            <abstract>
              <t>In many Internet of Things (IoT) applications, direct discovery of resources is not practical due to sleeping nodes or networks where multicast traffic is inefficient. These problems can be solved by employing an entity called a Resource Directory (RD), which contains information about resources held on other servers, allowing lookups to be performed for those resources. The input to an RD is composed of links, and the output is composed of links constructed from the information stored in the RD. This document specifies the web interfaces that an RD supports for web servers to discover the RD and to register, maintain, look up, and remove information on resources. Furthermore, new target attributes useful in conjunction with an RD are defined.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9176"/>
          <seriesInfo name="DOI" value="10.17487/RFC9176"/>
        </reference>
        <reference anchor="RFC9200">
          <front>
            <title>Authentication and Authorization for Constrained Environments Using the OAuth 2.0 Framework (ACE-OAuth)</title>
            <author fullname="L. Seitz" initials="L." surname="Seitz"/>
            <author fullname="G. Selander" initials="G." surname="Selander"/>
            <author fullname="E. Wahlstroem" initials="E." surname="Wahlstroem"/>
            <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>This specification defines a framework for authentication and authorization in Internet of Things (IoT) environments called ACE-OAuth. The framework is based on a set of building blocks including OAuth 2.0 and the Constrained Application Protocol (CoAP), thus transforming a well-known and widely used authorization solution into a form suitable for IoT devices. Existing specifications are used where possible, but extensions are added and profiles are defined to better serve the IoT use cases.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9200"/>
          <seriesInfo name="DOI" value="10.17487/RFC9200"/>
        </reference>
        <reference anchor="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="RFC9290">
          <front>
            <title>Concise Problem Details for Constrained Application Protocol (CoAP) APIs</title>
            <author fullname="T. Fossati" initials="T." surname="Fossati"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="October" year="2022"/>
            <abstract>
              <t>This document defines a concise "problem detail" as a way to carry machine-readable details of errors in a Representational State Transfer (REST) response to avoid the need to define new error response formats for REST APIs for constrained environments. The format is inspired by, but intended to be more concise than, the problem details for HTTP APIs defined in RFC 7807.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9290"/>
          <seriesInfo name="DOI" value="10.17487/RFC9290"/>
        </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="RFC9485">
          <front>
            <title>I-Regexp: An Interoperable Regular Expression Format</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="T. Bray" initials="T." surname="Bray"/>
            <date month="October" year="2023"/>
            <abstract>
              <t>This document specifies I-Regexp, a flavor of regular expression that is limited in scope with the goal of interoperation across many different regular expression libraries.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9485"/>
          <seriesInfo name="DOI" value="10.17487/RFC9485"/>
        </reference>
        <reference anchor="RFC9594">
          <front>
            <title>Key Provisioning for Group Communication Using Authentication and Authorization for Constrained Environments (ACE)</title>
            <author fullname="F. Palombini" initials="F." surname="Palombini"/>
            <author fullname="M. Tiloca" initials="M." surname="Tiloca"/>
            <date month="September" year="2024"/>
            <abstract>
              <t>This document defines how to use the Authentication and Authorization for Constrained Environments (ACE) framework to distribute keying material and configuration parameters for secure group communication. Candidate group members that act as Clients and are authorized to join a group can do so by interacting with a Key Distribution Center (KDC) acting as the Resource Server, from which they obtain the keying material to communicate with other group members. While defining general message formats as well as the interface and operations available at the KDC, this document supports different approaches and protocols for secure group communication. Therefore, details are delegated to separate application profiles of this document as specialized instances that target a particular group communication approach and define how communications in the group are protected. Compliance requirements for such application profiles are also specified.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9594"/>
          <seriesInfo name="DOI" value="10.17487/RFC9594"/>
        </reference>
        <reference anchor="COSE.Algorithms" target="https://www.iana.org/assignments/cose/cose.xhtml#algorithms">
          <front>
            <title>COSE Algorithms</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="ACE.Groupcomm.Parameters" target="https://www.iana.org/assignments/ace/ace.xhtml#ace-groupcomm-parameters">
          <front>
            <title>ACE Groupcomm Parameters</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="ACE.Groupcomm.Errors" target="https://www.iana.org/assignments/ace/ace.xhtml#ace-groupcomm-errors">
          <front>
            <title>ACE Groupcomm Errors</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="Resource.Type.Values" target="https://www.iana.org/assignments/core-parameters/core-parameters.xhtml#rt-link-target-att-value">
          <front>
            <title>Resource Type (rt=) Link Target Attribute Values</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.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">
         </author>
            <date day="2" month="March" year="2026"/>
            <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 defines how a CoAP endpoint can use
   descriptions and links of resources registered at the CoRE Resource
   Directory to discover security groups and to acquire information for
   joining them through the respective Group Manager.  A given security
   group can be used to protect communications in multiple application
   groups, which are separately announced in the Resource Directory as
   sets of endpoints sharing a pool of resources.  This approach is
   consistent with, but not limited to, the joining of security groups
   based on the ACE framework for Authentication and Authorization in
   constrained environments.

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

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

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

   The document also specifies CBOR encoded data structures for
   certificate (signing) requests and certificate request templates, new
   COSE headers, as well as a TLS certificate type and a file format for
   C509.  This document updates RFC 6698; the TLSA selectors registry is
   extended to include C509 certificates.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cose-cbor-encoded-cert-17"/>
        </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="RFC6347">
          <front>
            <title>Datagram Transport Layer Security Version 1.2</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <author fullname="N. Modadugu" initials="N." surname="Modadugu"/>
            <date month="January" year="2012"/>
            <abstract>
              <t>This document specifies version 1.2 of the Datagram Transport Layer Security (DTLS) protocol. The DTLS protocol provides communications privacy for datagram protocols. The protocol allows client/server applications to communicate in a way that is designed to prevent eavesdropping, tampering, or message forgery. The DTLS protocol is based on the Transport Layer Security (TLS) protocol and provides equivalent security guarantees. Datagram semantics of the underlying transport are preserved by the DTLS protocol. This document updates DTLS 1.0 to work with TLS version 1.2. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6347"/>
          <seriesInfo name="DOI" value="10.17487/RFC6347"/>
        </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="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>
        <reference anchor="RFC9770">
          <front>
            <title>Notification of Revoked Access Tokens in the Authentication and Authorization for Constrained Environments (ACE) Framework</title>
            <author fullname="M. Tiloca" initials="M." surname="Tiloca"/>
            <author fullname="F. Palombini" initials="F." surname="Palombini"/>
            <author fullname="S. Echeverria" initials="S." surname="Echeverria"/>
            <author fullname="G. Lewis" initials="G." surname="Lewis"/>
            <date month="June" year="2025"/>
            <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 (RSs) to access a Token Revocation List (TRL) 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 RSs.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9770"/>
          <seriesInfo name="DOI" value="10.17487/RFC9770"/>
        </reference>
      </references>
    </references>
    <?line 1768?>

<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 data model AIF-OSCORE-GROUPCOMM and to its extension specified in <xref target="scope-format"/>. These scope entries are in turn specified as the value of the 'scope' claim to include in the access token.</t>
      <t>This appendix provides an example of how the AS can evaluate the requested permissions against the access policies pertaining to the Administrator for the Group Manager in question.</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>
      <t>Also, it is assumed that the AS stores the access policies as a set of "admin policy entries", which have the same format of the scope entries according to the AIF data model AIF-OSCORE-GROUPCOMM (see <xref target="scope-format"/>). The following specifically considers only "admin policy entries", i.e., policy entries for Administrators of OSCORE groups hereafter shortly referred to as "policy entries".</t>
      <t>The AS performs the following steps:</t>
      <ol spacing="normal" type="1"><li>
          <t>The AS initializes an empty set of scope entries, namely S_OUT.</t>
        </li>
        <li>
          <t>For each scope entry E_S in the 'scope' parameter of the Authorization Request, the AS performs the following actions.  </t>
          <t>
a. The AS initializes an empty set of policy entries, namely S_AUX.  </t>
          <t>
b. The AS considers all the policy entries related to the Administrator and the Group Manager in question. For each policy entry E_P among those policy entries, the AS determines whether every group name matching with the Toid of E_S would also match with the Toid of E_P. If that is the case, then the AS adds E_P to the set S_AUX. The particular way that the AS uses to make a determination is implementation specific.  </t>
          <t>
c. If the set S_AUX is empty, the AS proceeds to the next scope entry, if any. Otherwise, the AS computes TPERM_AUX as the union of the permission sets associated with the policy entries in the set S_AUX. That is, TPERM_AUX is the inclusive OR of the binary representations of the Tperm values in the policy entries within the set S_AUX.  </t>
          <t>
d. The AS adds to the set S_OUT one scope entry, such that its Toid is the same as in the scope entry E_S, while its Tperm is the AND of TPERM_AUX with the Tperm in the scope entry E_S.</t>
        </li>
        <li>
          <t>For each scope entry E_S in the 'scope' parameter of the Authorization Request, the AS performs the following actions.  </t>
          <t>
a. The AS initializes an empty set of policy entries, namely S_AUX.  </t>
          <t>
b. The AS considers all the policy entries related to the Administrator and the Group Manager in question. For each policy entry E_P among those policy entries, and such that the Toid of E_P is different from the Toid of E_S, the AS determines whether every group name matching with the Toid of E_P would also match with the Toid of E_S. If that is the case, then the AS adds E_P to the set S_AUX. The particular way that the AS uses to make a determination is implementation specific.  </t>
          <t>
c. If the set S_AUX is empty, the AS proceeds to the next scope entry, if any. Otherwise, for each policy entry E_P in S_AUX, the AS adds to the set S_OUT one scope entry, such that its Toid is the same as in the policy entry E_P, while its Tperm is the AND of the Tperm in the policy entry E_P with the Tperm in the scope entry E_S.</t>
        </li>
        <li>
          <t>For each scope entry E_S in the 'scope' parameter of the Authorization Request, the AS performs the following actions.  </t>
          <t>
a. The AS considers all the policy entries related to the Administrator and the Group Manager in question, such that they were never added to the set S_AUX during the previous Steps 2 and 3. For each policy entry E_P among those policy entries, the AS attempts to determine a group name pattern TOID_AUX such that every group name matching with TOID_AUX would also match with the Toid of E_P as well as with the Toid of E_S. The particular way that the AS uses to make a determination is implementation specific.  </t>
          <t>
b. If the AS could not determine a group name pattern TOID_AUX for a given policy entry E_P, then the AS proceeds to the next policy entry E_P identified at the previous Step 4a, if any. Otherwise, the AS adds to the set S_OUT one scope entry, such that its Toid is TOID_AUX, while its Tperm is the AND of the Tperm in the policy entry E_P with the Tperm in the scope entry E_S.</t>
        </li>
        <li>
          <t>If the set S_OUT is 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 set S_OUT as the scope entries for the 'scope' claim to include in the access token, as per the format defined in <xref target="scope-format"/>.</t>
        </li>
      </ol>
    </section>
    <section anchor="sec-cddl-model" removeInRFC="true">
      <name>CDDL Model</name>
      <figure anchor="fig-cddl-model">
        <name>CDDL model</name>
        <sourcecode type="cddl"><![CDATA[
; ACE Groupcomm Parameters
hkdf = -1
cred_fmt = -2
group_mode = -3
gp_enc_alg = -4
sign_alg = -5
sign_params = -6
pairwise_mode = -7
alg = -8
ecdh_alg = -9
ecdh_params = -10
det_req = -25
det_hash_alg = -26
rt = -11
active = -12
group_name = -13
group_description = -14
max_stale_sets = -15
gid_reuse = -16
app_groups = -17
joining_uri = -18
as_uri = -19
conf_filter = -27
app_groups_diff = -28

; ACE Groupcomm Profiles
coap_group_oscore_app = 1
]]></sourcecode>
      </figure>
    </section>
    <section anchor="sec-document-updates" removeInRFC="true">
      <name>Document Updates</name>
      <section anchor="sec-16-17">
        <name>Version -16 to -17</name>
        <ul spacing="normal">
          <li>
            <t>Clarified that group names are consistent with the semantics of URI path segments.</t>
          </li>
          <li>
            <t>Removed unnecessary normative language.</t>
          </li>
          <li>
            <t>Ensured that sourcecode snippets are marked as CDDL in the XML file.</t>
          </li>
          <li>
            <t>Fixed nits.</t>
          </li>
        </ul>
      </section>
      <section anchor="sec-15-16">
        <name>Version -15 to -16</name>
        <ul spacing="normal">
          <li>
            <t>Removed requirements on operations to be supported by the Administrator.</t>
          </li>
          <li>
            <t>More details in the definition of a column in the new IANA registry.</t>
          </li>
          <li>
            <t>Added reference to Section 4.1 of RFC 8126.</t>
          </li>
          <li>
            <t>Added references to IANA registries.</t>
          </li>
          <li>
            <t>Minor fixes and editorial improvements.</t>
          </li>
        </ul>
      </section>
      <section anchor="sec-14-15">
        <name>Version -14 to -15</name>
        <ul spacing="normal">
          <li>
            <t>Updated section title (removed "full").</t>
          </li>
          <li>
            <t>Updated example of FETCH request to group-configuration resource.</t>
          </li>
          <li>
            <t>Used numbered steps to describe operations of some resource handlers.</t>
          </li>
          <li>
            <t>Security considerations: handling of URIs that should point to the Group Manager but do not.</t>
          </li>
          <li>
            <t>Minor fixes and editorial improvements.</t>
          </li>
        </ul>
      </section>
      <section anchor="sec-13-14">
        <name>Version -13 to -14</name>
        <ul spacing="normal">
          <li>
            <t>Aligned with draft-ietf-ace-key-groupcomm-oscore, 'sign_enc_alg' from that document is renamed as 'gp_enc_alg'.</t>
          </li>
          <li>
            <t>Fixed error response codes in two error response messages.</t>
          </li>
          <li>
            <t>Added the "Operational Considerations" section.</t>
          </li>
          <li>
            <t>Clarifications:  </t>
            <ul spacing="normal">
              <li>
                <t>Secure communications required as per the transport profile of ACE used.</t>
              </li>
              <li>
                <t>Explicitly mentioned the Content-Format used for each message.</t>
              </li>
              <li>
                <t>Effects of overwriting a group configuration on joining nodes and group members.</t>
              </li>
              <li>
                <t>Improved readability of error handling for the DELETE handler.</t>
              </li>
              <li>
                <t>Intended use of default values for configuration/status parameters.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Fixed examples: spacing and registered/placeholder codepoints.</t>
          </li>
          <li>
            <t>Minor fixes in the IANA considerations:  </t>
            <ul spacing="normal">
              <li>
                <t>Mentioned the registry group including the new registry.</t>
              </li>
              <li>
                <t>Specifications are not required for Expert Review and one might not exist for a registry entry.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Fixes in the example algorithm in the appendix.</t>
          </li>
          <li>
            <t>Updated references.</t>
          </li>
          <li>
            <t>Minor fixes and editorial improvements.</t>
          </li>
        </ul>
      </section>
      <section anchor="sec-12-13">
        <name>Version -12 to -13</name>
        <ul spacing="normal">
          <li>
            <t>Uri-Path and Location-Path as text strings in examples.</t>
          </li>
          <li>
            <t>Removed moot reference to Section 3.4.5.3 of RFC 8949.</t>
          </li>
          <li>
            <t>Fixed example to correctly use the I-Regexp flavor from RFC 9485.</t>
          </li>
          <li>
            <t>Highlighted that values to register for IANA are suggested.</t>
          </li>
          <li>
            <t>Updated references.</t>
          </li>
          <li>
            <t>Editorial fixes.</t>
          </li>
        </ul>
      </section>
      <section anchor="sec-11-12">
        <name>Version -11 to -12</name>
        <ul spacing="normal">
          <li>
            <t>CBOR diagnostic notation uses placeholders from a CDDL model.</t>
          </li>
          <li>
            <t>Clarified relation between group name and URI path segment.</t>
          </li>
          <li>
            <t>/manage is a url-path chosen as an example, but not a default one.</t>
          </li>
          <li>
            <t>Recapped concepts of scope and secure communication association.</t>
          </li>
          <li>
            <t>Main/optional Administrator is presented more as an example.</t>
          </li>
          <li>
            <t>The use of CBOR Tag 35 is not mentioned anymore.</t>
          </li>
          <li>
            <t>Added considerations on race conditions with multiple Administrators.</t>
          </li>
          <li>
            <t>Clarified requirement for some operations to be atomic.</t>
          </li>
          <li>
            <t>Early centralization of what it means to have permissions.</t>
          </li>
          <li>
            <t>Improved presentation of default values for the parameters.</t>
          </li>
          <li>
            <t>POST (instead of PUT) for overwriting a group-configuration resource.</t>
          </li>
          <li>
            <t>Example of inconsistent configuration following a PATCH request.</t>
          </li>
          <li>
            <t>Clarified invalid semantics of an iPATCH request.</t>
          </li>
          <li>
            <t>Repositioned text from security to operational considerations.</t>
          </li>
          <li>
            <t>Revised appendix with an example of name pattern processing at the AS.</t>
          </li>
          <li>
            <t>Minor clarifications and editorial improvements.</t>
          </li>
        </ul>
      </section>
      <section anchor="sec-10-11">
        <name>Version -10 to -11</name>
        <ul spacing="normal">
          <li>
            <t>Early mentioned that issued access tokens can have other purposes.</t>
          </li>
          <li>
            <t>Added example of array of scope entries.</t>
          </li>
          <li>
            <t>Removed moot paragraph about the benefits of group name patterns.</t>
          </li>
          <li>
            <t>Use of CBOR tag 21065 to indicate a regular expression.</t>
          </li>
          <li>
            <t>Renamed 'group_title' as 'group_description'.</t>
          </li>
          <li>
            <t>Added a second example of FETCH to the group-collection resource.</t>
          </li>
          <li>
            <t>Avoiding accidental deactivation of a group when updating it.</t>
          </li>
          <li>
            <t>Avoid alternative ways to create a group configuration resource.</t>
          </li>
          <li>
            <t>RFC 9290 is used instead of the custom format for error responses.</t>
          </li>
          <li>
            <t>Added integer abbreviations for the new entries in the "ACE Groupcomm Parameters" registry.</t>
          </li>
          <li>
            <t>Editorial fixes and improvements.</t>
          </li>
        </ul>
      </section>
      <section anchor="sec-09-10">
        <name>Version -09 to -10</name>
        <ul spacing="normal">
          <li>
            <t>Consistent use of 4.03 (Forbidden) error responses.</t>
          </li>
          <li>
            <t>Removed moot, remnant statements from when CoRAL was used.</t>
          </li>
          <li>
            <t>Clarified how the Group Manager may attempt to determine an alternative group name upon creating a new group.</t>
          </li>
          <li>
            <t>Made explicit what parameters cannot change when overwriting a group configuration.</t>
          </li>
          <li>
            <t>Improved guidelines to the Group Manager on selecting an alternative group name.</t>
          </li>
          <li>
            <t>Improved guidelines to Administrators receiving an error after trying to create a new group.</t>
          </li>
          <li>
            <t>Changed description of error 11 from "No available group names" to "Unable to determine a group name".</t>
          </li>
          <li>
            <t>Editorial fixes and improvements.</t>
          </li>
        </ul>
      </section>
      <section anchor="sec-08-09">
        <name>Version -08 to -09</name>
        <ul spacing="normal">
          <li>
            <t>Removed use of CoRAL.</t>
          </li>
          <li>
            <t>Use of the pairwise mode changed to <tt>true</tt> by default.</t>
          </li>
          <li>
            <t>Clarified effects on group members after a group configuration change.</t>
          </li>
          <li>
            <t>Renamed "Signature Encryption Algorithm" to "Group Encryption Algorithm".</t>
          </li>
          <li>
            <t>Renamed "sign_enc_alg" to "gp_enc_alg".</t>
          </li>
          <li>
            <t>Fixes and editorial improvements.</t>
          </li>
        </ul>
      </section>
      <section anchor="sec-07-08">
        <name>Version -07 to -08</name>
        <ul spacing="normal">
          <li>
            <t>Consistency of parameter names.</t>
          </li>
          <li>
            <t>More details on consistency of message payload.</t>
          </li>
          <li>
            <t>New section on multiple, concurrent Administrators.</t>
          </li>
          <li>
            <t>Specified atomicity of write operations.</t>
          </li>
          <li>
            <t>Clarified effects of configuration overwriting on group members.</t>
          </li>
          <li>
            <t>New ACE Groupcomm Error on unsupported configuration.</t>
          </li>
          <li>
            <t>Possible reason to deviate from default parameter values.</t>
          </li>
          <li>
            <t>Added security considerations.</t>
          </li>
          <li>
            <t>CoRAL examples use CBOR diagnostic notation and Packed CBOR.</t>
          </li>
          <li>
            <t>Various clarifications and editorial improvements.</t>
          </li>
        </ul>
      </section>
      <section anchor="sec-06-07">
        <name>Version -06 to -07</name>
        <ul spacing="normal">
          <li>
            <t>Alignment with renaming in draft-ietf-ace-key-groupcomm.</t>
          </li>
          <li>
            <t>Updated signaling of semantics for binary encoded scopes.</t>
          </li>
          <li>
            <t>Split between parameter registration and their CBOR abbreviations.</t>
          </li>
          <li>
            <t>Classified parameters as must/should/may be supported.</t>
          </li>
          <li>
            <t>New error code "No available group names" and related guidelines.</t>
          </li>
          <li>
            <t>Fixes in the examples.</t>
          </li>
          <li>
            <t>Editorial improvements.</t>
          </li>
        </ul>
      </section>
      <section anchor="sec-05-06">
        <name>Version -05 to -06</name>
        <ul spacing="normal">
          <li>
            <t>Use and extend the same AIF data model AIF-OSCORE-GROUPCOMM defined in <xref target="I-D.ietf-ace-key-groupcomm-oscore"/>.</t>
          </li>
          <li>
            <t>Revised Client-AS interaction, based on the used AIF data model.</t>
          </li>
          <li>
            <t>Categorized operations at the Group Manager as required and optional to support.</t>
          </li>
          <li>
            <t>Added status parameter 'gid_reuse', on reassigning OSCORE Group IDs upon group rekeying.</t>
          </li>
          <li>
            <t>Clarifications on the group name ultimately chosen by the Group Manager.</t>
          </li>
          <li>
            <t>Moved the detailed processing of group name patterns at the AS to an Appendix, as an example.</t>
          </li>
          <li>
            <t>Editorial improvements.</t>
          </li>
        </ul>
      </section>
      <section anchor="sec-04-05">
        <name>Version -04 to -05</name>
        <ul spacing="normal">
          <li>
            <t>Defined format of scope based on a new AIF data model.</t>
          </li>
          <li>
            <t>Specified authorization checks at the Group Manager.</t>
          </li>
          <li>
            <t>Revised resource handlers based on the new scope format.</t>
          </li>
          <li>
            <t>Renamed 'pub_key_enc' to 'cred_fmt'.</t>
          </li>
          <li>
            <t>Mandatory to include 'group_name' in the group creation request.</t>
          </li>
          <li>
            <t>Suggesting a used 'group_name' results in a new name, not in an error.</t>
          </li>
          <li>
            <t>Distinction between authentication credentials and public keys.</t>
          </li>
          <li>
            <t>More details on informing group members about changes in the group configuration.</t>
          </li>
          <li>
            <t>Revised order of sections; editorial improvements.</t>
          </li>
        </ul>
      </section>
      <section anchor="sec-03-04">
        <name>Version -03 to -04</name>
        <ul spacing="normal">
          <li>
            <t>Clarifications on what to do in case of enhanced error responses.</t>
          </li>
          <li>
            <t>Clarifications on handling default values for group parameters.</t>
          </li>
          <li>
            <t>New configuration parameters to support OSCORE deterministic requests.</t>
          </li>
          <li>
            <t>IANA considerations - Use RFC8126 terminology.</t>
          </li>
          <li>
            <t>Author's change of address.</t>
          </li>
          <li>
            <t>Editorial improvements.</t>
          </li>
        </ul>
      </section>
      <section anchor="sec-02-03">
        <name>Version -02 to -03</name>
        <ul spacing="normal">
          <li>
            <t>Aligned new and old parameters to core-groupcomm-oscore and ace-key-groupcomm-oscore.</t>
          </li>
          <li>
            <t>Removed 'cs_key_params' and 'ecdh_key_params' to avoid redundant COSE capabilities of key types, consistently with draft-ietf-ace-key-groupcomm-oscore.</t>
          </li>
          <li>
            <t>Revised examples and side effects due to parameter changes.</t>
          </li>
          <li>
            <t>New error type "Group currently active".</t>
          </li>
        </ul>
      </section>
      <section anchor="sec-01-02">
        <name>Version -01 to -02</name>
        <ul spacing="normal">
          <li>
            <t>Admit multiple Administrators and limited access to admin resources.</t>
          </li>
          <li>
            <t>Early design considerations for defining the format of scope.</t>
          </li>
          <li>
            <t>Additional error handling, using also error types.</t>
          </li>
          <li>
            <t>Selective update of group-configuration resources with PATCH/iPATCH.</t>
          </li>
          <li>
            <t>Editorial improvements.</t>
          </li>
        </ul>
      </section>
      <section anchor="sec-00-01">
        <name>Version -00 to -01</name>
        <ul spacing="normal">
          <li>
            <t>Names of application groups as status parameter.</t>
          </li>
          <li>
            <t>Parameters related to the pairwise mode of Group OSCORE.</t>
          </li>
          <li>
            <t>Defined FETCH for group-configuration resources.</t>
          </li>
          <li>
            <t>Policies on registration of links to the Resource Directory.</t>
          </li>
          <li>
            <t>Added resource type for group-configuration resources.</t>
          </li>
          <li>
            <t>Fixes, clarifications and editorial improvements.</t>
          </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="Mike Bishop"/>, <contact fullname="Carsten Bormann"/>, <contact fullname="Mohamed Boucadair"/>, <contact fullname="Roman Danyliw"/>, <contact fullname="Meir Goldman"/>, <contact fullname="Bron Gondwana"/>, <contact fullname="Wes Hardaker"/>, <contact fullname="Jim Schaad"/>, <contact fullname="Göran Selander"/>, <contact fullname="Cigdem Sengul"/>, and <contact fullname="Paul Wouters"/> for their comments and feedback.</t>
      <t>The work on this document has been partly supported by the Sweden's Innovation Agency VINNOVA and the Celtic-Next projects CRITISEC and CYPRESS; and by the H2020 project SIFIS-Home (Grant agreement 952652).</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+y9+3rbRpYv+r+eAls+37aUJmlLtmVb3ek9iiwnnvZtLKcz
sxNvN0SCEsYkwAZAyZok+1nOU5wHOOfFzrrVvQCCsmSne8dfdyxTIKpq1apV
6/pbw+Fw43w/ubex0eTNLNtPDibzvEieFU1WTdNxlkzLKmnOsuTV8eGrN0fJ
t1W5XCQv0iI9zaqN9OSkys5Xf+nFxqQcF+kc3j+p0mkzzLNmOoQnh2U9Lqts
eDofpviO4SxtsrrZ2MgX1X7SVMu62b179/Hd3Y20ytL95DgbL6u8udy4OIVR
D4+SH8rqQ16c8rw2Plzs8yyKrBk+wZE2xmmzn9TNZKNenszzus7LorlcwESe
Hb19urExLifw9f1kCfN5tLGRLpuzstrfSOjPUP5Okryo95MXo+RtPivHqf6Y
l/Qircal/6uygre+eXZ8lBx8oz+smyrLYD7P6nT6n2U1qU/TJi2S3V39xBgW
t5/8Ja8b8yqYI4xyfDTc2buf3L9rfb4smgoeP77IJlmhP8/maT7bT+Y4rVFD
0/qXKh/VWXxZb0bJd//f/3M6WxYTb2Fv8g9pNQl/++XXVtHMRmclTaxrda9H
yTlMY5JVyXFTfvBW+DoDZok/gIv0h63hgXFZ1P/yYVHgJ6NiFh/16Sh5nc7K
+Ule5N6QT6u0GGf1OI08QYQ9qvJxXZdFjLhvy6o+S+eFIu69myDuVM1wtFAz
/JdMJjUal/ONjaKs5mmTn2dIoWfDJyM6z3SS1YHG8wjPzp0n8MR/yC7Nb+Xx
8DXmiZO8xl+/eXp47/GjPflxb+/xXfXjw/uP5ceHuw921Y9793fkx0c7u3v6
x3vqgUd7O3fNj/fUj4/1yx7f1S+DH9UDj3ceqpc9Bslkftw1P+pndx+bB+49
1D8+1D/ef/RA/fjg8X388fDV8dHoYHZagpQ7m9fMga5UIiZ5dvDygP49AYEJ
W5bO5ACIGMf3JOY9/Ku0OkUmOmuaRb1/587FxcUoB0k+gjfeSUE0nhbzrGjq
O+Oyzug/o49nzXx2K7XfA1J39K3andHrtAKuhkN09amiGNcvTMwL15szsBb+
X814bLPQwrwzWMBRVZXXNnl+2fVNPOP3IYtkdbms4LG3cHmN/prOltnVJ61e
luDLkq2q+Xo7eZ4XH5K3NOnkoGmq/GTZZAkPtC73wPk1JPf/LQutmuEMhhzy
a4dp0wzPcTC4+oupL174EnMEzCSHv88zkGKB7Bin47MsPZllcelSwxMnZTXM
CpSPk+E4qxo5hQ92H6kT+xBOpBIK9x6r0713774+vDvWj+ZIP3wIb9gAQqA8
hs+Oj54/3U82f4TfDf8d/rzb3NgYDodJegIyPR2DqsMqFe73sshBXQENRStQ
h3DZwGN5kU2Sg8Vipn7/uiqbclzOkq3D8uD1djKGy+AkS2pUj+DRZa11ouTV
yX9m40ZrTvRq+7Vvjo7fTpez5Kg4z6uS9zDZku+S/rY9Sg5cxS/J66TK6gW8
Jgc60zvP0mIyw2Fx3v9ZwqUBP5fTpMguEuLoZJ7NT4ABBklaJxfZbIZ/4zfn
+FJ8Gt6QwL4y86lX8Xfh1sAPgC3gJkpnoImdwRxAq1zihOH2nsJi6iTVyyF1
Ei5jpZKmDb3NXUZzBh+ns1l5AV8tWI3F8dMGpsV7mDRlMgbdEw4DTS+bARcr
xZbm5i4IHq8yWEF2zl9YLvAQ4th5BZtcTPPTZUWbiGvIkgM4vjiSbCx+5YBO
dP5fhhXs/XL3CeTPNl7Y8+wCNGHcl2UND8EsMjxGuPBwgNQZAPYIKeMuPkau
kWa7Yb3Ixvk0H4OKnhbAB1WTLKpyms9gD+B9KBVBYddzgQNJBHGZvBaWHOB3
4Vvwv0VZ1xkp6QOaaZ1VcMa9NYz4BM3zyWQG8uIWqvxVOVmO6a23kp9v5fjB
rxsbb9c4Qj//LBrEr7+q40TTR/qfRo7ozz93aCzwjouzDCgwh9UA7WoiR/Zx
DKfkFF56kjUXWVaoI4FLT3mUQZKNTkeDBGVb8ux1Ml/OcN11M7Jnj8dvRicC
ZoLzpykrMmfFZNiUIOAmmsZqQ1OLArP0EsY4uRRxcTVBISKCyYea1K+/8tZl
xCNwuC4TW5gEdPMVRiAdHNwYxetxVqRVXtbAAD8AP0Qf4lkDQeAoAFs1sCSY
+wVoL840BkkBwp+3pcr+vswr5lQUXEQomFSF5LBPOmwgUg8u0Us4vCU8B4MA
lWHBWuLha1nsgHCveeDUEztb377YVuLFF6MkkoQTkIxKmNQ0Kz1VTx7i1Fn4
A7kNQTIev4SvVq4Qdq8IWiNQ1dqbNlUdtkcOP0zprLwQOiL7Ee3gb4dkzRn8
dXoms8ev4sXuC5a3uGrQD85KOBvLfDapkbFJLIEoMfINKbRSYhIronaOrJgV
NbAzXi5CIL1TwB1g5dS28O4jK+2NBv4fz3I8CNvxC2arUqoWS7JtIPIz4ORy
nsFVspiVl3SMBsHZrJZFIcc7fOs8vUw+FED7CzwFKV2xDtHP+CICEcZXF3Ao
bpW5Tuuzcjmb0ANyJaHWAIzIX9DyF90xFU6i7et8vU1A75SrcaIE2EmK0lPm
D4Sv8J62lwiWKjAofHEBxx+s5gZkBXxjUeIRy+oRiHU+YSD9skGEDPbLkP+s
a1qvyr2pmWBFBlYvzFNLvjRB9XLmvFBrDqPku/ICDmA14NnIEaxj6gSR3HqL
vicHMHI+PkPJ1iyrgnZwlqV8UaOSPwRuLByeoHXAeEXZJKjnJtNZ9hHFBLMQ
n2mHh5DDUc9u/MucRc0gqZcwBWRzkJBzcYbh+t+W5WyAY01ylHmzUCoxV4iK
poirNDSXxKhRuXSJKHxA3ZSPUUQxgnnol8PvLs5KmMUsn2ZNDsdmCYuZya+I
5USVgumLJte6MadFWcPhVhqPVmJS+2JllhBZEblhRqhW2LqnEYfraZ8D+n0x
ER0j0D9po/SOynWRfUTvJgv8yIlAlkHWMQtiLdOaiaGRO9z6ei4v/HKVmstq
mCvHHT21RkpfTU0V8dtb+qJMKasJs8T1aqWDmBYND4fTmqE0gZ9IP+mpTpvD
q2430FPVj6Bz0TbXuNHj2XKC21yXNG91hJszWCYdqnAI0jng1ws4+aQwWKoG
y6Icb9XjjDXsQ5yTvmJhf2/dSt5mFby9nJWnl8ktVMEb84Eo4qBNJBfoGE42
X3x//HZzwH8nL1/Rz2+O/u37Z2+OnuDPx98dPH+uf9iQJ46/e/X98yfmJ/PN
w1cvXhy9fMJfhk8T56ONzRcH/7HJW7f56vXbZ69eHjzfJFnsHGTUBVlS0HGB
awlvtrTegIt+DDYp/AO+883h6//3/965D/T4b0CD3Z2dx6AS8T8e7Ty8z5q/
MEpZIEXpn0DSyw04l1la4VvgGMKdtcjh0uNzBVfqBVyzYDMAQb/6ESnzbj/5
08l4sXP/z/IBLtj5UNHM+ZBoFn4SfJmJGPkoMoympvO5R2l3vgf/4fxb0d36
8E//YwaGRTLcefQ//ryxsfEG7kPUTNlSWrDizvsxTef5LAfKae5E9qrVbTTO
FsCj06qc0++mJco4kuJyrli07wNhk8MnT55rY4U0xMNvXr2RTx7ff6zMF3Kg
8gG7+0CftbsP7hHHf8U2hmUzDvjIrTJdVpmN6hxb1pM60u7S1LJH6B1Mhsmm
rbzQSzcH6gpp8MDShFlppfNenyGhU5ooiT16SklM815tQfZ/KV2uIOqN9ant
FLorUE41uLVioNGnIBPxMjE2sjKdidwoQPTblNysjU2pjU9615oG59pE3xfi
hGoOPt9i2WmiBSpp5d1BQGDYklNtqyFNo649ttuSA8/mUrer7JS9fzQT1DTZ
73aZBGyjd96zs0A5mOA/05leqKxHO2zx3q7rEkiobW7QapT2ySRlvQ5YhT++
DVb68gRmQNcD7p3xFAcvwzHN06Pk6GMKdxbfkWnbbJl8dMh/yE5A1/0AGkey
dfjDWzTa8KT/8DY5nKU5yJPjDF0ah4fHtXJo3HtMZ/vfRw/uPk7QU8ziJJN7
GB3GWmJEHlnhdhZZEupH69q5rOVZdy69gUiMiqn2aQA7goxF1qhA+cGzh7oX
XoLkQKUL7hWOkuyO7vIAGF/DAUBzgq2B6SxnqbKF5JTUQD9Uw4B02wMTXThm
NWnrzfH2IDJ99euD421NBXIFk86Be+o7ObQrjlaEFGMSPHh8Xw6+Fvh4hvFx
96z18m/4qpRQDg8+Toq+MJSjeZYvtMgEG7lGVgWzssXTjHa6PtNjcj7YLid7
rgPRHVExE9tZfZM9ferb2tmsLHHfU76x8bIkzVxUZGSSZBPsjgWM22xqYUFi
yIg6NCOYE4g1csNxzBAwQbDGJqh4w0EryTjUl4dWVv92p8Hz9jdazd/ukF+W
fEB/Uxr7wfFAfokn+L+GKEz0L98cM2PTNWPmoa1pUCV/+jH96Z0SMsKh+YKN
VaErfVvdGZvupS0GNlHAVwgDS49u+Cqb4i6I/WUIZh0+UjQcS2C/7VJQhvXA
tqoHxgQjx+wK+5pOD3/CKQZ1g9EvtgaLc9A7Upg8/ooEpXtZMIFP9bcTUjTR
s1Pkf1/iX2QtqRs9tDfV8yRc4ADAUFpYH3zz8mlSLWEuoEacEg2/Tr5awA1f
bdoix9gW90b3xLrAaL/IRxoUROhsJk8pRtvH+w1INBMHEhzSXseRrkzPVKMT
RUb8adtwbnAnmcGXcbLZR/gh3CjXpg6cdANNWthRfz/hAiYPN/M8+gEXmXKO
RE1dujmr8jynCzaTi3HgWThLXOAdFrLqEl9WsyGclzNlYLeu/o9Jji/FF8lM
UBKhMpcmk3wKp4KGkNc5G2e5A5y96yU6yRUQqhWOxtNKyuRALyg2CTz/OSkK
05zOjGZdc3CssyEksvzY7lHqw1XRadiMhVKBVGB181hf6J7AQHhOnDcmlMAc
9dbebfR/dM8Jncjfvnn1/euXBy+OkFtmKfC7nOOBhFT071tpxqkByr2M14py
MQO9ZvwroXraDNSk+LuWHzsiXeoMOBnEPel/3795ltDCZIKgx9VZ1iFZtkfJ
NxhpsLzsln7U+1R0HbE7Dvn8w9ZN/vC0oRqLd5UdrsLTR+OTcB5TtG4pBtU4
Ffmh3HLoYEAxCXb2SN9Qznlsl3xkv3SzS4e4xdGO2aPq2sXqXMPP+7atYn0O
VhleZ3l9ZsVN0XJpLsqoU3Dg6BVxeaIju2KBGm+zWJ3aDq1HyVNUpVmiDtDj
DrqTxTSBP00FwHGMgYpgFBSwxe88efv8WBSpe/cfKsfCDv6IXAJy3nbxJWSu
Re1c99l7yhMH2h4zDIYJOAxJVFS2ErIR3xRK5UENCV5OGUBPyZKT+e09vit6
NTznu0lYcdCvVU+I96ZCsWe+h25r8nRPcu2FL2SiuJKoLvBIziuPR/P4+eeD
BdH/Y/Kt+i25cZKtzcirN+GQP4mMiEzIMZYKtwvmpt3RQhpgxgYmvQSro8pw
NeocKpYr4LhX8E5trpLEYpcUJTLVHKch8iIJYiuPqp0Dc45rNRoa2El2+/jV
i6P3KE9uS+B6MQM7Rh86GtcIXFiN/oLeaXR/zcEAnYnHkSgO53k4nkxmQ/oN
ct0UPoXT6HzqnYSfs9skEN7jwm/vJ5uni53NAczydPEejNz36ewUPoXNQX20
mHDo5+fhzj396PA+/V6bKCXuZ3I0yUljfj3L0jozl1lGtD6t0gVo/rB/E9QH
ZugNyoAGfIJZnc/wZqnLgV70mvRf8MhCXn01rNoSfTHd/D7kBVq4eqaaRmr9
mBXDUs8SjSo7BlNLzvPs4teNjR9wymTRZAWrIWHMXUlR27uwyl2wrwx6T/Qi
/eC4x1wEo8jzchhr8lixot9xR7HHPeu+plBmRhV244nxNDiesvFwSFoGGEd1
U3MciY3xLjWBvtQ1sbhebybV5jrRUbKsJah3fbPzzc7kBeYmAQu6n9cqfSrm
viM95eCYFVJamZ7/RE01Gg2Vd87yeS5xAdhJPIN8FYMcAPVheSIuSWMuDfCt
ZcXyoUwuUCdWoWIjOd1Qo+3QlPOqHS4f4K7I63rJcyAV2wtJstpZj2EOQ36P
vrxOswb5bshvIx2UNveYnTqKEpz0hYR1Xr0es+ETW0ju7avxndofmNyLg//g
NTtk0D4Qd/3kYKbkhMWyWpQ1hwaUy4pyCBy9s+awwylq96jVurzk3Tm26wt3
Asmmw9Cte4hTUmk7q5wpav96OAq3ByrCSjlXJ7k2Zbqn0k4J2YqIpyXKVdvq
nsPTwjwEtBzDy9B9yRvmEYyjNCZjoXWiywIU1lSOmpcGcLJslCGBp1CncpT2
UcFTSGxgltdl5Wuu8e6GmrXaFypH2K5DqznUrPKHeYvqXzGPDW/SdJFjttqZ
yndwOM7fdk4FxojYeZrPyBeAp80TQzCZ/23+JGlan5/q8hn68/79e/yAXw5/
7sD/f9o4NIc0+QkeueN+iZ7xP6EHgz/hY/Sc/bf6OfIozcb8PRqNzGf0h+bd
MsYd62/7s0Mneccm0MbP+8kt2QouPvh6k63ONx17sQn70KDqMUzRP/D15jhD
Q2ZT8gjcfQNbA2yvWjsCuyz1C9Z2lM8Fix828SiP4ESPTvErm7YkIpUMSxyG
GKlhvc92D3uZNSpnv10sO1ZObowzTBduy8sBJXaKhwyuPUqua0rSrd70dUOO
1noawwbjM/yYaKUEBdjK+QxtnDFY5xhW4BB4u2tTZLIKJMQdQ5g4Wy6QAKzM
km8okjoU3/CVmh5FwNIx+VoomuGQJTnCX610gHVwSzFdh1sGKp9PuRuNILRo
YghuJWNG0uxivLfCP3MTzMeWEV7NjcnxjHosA01bvwNDNuqp3q+g5E0MXROL
xZjzFdwdF/jBei8WV9WMvatwsUtiG2mYV5oqvfGJMWK938ENZl0Obxxfw8bG
QWLJERV89LMlKSlVvqei/oFHRzsobdcOvMjKw9SygXLfMU5FWnOn9ggrMAfJ
I0ZsXljzpcJ3Rg3BwdGB6zlbo3yMjmhcFxeOuTmJtAb9O1CnVB3b7aq5DVam
Xfe2zSKObXX/YPPGPFE1ZpLCGBgkqgitXeZLWlJq1JonlGNbVpfiutt5uMdu
Pp2/pJd6Z4QrG2Kqd0FldF0alJXP7Lwkes2Neq8objOsvuswpU0LM5I55qmh
emoIu6SNo9jvpxlcR+zZVIwMPHKMWjC5Mhx9eGPDd+hboeuWKCO7K2zPfx6r
O3BKCmhQjnpn9T57plBGUoZobSLtymWQj7JRJDt0OwGd/gNZUeUJHkPDAaDM
u4aCZ4cH/hMzhMMT23/UpmB0hjAOXAJLznhCe0HbdDJ3Nx9AnB6Sba3qJyh7
BOY/8/y3dfJg9Gi0QzPAn3b9tFF6Sy1boir4GnYqj5uEd5VriQrGacA3MPU5
9kEePp3PK27nFdZXaLGKbRUa5zBFu8gnEuhpAtfMM2s44ditg2dPtxUL3XsY
SabJ5XW0VnKVy6ufPcUa3lQ8hfDPIV8fQ4osYeZlSxgdKdUn14XlAEz/FF2K
9oERWbxqeDv7nbcGTz65Spd8nDBTnH4BVIMrv1biv992AV2kPq7wNADmeeZf
r7iJXAaSKI9O2JTSnCjDMCenwndw1NNpw0UdmOzD7vRpVklgDRaxiUO7U98M
UkLs3WLfVo8tswIeJxmcrxg/qPOgCm84n5Img3J6C3NRtnWOkjNLPt/9yOs5
mPzsxJ6UYj+GSyoKRtc5JZXjM+5vk2UxIy8B2vwXOaVbTShtDmOTz/MPmRLE
V+dNVrkvoi7u06yg8A1uF73BNezR3Y5WML72W370T2/LHITAWxSkf06+Tn78
KvnR+ujdO8fw3TBxAJksBSFOLkEZwQJnkGUqRVMRZixptJkKpFXpZfITDPOT
Pc5P7356N5CkUbJuvN8mGQeNLSWOr5jC5pJLPvhStGCkPGWDyv1Ob/d39tIU
rfSWuL4TZeBF/PykK/Z4l1yOqs0lkNObuNLNbbxxJFOX3cYgn3PyHenQjF6P
yQk0SRhsai1AOwQJkbzWt0KwVpUJ+wNoFWNEwpHv7Cc8k8hE9PYR5ysW+BvI
w+xvydbdj9MH2451jM9feK+XcsgcfdfFpT1nss6zWrnTYfhwQWrSz9EYgmOz
es4pzxjjncKbyGBlrWZvEbCQu9nJ7yC1ngfjr1sLILuJeE+VuFhfNXFi5yXW
RNZYMfmhghwRV2h0GhaiBtiFK+jiJeGrNdnPlpwiu3hI1vXHXrvYpKeYN8/R
ThSNQM+5w20oLStlsn+MnYbI/OkCnRmrg5kltXdZxyvMG+veu9trb/0wAB+2
y4Wk+qp6kYG5F3DxOhIVcDiiY32wA1NqVQRZsUQ1Itndubv3QJRddTtZynOE
eoZPRBSEN4A9B4xDoQsJL31FLivm9Gz4JjuFj5PpLD0vVarH/UcPSG9jsjwr
qDy2t7aosn2xBCn51+NXL2Hul7MyFcqZXbeFOPD3eXYZcoAiLyYkwUqBsSkS
wg8P+BJRW5ZzoTKZrzQuy3e9EAk1taTseCVBZyn6Mk+rjCuMuYQFxq6XC3QO
ZhNrIQa/wd6qWvYVV3CGZVkFz1elkdIdZft72NMnMkOZPvI7b7LKttJXmbG9
qGQC7jH8JHqRCacuC8kdwNsWX2r5Kv5Npu66T+L2nWPnoMBSLnCkpR9ENSmm
Yj63hKfCqhc3CISXlpOdyZdJ7AaLnqLX1jkSjutQBlQxL91FwQ1O9Be6IblR
9C3FG8Vqgq53IT+WtVVyCr3No3cAhxOXkXHDTlDbY6Zyg6zp/rsx7jcJVGkT
PXvLudZlN52aJQ6SvDZ7qlzN1aVr8NWYHEJeZ77bpLiJwRQtnhiqr6MDAxmd
bbAmiqJDNrjYEjRKk55YL2OgplpJoaEUZ9FReSnCs24hlARpZEfIZ9WkhOCI
6Xzy0KK8YGWOVNAYNd/vDOA/uwOMYOFPL3WyXyFbrJQrspBqypR9o2h9AvZE
dekldrGROZtZM9B5XCxoyWag8ie1DIs3WnIe9M1oMqStc6aDjrpSlxUKOZX4
ElyR9taruEwYr3fvR2Ko57Dfm/YUu0q/I2ntUV+z6C2tvrxtTlj00jF4nXYe
RmtkqWsE8QZuE9ugv4p1mm+P3uKoT4/eHn6nfFTazmuPBpok6hlq+r8kL1GE
JMkvjHoGfz+hut8Fh21b//yy8ctQ/vzi/b3qD3w1wW2iUfHPXfhbR0Y6NwK/
KgE4/upOoj8wkFvel/SEEyy21aPu2qN2fJG/+gNFVeSr93BUzlbv/CJ/VcIg
/NX7if5g5VcxjhwVQiqq/DIUEuXUuRTb77Qw/BwLOxuj0i8hNvmEGoasiBjO
dAi013Clj4hcgaxBWwW39orkRinJedIppf935I/2cfzxlnYjVdMxeig3lOsj
mNXXjkdEVdLi7Q2mnvyLHCT0Cvv38FU0gpM7SQNiB/66tTf6Exzg5s9boC9s
J3+0KpiUJmC/A98K78BvJKMTArnw7zgaM/gUvvTft0TJxLO2n9wdyD/5uOwn
O+oDPBX7ya76J3H6fnJP/Zu5dT+5j//epuFog9/zBn+d/NhOkXfRTfBZSyS4
zpuOJa1yQktqe4lMae0UbzrXGwiaDpJL/EK1l8JCNak4zMaPP+IGDRLMCEHd
KtnyHRPbCeatPJBTeYddTskWSbA/EPHoiXdArx8lxVe/a+a6I/hV93birxI5
9gcnEYVE1h9E/PxBNsMZcPezDkjm4dbm//rxYPiXdz/eHT5+9+MwHf4X/vDV
/7W5bU1l7Brx7lTa//SaZPufvtP/1+H/vML0d+6tO317PjyNDc9n+nRJfnoX
tYHlphSy4M3WT6iHdtl8WTc6YYOAD1bo7GIAfD7NPEwxEqA7E9blo61CY6Eb
VcJpg5jpYuxOpVqHlxRVc9qVz4EaOUqeqbgg782AlVTlv0BkNfuSWh1k6HIH
D+J36ZmK9mdUkwbXNTEM3A1wNeAAslS4yi/Sy5qWDxrhDru9qwxmxdmkriJM
icH0BZUfvKLiM6a46MIYMFiV0FUk1eFleOmywgXTK9EEmGTseWwP79uAahGP
hhtvjzm080y7LJx1366dJFEnpwK9HRpGyFPVgwGV8m0C2bFA6yckAqBf1A/y
pyfludg8HCRj28zEyhQ7h/E8B/svJJZyg2vftZy7vKVgqW/UlZW7tJppKWOf
XMcuYVwHNI0vF7x77gIUUilwwgmwYLmswfSaMHcupWbuMplnaaG3vvXMNFQA
5wkNOUgqaIsHj433uzpuEqMrLHCnNbCSk1H9lvwmdJQoMgczaHlTjI/RDhau
s0Kj8/QD+iwax6CWTGjFGC6r55YDVdiXdHzOf7hAEio3f8rzw1URgKMnxIqJ
k79NYHVhajx9c4vCntveG7pK7Tkh6VWRfG/hv5DB+lqO/8bGd+m5uiY6/GWB
w1G53VCKETKF8n+jP2RyDgyCKDyU+EeXkYU86yuICpHJ0RcE3VJwT6xzyV7c
pJ6j16XGugfgsZlA1KmVBJ4Kdp9gRl4ywzQv2GpEAtJ2MgUfRp862ziO28Ex
XExUhIsYkjgbguE0OSt2/AN32+IoTv8Un0XhcaF95tvzUQgRE66NGBgmEjSb
TvVLGjgJHAyV4Pk4ZyfQSblkLqXLgwL4KAsk293z22ZWDiqcqg4BDgeuYfl8
K/mWZ54caJSScL6YveWtcGPjAFHRXCQkVfHLvrzzcnaeTQywzZYXWPauzFjV
1LauxEVcEO03FNWnHI+XvN8WnHpeiPOKACYMFNFq+D67FpjrQe00j46l3hSO
4A2gcSdekhQdEwQ4NWjJEkO0Y6kxYqmkLhNPVYCEDhihAEIs5wumm6M7dmTu
jVrrHY+vsBewyC0Nb6PgdLZtjcJ+R1iCbt5ho+KYF3mQ/ieXlguZ7nM3YCU2
gqkul5Jyg4FkFY+PkqfLqmEAWczcq22IX5gUD1r7RNkywC6r2XNbSuV71snT
pmI19lKH3PimiNhENohnv+ov1wJRWS8d+YWuKefW8vkzMpA5tQp7npRCqNv0
3dvJGAHGosWEinjqSVNQrvjZWdkbUbFDPK03DC1kw8yb/Tr2Mg66kzMJpnp6
lWlpRDBPWyM9WnIX7IQc7/ZtqXMbcGSH9ARElnJfTuRPJ5QSpcJMTlRexYK9
snB3b4TpYoWeYo+hmOD6OR1ctneec50kgBRJyNOc6i96hJ4POo5zMktlw7Dq
cimaqcZPmOok6AifKjvkodpMBkZTavjK9ZKCwdBdFug2TgWXqeaio//MXemp
0hffHnz7/uX3L745ejOI1v4SDtdhifljzVByYw+fvn/2RM+QivolY90CJryT
5tM/oKMyLLhRS955OHrcP+c1BjcgWA2LKjvPwYwyYAMBHsCmWehmJIFEqGFH
mt++3Bo32+6M7+uUH+wIhWFZQYIk+5LyP544GALdJLwOwqCxWYTLpQGslQbz
wkmEE+uGKdDkVSm1kQwbidM6lgM5JzjHRJkIkgIsnIw1LVU5s6+AgeWvUkfT
yc/qmz1zDVa/OsgavmXF5eJdd1TW0qFWO/10fPRu390lYeZarkONmttkC7T3
dkYRPAQNfOBXFlvFC25aflfF+mrcgTKiP8VUTmeSdSZZr43KKmq7RVs8OXw5
evUKSRKhBxiVmPZImUKEfA4WzVJpY7rnRCvqUUs830MtYOeEXO92lYjG5lhh
eOxqoAFJXYrWLvShiqsoDGzMXEbw1QCv4bbktY32YOpeLN9LNrG9x5RDrmvs
3YwCbE9n9uTYS4eyFUDlJ3TWCrKnaIxgDaD3mzMve8+9PdGtJG7FiFI3aDMZ
Hfe9Vx/lCgJys6NYdFDAjPXE7jhjTWLqdlWmY63vNeQKwyRtXIaA88fJnKSn
KdoR9jpUG45IgX/o1ArlEKyIPR9oIDKETVoPeYnCgvBGkHca4iXVGFWk3ZAW
UtirMjVLgjvobH8QuOituMqx6s3x5BUx7OF79h2hyCabhU1upUJbiqV7Sjr0
61BDk9vMYf5IrkDLidTVX2dkr2bmXPRLFIxnBKoLO6wB9HicM6u+iKFB9mZx
GZYMjDEgyKs7K2eTWmwPWxNGzehStXa6P7p7N9n6Jp2oqW1zRxcjsL1cb+Sp
e565RVx8m773fmKyjmxqjNOqQjqWBL7hXgmSw8uzU3aGVkqZT3eSLSzDn+WT
90QySTHnDFUhmKqr0Y6GdcwY5RpFE6iXNXbd4/cZlMFLGLyaoX9NzrA28/DW
acExhBlrrRavybweLxXSnc/eg8i140ILuZIjzuiozgQC4ziZ56dnjeo5wFLP
D7tqKkgwg7z9FMLoKKcTxS4oqku4kKejrA6s67hOq3qXtBPCLhaAJcYq71Qs
zvLamHskyQNJ088QvBdTcUmZ4lDIqqY09iqi+rjd/my5wEMqbqZQZQg0vqif
LNIGRsKmVi+YAyzYSzg4Hwp9SoRQwZdV+qmNvtmmq55QPN2+IqizgIU8h7C2
6tZgfSxE6n2tQnYUgLegGONzhE8CZycSIubtDPc47lFXjankFqVhLWIMyOHI
8sKKinPWiusrBd66P7IqktR9cR34Y7E91aZcG9U7sved9jY+NoiPhi/ZENI2
rRNMZmBiRz5CTD1wXoRhOHRZ+q/wMitUR8R5eR7i3CQvVKtN4//kNhp94ylp
lflSxKMFyf/vF2SgjrNcqLAi64HBKJSzoh0xYSWESyzsRzf++Cwbf+AzlRN3
1TAuz40ufM9QV10m/aJM1XAgdIMqXQt+ydkDqMZGii2eTZ2rFV/U1rwvqkiB
jvJ9YUxEX5Ny9EWd6E3kXYWI5zaxszKkaXAKhRqwZlTC4y9uQSQJe564CUKR
QSy18sZ2lO4KvaWuARsmC1lv3E/ybTv7uP3Ok+styKrpiJ8wJkWeb7vdOgyT
OZle5BTdt1RFK/PJ7FhQVhRW5ImkdTVNaySaljWOlwcTeRFnmIVv6iy0EEHt
GePdd2UmvJhNNNPxUXA7exDTGNJTXhTXYih4E2+fOlL2Wq+RAZEe3hkt+l+x
9QPJ8CB+m5EmSa+PKXzue3r5VwUg3YC5iMLuxDqziSKUtRucgMfjqZaL0kGG
IcT0hsRvUfIJ9Lg77HJN99jjASfmj5zvE8nYYE1b94ii/Z3CknrL13vJ1tOy
Osknk6wIhCtXFWqbEsNPJ5lASypj5FCg+5Pvcm452uopvOd5TeDX7LLS6/fC
GCqUJqmabvxnnEn8R5Bunj3ZT3Yeb0cvBLl8mOfwzEgrZ8ys4da0GkEfNgtb
DSvGkXIwuonlI8uVoQpQt3uTu9svIMCWLVCvyoA7Tk2mGQ/JmJfyNc4nxtwZ
dheavDfqqNzy8rTKfE+syarSZmPg0WPHKgaZahOkT+c+NJvK4gLTVGr7jEGv
+9/kM8rgwdinXyY8Yf8Lt6jYRJ18E7Ymn2MsyA9GeC3WvASmlrarooHbHTJV
UfEmRrYwo6LZRAOgLCbBqFbZnp1w5dJTCRZK9wsrawOqmdwU7XHD53Dx0Vtd
TzO2tUGp9DTDckbHH2jJvlaLwUKAxcmsJG1YhXhJiUB4kE58jtPNZrtamAQb
Kg1ufZhIW66GNIv4O7jbcY30yKh7Naw1L/6+5HxPArsqcQ3UKk+s9TaSS6bO
Jtirc7iQQbvg/LFxOY/ORqtrLqLja7osxuxb8ltNp3HnfLRDnkzDt3kq0yNM
uxqQb5uI84lT5VS+RMdbBQQjNIFieOWsd4d4xAZJg10khuU89no29Q3nPt03
VLW+pEgi5cggz1CRHVP7oktQavKxBnucqklW6GUjFzBmBOD1UOkcW4UAGfoJ
nMyvtu2ImaCcdhMrS2BPZZVJ/uZJpjN9Ub9bSyqK5cFS0Grf2hYjEIAKzJmk
cB2DVoxZmsdaY6xlLAWCRZxJpeB34jp12qn1xiDzdMC71+P5VFURl6qD+Mrv
sDjC8ma9QE8GGTgJlHScYaltKxNdQN9WS6cB48LRmCBwzmeWvzAyLpVC19KR
hkuhvQro/mCeK2jA9d00+WfXsdFArlcneKAQbNuOsrih/OUJe6dqnWuih9CA
l5R9wi/LpL/f3v0d5fmTUWR6Wkl0qUWKn1c0fnUiRROpXH2KEgdICcHtY4Xx
frIFJh3costism1UcVWjkBYMke5SiHlztZ9COvfCP0ErRJbSvC+3m9qufjdu
rB07hZEpJx7MrFPLNI3Bw6LUV446DOWklZH7qHfAphDyqSdlWjmFIyIYs6Nf
Zh9BLiuxpCSJPvH4sW9kryBegfZCVROsbDZfNGxGakyGyNbUgSiO6n5WTr70
nNKEu2T9bQ53opcIlJ5jbWaFCVpWxHKyJFVWq7XYt1SuKb7b6l5C2sIT3ZyB
eJUvoxpewmvnURPILrXC3x69TU+TVwvbi6042iQvmRNYr30EjbG5c3e0J/Ym
N/bcVrlsbJiLfIxGaCz/LWqK1rWD6JPqSlnNHyFDGo9WARJz+ILAroQgFp4P
6awl1abSpUp0a7mL8UDURoHspIjJYFI0MV2BXMh+LsYIV0clGdGzKxn6xE22
P9CyGAKtA4sJq9O0IAOAAGHcd9qNn7HYAI67pGHyp7H6iZbvqxgxprRrTNAQ
mluntDoVvqqawm5Q3lBpnJ8Oz94EfQuxfyOdnYLi25zNa7oGqEvGIFyNnqMH
tDXOKo3H7XZDDk0wJZq1IsplN9HqZ5nslHT2YkJqhSkPq7U+qvqk6Hoqod82
uysi7OOBlrN/grdmiKJb8DNibOTpj7mGNZinC93kV50iVmY6d9zCmtbDC0tj
1hGmMuVZLYFCksUt2xJ9ET/svAiI8j0DmeIv0ZJsBM9UwaXaXF1lrXXOakbA
ZYzrcHKCicjK1Vd5+UnG+2neLw0Ab3m789pM4Ja/NRHa8GapTXCp7yTJRPeB
qgRvn32YTG/HUd6/+8uTp2BVyhGxGrB5vO0JtF0nx5YK6RW4hqIEafSWuy6C
+UcRNvpUYNVYP/Tm5OQSiJn53YuDQ+sREtwRzCXvTfTP4+8OhrsP9tzXSoKh
91r6Jzx7B/6vQLat/J/CFPWRDiEIOPIuprr1BRuc7j0T9/2zYrFs3r9QDdW5
THQQ9+HujdZAkYZdH4P+9n46b1p23mtnfwhP4z9hFuIAvnlesHZ9PdLi0n6i
tX1B+tLn7zE7/XZscTbgLCaPqjptWKkDP4stPWIXoWVAUAo8zs25F71teNhz
G+CM/G0Kdo5M4P62kZGyLtMu0mrsbtz3FlKfMjxbxI9DI6tU3R1feYX0t/BB
/WxzFgXwLZazGb9gD671V7aUd97l8jzT76gYV5es9vWQfJixy19QvWhrpYbY
prS1UZ9PVq53aqyN/YLHBhPV/imZ61hn4P2m7tP1eETvzpfmEBq+/qdjEhVM
IyAsrQjq4OIaLBRjBkIfu+KmC8G/4L4v0pxIeNN3qhqn17X66Lqu1WsReS6J
fgsMfXB08OQar1F3b36rUvILC8hsPDm7niv0t8dPrxUD/CW7TA4QUpzM8X/g
K1Xv1pfmmOu6Un97TBO5Sq/MR9d4r9pU/4KbP8ma91X29xu6URVOXk6oqDp4
4LdtppM3TsdnGYYX7Z7NXTdnjOQnmUkMw2A7zEzDe7T6Ix09EH17IReft3SH
YbcuZ5S9fPXWGd+94pHQwORKNrc6PCinxggZOnHyyhWM/h28vY8spDALXK+T
5ZjyvT5tj4Jt4FpW4fZVQPqHr46PzJzrzeSNwuf8+Wf83cj8zpR1O8PFSJ+v
EFKK6VWyhpVLmE8l2UJ9ZgV/XE5cLQvtYWKvc84Q8Z3DJN7sBhJ0LPOxTnPy
tpwxmXpuMLx9lk2bePYOO6eP2ePe6ZUOHe39vNKBN5/d0VWbS3JFc18/g6ET
qGDFxS46OSULRmYD5KXwcXCwch3ewVQt+rozUsu15rABbKzHZpY/EbO5W8hj
ZdrHwk891stD2AWt4UjSuitNzpbzFDMp0gl1X7e+tf7wnEa4+srHs1mUzli2
n17tWvZe33XvJc/sdstleX90zyBHEP7OwGs0my74be9Z3r1PF4tOXJsHPS/f
Lo83rWOefnwPR2SWva+zplYXBicOrew6g3SlHOpTytukADRMb5SEkGqWj5hJ
0WvyrffQS1WbyiHRj/l8ObcgKnEt9DeuTLHIcUZYms+eWLmT0Xx7p5Gt6K4f
F/03V/g8n4BUBjlpE7XP0cynA+70XWUfDKBNkK0XybSAXRDcxjOtB7rHhL/z
7IluNCifwyeUev+xUb17bH7bHe2OdrxtazFmpO5Uf7XvXnfp2UEbRJd4ETEG
x4fPE1kahmFNdSLDcWJSpykp0GWIrco3tQNSzRRVCjCj7ccljtfVT8lNBrFw
x7UAvd2Ifq1hGFuMzNjOGAqf5LVK0bstgfz38DaXMDhq0Gxbovxn+cKtmVPp
ALSi7AJriej8+1liPh/tjXY/QWy1XCQq7Xkd2csQr2F/PquOfMyFKNdj/KT1
SorHc6Mj6ZLuqVeiapXx6Gj6h7DAnJKanWwOzj4kG8TA8LQgOmFdYWTGuuyb
wI8Ujyh+UTnXLWuBQfHJVU6VOnlAO7TXcwskSeVJNk0xx/GvLBZ/vjXhD1RL
lI7W0/Kkkqgtlwddd5TEpjbF1Qrj+Ut+l9+ff3bnRaqlFqve7/h18FvphNA2
WUwVcZK6WX9fY55BZ6Sjj+NswUEELk0Iip8O/gONCIRnMJU+3uRyzoTS2E2Y
7QZbx2BodOKuQIxRcmByHfFGZP2NfL+ULc+dkKmCT42bVmHDzosWHYFL/fGW
oOQpZNgMM7RR3dChE53wxSmiGqDRA48Y64SHutWOVlh4PPtW9sMLSIqW7HJS
q3Jn3dpJ0gQQ04paFZi6RSaPOtRFORFEdpVy5gqVWAmWd4Ht3F/rKHckM/mn
mhlGysn0jne4aFA9yKQDd4yrdfzGGJgL9FfI++CrDosP2EUAG2YhGEnhRifg
076f3SEd9dzZHH/36vvnT1wQznbFMhbgurbXOgkbdnyd/A1OcG+oHBoaSs1Z
aG7ceZw0etJrGrHd8hZC7lFPBEXv9537vTUVLUQdP19/Yngl99jVRnc58USu
jt/ZsRd6o+PjjZDX2/PfBoV7Q2TGKNyHEOuRVjvRQvqRZ3el8/b6qZpOBAVa
z83yflop8ZELXN5AzUm1P13hxfYyoVwXYYSpbK/jTS7cTOKTVz/c2Uu2yBVs
7mdtmiObSV7mtlQgExYceaJaLoxrPhJ9jeXwSFhokjge2Znt/N/qdg3uT1Gq
whs0TJL+bV2d4lW94v3W6hl1cPiu9m4nuhjzwfV+b5dr7t4grtC2tSlag/t8
99b10dhy2/R5KRZcXdr+mZhboM+L+hzPtWz+W2DW+QpzeCIwxOEAggQ2qK5y
dDX5aItgpfV7hWsh7JGqc+gMXcRr+W05oKajsBMU1UzYIrX6GiemdJ1K60sx
Hm30tChqrA5/xc0wtC2sqTRx/CRCt8MaXKGVQf+guhcHhgDJw3grbhFaFJcV
3wW8d5lwsZ694paJM0iY9IPtGNVBY7ALExUA1KTMHLBKu0CPal9BZp6VE8eu
9OBQApjLAFJou5WkiGuiem5xoeqDZOsFD4n1qgdck29VrIaQp0EpGnVn0iWU
dM9wZyjVnSBlH72HhQOkYpxpORkGwlVvodcPxtxBDv507N5ywJJ8aNnPjpbE
1SmfBScJRqILQwomdYVYjLydC24lfozccKNREEaLtuj6AqQy3RcmyiFYkuUi
9LXg8qXJ61fHQbl8uywt7VpRwqbpkqqx9bbg7bvwagxOFWuC5F/q8K/jJlsk
5FIJ+4XtK5gBz1ln8OXsqLMV7H178Obbo7eEqxaCfysCBIhr1gtC8DXyLl86
IGlRWHW1w5GDr24MZxMZjUDK44kjgJdy4kma4ArIRJsAHt6b5t9lMXHm7WWC
mW+9Pnrz4tnx8bNXL83ttzbgm66srzI5p7wQSm9wxJEXbopO5JqAwSLNoiwe
wevMWvunQalJX0gPG8wHAzNSTWDB4nrujsFu5044uXG9mpwV3Ts71TjalIJF
CA7IgNPlzKpcjzw/QMjRbMFaTfRLnEJUCN2BK7DwHUd5evT28Dszmb5YoVs4
EmdSNCvIBXL8g1wpm4oA23pPTcehSNlpj5LT7mZYNi6e5lQXkKRP4ISCOm9M
G97nEthlzvFr2TmbKN5iVrRuw4Madc5Xj2Jc6d4fGIUX6I4I7Err3rnNUSLN
hcnciQLqtoBu0ZLo26R4S2NhCgiqdyITaNCF/ogwYcwqtfl7lxRBYT5L+yOi
UnDRY8wYtp/Dn6qkXR1EV9i6qxEJfVgCfZ7DJ6qOlPBf9vYec9OWlgsQVDkE
HDGvfR5p6aEXZGcra6uoi3DJG9M/x8vd0Nqld2la8LOxWn8vPPzGNHXxdXVm
qHrNi1TwMvJGoWOqu7EDZPU6r3xPhRNgdtzpXpAgb0i5n1jQYbKrnLLbriHA
WAdO5xGpFtEo0pQQdoY4NOTuguftnvVf/zm5i7jFIAEIG7rKh6/T5mwfcQtx
QzY3Nv70NR8UOQv4mHss9pP7d5OtljOxTQmqr/k8MA7unzCHbP/OnR93797d
2Z+cPNrfT0/e3eEB75wudv78x6r52k9nHPT56u7Vv3ov+lWHWOuIcRDDT6nd
eIdE56bgNyTTnZv5RqU6GbIgT2eXzJIEy889/vRp8lqvf16hb+v9a8n2iKqm
4UH/ES8SRQT11gCwBBMMPAWdzYhw+yyPnvqGsIlOc44A0tu4KjirIxKsqg5E
LrQSs1nQwqBSG5P6YXPALAVxptfuWMIeVnos8rK6EfTAXBOZyh9JDBa5lXxs
Of23cl2YwA1wCR/tJHOznJr0FDHDiEzUsQ+IOnfy79LY1WTCJrr1H7clNgJC
9XBkqKEAwK1l1hZQemxcZdPiZxfpJa/B712DqOTs5sN707k14y1Ro4fUZTNJ
ZoYdq1UEBW9ka4oMErzWtS6UaiGFrFWdD2FoR5Rev07WpmrJ+6jHPcK7zrmd
5DncKVZSOY80iDSrajMirJic6UBDqsU6dkCbAkciTYXPXLERusKil5TQTru9
dEtTbOzIQwoIYF73I/baSlKUOR0/LPbvziYtPiqQo9R4ocpWhC4G0azI2jRc
qJNNUIjg1oG/djc5dQB+vLc5goEPpFmv+10VKZLcpkjNtoC9uZXIB0fHw8PD
F8OdveHe/eHO7qPW8PN+snN3Wzee7wQN2loHMmiQtA6IqTtMaHetRBxDFL32
GDDA0eTJ8UHHooaPtm18f8d8IeqbsHD09ce04PbXP9yO6t4P+BC0aN8RZXt3
b8fVtkMtJaJ0/4z/SZLMzg3ZTzDJYaB/Y1KBcIuTOxGeuCNP4/M6WQhpB08z
gc0T/BTBOsEOwgO02cTaij/u4LO//mPZGH0Mhbdu6MBCsVBCyNjRaaCW0bVG
zEbpPOvBDNLF4qtr64izZyw7JeEbrIDqskekAG7aM9IKQHkrSDIrilktY7hD
tLHI87ZCrRY011GXuJ3CbK5D2t5nafuA/9pTQndalpujFSL300SqgitPo2NQ
3m9YSmcctzTZ34aIWUOQZLYmBiPv3N17sAVL+fHu8PG7rza3LWmSqUwZlltf
SnTcv7roeNDPx3AorQWSl9lFFLGy1aNAxssNORTWija6/gTVKyHoo9biEb5B
+92zhIOOo5jkQjn9UdcmSgKsFuj4hl2L2ZSn7IQkCbPIs3EWQM56mKkRa3Ud
4z2wyVfa4C6xtUKrW7LCapVWbUXTW+8kJ+ayAsZ0FAzmN0H2bzfXbmsdK4J0
ypelG8mJ7fWKeqQDs8JZqi1Gkwg18C80z+RxigXxa5hnxq3BT0+533S0+lzV
Hc+5KzbZVqhOTODtZA0aDG62jMtE1Vfy23THuJDo8R0OFQtT/h0tjA7rc6UU
1Skvdesdw8I4SleWIrS1NjjOTIiC0G9xVGXfWitN07JLEtedG6ULWR1GScuJ
Jk6EIW9td7gN3eMuDG02K3kBnGyi3aLM8A1DCTwm9G1Q8WMuM06WVtWTF+Vy
NtGUNaPbpVxotxMkerAgmqNHjE+o/lHg0BOTOO6OZyWQsXutT5VTzz5ZDyj7
AGsKEYTi+yI9T/MZJu8ZP7D2WVzBK4zXQ15T03lErh9KDoPkDUjXXHTxssvY
wyhqKTP1Ewu4Cl75kZd1A9vzmgdMntCA4su77dyoQ0q0uD2I8Cb9ZphPbnOP
Mr872s5usrX5fWEUkgjHbW5rF8NtXrV6maTEnrjN67W2ofruWlbXmAvGgcO5
5WCJaweDNcck7OQ1NgXNSLYmpuxujW3IKacEey3NsLZxqyj5h4sK3gEch6g9
hZhS5Zi1eMQa4O6TSnDrlHeJZS54WtJKiu4OYGR0Zln15/k03gaeholKk16t
3izP2VfJgZ1FRymhE1t0SoYmFkSeFpyaWPKZoyxR/S8/ydvqFcaVCwp9v6Pm
NOC0UEPAS8f1xMsEOWdVgHDyYoJ7C6PB87nIOCo0lqdVAhV1R24xPHVeK9gj
3Op8ksGRwVjwouEE3rOWemmiANrYgU9U335W6YZgKiEiGPCWnVIZfTn3JuCW
mTGT1+jk6BmlZttOPMv1C/sBlnVSAzlbfNTi4a4ztBtqV22h3u2oEwX6i+cK
MK0TW67CLjgYCs4gWMtlPKzZenJQDFKDNykj4jeZDaEBFNEDe8cmPPfTPM0K
uPhmKgDSpdQxRUyKQPB2agtI7cfLSD630SFVW5ZSaonB2MN+mAlhojRRIxAz
0i/QmCinA2VlXMKnl6XIaLn3sC8iSQtRaGG25FmJoM17ee+pzk3khroXKbdT
QedKmlRwBMo55Z+Pz1IsQyAQFG4qbHEQxTFcpIeQXzz3EcFWzBhZM/VNPlMR
rjUr94mfvrKEiTrDcYZ0U5GtfHWnM4FqhsN6QjmTNrAsgMZo5hX+JHHjld5h
dH+7JXAIc0Pz/KTs1UECNxPsj6rpR1XyK7Uby8IKUrnJqfG+f156qO79rFf5
VRjqM8IzDPopd1o4x5ub4roz5Iue5yRpqF9pXQm4JJ118K2+fdi/5EklezyT
bamR/7j7rsVtyGi/a7w3p/HukMarDmh8oza3Oaoq2+0EPllM4R0NFkp0p1je
1XZ7+NbmdnS2VTlWKPFha/q77/nSIkY7hRtQX9lB+ySBSiNrr8iuKDUV5M00
r+YtnkyNnmbfy2Uhej3S8QS7W1qVwPhOkAYwgFY82rykpol7NLNZdeaNtCpV
WI1Of/SpSVVx3DStO1e47U+jHb7CaSluhN2d52OrXmYJxu7Moa+l/GFz7lpT
s3NeeA4pBUzdusp2M9henM9k4lQVHQ4/GiX5A/ad1zmwDXZpszXbVmJZGOdC
7L0t5JKXqp2kvLjpTNppiXVhcCdX7RwP/IO68Ts5iPwmrAVf0+gCVCYNYu3l
UVVntVxIWIDppZrtrSwqslwuY9Vb3WlSOF2Rq6fUYFmEr7Z1xhxXGIJVQwX/
6o7xoi58kA138sLbOmk5AqjKNCZdzFNme/ctQ6AFeyzaA961XOwCZg9qri9Q
X7Rdb1iXyXNgAaiA43w4PiGZD4zzGYD32is8SWOLeEgN3QL2yFc3zVwDhQK2
UCfWmzFcBIBIrmLsGjfgXF6td5jh5eGC/WoSz1drBjHEPEt+ogagVR+jBOC0
CkE4hEeUjRYFQ4vlpJkS9f5oi+yyw+FI45a8Jj19Hf2k9IMq50RGC2BzeaIf
qU3MBy3xGArUoEuLdMuxXDZ+1HdBzC1iTKLbsLW9boXqiBTJu5MNffPLXBrH
/ivuxRuleqtMt08ECvALa3Egq9WixVhCx0iFlrtA9nuoxr8W0EY0SkpqD4kl
en5uuUBa5Oq+ddHL5y9ShKhNYPVV1ozafw9qY7JVasi4bftRJQYHXbCkbGvp
SjJSLMl6UhZ2ZktWlURCkK+hwrmxcT9eKCN5ljH9XSy1XSzt2OJgj1Xe7kzw
U2LpyauC6orJkfS85Ccpv0RAE2pNBNtT31i24UCZAYqrZvIaJcT/Ez2rfXSC
mM3phP/MDP9tSZ74hUTXRSvXX73RCHunvhudRmvvBhcC20NMdQKp2nUVBj6N
AtkGjup0DJdFbYuYREtZIemoY+JOy4u5h7lejjLEdSF8yYrbMeKAi8bXo6AX
0TtXvOmiT9tGrAsl7xmV6aogbKBjxHzvQXMA/4RoMrr76dHxmhFw+89KA8S2
T+gTAWI/ZZZWS4529sGpahf2l2YgdUT7MY9tLDgJWWYZ12QxnCxjkXv2lTdf
Tte2TIBAUBI3kPfFziG6Gi0iCn6M7JN8Ymn5wLUMOOFn6YaEJO3BB3MKWZVK
oa4DanZdupVO7+fgtMuMJRoRc5SZuq12xRXo+iBqrxBAPHcUYKUgqKONibt4
TNVN2yHgkzfqG09yxFYqqbcK6vU7D/cI0dttjE6uxMWiKtG6U0hXVnpKk6PS
4li7kxz+xni/gsHxFuhUUXep9j4CgZXUEPMzKEIp6gnnNtovaWC4VC2bK++c
QC6/Rbs16LMI7UoUtGfpbNom98aNhOkOgY85yIIfvC3LGVPHizc61DGq0rXQ
gtX41q4gHONVXaqkd0QQol+RetWid/sT0MpXCOzfhrAfmV7dcZcJ/n9tbhsL
ti6Qz7ZkU3MFoUd8o4jI+VMqU8M+l71v/TDM7rzOWCVpLQMQqoi+untkTPTe
igNG2+bMHPIA2pyk2ifImdcIIO3ntVO7Z2jSNLwkkgvfUxJ3FLnHhAiF0XEr
rtLCsK2GYB4FrNNfh+tHu/9bXu1ch3aDr5UL7ukd+6KLdouOnfu677VcVh1o
+B7BtKtrQM6stDLJHp5MjWiq2LyqxiPzIWOQniqbI9XHM7ikMa4147AWJ6Or
e4ALIFlN0W5/8u1RiqdAQVENKsyoUSEEDafV54YQvV2VhlLeV07hDXkNSHIs
QW7Xmy+y2Uzpz71Mn7L6NGtE2+MVdYlQyJFOawKkkk2A2kEtaJ1b3XGVojNh
nmIrV9wPLdglCrQNKqKAQcbjnjAPwbMsoubMtaCF7NIh/UzVRLr2Z73qxDVK
EJ0KIxco2ymQdF7pVCIN/Kka7WBfKsrcYic7cR6eqMoSFK4dOoK7m/7brCt7
P/mRHqaCYPxhd/NddHZ8H+5zu679O3fSeiSbPgKa36Gcnk2ngGpHqo4m+Knj
ynM31/8Vru76N72ThrY+b5bo1VyZ2AV8945D1PXo0wEAw4cvWpplffSlEbyi
1naQ3RFIRL8Rhmkh6CWftUDH8O2JJG2MxuTOphTUbOXa+OQaCXs1YdHDmyyd
hCUPvdJfLfLGQ3a9fPExjJhr88WrIrHP58PWY0mjYlO+jL+T7GvHlx8zcGO4
Fc7IuCw4nONGN7pSGXsynuOG6+C0qB9Wt+K8Qqn1jWNvuZ+SqO1T73odF+7V
LlD7S1hK8346b+CL9+7BNz8+AKLABseeb4cl8J66qhLQE67AflR6c8Cd++PO
u0Hy484g2Xv3ro1I+s8deP7VX17jN+CvAQyz++DBzuN378Kh+qob5vkrLVx3
HoGF7z7ElR8++W54fDxEqI62LcycBiU2Ee5fgQj/3koDNZpq0bGfkOe1nQjw
bNXw1R0WYEdp1q6qyROtuobz+z5K250kWkDIOBetf3bu7uN5iXVWve1NOPOr
LOFwxVd+Bwtb4L87O8Aw9/bu7j56vLt7P64gGw95O/mvpIh+qqrmjn8dWttr
uMQE7CiivYWofVFF7ssB930hZW4hVFtxw1q6HCsj11OzH6DhBUoNalCoHcD9
4juNKRubG63gjN8zNkq03fzKzqkmEo/ZxAYNu0VtQCdEEAvzqBhTiVoC7mrC
2mHhOqcCAOQ++Me/aa3bOQm/692r9O6Un0xna2jfUVa7MZ1bR84J+3OeN8a9
uSbIkTl7XVH7GHBfuFPKAmjOepzplgkNosUoPuafhSsYmOzd7RjcjYp6FghT
0U0jDjOIUrszmfRj4GpXNz0rxivRDV0RVXYTsFyBpWdyLXbUSpAj35JKrh33
yL5fQENyzJU2hVaMq/ZfuyZC+3MKnKP1gVCL7XiZUfXe9cdZ+j/F0XsTblyh
sq+3vjrPqguEcbuCu7EFDOrgP24WC+rzqqilJlBP3VTpBZiwDFrcZ1VVO5Gt
1DfOJMxVS+UmtXmXmFykGt8HomlDNO4GNG697Vb2EvWCcxFkHTtZgt5gJWS5
lUg61ZD0D+riojPOVVaHs/bcIlVax59Znz7GeFAZWWOGlFXNs2Pq8c1r0j8g
m3dj9rQm16lmaXLYXQKpKiADL0iQCK3VNnrTBNdNrn9ToBiFGLmfbGGztafY
kSjo0aOXoerdorlQv4MO/V6C/Y8IOgS8XZTC8gzMo0fxxZkxiGG3xSSOl3tf
DXLFpHh0i4xYAzdN8Tqs3XYR+KMd60Zc/TopqRlYOfjyF48kyCwLNjMmv51C
PqvoDV/cnnikrryw/FW1FZY7cmWOs5PsMo0a1Vg6VzO3ZzUm0jhKl0zB8Tag
h0KgavVl4qHrO5xDyo+Xv60W4gP7XPZMZbcqr6PV8u0FxrGmI7Fko66i/7Dg
X6msdAwIQ+SitJKDbrxUXwMgsJDRk/60gn273q5z+E8u2I/tQI+CfVOh6Oeg
6/d39itYt6VOV5MRDiD8uq03W2f7pafow1aV2I4bT0uDFbuL5Vh4jGn/JF0P
ziZeeVEQghaOXg1C0ELRNbEGLB1MrjTKweyeoK7IYEOOT/1Lrvc3TYfkNARd
ywNhibwv357DilUKnS3dZIjoTSzSkAXtFsF8beP75mBZoLQm6ZhxGjbNQ5m6
xxkVfT57Escbcp2mDARYE96f9iSXswnXv/sF+Q97V1ir+vUVFcnYgoQiH/Q7
TNiuG80Z/wD1yMf5HHTkana5enEtjM1j0spwHKs9prmPtiRUtt3qRiVfb6z0
nCHS8PSnhUbsUDmzNHTqPJ+YXnla4XJXFRpUQE2c5TwlATfzmeZxf6ZJouU9
crKC1z5egxdb+gL2CvWAkXnIutxNlDu/DbUXbWA5jh4bsHGFL6clS72v2+L3
0rQbK027p+MpPcvP0lqXyRgrYVWtWTg7aohHdFAAXXDpwidnQiKTcL52dZdt
/f1zFHfxij5raVdMxvxe2hUs6HOUdnVtxect7fqitV3xW++Ga7u+eHHXJ6/6
Mxd3Ye+IvB4v67pPNOL3eqO+9UY3H9h3Q9I7QUg6zKFdq+/Z/UT4+P+kQppb
yRGolJhCBNL4X8V0e0nQYrcoql3DORkPM35oqOO8Q5n1kGDIflWpZHCrkO0n
jzWWteRJcREQK8ADLe+pOIf54nFBMuDYuV5UUamXNuT4CYoSOoWWK9QXUE25
UD1vcR1ogcpRVqfXLV7wAsnGN9hrKSfpmC73GEhgdO78DvZOrcjES5XFz9dG
/4hVO/LaHoeO+oGrPfu0/XW306dRfO3YPG+N3SNoCct3C7/PK4dqgQXdnwJo
QXuny5qyTKr7hDk3yRVOWMSkKUyoShEmmk5Wnsu1r4I92FhpSTD18/my0BFT
2LIC+z8DrYCJ8voMtVC0IGy4I56cT8k16Pi2ZCcMqAFRwOW0oEDYeT5hP6ml
zWIyWFOVM9ZeVTPF1MMv9Cd3f3TPAxncJoEl0UWt/GsUQ7id80WOGusSzpCz
+hiG1/rwi9uj5BhjFHJxI/oPDBa1qlHbDhb46f3WdULBSebGmUPn4qc7FbtS
QGrqAvKqmF0Kh1qRxg/NJUKwwXvxr2I5N+2vGIgt2leK1C/x8esWI/QSx4KT
/NRSjWyBJVpuEJq7mI3ipbdRpVcXxJHiMExYc+Fp6xou/Us7pTExNVWyTLtw
asATRgCCtFb1oPE8eSfW2wcsCv1qkUgfnJVRNhqE7K87aAlvRpoi6xXK0nTV
lCzNLodaZ2le1PpGV6eFZucCsdQKhuDVtWRrhDC+YzjaGV7Y1nHpTwVV3oX3
rTC8xbD+OiO9+r6DCVutVZe1MQXdtEHKwarKyXLMRh1jvGOHl7EyPfXtumqF
eAccGAx5DB3Ywq2mG6A8IfOXxbKFWEoNFrBn/di657vAd1f4Uz7BVz9IDJop
Tqlenmivx7R04L4pIJ1acXAPC+uwPHidvDrh6D85Mh/u3d8xhSTcIEqHti2K
DCK3A3Fu3hhHXsQutztN2bqMDqGBfoA9ZwR91c0/gG/Qllu1Dop+uyGPh1DV
5AKWBlvtsu+2LyfoZEl5BnM4TimSp1AsZzPm+z0b2q6FAv0IoHT2ZYF3bD4V
VwJ6ZKTl0Sg5UBkKdi8hP6MutmOTrMox4oTPc/Tyzhutg/wlu8RKCPoleoOB
ys/+ynTBj14r8YTPBdlAaURxwLgxSgvWqSRaeoynGFMyXzLGMxAFI93yW80G
qJgP4eRjXl3+X5l4QBaz9DL5AbS28kJ90cxfvluPvA7e1BxFYnCObaEaFnnt
0MR9wu20v7S5uS9yP4ypidFJ3co4oCniEWUCbphRboPAIc0uCqAdyqnepsvn
tWNHYIbKaKttWmBZYBQgCqz9Ok3b/tQZ9d5HndHTmmYKj6CviA2Knrt4/x9/
FwuKZFgkOdQkSb7n++d697YvzUj5P6JQhb0LA7bqZlmqGkRLVM/RC6yGNkQY
2vst1hU1uS2d0pEgsFvMPljZQSdcGXq6LaPLF1z+ht+wPBj6SyQWIl+zeaJr
L6UTyDxL4fF5ZrdTlnuBqlAaRMenbCKsUYwjeCnVxc7Spfx7lOM6vGCTECfk
zoeO3CfvS9VvX1zux/FhcxgKFR1MGBsUbYC6UzoeEek4FtswGTHYX3L4my0E
M7Oc2w9IWtBBSH5at9WcMJoCQlk4opO3lfKE6nGs58Qd2RKjKUfS+7uaTfRP
Pxklr7SiHOE96lEounN2jZpzqCXYuibu1J2yYi3Tkpsxaad7WtVaq5unH/P5
cg6KJyhBL49+eP/i4N/fHz/7n0fMtgKTTQaVBzltZac5SrU+0ydpbXL16P0K
c+/o4AkonNKgiCmjbLfgatkd9VLFt0k6kKnprAIjSE2VU5QqyN6jpnYOBVzP
h7XENpOytSKDDg+7olhTdHJVPVchFf543XrjFy+ZDUUwQSkhpzXYS56hz1FW
bNPFjvIXl5HWKeR8mmI1TusKM7j16KzNTdTdx1CS5OSWNzA3imGXV1bbFrtQ
CA6ja7PJWbpIL41sRV72tVAxa7R7lIwZJBPNHD6Q8RQApZVIVFOGifa+YwJg
8fcle5ItrhDzyMvkNImc1qPRTrtXz8ocqDReoo/jPxCfrFpk6JOospaOPKRQ
scciaDkXULcpT/miNCWTA+mi7HNntwJjnAJKNRU/JZJMCqA985q9pvQjsyJl
BChb5nmWSvHBCg/JGtQWbWHqF26xY0eVuyC1jCj7I6gWMqU3XEsS80kRtKp4
yLpN99SOtCha5Y2tYZJf6VPIrX26ng/D9d12+j/7b8k6ZGVP0cAi7yBAWFCw
/RbhW3gBn5ZjkAfJ0f2DQIl4tYK40oAaP7dZWIn2CKoVSvZnq+NShThcWRbt
Ptk+qlcTpSvVFsuTWT7GA+5WHDSULKj1ZzNb67YmPdHGvPv87E57T0wkcMTw
D6kV8AIipvotkRyl11KYF15QViF4O0WlAXVsnVe3kHkbuwc2rU3WY6Q+7/5c
bMJ/Dq1CwohSLSVfDnBo5/Stdo2eQkPL4aQm7eCI1uYGW9c3RMhKqLYns6LG
4DQOIPMH6mJSFldHdCyB1JpU+q8zdQyBWwtr2JO7oMrC1MnzdUhqCgNYkWqf
Rio4TAuMf8hYSDSwvdm+xgXhDmWzdIEcB6bMWFGXzEZMMbjokISj5HlKuFdF
ZO+py12RqdIi4YDI3t5eSUsmDXsGKA0ZpQG5kPiXOArfgDG/hcpHix8pI000
jlxHxYXzye16xVkMWPHB+lLEH7HjWqq/lEBhXr+qMHFyJ9WdMG0cJ44bfNTe
F7lXBkmN7h1XYqBBP+uhP4DCfQZ6C5hb1lWjXt2BrxWzi6SQfFHluFoVmag4
sU2by3HbUCwCi4PdrCHjfhsEFVA1JQbBJUyZAbDk7/Xsr4Atk8YREK8FXObg
7eF3d3L6S2cfk8Pk0c693V9//bKAM1acUntrKA5uYyRGWOGfDmimHXPITqSx
EFSUJEYmIUtcVSbpgolIsQSWEuLU53DkJSaG/ekn1tXuVD74AQcXZUKVZ8Hs
z7NL9t14ZGFa6SnxBRrOy0XuEza3ZvIeFy7YEaoAjTLJoqCTQhsbic4IGiwP
V9UewEVDKVWuYM6qiiF3Xzeg+c8u3Qlls9sCbim13bqExHyd1HL0LRWndkaR
pgntUhESRNqNlPbN2L0vaiF1BpsxWWslsPs3uxIYoB9z8Zk+fPLkOZ8OqlgS
WbW3gwApcpCsrY4wSRQzsAtKg7VAlRMYZs4n48lkhkoLjCXpnLTmr5MG3oC/
wH+yFIcPf/zKe/CdfNeeJz7nstO+9ZY2LDl32+xvvHMywn/eT27hpIc0VJM3
s+zrTZ+wYamTfcw2f+XtiLghfSyiu8nWNyAB5d60qi4lmWmf4eBZPykwq0Dv
Xx0cKvFVufxJAiKbL5rLP6pyEy19vC0OgCj12A7zMQyNRqeJ02AFdlbsZvUw
tEgS9QHS6if/LX1JCvrqfZXpKI7UmPZm5VOYO9eGEiDSxgqF19pvXQ3Quhcg
Imgoc7Va4Rr1LUzv1ShaOSnFcK3hVxFHy2CHdGGNRFZhQWyxm2JdkC2rJI4D
ASDstCfZ3F6el5Bhti6F3SgwqE3UnjpudG6PCYZ3CuK28av1DpjQXDkile/C
lxTw0btUL2eGnp3wYHRItH+zHTwGHwGpji2udHYhtwbYOnx1fGR9qnyP2D9g
mz1SYnzT2THxaseVGh/56HCXSmZxBIp+XC54V19TfZD6FdhUiC85RnMArlYJ
5aa1f6f87ccfdxFsf3eQ7Lx797dt0026je6khdm0UgZHf+xgw7/Ycoyzo2jP
qZy3E32Zc2psBFw/h6IL6HaUvGqkso4J3rpIsbUMAu0kT0+LkpJB1VHnmXZX
G7uXL+k64/K0UMab6jkmYT2ZB526H0xpOy90aQAjQO+YSUq3yGTgk7OyPR63
hlizknL7aL2u7hleLi5UykodyoFhoetM1/P2uTv5zuXr9kvjKv4OSNiHGX8H
JPynASRs0RGvC5hw/3MDE8bW0wZQ+PbsekDf9PXrAL/1Rp+jzbDeF/tmKwpa
DDrOVvD7q/ECOkQvo5vKRq5bgVfvoCN8X5CG8MlWRchrWutOZ8oZrI/gmi0F
cHbsp/H0YbTkonAG3h0adbq1TbdGHdHgtXhwOzqPxY+oHXPnVKdZBp/fiwDf
sNN1gS4r45tzcljZnxCBbqnP6L7D+WcfFwoFzguAsPekrASurMO5J79K7VIE
wjbTJGRpZmUy9XXebPHg264iMkfjAYsvUFWPagsGnCZv2KtLOWxTdjnmCr+L
X08KIgiS7V6OonWWIKTT2U1cLxWqULFt5QgB0tEgLPBhjApr4EJ4XnQVnNcV
qE2SkApLvtBcw9tEYeX1c0a6Ll9SL0OPb3D8WUsNNFrLLOv2V7XPHoha93JA
XtfESetec+IHseSN1bf31IIZjOxxPyC+3wEGfwcY/B1g8HMBDN7jidEY6oYU
I7Vn04UuJRNr61RmLrMkei7EhVxRr/jGAsFj3VMrTg6KXbkOXF8vfL5rATDa
YyPkyyEYRWGMujvrZIHsxx6g0rYGXY304z3Vweb+5ju3UdDvmEarMY1YcnYD
GtUqXcOCYV7oHpat7vjMzGMMoiKn+Im6v2ggMmta7cJ+4Eu/GiRNdDa2xHIs
q/Gq2DRCKecwXz+lwtvGLpVYm1bubK9Gq+QJmwLrZ+iwBnxTTUqfHD0/enuk
xf0XzcgRa4nuPC9t74Y9x7w5ra5jZzG56YRgYDxccPE+1eEhGpXri6DtxWYA
LeC+a8URfnfZBi5bINUmU9R0S+Lt2STEKNvjpvaEQqmsp2nHQQygluFU4rxj
wOMs7nE8le1sg0qiy2mR1h+Rs66zm7EqA6QE5xxZxymeAtnqEuwJcNKtLjKU
dGda4q/sM4ct076wvqQKEBb69qp1BeKV+vU8RfLGizrZmeETbIAV3/CeMTnO
ddbIik1wMnXb1eNwt1QHvUHcPe357oN+GHKlOB5xPg59PeLhRrZOf2AvFBWA
bmd6rH3HJ/Rh6dWGJa9lYyftHVVupJ3KOr1UZIYjfyot5OruwOILv651qct7
hQ3ntCmxyKmIqzWem+hA4k0wRpVefVTWocuazVWs+vTuiVpRY0o5oulUztS6
piWth8qVFC0p5YdFau/T/wm9v3eTLdbS3HSoTzfq74vI72/Vi2W8Kzr9pNN6
7GcXMcd320VyKnztuh3QUpfVuTYQ8BTCcmhPs5ugzJkrCtUJI82qMYBXodqi
aDdnqzA/1YWEPzuwn/p2UhBVy0pVJimLVwT0p2CBxvz0NfVDc1BA9Z2geCqG
ijkQpFDF++LlckAuqBwH4/hWnSO/Q9eDt6xqZ2cddM9wVXo/bKeibHrc1/4p
PvYqM8CW7ZCaPUE0B24XM63Ve5CanIXPi4xkd3qQJ52oH+sqUStwnEn7pwYg
KlzQBhsSAKZxMhLXfmexbNCibCjnTIlW3sO4Z38ghX4rtRgbfEhU0QlXoTvS
vQcYrYG8/d3s9M3OPW11ijQnY5NE7UnG6D1yyRpUni5TM2CeiIkRVGur+h1Y
bsVdLFfZCLqfgG2nYLh3kqksHYFJtt3yjdvZ0o848STOdORBDYn+suTg8Ii/
gPROXht58vMtsw1GzMBdCQfQDu1fsJYf54RHDhcoPbMcL6WVyJSAd6yMK0ug
2eWVkbLTk6y5yESddHWZuB9HzpDCwEJVS5+chkqDSXUBwTWfp1X+X7y3cwta
Nc+sNGLKQVal7nWTmfgTJnwlutP9eaYC726DUmC9POUs5pWVa4q3iSIKU9HJ
dWF/awXKhrgodcKNvifV1UPHBa2aX5KXeF05f37hxSF2n/z4FmeY+E+9yVSN
2i8bvwzDP79Ef+x4agjvSRDXxB9puKN/xEqchNuq+k/9/PN/Pz56/hSE1HXO
RwF/OPPZ1T8G87jp+XAUh6CKzXzu6R/fVigfq+QpumM+y3x0eMyaz33940s8
CChx/H27qfmo4gVnvx584flwVYOZz14wH84g+Qz75SBrq/k8/HL842yVms+j
L7dfCsHHmc/jLzwfn3927n4x/hFMcne/dh98Mf6xcdnNfPbUj5/9vqiC+wD3
a8eZT+zPjZ0vvvm9+ex+sf0yWQj2fO75+3Vrb/TTn5awaz/9eQt03+0bno9W
1UBfxfnc989XsG83NR+367Kijz5fyzaF48bok0/gvC8t5sD56PP1+e8LnWBj
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
LOOIz95wc2e4+agf/QdgdnDLbI4CAA==

-->

</rfc>
