<?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-rfc2629 version 1.5.6 -->
<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-ace-oscore-gm-admin-05" category="std" obsoletes="" updates="" submissionType="IETF" xml:lang="en" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.9.1 -->
  <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-05"/>
    <author initials="M." surname="Tiloca" fullname="Marco Tiloca">
      <organization>RISE AB</organization>
      <address>
        <postal>
          <street>Isafjordsgatan 22</street>
          <city>Kista</city>
          <code>16440 Stockholm</code>
          <country>Sweden</country>
        </postal>
        <email>marco.tiloca@ri.se</email>
      </address>
    </author>
    <author initials="R." surname="Höglund" fullname="Rikard Höglund">
      <organization>RISE AB</organization>
      <address>
        <postal>
          <street>Isafjordsgatan 22</street>
          <city>Kista</city>
          <code>16440 Stockholm</code>
          <country>Sweden</country>
        </postal>
        <email>rikard.hoglund@ri.se</email>
      </address>
    </author>
    <author initials="P." surname="van der Stok" fullname="Peter van der Stok">
      <organization>Consultant</organization>
      <address>
        <phone>+31-492474673 (Netherlands), +33-966015248 (France)</phone>
        <email>stokcons@bbhmail.nl</email>
      </address>
    </author>
    <author initials="F." surname="Palombini" fullname="Francesca Palombini">
      <organization>Ericsson AB</organization>
      <address>
        <postal>
          <street>Torshamnsgatan 23</street>
          <city>Kista</city>
          <code>16440 Stockholm</code>
          <country>Sweden</country>
        </postal>
        <email>francesca.palombini@ericsson.com</email>
      </address>
    </author>
    <date year="2022" month="March" day="07"/>
    <area>Internet</area>
    <workgroup>ACE Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>Group communication for CoAP can be secured using Group Object Security for Constrained RESTful Environments (Group OSCORE). A Group Manager is responsible to handle the joining of new group members, as well as to manage and distribute the group keying material. This document defines a RESTful admin interface at the Group Manager, that allows an Administrator entity to create and delete OSCORE groups, as well as to retrieve and update their configuration. The ACE framework for Authentication and Authorization is used to enforce authentication and authorization of the Administrator at the Group Manager. Protocol-specific transport profiles of ACE are used to achieve communication security, proof-of-possession and server authentication.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
    Authentication and Authorization for Constrained Environments Working Group mailing list (ace@ietf.org),
    which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/ace/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/ace-wg/ace-oscore-gm-admin"/>.</t>
    </note>
  </front>
  <middle>
    <section anchor="intro" numbered="true" toc="default">
      <name>Introduction</name>
      <t>The Constrained Application Protocol (CoAP) <xref target="RFC7252" format="default"/> can be used in group communication environments where messages are also exchanged over IP multicast <xref target="I-D.ietf-core-groupcomm-bis" format="default"/>. 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" format="default"/>, and especially Group OSCORE <xref target="I-D.ietf-core-oscore-groupcomm" format="default"/> in group communication scenarios.</t>
      <t>When group communication for CoAP is protected with Group OSCORE, nodes are required to explicitly join the correct OSCORE group. To this end, a joining node interacts with a Group Manager (GM) entity responsible for that group, and retrieves the required keying material to securely communicate with other group members using Group OSCORE.</t>
      <t>The method in <xref target="I-D.ietf-ace-key-groupcomm-oscore" format="default"/> specifies how nodes can join an OSCORE group through the respective Group Manager. Such a method builds on the ACE framework for Authentication and Authorization <xref target="I-D.ietf-ace-oauth-authz" format="default"/>, so ensuring a secure joining process as well as authentication and authorization of joining nodes (clients) at the Group Manager (resource server).</t>
      <t>In some deployments, the application running on the Group Manager may know when a new OSCORE group has to be created, as well as how it should be configured and later on updated or deleted, e.g., based on the current application state or on pre-installed policies. In this case, the Group Manager application can create and configure OSCORE groups when needed, by using a local application interface. However, this requires the Group Manager to be application-specific, which in turn leads to error prone deployments and is poorly flexible.</t>
      <t>In other deployments, a separate Administrator entity, such as a Commissioning Tool, is directly responsible for creating and configuring the OSCORE groups at a Group Manager, as well as for maintaining them during their whole lifetime until their deletion. This allows the Group Manager to be agnostic of the specific applications using secure group communication.</t>
      <t>This document specifies a RESTful admin interface at the Group Manager, intended for an Administrator as a separate entity external to the Group Manager and its application. The interface allows the Administrator to create and delete OSCORE groups, as well as to configure and update their configuration.</t>
      <t>Interaction examples are provided, in Link Format <xref target="RFC6690" format="default"/> and CBOR <xref target="RFC8949" format="default"/>, as well as in CoRAL <xref target="I-D.ietf-core-coral" format="default"/>. While all the CoRAL examples show the CoRAL textual serialization format, its binary serialization format is used on the wire.</t>
      <t>[ NOTE:</t>
      <t>The reported CoRAL examples are based on the textual representation used until  version -03 of <xref target="I-D.ietf-core-coral" format="default"/>. These will be revised to use the CBOR diagnostic notation instead.</t>
      <t>]</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="I-D.ietf-ace-oscore-profile" format="default"/><xref target="I-D.ietf-ace-dtls-authorize" format="default"/>. These include also possible forthcoming transport profiles that comply with the requirements in Appendix C of <xref target="I-D.ietf-ace-oauth-authz" format="default"/>.</t>
      <section anchor="terminology" numbered="true" toc="default">
        <name>Terminology</name>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 <xref target="RFC2119" format="default"/> <xref target="RFC8174" format="default"/> when, and only when, they appear in all capitals, as shown here.</t>
        <t>Readers are expected to be familiar with the terms and concepts from the following specifications:</t>
        <ul spacing="normal">
          <li>CBOR <xref target="RFC8949" format="default"/> and COSE <xref target="I-D.ietf-cose-rfc8152bis-struct" format="default"/><xref target="I-D.ietf-cose-rfc8152bis-algs" format="default"/>.</li>
          <li>
            <t>The CoAP protocol <xref target="RFC7252" format="default"/>, also in group communication scenarios <xref target="I-D.ietf-core-groupcomm-bis" format="default"/>. These include the concepts of:  </t>
            <ul spacing="normal">
              <li>"application group", as a set of CoAP nodes that share a common set of resources; and of</li>
              <li>"security group", as a set of CoAP nodes that share the same security material, and use it to protect and verify exchanged messages.</li>
            </ul>
          </li>
          <li>
            <t>The OSCORE <xref target="RFC8613" format="default"/> and Group OSCORE <xref target="I-D.ietf-core-oscore-groupcomm" format="default"/> security protocols. These especially include the concepts of:  </t>
            <ul spacing="normal">
              <li>Group Manager, as the entity responsible for a set of OSCORE groups where communications among members are secured using Group OSCORE. An OSCORE group is used as security group for one or many application groups.</li>
              <li>Authentication credential, as the set of information associated with an entity, including that entity's public key and parameters associated with the public key. Examples of authentication credentials are CBOR Web Tokens (CWTs) and CWT Claims Sets (CCSs) <xref target="RFC8392" format="default"/>, X.509 certificates <xref target="RFC7925" format="default"/> and C509 certificates <xref target="I-D.ietf-cose-cbor-encoded-cert" format="default"/>.</li>
            </ul>
          </li>
          <li>The ACE framework for authentication and authorization <xref target="I-D.ietf-ace-oauth-authz" format="default"/>. The terminology for entities in the considered architecture is defined in OAuth 2.0 <xref target="RFC6749" format="default"/>. In particular, this includes Client (C), Resource Server (RS), and Authorization Server (AS).</li>
          <li>The management of keying material for groups in ACE <xref target="I-D.ietf-ace-key-groupcomm" format="default"/> and specifically for OSCORE groups <xref target="I-D.ietf-ace-key-groupcomm-oscore" format="default"/>. These include the concept of group-membership resource hosted by the Group Manager, that new members access to join the OSCORE group, while current members can access to retrieve updated keying material.</li>
        </ul>
        <t>Note that, unless otherwise indicated, the term "endpoint" is used here following its OAuth definition, aimed at denoting resources such as /token and /introspect at the AS, and /authz-info at the RS. This document does not use the CoAP definition of "endpoint", which is "An entity participating in the CoAP protocol".</t>
        <t>This document also refers to the following terminology.</t>
        <ul spacing="normal">
          <li>Administrator: entity responsible to create, configure and delete OSCORE groups at a Group Manager.</li>
          <li>Group name: stable and invariant name of an OSCORE group. The group name MUST be unique under the same Group Manager, and MUST include only characters that are valid for a URI path segment.</li>
          <li>
            <t>Group-collection resource: a single-instance resource hosted by the Group Manager. An Administrator accesses a group-collection resource to retrieve the list of existing OSCORE groups, or to create a new OSCORE group, under that Group Manager.  </t>
            <t>
As an example, this document uses /manage as the url-path of the group-collection resource; implementations are not required to use this name, and can define their own instead.</t>
          </li>
          <li>
            <t>Group-configuration resource: a resource hosted by the Group Manager, associated with an OSCORE group under that Group Manager. A group-configuration resource is identifiable with the invariant group name of the respective OSCORE group. An Administrator accesses a group-configuration resource to retrieve or change the configuration of the respective OSCORE group, or to delete that group.  </t>
            <t>
The url-path to a group-configuration resource has GROUPNAME as last segment, with GROUPNAME the invariant group name assigned upon its creation. Building on the considered url-path of the group-collection resource, this document uses /manage/GROUPNAME as the url-path of a group-configuration resource; implementations are not required to use this name, and can define their own instead.</t>
          </li>
          <li>Admin endpoint: an endpoint at the Group Manager associated with the group-collection resource or to a group-configuration resource hosted by that Group Manager.</li>
        </ul>
      </section>
    </section>
    <section anchor="overview" numbered="true" toc="default">
      <name>Group Administration</name>
      <t>With reference to the ACE framework and the terminology defined in OAuth 2.0 <xref target="RFC6749" format="default"/>:</t>
      <ul spacing="normal">
        <li>The Group Manager acts as Resource Server (RS). It provides one single group-collection resource, and one group-configuration resource per existing OSCORE group. Each of those is exported by a distinct admin endpoint.</li>
        <li>The Administrator acts as Client (C), and requests to access the group-collection resource and group-configuration resources, by accessing the respective admin endpoint at the Group Manager.</li>
        <li>
          <t>The Authorization Server (AS) authorizes the Administrator to access the group-collection resource and group-configuration resources at a Group Manager. Multiple Group Managers can be associated with the same AS.  </t>
          <t>
The authorized access for an Administrator can be limited to performing only a subset of operations, according to what is allowed by the authorization information in the Access Token issued to that Administrator (see <xref target="scope-format" format="default"/> and <xref target="getting-access" format="default"/>). The AS can authorize multiple Administrators to access the group-collection resource and the (same) group-configuration resources at the Group Manager.  </t>
          <t>
The AS MAY release Access Tokens to the Administrator for other purposes than accessing admin endpoints of registered Group Managers.</t>
        </li>
      </ul>
      <section anchor="managing-groups" numbered="true" toc="default">
        <name>Managing OSCORE Groups</name>
        <t><xref target="fig-api" format="default"/> shows the resources of a Group Manager available to an Administrator.</t>
        <figure anchor="fig-api">
          <name>Resources of a Group Manager</name>
          <artwork align="center" name="" type="" alt=""><![CDATA[
             ___
   Group    /   \
Collection  \___/
                 \
                  \____________________
                   \___    \___        \___
                   /   \   /   \  ...  /   \        Group
                   \___/   \___/       \___/   Configurations
]]></artwork>
        </figure>
        <t>The Group Manager exports a single group-collection resource, with resource type "core.osc.gcoll" defined in <xref target="iana-rt" format="default"/> of this document. The interface for the group-collection resource defined in <xref target="interactions" format="default"/> allows the Administrator to:</t>
        <ul spacing="normal">
          <li>Retrieve the list of existing OSCORE groups.</li>
          <li>Retrieve the list of existing OSCORE groups matching with specified filter criteria.</li>
          <li>Create a new OSCORE group, specifying its invariant group name and, optionally, its configuration.</li>
        </ul>
        <t>The Group Manager exports one group-configuration resource for each of its OSCORE groups. Each group-configuration resource has resource type "core.osc.gconf" defined in <xref target="iana-rt" format="default"/> 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" format="default"/> allows the Administrator to:</t>
        <ul spacing="normal">
          <li>Retrieve the complete current configuration of the OSCORE group.</li>
          <li>Retrieve part of the current configuration of the OSCORE group, by applying filter criteria.</li>
          <li>Overwrite the current configuration of the OSCORE group.</li>
          <li>Selectively update only part of the current configuration of the OSCORE group.</li>
          <li>Delete the OSCORE group.</li>
        </ul>
      </section>
      <section anchor="collection-representation" numbered="true" toc="default">
        <name>Collection Representation</name>
        <t>A list of group configurations is represented as a document containing the corresponding group-configuration resources in the list. Each group-configuration is represented as a link, where the link target is the URI of the group-configuration resource.</t>
        <t>The list can be represented as a Link Format document <xref target="RFC6690" format="default"/> or a CoRAL document <xref target="I-D.ietf-core-coral" format="default"/>.</t>
        <t>In the former case, the link to each group-configuration resource specifies the link target attribute 'rt' (Resource Type), with value "core.osc.gconf" defined in <xref target="iana-rt" format="default"/> of this document.</t>
        <t>In the latter case, the CoRAL document specifies the group-configuration resources in the list as top-level elements. In particular, the link to each group-configuration resource has http://coreapps.org/core.osc.gcoll#item as relation type.</t>
      </section>
      <section anchor="discovery" numbered="true" toc="default">
        <name>Discovery</name>
        <t>The Administrator can discover the group-collection resource from a Resource Directory, for instance <xref target="I-D.ietf-core-resource-directory" format="default"/> and <xref target="I-D.hartke-t2trg-coral-reef" format="default"/>, or from .well-known/core, by using the resource type "core.osc.gcoll" defined in <xref target="iana-rt" format="default"/> of this document.</t>
        <t>The Administrator can discover group-configuration resources for the group-collection resource as specified in <xref target="collection-resource-get" format="default"/> and <xref target="collection-resource-fetch" format="default"/>.</t>
      </section>
    </section>
    <section anchor="scope-format" numbered="true" toc="default">
      <name>Format of Scope</name>
      <t>This section defines the exact format and encoding of scope to use, in order to express authorization information for the Administrator (see <xref target="getting-access" format="default"/>).</t>
      <t>To this end, this document uses the Authorization Information Format (AIF) <xref target="I-D.ietf-ace-aif" format="default"/>, and defines the following AIF specific data model AIF-OSCORE-GROUPCOMM-ADMIN.</t>
      <t>With reference to the generic AIF model</t>
      <artwork name="" type="" align="left" alt=""><![CDATA[
   AIF-Generic<Toid, Tperm> = [* [Toid, Tperm]]
]]></artwork>
      <t>the value of the CBOR byte string used as scope encodes the CBOR array [* [Toid, Tperm]], where each [Toid, Tperm] element corresponds to one scope entry.</t>
      <t>Then, for each scope entry, the following applies.</t>
      <ul spacing="normal">
        <li>The object identifier ("Toid") is specialized as a CBOR text string, specifying a wildcard pattern P for the scope entry. The pattern P is intended as a template for group names.</li>
        <li>
          <t>The permission set ("Tperm") is specialized as a CBOR unsigned integer with value Q. This specifies the permissions that the Administrator has to perform operations on the admin endpoints at the Group Manager, as pertaining to any OSCORE group whose name matches with the wildcard pattern P. The value Q is computed as follows.  </t>
          <ul spacing="normal">
            <li>Each permission in the permission set is converted into the corresponding numeric identifier X from the "Value" column of the "Group OSCORE Admin Permissions" registry, for which this document defines the entries in <xref target="fig-permission-values" format="default"/>.</li>
            <li>The set of N numbers is converted into the single value Q, by taking each numeric identifier X_1, X_2, ..., X_N to the power of two, and then computing the inclusive OR of the binary representations of all the power values.</li>
          </ul>
          <t>
In general, a single permission can be associated with multiple different operations that are possible to be performed when interacting with the Group Manager. For example, the "List" permission allows the Administrator to retrieve a list of group configurations (see <xref target="collection-resource-get" format="default"/>) or only a subset of that according to specified filter criteria (see <xref target="collection-resource-fetch" format="default"/>), by issuing a GET or FETCH request to the group-collection resource, respectively.</t>
        </li>
      </ul>
      <figure anchor="fig-permission-values">
        <name>Numeric identifier of permissions on the admin endpoints at a Group Manager</name>
        <artwork align="center" name="" type="" alt=""><![CDATA[
+--------+-------+----------------------------------------+
| Name   | Value | Description                            |
+========+=======+========================================+
| List   | 0     | Retrieve list of group configurations  |
+--------+-------+----------------------------------------+
| Create | 1     | Create new group configurations        |
+--------+-------+----------------------------------------+
| Read   | 2     | Retrieve group configurations          |
+--------+-------+----------------------------------------+
| Write  | 3     | Change group configurations            |
+--------+-------+----------------------------------------+
| Delete | 4     | Delete group configurations            |
+--------+-------+----------------------------------------+
]]></artwork>
      </figure>
      <t>The CDDL <xref target="RFC8610" format="default"/> definition of the AIF-OSCORE-GROUPCOMM-ADMIN data model and the format of scope using such a data model is as follows:</t>
      <sourcecode type="CDDL"><![CDATA[
   AIF-OSCORE-GROUPCOMM-ADMIN = AIF-Generic<pattern, permissions>

   pattern = tstr  ; wilcard pattern of group names
   permission_set = uint . bits permissions
   permissions = &(
      List: 0,
      Create: 1,
      Read: 2,
      Write: 3,
      Delete: 4
   )

   scope_entry = AIF-OSCORE-GROUPCOMM-ADMIN

   scope = << [ + scope_entry ] >>
]]></sourcecode>
      <t>By relying on the scope format defined above and given an OSCORE group G1 created by a "main" Administrator, then a second "assistant" Administrator can be effectively authorized to perform some operations on G1, in spite of not being the group creator.</t>
      <t>Furthermore, having the object identifier ("Toid") specialized as a wildcard pattern displays a number of advantages.</t>
      <ul spacing="normal">
        <li>The encoded scope can be compact in size, while allowing the Administrator to operate on large pools of group names.</li>
        <li>The Administrator and the AS do not need to know exact group names when requesting and issuing an Access Token, respectively (see <xref target="getting-access" format="default"/>). In turn, the Group Manager can effectively take the final decision about the name to assign to an OSCORE group, upon its creation (see <xref target="collection-resource-post" format="default"/>).</li>
        <li>The Administrator may have established a secure communication association with the Group Manager based on a first Access Token T1, and then created an OSCORE group G. Following the invalidation of T1 (e.g., due to expiration) and the establishment of a new secure communication association with the Group Manager based on a new Access Token T2, the Administrator can seamlessly perform authorized operations on the previously created group G.</li>
      </ul>
      <t>When using the scope format defined in this section, the permission set ("Tperm") of each scope entry MUST include the "List" permission in order for the scope to be considered valid. That is, for each scope entry, the unsigned integer Q MUST be odd. 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 scope entries of the Administrator's Access Token, as well as on possible filter criteria specified in the request from the Administrator.</t>
      <t>[ NOTE:</t>
      <t>There is a potential follow-up building on this.</t>
      <t>An ACE Client might want to interact with the same Group Manager to be both Administrator for some groups and member for some other groups.</t>
      <t>In order to keep a single Access Token per Client, the scope would have to generally include some "admin" scope entries as per the AIF data model defined in this document, together with some "user" scope entries as per the AIF data model defined in <xref target="I-D.ietf-ace-key-groupcomm-oscore" format="default"/>.</t>
      <t>In the scope entries of the former type, the least significant bit of the Tperm integer and denoting the "List" admin permission is always set to 1 (see above). In the scope entries of the latter type, the least significant bit of the Tperm integer is reserved and always 0 (see <xref target="I-D.ietf-ace-key-groupcomm-oscore" format="default"/>).</t>
      <t>Therefore, "admin" and "user" scope entries can unambiguously coexist in the same 'scope' claim and Authorization Request/Response parameter, and can be easily distinguished by checking the least significant bit of the Tperm integer.</t>
      <t>In turn, this would require to accordingly revise the scope format and the ACE scope semantics integer defined in this document, in order to denote the certain presence of "admin" scope entries and the optional additional presence of "user" scope entries, within a same scope claim/parameter.</t>
      <t>]</t>
      <t>Future specifications that define new permissions on the admin endpoints at the Group Manager MUST register a corresponding numeric identifier in the "Group OSCORE Admin Permissions" registry defined in <xref target="ssec-iana-group-oscore-admin-permissions-registry" format="default"/> of this document.</t>
    </section>
    <section anchor="getting-access" numbered="true" toc="default">
      <name>Getting Access to the Group Manager</name>
      <t>All communications between the involved entities rely on the CoAP protocol and MUST be secured.</t>
      <t>In particular, communications between the Administrator and the Group Manager leverage protocol-specific transport profiles of ACE to achieve communication security, proof-of-possession and server authentication. To this end, the AS may explicitly signal the specific transport profile to use, consistently with requirements and assumptions defined in the ACE framework <xref target="I-D.ietf-ace-oauth-authz" format="default"/>.</t>
      <t>With reference to the AS, communications between the Administrator and the AS (/token endpoint) as well as between the Group Manager and the AS (/introspect endpoint) can be secured by different means, for instance using DTLS <xref target="RFC6347" format="default"/><xref target="I-D.ietf-tls-dtls13" format="default"/> or OSCORE <xref target="RFC8613" format="default"/>. Further details on how the AS secures communications (with the Administrator and the Group Manager) depend on the specifically used transport profile of ACE, and are out of the scope of this document.</t>
      <t>The format and encoding of scope defined in <xref target="scope-format" format="default"/> of this document MUST be used, for both the 'scope' claim in the Access Token, as well as for the 'scope' parameter in the Authorization Request and Authorization Response exchanged with the AS (see Sections <xref target="I-D.ietf-ace-oauth-authz" section="5.8.1" sectionFormat="bare" format="default"/> and <xref target="I-D.ietf-ace-oauth-authz" section="5.8.2" sectionFormat="bare" format="default"/> of <xref target="I-D.ietf-ace-oauth-authz" format="default"/>).</t>
      <t>Furthermore, the AS MAY use the extended format of scope defined in <xref section="7" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm" format="default"/> for the 'scope' claim of the Access Token. In such a case, the first element of the CBOR sequence <xref target="RFC8742" format="default"/> MUST be the CBOR integer with value SEM_ID_TBD, defined in <xref target="iana-scope-semantics" format="default"/> of this document. This indicates that the second element of the CBOR sequence, as conveying the actual access control information, follows the scope semantics defined in <xref target="scope-format" format="default"/> 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>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, it sends to the AS an Authorization Request as defined in <xref section="5.8.1" sectionFormat="of" target="I-D.ietf-ace-oauth-authz" format="default"/>. The Administrator will start or continue using secure communications with the Group Manager, according to the response from the AS.</li>
        <li>
          <t>The AS processes the Authorization Request as defined in <xref section="5.8.2" sectionFormat="of" target="I-D.ietf-ace-oauth-authz" format="default"/>, especially verifying that the Administrator is authorized to obtain the requested permissions, or possibly a subset of those.  </t>
          <t>
With reference to the scope format specified in <xref target="scope-format" format="default"/>, the AS builds the value of the 'scope' claim to include in the Access Token as follows.  </t>
          <ol spacing="normal" type="1"><li>The AS initializes three empty sets of scope entries, namely S1, S2 and S3.</li>
            <li>
              <t>For each scope entry E in the 'scope' parameter of the Authorization Request, the AS performs the following actions.      </t>
              <ul spacing="normal">
                <li>In its access policies related to administrative operations at the Group Manager for the Administrator, the AS determines every group name superpattern P*, such that every group name matching with the wildcard pattern P of the scope entry E matches also with P*.</li>
                <li>If no superpatterns are found, the AS proceeds with the next scope entry, if any. Otherwise, the AS computes Tperm* as the union of the permission sets associated with the superpatterns found at the previous step. That is, Tperm* is the inclusive OR of the binary representations of the Tperm values associated with the found superpatterns and encoding the corresponding permission sets as per <xref target="scope-format" format="default"/>.</li>
                <li>The AS adds to the set S1 a scope entry, such that its Toid is the same as in the scope entry E, while its Tperm is the AND of Tperm* with the Tperm in the scope entry E.</li>
              </ul>
            </li>
            <li>
              <t>For each scope entry E in the 'scope' parameter of the Authorization Request, the AS performs the following actions.      </t>
              <ul spacing="normal">
                <li>In its access policies related to administrative operations at the Group Manager for the Administrator, the AS determines every group name subpattern P*, such that: i) the wildcard pattern P of the scope entry E is different from P*; and ii) every group name matching with P* also matches with P.</li>
                <li>If no subpatterns are found, the AS proceeds with the next scope entry, if any. Otherwise, for each found subpattern P*, the AS adds to the set S2 a scope entry, such that its Toid is the same as in the subpattern P*, while its Tperm is the AND of the Tperm from the subpattern P* with the Tperm in the scope entry E.</li>
              </ul>
            </li>
            <li>
              <t>For each scope entry E in the 'scope' parameter of the Authorization Request, the AS performs the following actions.      </t>
              <ul spacing="normal">
                <li>
                  <t>For each group name pattern P* in its access policies related to administrative operations at the Group Manager for the Administrator, the AS performs the following actions.          </t>
                  <ul spacing="normal">
                    <li>The AS attempts to determine a crosspattern P** such that: i) in the previous step, P** was not identified as a superpattern or subpattern for the pattern P of the scope entry E; ii) every group name matching with P** also matches with both P and P*.</li>
                    <li>If no crosspattern is built, the AS proceeds with the next pattern in its access policies related to administrative operations at the Group Manager for the Administrator, if any. Otherwise, the AS adds to the set S3 a scope entry, such that its Toid is the same as in the crosspattern P**, while its Tperm is the AND of the Tperm from the pattern P* and the Tperm in the scope entry E.</li>
                  </ul>
                </li>
              </ul>
            </li>
            <li>If the sets S1, S2 and S3 are all empty, the Authorization Request has not been successfully verified, and the AS returns an error response as per <xref section="5.8.3" sectionFormat="of" target="I-D.ietf-ace-oauth-authz" format="default"/>. Otherwise, the AS uses the scope entries in the sets S1, S2 and S3 as the scope entries for the 'scope' claim to include in the Access Token, as per the format defined in <xref target="scope-format" format="default"/>.</li>
          </ol>
          <t>
The AS MUST include the 'scope' parameter in the Authorization Response defined in <xref section="5.8.2" sectionFormat="of" target="I-D.ietf-ace-oauth-authz" format="default"/>, when the value included in the Access Token differs from the one specified by the Administrator in the Authorization Response. In such a case, the second element of each scope entry specifies a set of permissions that the Administrator actually has to perform operations at the Group Manager, encoded as specified in <xref target="scope-format" format="default"/>.</t>
        </li>
        <li>The Administrator transfers authentication and authorization information to the Group Manager by posting the obtained Access Token, according to the used profile of ACE, such as <xref target="I-D.ietf-ace-dtls-authorize" format="default"/> and <xref target="I-D.ietf-ace-oscore-profile" format="default"/>. 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="RFC6347" format="default"/><xref target="I-D.ietf-tls-dtls13" format="default"/> and OSCORE <xref target="RFC8613" format="default"/>. The Administrator and the Group Manager maintain the secure association, to support possible future communications.</li>
        <li>
          <t>Consistently with what is allowed by the authorization information in the Access Token, the Administrator performs administrative operations at the Group Manager, as described in <xref target="interactions" format="default"/>. 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" format="default"/>.  </t>
          <t>
Upon receiving a request from the Administrator targeting the group-configuration resource or a group-collection resource, the Group Manager MUST check that it is storing a valid Access Token for that Administrator. If this is not the case, the Group Manager MUST reply with a 4.01 (Unauthorized) error response.  </t>
          <t>
If the request targets the group-configuration resource associated to a group with name GROUPNAME, the Group Manager MUST check that it is storing a valid Access Token from that Administrator, such that the 'scope' claim specified in the Access Token has the format defined in <xref target="scope-format" format="default"/> and includes a scope entry where:  </t>
          <ul spacing="normal">
            <li>The group name GROUPNAME matches with the wildcard pattern specified in the scope entry; and</li>
            <li>The permission set specified in the scope entry allows the Administrator to perform the requested operation on the targeted group-configuration resource.</li>
          </ul>
          <t>
Further details are defined separately for each operation specified in <xref target="interactions" format="default"/>.  </t>
          <t>
In case the Group Manager stores a valid Access Token but the verifications above fail, the Group Manager MUST reply with a 4.03 (Forbidden) error response. This response MAY be an AS Request Creation Hints, as defined in <xref section="5.3" sectionFormat="of" target="I-D.ietf-ace-oauth-authz" format="default"/>, in which case the Content-Format MUST be set to application/ace+cbor.  </t>
          <t>
If the request is not formatted correctly (e.g., required fields are not present or are not encoded as expected), the Group Manager MUST reply with a 4.00 (Bad Request) error response.</t>
        </li>
      </ol>
    </section>
    <section anchor="group-configurations" numbered="true" toc="default">
      <name>Group Configurations</name>
      <t>A group configuration consists of a set of parameters.</t>
      <section anchor="config-repr" numbered="true" toc="default">
        <name>Group Configuration Representation</name>
        <t>The group configuration representation is a CBOR map which MUST include configuration properties and status properties.</t>
        <section anchor="config-repr-config-properties" numbered="true" toc="default">
          <name>Configuration Properties</name>
          <t>The CBOR map MUST include the following configuration parameters, whose CBOR abbreviations are defined in <xref target="iana-ace-groupcomm-parameters" format="default"/> of this document.</t>
          <ul spacing="normal">
            <li>'hkdf', which specifies the HKDF Algorithm used in the OSCORE group, encoded as a CBOR text string or a CBOR integer. Possible values are the same ones admitted for the 'hkdf' parameter of the Group_OSCORE_Input_Material object, defined in <xref section="6.4" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore" format="default"/>.</li>
            <li>'cred_fmt', which specifies the format of authentication credentials used in the OSCORE group, encoded as a CBOR integer. Possible values are the same ones admitted for the 'cred_fmt' parameter of the Group_OSCORE_Input_Material object, defined in <xref section="6.4" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore" format="default"/>.</li>
            <li>'group_mode', encoded as a CBOR simple value. Its value is "true" (0xf5) if the OSCORE group uses the group mode of Group OSCORE <xref target="I-D.ietf-core-oscore-groupcomm" format="default"/>, or "false" (0xf4) otherwise.</li>
            <li>'sign_enc_alg', which is formatted as follows. If the configuration parameter 'group_mode' has value "false" (0xf4), this parameter has as value the CBOR simple value "null" (0xf6). Otherwise, this parameter specifies the Signature Encryption Algorithm used in the OSCORE group to encrypt messages protected with the group mode, encoded as a CBOR text string or a CBOR integer. Possible values are the same ones admitted for the 'sign_enc_alg' parameter of the Group_OSCORE_Input_Material object, defined in <xref section="6.4" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore" format="default"/>.</li>
            <li>'sign_alg', which is formatted as follows. If the configuration parameter 'group_mode' has value "false" (0xf4), this parameter has as value the CBOR simple value "null" (0xf6). Otherwise, this parameter specifies the Signature Algorithm used in the OSCORE group, encoded as a CBOR text string or a CBOR integer. Possible values are the same ones admitted for the 'sign_alg' parameter of the Group_OSCORE_Input_Material object, defined in <xref section="6.4" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore" format="default"/>.</li>
            <li>'sign_params', which is formatted as follows. If the configuration parameter 'group_mode' has value "false" (0xf4), this parameter has as value the CBOR simple value "null" (0xf6). Otherwise, this parameter specifies the additional parameters for the Signature Algorithm used in the OSCORE group, encoded as a CBOR array. Possible formats and values are the same ones admitted for the 'sign_params' parameter of the Group_OSCORE_Input_Material object, defined in <xref section="6.4" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore" format="default"/>.</li>
            <li>'pairwise_mode', encoded as a CBOR simple value. Its value is "true" (0xf5) if the OSCORE group uses the pairwise mode of Group OSCORE <xref target="I-D.ietf-core-oscore-groupcomm" format="default"/>, or "false" (0xf4) otherwise.</li>
            <li>'alg', which is formatted as follows. If the configuration parameter 'pairwise_mode' has value "false" (0xf4), this parameter has as value the CBOR simple value "null" (0xf6). Otherwise, this parameter specifies the AEAD Algorithm used in the OSCORE group to encrypt messages protected with the pairwise mode, encoded as a CBOR text string or a CBOR integer. Possible values are the same ones admitted for the 'alg' parameter of the Group_OSCORE_Input_Material object, defined in <xref section="6.4" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore" format="default"/>.</li>
            <li>'ecdh_alg', which is formatted as follows. If the configuration parameter 'pairwise_mode' has value "false" (0xf4), this parameter has as value the CBOR simple value "null" (0xf6). Otherwise, this parameter specifies the Pairwise Key Agreement Algorithm used in the OSCORE group, encoded as a CBOR text string or a CBOR integer. Possible values are the same ones admitted for the 'ecdh_alg' parameter of the Group_OSCORE_Input_Material object, defined in <xref section="6.4" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore" format="default"/>.</li>
            <li>'ecdh_params', which is formatted as follows. If the configuration parameter 'pairwise_mode' has value "false" (0xf4), this parameter has as value the CBOR simple value "null" (0xf6). Otherwise, this parameter specifies the parameters for the Pairwise Key Agreement Algorithm used in the OSCORE group, encoded as a CBOR array. Possible formats and values are the same ones admitted for the 'ecdh_params' parameter of the Group_OSCORE_Input_Material object, defined in <xref section="6.4" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore" format="default"/>.</li>
          </ul>
          <t>The CBOR map MAY include the following configuration parameters, whose CBOR abbreviations are defined in <xref target="iana-ace-groupcomm-parameters" format="default"/> of this document.</t>
          <ul spacing="normal">
            <li>'det_req', encoded as a CBOR simple value. Its value is "true" (0xf5) if the OSCORE group uses deterministic requests as defined in <xref target="I-D.amsuess-core-cachable-oscore" format="default"/>, or "false" (0xf4) otherwise. This parameter MUST NOT be present if the configuration parameter 'group_mode' has value "false" (0xf4).</li>
            <li>
              <t>'det_hash_alg', encoded as a CBOR integer or text string. If present, this parameter specifies the Hash Algorithm used in the OSCORE group when producing deterministic requests, as defined in <xref target="I-D.amsuess-core-cachable-oscore" format="default"/>. This parameter takes values from the "Value" column of the "COSE Algorithms" Registry <xref target="COSE.Algorithms" format="default"/>.  </t>
              <t>
This parameter MUST NOT be present if the configuration parameter 'det_req' is not present or if it is present with value "false" (0xf4). If the configuration parameter 'det_req' is present with value "true" (0xf5) and 'det_hash_alg' is not present, the choice of the Hash Algorithm to use when producing deterministic requests is left to the Group Manager.</t>
            </li>
          </ul>
        </section>
        <section anchor="config-repr-status-properties" numbered="true" toc="default">
          <name>Status Properties</name>
          <t>The CBOR map MUST include the following status parameters:</t>
          <ul spacing="normal">
            <li>'rt', with value the resource type "core.osc.gconf" associated with group-configuration resources, encoded as a CBOR text string.</li>
            <li>'active', encoding the CBOR simple value "true" (0xf5) if the OSCORE group is currently active, or the CBOR simple value "false" (0xf4) otherwise. This parameter is defined in <xref target="iana-ace-groupcomm-parameters" format="default"/> of this document.</li>
            <li>'group_name', with value the group name of the OSCORE group encoded as a CBOR text string. This parameter is defined in <xref target="iana-ace-groupcomm-parameters" format="default"/> of this document.</li>
            <li>'group_title', with value either a human-readable description of the OSCORE group encoded as a CBOR text string, or the CBOR simple value "null" (0xf6) if no description is specified. This parameter is defined in <xref target="iana-ace-groupcomm-parameters" format="default"/> of this document.</li>
            <li>'ace-groupcomm-profile', defined in Section 4.3.1 of <xref target="I-D.ietf-ace-key-groupcomm" format="default"/>, with value "coap_group_oscore_app" defined in <xref section="25.5" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore" format="default"/> encoded as a CBOR integer.</li>
            <li>'exp', defined in <xref section="4.3.1" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm" format="default"/>.</li>
            <li>'app_groups', with value a list of names of application groups, encoded as a CBOR array. Each element of the array is a CBOR text string, specifying the name of an application group using the OSCORE group as security group (see <xref section="2.1" sectionFormat="of" target="I-D.ietf-core-groupcomm-bis" format="default"/>).</li>
            <li>'joining_uri', with value the URI of the group-membership resource for joining the newly created OSCORE group as per <xref section="6.2" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore" format="default"/>, encoded as a CBOR text string. This parameter is defined in <xref target="iana-ace-groupcomm-parameters" format="default"/> of this document.</li>
          </ul>
          <t>The CBOR map MAY include the following status parameters:</t>
          <ul spacing="normal">
            <li>'group_policies', defined in <xref section="4.3.1" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm" format="default"/>, and consistent with the format and content defined in <xref section="6.4" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore" format="default"/>.</li>
            <li>'max_stale_sets', defined in <xref target="iana-ace-groupcomm-parameters" format="default"/> of this document and encoded as a CBOR unsigned integer, with value strictly greater than 1. With reference to <xref section="2.2.1" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore" format="default"/>, this parameter specifies N, i.e., the maximum number of sets of stale OSCORE Sender IDs that the Group Manager stores in the collection associated with the group.</li>
            <li>'as_uri', defined in <xref target="iana-ace-groupcomm-parameters" format="default"/> of this document, specifies 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="4" sectionFormat="bare" format="default"/> and <xref target="I-D.ietf-ace-key-groupcomm-oscore" section="6" sectionFormat="bare" format="default"/> of <xref target="I-D.ietf-ace-key-groupcomm-oscore" format="default"/>).</li>
          </ul>
        </section>
      </section>
      <section anchor="default-values" numbered="true" toc="default">
        <name>Default Values</name>
        <t>This section defines the default values that the Group Manager assumes for configuration and status parameters.</t>
        <section anchor="default-values-conf" numbered="true" toc="default">
          <name>Configuration Parameters</name>
          <t>For each configuration parameter, the Group Manager MUST use a pre-configured default value, if none is specified by the Administrator. In particular:</t>
          <ul spacing="normal">
            <li>For 'group_mode', the Group Manager SHOULD use the CBOR simple value "true" (0xf5).</li>
            <li>If 'group_mode' has value "true" (0xf5), the Group Manager SHOULD use the same default values defined in <xref section="23.2" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore" format="default"/> for the parameters 'sign_enc_alg', 'sign_alg' and 'sign_params'.</li>
            <li>If 'group_mode' has value "true" (0xf5), the Group Manager SHOULD use the CBOR simple value "false" (0xf4) for the parameter 'det_req'.</li>
            <li>If 'det_req' has value "true" (0xf5), the Group Manager SHOULD use SHA-256 (COSE algorithm encoding: -16) as default value for the parameter 'det_hash_alg'.</li>
            <li>For 'pairwise_mode', the Group Manager SHOULD use the CBOR simple value "false" (0xf4).</li>
            <li>If 'pairwise_mode' has value "true" (0xf5), the Group Manager SHOULD use the same default values defined in <xref section="23.3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore" format="default"/> for the parameters 'alg', 'ecdh_alg' and 'ecdh_params'.</li>
            <li>For any other configuration parameter, the Group Manager SHOULD use the same default values defined in <xref section="23.1" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore" format="default"/>.</li>
          </ul>
        </section>
        <section anchor="status-parameters" numbered="true" toc="default">
          <name>Status Parameters</name>
          <t>For the following status parameters, the Group Manager MUST use a pre-configured default value, if none is specified by the Administrator. In particular:</t>
          <ul spacing="normal">
            <li>For 'active', the Group Manager SHOULD use the CBOR simple value "false" (0xf4).</li>
            <li>For 'group_title', the Group Manager SHOULD use the CBOR simple value "null" (0xf6).</li>
            <li>For 'app_groups', the Group Manager SHOULD use the empty CBOR array.</li>
            <li>For 'group_policies', the Group Manager SHOULD use the default values defined in <xref section="6.4" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore" format="default"/>.</li>
          </ul>
        </section>
      </section>
    </section>
    <section anchor="interactions" numbered="true" toc="default">
      <name>Interactions with the Group Manager</name>
      <t>This section describes the operations available on the group-collection resource and the group-configuration resources.</t>
      <t>When custom CBOR is used, the Content-Format in messages containing a payload is set to application/ace-groupcomm+cbor, defined in <xref section="11.2" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm" format="default"/>. Furthermore, the entry labels defined in <xref target="iana-ace-groupcomm-parameters" format="default"/> of this document MUST be used, when specifying the corresponding configuration and status parameters.</t>
      <section anchor="collection-resource-get" numbered="true" toc="default">
        <name>Retrieve the Full List of Group Configurations</name>
        <t>The Administrator can send a GET request to the group-collection resource, in order to retrieve a list of the existing OSCORE groups at the Group Manager. This is returned as a list of links to the corresponding group-configuration resources.</t>
        <t>The Group Manager MUST prepare the list L to include in the response as follows. For each group-configuration resource R:</t>
        <ol spacing="normal" type="1"><li>The Group Manager considers the group name GROUPNAME of the OSCORE group associated to R.</li>
          <li>The Group Manager retrieves the stored Access Token for the Administrator. Then, it checks whether GROUPNAME matches with the group name pattern specified in any scope entry of the 'scope' claim in the Access Token.</li>
          <li>The link to the group-configuration resource R is added to the list L only in case of a positive match.</li>
        </ol>
        <t>Example in Link Format:</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
=> 0.01 GET
   Uri-Path: manage

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

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

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

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

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

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

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

   group_mode true
   sign_enc_alg 10
   hkdf 5

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

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

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

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

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

   #using <http://coreapps.org/core.osc.gconf#>
   sign_enc_alg 10
   hkdf 5
   pairwise_mode true
   active true
   group_name "gp4"
   group_title "rooms 1 and 2"
   app_group "room1"
   app_group "room2"
   as_uri <coap://as.example.com/token>

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

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

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

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

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

   #using <http://coreapps.org/core.osc.gconf#>
   hkdf 5
   cred_fmt 33
   group_mode true
   sign_enc_alg 10
   sign_alg -8
   sign_params.alg_capab.key_type 1
   sign_params.key_type_capab.key_type 1
   sign_params.key_type_capab.curve 6
   pairwise_mode true
   alg 10
   ecdh_alg -27
   ecdh_params.alg_capab.key_type 1
   ecdh_params.key_type_capab.key_type 1
   ecdh_params.key_type_capab.curve 6
   rt "core.osc.gconf",
   active true
   group_name "gp4"
   group_title "rooms 1 and 2"
   ace-groupcomm-profile "coap_group_oscore_app"
   max_stale_sets 3
   exp 1360289224
   app_group "room1"
   app_group "room2"
   joining_uri <coap://[2001:db8::ab]/ace-group/gp4/>
   as_uri <coap://as.example.com/token>
]]></artwork>
      </section>
      <section anchor="configuration-resource-fetch" numbered="true" toc="default">
        <name>Retrieve Part of a Group Configuration by Filters</name>
        <t>The Administrator can send a FETCH request to the group-configuration resource manage/GROUPNAME associated with an OSCORE group with group name GROUPNAME, in order to retrieve part of the current configuration of that group.</t>
        <t>When custom CBOR is used, the request payload is a CBOR map, which contains the following fields:</t>
        <ul spacing="normal">
          <li>'conf_filter', defined in <xref target="iana-ace-groupcomm-parameters" format="default"/> of this document and 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" format="default"/>), using the corresponding abbreviation defined in <xref target="iana-ace-groupcomm-parameters" format="default"/>.</li>
        </ul>
        <t>When CoRAL is used, the request payload includes one element for each requested configuration parameter or status parameter of the current group configuration (see <xref target="config-repr" format="default"/>). All the specified elements have no value.</t>
        <t>The Group Manager MUST perform the same authorization checks defined for the processing of a GET request to a group-configuration resource in <xref target="configuration-resource-get" format="default"/>. That is, the Group Manager MUST verify that the Administrator has been granted a "Read" permission applicable to the targeted group-configuration resource.</t>
        <t>After a successful processing of the FETCH request, the Group Manager replies to the Administrator with a 2.05 (Content) response. The response has as payload a partial representation of the group configuration (see <xref target="config-repr" format="default"/>). The exact content of the payload reflects the current configuration of the OSCORE group, and is limited to the configuration properties and status properties requested by the Administrator in the FETCH request.</t>
        <t>The response payload includes the requested configuration parameters and status parameters, and is formatted as in the response payload of a GET request to a group-configuration resource (see <xref target="configuration-resource-get" format="default"/>).</t>
        <t>Example in custom CBOR:</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
=> 0.05 FETCH
   Uri-Path: manage
   Uri-Path: gp4
   Content-Format: TBD2 (application/ace-groupcomm+cbor)

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

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

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

]]></artwork>
        <t>Example in CoRAL:</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
=> 0.05 FETCH
   Uri-Path: manage
   Uri-Path: gp4
   Content-Format: TBD1 (application/coral+cbor)

   #using <http://coreapps.org/core.osc.gconf#>
   sign_enc_alg
   hkdf
   pairwise_mode
   active
   group_title
   app_groups

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

   #using <http://coreapps.org/core.osc.gconf#>
   sign_enc_alg 10
   hkdf 5
   pairwise_mode true
   active true
   group_title "rooms 1 and 2"
   app_group "room1"
   app_group "room2"
]]></artwork>
      </section>
      <section anchor="configuration-resource-put" numbered="true" toc="default">
        <name>Overwrite a Group Configuration</name>
        <t>The Administrator can send a PUT request to the group-configuration resource associated with an OSCORE group, in order to overwrite the current configuration of that group with a new one. The payload of the request has the same format of the POST request defined in <xref target="collection-resource-post" format="default"/>, with the exception that the configuration parameters 'group_mode' and 'pairwise_mode' as well as the status parameter 'group_name' MUST NOT be included.</t>
        <t>The error handling for the PUT request is the same as for the POST request defined in <xref target="collection-resource-post" format="default"/>, with the following difference in terms of authorization checks.</t>
        <t>Consistently with what is defined at step 4 of <xref target="getting-access" format="default"/>, the Group Manager MUST check whether GROUPNAME matches with the group name pattern specified in any scope entry of the 'scope' claim in the stored Access Token for the Administrator. In case of a positive match, the Group Manager MUST check whether the permission set in the found scope entry specifies the permission "Write".</t>
        <t>If the verification above fails (i.e., there are no matching scope entries specifying the "Write" permission), the Group Manager MUST reply with a 4.03 (Forbidden) error response. The response MUST have Content-Format set to application/ace-groupcomm+cbor and is formatted as defined in <xref section="4.1.2" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm" format="default"/>.</t>
        <t>If no error occurs and the PUT request is successfully processed, the Group Manager performs the following actions.</t>
        <t>First, the Group Manager updates the group-configuration resource, consistently with the values indicated in the PUT request from the Administrator. For each parameter not specified in the PUT request, the Group Manager MUST use default values as specified in <xref target="default-values" format="default"/>.</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 in the collection of sets of stale OSCORE Sender IDs associated with the group, and deletes any possible older set from the collection (see <xref section="2.2.1" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore" format="default"/>).</t>
        <t>From then on, the Group Manager relies on the latest updated configuration to build the Joining Response message defined in <xref section="6.4" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore" format="default"/>, 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="8" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore" format="default"/>) or the current group status (see <xref section="16" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore" format="default"/>).</t>
        <t>Then, the Group Manager replies to the Administrator with a 2.04 (Changed) response. The payload of the response has the same format of the 2.01 (Created) response defined in <xref target="collection-resource-post" format="default"/>.</t>
        <t>If the PUT request did not specify certain parameters and the Group Manager used default values different from the ones recommended in <xref target="default-values" format="default"/>, then the response payload MUST include also those parameters, specifying the values chosen by the Group Manager for the current group configuration.</t>
        <t>If the link to the group-membership resource was registered in the Resource Directory <xref target="I-D.ietf-core-resource-directory" format="default"/>, the GM is responsible to refresh the registration, as defined in <xref section="3" sectionFormat="of" target="I-D.tiloca-core-oscore-discovery" format="default"/>.</t>
        <t>Alternatively, the Administrator can update the registration in the Resource Directory on behalf of the Group Manager, acting as Commissioning Tool. The Administrator considers the following when specifying additional information for the link to update.</t>
        <ul spacing="normal">
          <li>The name of the OSCORE group MUST take the value specified in 'group_name' from the 2.04 (Changed) response.</li>
          <li>The names of the application groups using the OSCORE group MUST take the values possibly specified by the elements of the 'app_groups' parameter (when custom CBOR is used) or by the different 'app_group' elements (when CoRAL is used) in the PUT request.</li>
          <li>If also registering a related link to the Authorization Server associated with the OSCORE group, the related link MUST have as link target the URI in 'as_uri' from the 2.04 (Changed) response, if the 'as_uri' parameter was included in the response.</li>
          <li>Every other information element describing the current group configuration MUST take the value that the Administrator specified in the PUT request. If a certain parameter was not specified in the PUT request, the Administrator MUST use either the value specified in the the 2.04 (Changed) response, if the Group Manager specified one, or the corresponding default value recommended in <xref target="default-values-conf" format="default"/> otherwise.</li>
        </ul>
        <t>As discussed in <xref target="collection-resource-post" format="default"/>, it is RECOMMENDED that registrations of links to group-membership resources in the Resource Directory are made (and possibly updated) directly by the Group Manager, rather than by the Administrator.</t>
        <t>Example in custom CBOR:</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
=> 0.03 PUT
   Uri-Path: manage
   Uri-Path: gp4
   Content-Format: TBD2 (application/ace-groupcomm+cbor)

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

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

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

   #using <http://coreapps.org/core.osc.gconf#>
   sign_enc_alg 11
   hkdf 5

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

   #using <http://coreapps.org/core.osc.gconf#>
   group_name "gp4"
   joining_uri <coap://[2001:db8::ab]/ace-group/gp4/>
   as_uri <coap://as.example.com/token>
]]></artwork>
        <section anchor="sssec-effects-overwrite-joining-nodes" numbered="true" toc="default">
          <name>Effects on Joining Nodes</name>
          <t>After having overwritten a group configuration, if the value of the status parameter 'active' is changed from "true" (0xf5) to "false" (0xf4), the Group Manager MUST stop admitting new members in the OSCORE group. In particular, until the status parameter 'active' is changed back to "true" (0xf5), the Group Manager MUST respond to a Joining Request with a 5.03 (Service Unavailable) response, as defined in <xref section="6.3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore" format="default"/>.</t>
          <t>If the value of the status parameter 'active' is changed from "false" (0xf4) to "true" (0xf5), the Group Manager resumes admitting new members in the OSCORE group, by processing their Joining Requests (see <xref section="6.3" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore" format="default"/>).</t>
        </section>
        <section anchor="sssec-effects-overwrite-group-members" numbered="true" toc="default">
          <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" format="default"/>).</t>
          <t>To this end, the Group Manager can individually target the 'control_uri' URI of each group member (see <xref section="4.3.1" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm" format="default"/>), if provided by the intended recipient upon joining the OSCORE group (see <xref section="6.2" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore" format="default"/>). To this end, messages sent by the Group Manager to each group member MUST have Content-Format set to application/ace-groupcomm+cbor, and MUST be formatted as the Joining Response defined in <xref section="6.4" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore" format="default"/>, with the following differences.</t>
          <ul spacing="normal">
            <li>Only the parameters 'gkty', 'key', 'num', 'exp' and 'ace-groupcomm-profile' are present.</li>
            <li>The 'key' parameter includes only the parameters 'hkdf', 'cred_fmt', 'sign_enc_alg', 'sign_alg', 'sign_params', 'alg', 'ecdh_alg' and 'ecdh_params', with values reflecting the new configuration of the OSCORE group.</li>
          </ul>
          <t>Alternatively, group members can subscribe for updates to the group-membership resource of the OSCORE group, e.g., by using CoAP Observe <xref target="RFC7641" format="default"/>.</t>
          <t>If the value of the status parameter 'active' is changed from "true" (0xf5) to "false" (0xf4):</t>
          <ul spacing="normal">
            <li>The Group Manager MUST stop accepting requests for new individual keying material from current group members (see <xref section="9" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore" format="default"/>). In particular, until the status parameter 'active' is changed back to "true" (0xf5), the Group Manager MUST respond to a Key Renewal Request with a 5.03 (Service Unavailable) response, as defined in <xref section="9" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore" format="default"/>.</li>
            <li>The Group Manager MUST stop accepting updated authentication credentials uploaded by current group members (see <xref section="11" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore" format="default"/>). In particular, until the status parameter 'active' is changed back to "true" (0xf5), the Group Manager MUST respond to a Public Key Update Request with a 5.03 (Service Unavailable) response, as defined in <xref section="11" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore" format="default"/>.</li>
          </ul>
          <t>Every group member, upon learning that the OSCORE group has been deactivated (i.e., 'active' has value "false" (0xf4)), SHOULD stop communicating in the group.</t>
          <t>Every group member, upon learning that the OSCORE group has been reactivated (i.e., 'active' has value "true" (0xf5) again), can resume communicating in the group.</t>
          <t>Every group member, upon receiving updated values for 'hkdf', 'sign_enc_alg' and 'alg', MUST either:</t>
          <ul spacing="normal">
            <li>Leave the OSCORE group (see <xref section="18" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore" format="default"/>), e.g., if not supporting the indicated new algorithms; or</li>
            <li>Use the new parameter values, and accordingly re-derive the OSCORE Security Context for the OSCORE group (see <xref section="2" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm" format="default"/>).</li>
          </ul>
          <t>Every group member, upon receiving updated values for 'cred_fmt', 'sign_alg', 'sign_params', 'ecdh_alg' and 'ecdh_params' MUST either:</t>
          <ul spacing="normal">
            <li>Leave the OSCORE group, e.g., if not supporting the indicated new format, algorithms, parameters and encoding; or</li>
            <li>Leave the OSCORE group and rejoin it (see <xref section="6" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore" format="default"/>). When rejoining the group, a new authentication credential in the indicated format used in the OSCORE group MUST be provided to the Group Manager. The authentication credential as well as the included public key MUST be compatible with the indicated algorithms and parameters.</li>
            <li>
              <t>Use the new parameter values, and, if required, perform the following actions.  </t>
              <ul spacing="normal">
                <li>Provide the Group Manager with a new authentication credential to use in the OSCORE group (see <xref section="11" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore" format="default"/>). The new authentication credential MUST be in the indicated format used in the OSCORE group. The new authentication credential as well as the included public key MUST be compatible with the indicated algorithms and parameters.</li>
                <li>Retrieve from the Group Manager the new Group Manager's authentication credential (see <xref section="12" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore" format="default"/>). The new Group Manager's authentication credential is in the indicated format used in the OSCORE group. The new authentication credential as well as the included public key are compatible with the indicated algorithms and parameters.</li>
              </ul>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="configuration-resource-patch" numbered="true" toc="default">
        <name>Selective Update of a Group Configuration</name>
        <t>The Administrator can send a PATCH/iPATCH request <xref target="RFC8132" format="default"/> to the group-configuration resource associated with an OSCORE group, in order to update the value of only part of the group configuration.</t>
        <t>The request payload has the same format of the PUT request defined in <xref target="configuration-resource-put" format="default"/>, with the difference that it MAY also specify names of application groups to be removed from or added to the 'app_groups' status parameter. The names of such application groups are provided as defined below.</t>
        <ul spacing="normal">
          <li>
            <t>When custom CBOR is used, the CBOR map in the request payload includes the field 'app_groups_diff'. This field MUST NOT be present multiple times, and it is encoded as a CBOR array including the following two elements.  </t>
            <ul spacing="normal">
              <li>The first element is a CBOR array, namely 'app_groups_del'. Each of its elements is a CBOR text string, with value the name of an application group to remove from the 'app_groups' status parameter.</li>
              <li>The second element is a CBOR array, namely 'app_groups_add'. Each of its elements is a CBOR text string, with value the name of an application group to add to the 'app_groups' status parameter.</li>
            </ul>
            <t>
The CDDL definition <xref target="RFC8610" format="default"/> of the CBOR array 'app_groups_diff' formatted as in the response from the Group Manager is provided below.</t>
          </li>
        </ul>
        <figure anchor="cddl-diff">
          <name>CDDL definition of the 'app_groups_diff' field</name>
          <artwork type="CDDL" align="left" name="" alt=""><![CDATA[
   app-group-name = tstr
   name-patch = [* app-group-name]
   app_groups_diff = [app_groups_del: name-patch,
                      app_groups_add: name-patch]
]]></artwork>
        </figure>
        <t>The Group Manager MUST respond with a 4.00 (Bad Request) response, in case both the inner CBOR arrays 'app_groups_del' and 'app_groups_add' are empty, or in case the 'app_groups_diff' field occurs more than once.</t>
        <t>The Group Manager MUST respond with a 4.00 (Bad Request) response, in case the CBOR map in the request payload includes both the 'app_groups' field and the 'app_groups_diff' field.</t>
        <ul spacing="normal">
          <li>
            <t>When CoRAL is used, the request payload includes the following top-level elements.  </t>
            <ul spacing="normal">
              <li>'app_group_del', with value a text string specifying the name of an application group to remove from the 'app_groups' status parameter. This element can be included multiple times.</li>
              <li>'app_group_add', with value a text string specifying the name of an application group to add to the 'app_groups' status parameter. This element can be included multiple times.</li>
            </ul>
            <t>
The Group Manager MUST respond with a 4.00 (Bad Request) response, in case the request payload includes both any 'app_group' element as well as any 'app_group_del' and/or 'app_group_add' element.</t>
          </li>
        </ul>
        <t>The error handling for the PATCH/iPATCH request is the same as for the PUT request defined in <xref target="configuration-resource-put" format="default"/>, with the following additions.</t>
        <ul spacing="normal">
          <li>The set of group configuration parameters to update MUST NOT be empty. That is, the Group Manager MUST respond with a 4.00 (Bad Request) response, if the request payload includes an empty CBOR map (when custom CBOR is used) or no elements (when CoRAL is used).</li>
          <li>If the Request-URI does not point to an existing group-configuration resource, the Group Manager MUST NOT create a new resource, and MUST respond with a 4.04 (Not Found) response.</li>
          <li>
            <t>When applying the specified updated values would yield an inconsistent group configuration, the Group Manager MUST respond with a 4.09 (Conflict) response.  </t>
            <t>
The response, MAY include the current representation of the group configuration resource, like when responding to a GET request as defined in <xref target="configuration-resource-get" format="default"/>. Otherwise, the response SHOULD include a diagnostic payload with additional information for the Administrator to recognize the source of the conflict.</t>
          </li>
          <li>
            <t>When the request uses specifically the iPATCH method, the Group Manager MUST respond with a 4.00 (Bad Request) response, in case:  </t>
            <ul spacing="normal">
              <li>When custom CBOR is used, the CBOR map includes the parameter 'app_groups_diff'; or</li>
              <li>When CoRAL is used, any element 'app_group_del' and/or 'app_group_add' is included.</li>
            </ul>
          </li>
        </ul>
        <t>Furthermore, the Group Manager MUST perform the same authorization checks defined for the processing of a PUT request to a group-configuration resource in <xref target="configuration-resource-put" format="default"/>. That is, the Group Manager MUST verify that the Administrator has been granted a "Write" permission applicable to the targeted group-configuration resource.</t>
        <t>If no error occurs and the PATCH/iPATCH request is successfully processed, the Group Manager performs the following actions.</t>
        <t>First, the Group Manager updates the group-configuration resource, consistently with the values indicated in the PATCH/iPATCH request from the Administrator.</t>
        <t>Unlike for the PUT request defined in <xref target="configuration-resource-put" format="default"/>, the Group Manager does not alter the value of configuration parameters and status parameters for which updated values are not specified in the request payload. In particular, the Group Manager does not assign possible default values to those parameters.</t>
        <t>Special processing occurs when updating the 'app_groups' status parameter by difference, as defined below. The Administrator should not expect the Group Manager to add or delete names of application group names according to any particular order.</t>
        <ul spacing="normal">
          <li>If the name of an application group to add (delete) is specified multiple times, the Group Manager considers it only once for addition to (deletion from) the 'app_groups' status parameter.</li>
          <li>If the name of an application group to delete is not present in the 'app_groups' status parameter before any change is applied, the Group Manager ignores that name.</li>
          <li>If the name of an application group to add is already present in the 'app_groups' status parameter before any change is applied, the Group Manager ignores that name.</li>
          <li>
            <t>When custom CBOR is used, the Group Manager:  </t>
            <ul spacing="normal">
              <li>Deletes from the 'app_groups' status parameter the names of the application groups specified in the inner 'app_groups_del' CBOR array of the 'app_groups_diff' field.</li>
              <li>Adds to the 'app_groups' status parameter the names of the application groups specified in the inner 'app_groups_add' CBOR array of the 'app_groups_diff' field.</li>
            </ul>
          </li>
          <li>
            <t>When CoRAL is used, the Group Manager:  </t>
            <ul spacing="normal">
              <li>Deletes from the 'app_groups' status parameter the names of the application groups specified in the different 'app_group_del' elements.</li>
              <li>Adds to the 'app_groups' status parameter the names of the application groups specified in the different 'app_group_add' elements.</li>
            </ul>
          </li>
        </ul>
        <t>After having updated the group-configuration resource, from then on the Group Manager relies on the new group configuration to build the Joining Response message defined in <xref section="6.4" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore" format="default"/>, 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="8" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore" format="default"/>) or the current group status (see <xref section="16" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore" format="default"/>).</t>
        <t>Finally, the Group Manager replies to the Administrator with a 2.04 (Changed) response. The payload of the response has the same format of the 2.01 (Created) response defined in <xref target="collection-resource-post" format="default"/>.</t>
        <t>The same considerations as for the PUT request defined in <xref target="configuration-resource-put" format="default"/> 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="I-D.ietf-core-resource-directory" format="default"/>.</t>
        <t>Example in custom CBOR:</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
=> 0.06 PATCH
   Uri-Path: manage
   Uri-Path: gp4
   Content-Format: TBD2 (application/ace-groupcomm+cbor)

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

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

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

   #using <http://coreapps.org/core.osc.gconf#>
   sign_enc_alg 10
   app_group_del "room1"
   app_group_add "room3"
   app_group_add "room4"

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

   #using <http://coreapps.org/core.osc.gconf#>
   group_name "gp4"
   joining_uri <coap://[2001:db8::ab]/ace-group/gp4/>
   as_uri <coap://as.example.com/token>
]]></artwork>
        <section anchor="effects-on-joining-nodes" numbered="true" toc="default">
          <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" format="default"/> for the case of group configuration overwriting.</t>
        </section>
        <section anchor="effects-on-the-group-members" numbered="true" toc="default">
          <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" format="default"/> for the case of group configuration overwriting.</t>
        </section>
      </section>
      <section anchor="configuration-resource-delete" numbered="true" toc="default">
        <name>Delete a Group Configuration</name>
        <t>The Administrator can send a DELETE request to the group-configuration resource, in order to delete that OSCORE group.</t>
        <t>Consistently with what is defined at step 4 of <xref target="getting-access" format="default"/>, the Group Manager MUST check whether GROUPNAME matches with the group name pattern specified in any scope entry of the 'scope' claim in the stored Access Token for the Administrator. In case of a positive match, the Group Manager MUST check whether the permission set in the found scope entry specifies the permission "Delete".</t>
        <t>If the verification above fails (i.e., there are no matching scope entries specifying the "Delete" permission), the Group Manager MUST reply with a 4.03 (Forbidden) error response. The response MUST have Content-Format set to application/ace-groupcomm+cbor and is formatted as defined in <xref section="4.1.2" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm" format="default"/>.</t>
        <t>Otherwise, the Group Manager continues processing the request, which would be successful only on an inactive OSCORE group. That is, the DELETE request actually yields a successful deletion of the OSCORE group, only if the corresponding status parameter 'active' has current value "false" (0xf4). The Administrator can ensure that, by first performing an update of the group-configuration resource associated with the OSCORE group (see <xref target="configuration-resource-put" format="default"/>), and setting the corresponding status parameter 'active' to "false" (0xf4).</t>
        <t>If, upon receiving the DELETE request, the current value of the status parameter 'active' is "true" (0xf5), the Group Manager MUST respond with a 4.09 (Conflict) response. The response MUST have Content-Format set to application/ace-groupcomm+cbor and is formatted as defined in <xref section="4.1.2" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm" format="default"/>. The value of the 'error' field MUST be set to 8 ("Group currently active").</t>
        <t>After a successful processing of the DELETE request, the Group Manager performs the following actions.</t>
        <t>First, the Group Manager deletes the OSCORE group and deallocates both the group-configuration resource as well as the group-membership resource associated with that group.</t>
        <t>Then, the Group Manager replies to the Administrator with a 2.02 (Deleted) response.</t>
        <t>Example:</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
=> 0.04 DELETE
   Uri-Path: manage
   Uri-Path: gp4

<= 2.02 Deleted
]]></artwork>
        <section anchor="effects-on-the-group-members-1" numbered="true" toc="default">
          <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" format="default"/>).</t>
          <ul spacing="normal">
            <li>The Group Manager sends an individual request message to each group member, targeting the respective resource used to perform the group rekeying process (see <xref section="20.1" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore" format="default"/>). The Group Manager uses the same format of the Joining Response message in <xref section="6.4" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm-oscore" format="default"/>, where only the parameters 'gkty', 'key' and 'ace-groupcomm-profile' are present, and the 'key' parameter is the empty CBOR map.</li>
            <li>A group member may subscribe for updates to the group-membership resource associated with the OSCORE group. In particular, if this relies on CoAP Observe <xref target="RFC7641" format="default"/>, a group member would receive a 4.04 (Not Found) notification response from the Group Manager, since the group-configuration resource has been deallocated upon deleting the OSCORE group (see <xref section="6.1" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm" format="default"/>). The response MUST have Content-Format set to application/ace-groupcomm+cbor and is formatted as defined in <xref section="4.1.2" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm" format="default"/>. The value of the 'error' field MUST be set to 5 ("Group deleted").</li>
          </ul>
          <t>When being informed about the deletion of the OSCORE group, a group member deletes the OSCORE Security Context that it stores as associated with that group, and possibly deallocates any dedicated control resource intended for the Group Manager that it has for that group.</t>
        </section>
      </section>
    </section>
    <section anchor="error-types" numbered="true" toc="default">
      <name>ACE Groupcomm Error Identifiers</name>
      <t>In addition to what is defined in <xref section="9" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm" format="default"/>, this document defines a new value that the Group Manager can include as error identifiers, in the 'error' field of an error response with Content-Format application/ace-groupcomm+cbor.</t>
      <figure anchor="fig-ACE-Groupcomm-Error">
        <name>ACE Groupcomm Error Identifiers</name>
        <artwork align="center" name="" type="" alt=""><![CDATA[
+-------+------------------------+
| Value |      Description       |
+-------+------------------------+
|  10   | Group currently active |
+-------+------------------------+
]]></artwork>
      </figure>
      <t>A Client supporting the 'error' parameter (see Sections <xref target="I-D.ietf-ace-key-groupcomm" section="4.1.2" sectionFormat="bare" format="default"/> and <xref target="I-D.ietf-ace-key-groupcomm" section="8" sectionFormat="bare" format="default"/> of <xref target="I-D.ietf-ace-key-groupcomm" format="default"/>) and able to understand the specified error may use that information to determine what actions to take next. If it is included in the error response and supported by the Client, the 'error_description' parameter may provide additional context. In particular, the following guidelines apply.</t>
      <ul spacing="normal">
        <li>In case of error 10, the Client should stop sending the request in question to the Group Manager, 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" format="default"/>). In such a case, the Administrator should take the expected course of actions, and set the group status to inactive first (see <xref target="configuration-resource-put" format="default"/> and <xref target="configuration-resource-patch" format="default"/>), before proceeding with the group deletion.</li>
      </ul>
    </section>
    <section anchor="sec-security-considerations" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>Security considerations are inherited from the ACE framework for Authentication and Authorization <xref target="I-D.ietf-ace-oauth-authz" format="default"/>, and from the specific transport profile of ACE used between the Administrator and the Group Manager, such as <xref target="I-D.ietf-ace-dtls-authorize" format="default"/> and <xref target="I-D.ietf-ace-oscore-profile" format="default"/>.</t>
    </section>
    <section anchor="iana" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>RFC Editor: Please replace "[[this document]]" with the RFC number of this document and delete this paragraph.</t>
      <t>This document has the following actions for IANA.</t>
      <section anchor="iana-ace-groupcomm-parameters" numbered="true" toc="default">
        <name>ACE Groupcomm Parameters</name>
        <t>IANA is asked to register the following entries in the "ACE Groupcomm Parameters" registry defined in <xref section="11.7" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm" format="default"/>.</t>
        <figure anchor="fig-ACE-Groupcomm-Parameters">
          <name>ACE Groupcomm Parameters</name>
          <artwork align="center" name="" type="" alt=""><![CDATA[
+-----------------+----------+--------------+-------------------+
| Name            | CBOR Key | CBOR Type    | Reference         |
+-----------------+----------+--------------+-------------------+
| hkdf            | TBD      | tstr / int   | [[this document]] |
+-----------------+----------+--------------+-------------------+
| cred_fmt        | TBD      | int          | [[this document]] |
+-----------------+----------+--------------+-------------------+
| group_mode      | TBD      | simple value | [[this document]] |
+-----------------+----------+--------------+-------------------+
| sign_enc_alg    | TBD      | tstr / int / | [[this document]] |
|                 |          | simple value |                   |
+-----------------+----------+--------------+-------------------+
| sign_alg        | TBD      | tstr / int / | [[this document]] |
|                 |          | simple value |                   |
+-----------------+----------+--------------+-------------------+
| sign_params     | TBD      | array /      | [[this document]] |
|                 |          | simple value |                   |
+-----------------+----------+--------------+-------------------+
| pairwise_mode   | TBD      | simple value | [[this document]] |
+-----------------+----------+--------------+-------------------+
| alg             | TBD      | tstr / int / | [[this document]] |
|                 |          | simple value |                   |
+-----------------+----------+--------------+-------------------+
| ecdh_alg        | TBD      | tstr / int / | [[this document]] |
|                 |          | simple value |                   |
+-----------------+----------+--------------+-------------------+
| ecdh_params     | TBD      | array /      | [[this document]] |
|                 |          | simple value |                   |
+-----------------+----------+--------------+-------------------+
| det_req         | TBD      | simple value | [[this document]] |
+-----------------+----------+--------------+-------------------+
| det_hash_alg    | TBD      | tstr / int   | [[this document]] |
+-----------------+----------+--------------+-------------------+
| active          | TBD      | simple value | [[this document]] |
+-----------------+----------+--------------+-------------------+
| group_name      | TBD      | tstr         | [[this document]] |
+-----------------+----------+--------------+-------------------+
| group_title     | TBD      | tstr /       | [[this document]] |
|                 |          | simple value |                   |
+-----------------+----------+--------------+-------------------+
| app_groups      | TBD      | array        | [[this document]] |
+-----------------+----------+--------------+-------------------+
| joining_uri     | TBD      | tstr         | [[this document]] |
+-----------------+----------+--------------+-------------------+
| max_stale_sets  | TBD      | uint         | [[this document]] |
+-----------------+----------+--------------+-------------------+
| as_uri          | TBD      | tstr         | [[this document]] |
+-----------------+----------+--------------+-------------------+
| conf_filter     | TBD      | array        | [[this document]] |
+-----------------+----------+--------------+-------------------+
| app_groups_diff | TBD      | array        | [[this document]] |
+-----------------+----------+--------------+-------------------+
]]></artwork>
        </figure>
      </section>
      <section anchor="iana-ace-groupcomm-errors" numbered="true" toc="default">
        <name>ACE Groupcomm Errors</name>
        <t>IANA is asked to register the following entry in the "ACE Groupcomm Errors" registry defined in <xref section="11.13" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm" format="default"/>.</t>
        <ul spacing="normal">
          <li>Value: 10</li>
          <li>Description: Group currently active.</li>
          <li>Reference: [[This document]]</li>
        </ul>
      </section>
      <section anchor="iana-rt" numbered="true" toc="default">
        <name>Resource Types</name>
        <t>IANA is asked to enter the following values in the "Resource Type (rt=) Link Target Attribute Values" registry within the "Constrained Restful Environments (CoRE) Parameters" registry group.</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
+----------------+------------------------------+-------------------+
| Value          | Description                  | Reference         |
+----------------+------------------------------+-------------------+
| core.osc.gcoll | Group-collection resource    | [[this document]] |
|                | of an OSCORE Group Manager   |                   |
|                |                              |                   |
| core.osc.gconf | Group-configuration resource | [[this document]] |
|                | of an OSCORE Group Manager   |                   |
+----------------+------------------------------+-------------------+
]]></artwork>
      </section>
      <section anchor="ssec-iana-group-oscore-admin-permissions-registry" numbered="true" toc="default">
        <name>Group OSCORE Admin Permissions</name>
        <t>This document establishes the IANA "Group OSCORE Admin Permissions" registry. The registry has been created to use the "Expert Review" registration procedure <xref target="RFC8126" format="default"/>. Expert review guidelines are provided in <xref target="ssec-iana-expert-review" format="default"/>.</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" format="default"/> of [[this document]].</t>
        <t>The columns of this registry are:</t>
        <ul spacing="normal">
          <li>Name: A value that can be used in documents for easier comprehension, to identify a possible permission that Administrators can perform when interacting with an OSCORE Group Manager.</li>
          <li>
            <t>Value: The numeric identifier for this permission. Integer values greater than 65535 are marked as "Private Use", all other values use the registration policy "Expert Review" <xref target="RFC8126" format="default"/>.  </t>
            <t>
Note that, in general, a single permission can be associated with multiple different operations that are possible to be performed when interacting with the Group Manager.</t>
          </li>
          <li>Description: This field contains a brief description of the permission.</li>
          <li>Reference: This contains a pointer to the public specification for the permission.</li>
        </ul>
        <t>This registry will be initially populated by the values in <xref target="fig-permission-values" format="default"/>.</t>
        <t>The Reference column for all of these entries will be [[this document]].</t>
      </section>
      <section anchor="ssec-iana-AIF-registry" numbered="true" toc="default">
        <name>AIF</name>
        <t>For the media-types application/aif+cbor and application/aif+json defined in <xref section="5.1" sectionFormat="of" target="I-D.ietf-ace-aif" format="default"/>, IANA is requested to register the following entries for the two media-type parameters Toid and Tperm, in the respective sub-registry defined in <xref section="5.2" sectionFormat="of" target="I-D.ietf-ace-aif" format="default"/> within the "MIME Media Type Sub-Parameter" registry group.</t>
        <ul spacing="normal">
          <li>Name: oscore-group-name-pattern</li>
          <li>Description/Specification: wildcard pattern of OSCORE group names</li>
          <li>Reference: [[This document]]</li>
        </ul>
        <t>&nbsp;</t>
        <ul spacing="normal">
          <li>Name: oscore-group-admin-permissions</li>
          <li>Description/Specification: permission(s) to perform administrative operations at the OSCORE Group Manager</li>
          <li>Reference: [[This document]]</li>
        </ul>
      </section>
      <section anchor="ssec-iana-coap-content-format-registry" numbered="true" toc="default">
        <name>CoAP Content-Format</name>
        <t>IANA is asked to register the following entries to the "CoAP Content-Formats" registry within the "Constrained RESTful Environments (CoRE) Parameters" registry group.</t>
        <ul spacing="normal">
          <li>Media Type: application/aif+cbor;Toid="oscore-group-name-pattern",Tperm="oscore-group-admin-permissions"</li>
          <li>Encoding: -</li>
          <li>ID: TBD</li>
          <li>Reference: [[This document]]</li>
        </ul>
        <t>&nbsp;</t>
        <ul spacing="normal">
          <li>Media Type: application/aif+json;Toid="oscore-group-name-pattern",Tperm="oscore-group-admin-permissions"</li>
          <li>Encoding: -</li>
          <li>ID: TBD</li>
          <li>Reference: [[This document]]</li>
        </ul>
      </section>
      <section anchor="iana-scope-semantics" numbered="true" toc="default">
        <name>ACE Scope Semantics</name>
        <t>IANA is asked to register the following entry in the "ACE Scope Semantics" registry defined in <xref section="11.12" sectionFormat="of" target="I-D.ietf-ace-key-groupcomm" format="default"/>.</t>
        <ul spacing="normal">
          <li>Value: SEM_ID_TBD</li>
          <li>Description: Permissions to perform administrative operations at the ACE Group Manager for Group OSCORE.</li>
          <li>Reference: [[This document]]</li>
        </ul>
      </section>
      <section anchor="ssec-iana-expert-review" numbered="true" toc="default">
        <name>Expert Review Instructions</name>
        <t>The IANA registry established in this document is defined as "Expert Review".  This section gives some general guidelines for what the experts should be looking for, but they are being designated as experts for a reason so they should be given substantial latitude.</t>
        <t>Expert reviewers should take into consideration the following points:</t>
        <ul spacing="normal">
          <li>
            <t>Clarity and correctness of registrations. Experts are expected to check the clarity of purpose and use of the requested entries. Experts should inspect the entry for the considered permission, to verify the correctness of its description against the permission as intended in the specification that defined it. Expert should consider requesting an opinion on the correctness of registered parameters from the Authentication and Authorization for Constrained Environments (ACE) Working Group and the Constrained RESTful Environments (CoRE) Working Group.  </t>
            <t>
Entries that do not meet these objective of clarity and completeness should not be registered.</t>
          </li>
          <li>Duplicated registration and point squatting should be discouraged. Reviewers are encouraged to get sufficient information for registration requests to ensure that the usage is not going to duplicate one that is already registered and that the point is likely to be used in deployments.</li>
          <li>Experts should take into account the expected usage of permissions when approving point assignment. Given a 'Value' V as code point, the length of the encoding of (2^(V+1) - 1) should be weighed against the usage of the entry, considering the resources and capabilities of devices it will be used on. Additionally, given a 'Value' V as code point, the length of the encoding of (2^(V+1) - 1) should be weighed against how many code points resulting in that encoding length are left, and the resources and capabilities of devices it will be used on.</li>
          <li>Specifications are recommended. When specifications are not provided, the description provided needs to have sufficient information to verify the points above.</li>
        </ul>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="I-D.ietf-core-oscore-groupcomm" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-core-oscore-groupcomm.xml" target="https://www.ietf.org/archive/id/draft-ietf-core-oscore-groupcomm-14.txt">
          <front>
            <title>Group OSCORE - Secure Group Communication for CoAP</title>
            <author fullname="Marco Tiloca">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Göran Selander">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Francesca Palombini">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="John Preuss Mattsson">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Jiye Park">
              <organization>Universitaet Duisburg-Essen</organization>
            </author>
            <date month="March" day="7" year="2022"/>
            <abstract>
              <t>   This document defines Group Object Security for Constrained RESTful
   Environments (Group OSCORE), providing end-to-end security of CoAP
   messages exchanged between members of a group, e.g., sent over IP
   multicast.  In particular, the described approach defines how OSCORE
   is used in a group communication setting to provide source
   authentication for CoAP group requests, sent by a client to multiple
   servers, and for protection of the corresponding CoAP responses.
   Group OSCORE also defines a pairwise mode where each member of the
   group can efficiently derive a symmetric pairwise key with any other
   member of the group for pairwise OSCORE communication.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-core-oscore-groupcomm-14"/>
        </reference>
        <reference anchor="I-D.ietf-ace-oauth-authz" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-ace-oauth-authz.xml" target="https://www.ietf.org/archive/id/draft-ietf-ace-oauth-authz-46.txt">
          <front>
            <title>Authentication and Authorization for Constrained Environments (ACE) using the OAuth 2.0 Framework (ACE-OAuth)</title>
            <author fullname="Ludwig Seitz">
              <organization>Combitech</organization>
            </author>
            <author fullname="Goeran Selander">
              <organization>Ericsson</organization>
            </author>
            <author fullname="Erik Wahlstroem">
	 </author>
            <author fullname="Samuel Erdtman">
              <organization>Spotify AB</organization>
            </author>
            <author fullname="Hannes Tschofenig">
              <organization>Arm Ltd.</organization>
            </author>
            <date month="November" day="8" year="2021"/>
            <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="Internet-Draft" value="draft-ietf-ace-oauth-authz-46"/>
        </reference>
        <reference anchor="I-D.ietf-ace-key-groupcomm" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-ace-key-groupcomm.xml" target="https://www.ietf.org/archive/id/draft-ietf-ace-key-groupcomm-15.txt">
          <front>
            <title>Key Provisioning for Group Communication using ACE</title>
            <author fullname="Francesca Palombini">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Marco Tiloca">
              <organization>RISE AB</organization>
            </author>
            <date month="December" day="23" year="2021"/>
            <abstract>
              <t>   This document defines how to use the Authentication and Authorization
   for Constrained Environments (ACE) framework to distribute keying
   material and configuration parameters for secure group communication.
   Candidate group members acting as Clients and authorized to join a
   group can do so by interacting with a Key Distribution Center (KDC)
   acting as Resource Server, from which they obtain the keying material
   to communicate with other group members.  While defining general
   message formats as well as the interface and operations available at
   the KDC, this document supports different approaches and protocols
   for secure group communication.  Therefore, details are delegated to
   separate application profiles of this document, as specialized
   instances that target a particular group communication approach and
   define how communications in the group are protected.  Compliance
   requirements for such application profiles are also specified.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ace-key-groupcomm-15"/>
        </reference>
        <reference anchor="I-D.ietf-ace-key-groupcomm-oscore" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-ace-key-groupcomm-oscore.xml" target="https://www.ietf.org/archive/id/draft-ietf-ace-key-groupcomm-oscore-13.txt">
          <front>
            <title>Key Management for OSCORE Groups in ACE</title>
            <author fullname="Marco Tiloca">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Jiye Park">
              <organization>Universitaet Duisburg-Essen</organization>
            </author>
            <author fullname="Francesca Palombini">
              <organization>Ericsson AB</organization>
            </author>
            <date month="March" day="7" year="2022"/>
            <abstract>
              <t>   This document defines an application profile of the ACE framework for
   Authentication and Authorization, to request and provision keying
   material in group communication scenarios that are based on CoAP and
   secured with Group Object Security for Constrained RESTful
   Environments (OSCORE).  This application profile delegates the
   authentication and authorization of Clients that join an OSCORE group
   through a Resource Server acting as Group Manager for that group.
   This application profile leverages protocol-specific transport
   profiles of ACE to achieve communication security, server
   authentication and proof-of-possession for a key owned by the Client
   and bound to an OAuth 2.0 Access Token.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ace-key-groupcomm-oscore-13"/>
        </reference>
        <reference anchor="I-D.ietf-ace-oscore-profile" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-ace-oscore-profile.xml" target="https://www.ietf.org/archive/id/draft-ietf-ace-oscore-profile-19.txt">
          <front>
            <title>OSCORE Profile of the Authentication and Authorization for Constrained Environments Framework</title>
            <author fullname="Francesca Palombini">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Ludwig Seitz">
              <organization>Combitech</organization>
            </author>
            <author fullname="Göran Selander">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Martin Gunnarsson">
              <organization>RISE</organization>
            </author>
            <date month="May" day="6" year="2021"/>
            <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="Internet-Draft" value="draft-ietf-ace-oscore-profile-19"/>
        </reference>
        <reference anchor="I-D.ietf-core-coral" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-core-coral.xml" target="https://www.ietf.org/archive/id/draft-ietf-core-coral-04.txt">
          <front>
            <title>The Constrained RESTful Application Language (CoRAL)</title>
            <author fullname="Christian Amsüss">
	 </author>
            <author fullname="Thomas Fossati">
              <organization>ARM</organization>
            </author>
            <date month="October" day="25" year="2021"/>
            <abstract>
              <t>   The Constrained RESTful Application Language (CoRAL) defines a data
   model and interaction model as well as a compact serialization
   formats for the description of typed connections between resources on
   the Web ("links"), possible operations on such resources ("forms"),
   and simple resource metadata.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-core-coral-04"/>
        </reference>
        <reference anchor="I-D.ietf-cose-rfc8152bis-struct" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-cose-rfc8152bis-struct.xml" target="https://www.ietf.org/archive/id/draft-ietf-cose-rfc8152bis-struct-15.txt">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
            <author fullname="Jim Schaad">
              <organization>August Cellars</organization>
            </author>
            <date month="February" day="1" year="2021"/>
            <abstract>
              <t>   Concise Binary Object Representation (CBOR) is a data format designed
   for small code size and small message size.  There is a need for the
   ability to have basic security services defined 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.

   This document along with [I-D.ietf-cose-rfc8152bis-algs] obsoletes
   RFC8152.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cose-rfc8152bis-struct-15"/>
        </reference>
        <reference anchor="I-D.ietf-cose-rfc8152bis-algs" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-cose-rfc8152bis-algs.xml" target="https://www.ietf.org/archive/id/draft-ietf-cose-rfc8152bis-algs-12.txt">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Initial Algorithms</title>
            <author fullname="Jim Schaad">
              <organization>August Cellars</organization>
            </author>
            <date month="September" day="24" year="2020"/>
            <abstract>
              <t>   Concise Binary Object Representation (CBOR) is a data format designed
   for small code size and small message size.  There is a need for the
   ability to have basic security services defined 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 XXXX.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cose-rfc8152bis-algs-12"/>
        </reference>
        <reference anchor="I-D.ietf-core-groupcomm-bis" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-core-groupcomm-bis.xml" target="https://www.ietf.org/archive/id/draft-ietf-core-groupcomm-bis-06.txt">
          <front>
            <title>Group Communication for the Constrained Application Protocol (CoAP)</title>
            <author fullname="Esko Dijk">
              <organization>IoTconsultancy.nl</organization>
            </author>
            <author fullname="Chonggang Wang">
              <organization>InterDigital</organization>
            </author>
            <author fullname="Marco Tiloca">
              <organization>RISE AB</organization>
            </author>
            <date month="March" day="7" year="2022"/>
            <abstract>
              <t>   This document specifies the use of the Constrained Application
   Protocol (CoAP) for group communication, including the use of UDP/IP
   multicast as the default underlying data transport.  Both unsecured
   and secured CoAP group communication are specified.  Security is
   achieved by use of the Group Object Security for Constrained RESTful
   Environments (Group OSCORE) protocol.  The target application area of
   this specification is any group communication use cases that involve
   resource-constrained devices or networks that support CoAP.  This
   document replaces RFC 7390, while it updates RFC 7252 and RFC 7641.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-core-groupcomm-bis-06"/>
        </reference>
        <reference anchor="I-D.ietf-ace-aif" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-ace-aif.xml" target="https://www.ietf.org/archive/id/draft-ietf-ace-aif-06.txt">
          <front>
            <title>An Authorization Information Format (AIF) for ACE</title>
            <author fullname="Carsten Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date month="March" day="4" 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".

   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 REST
   resources identified by URI path.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ace-aif-06"/>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author initials="S." surname="Bradner" fullname="S. Bradner">
              <organization/>
            </author>
            <date year="1997" month="March"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC6690" target="https://www.rfc-editor.org/info/rfc6690" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6690.xml">
          <front>
            <title>Constrained RESTful Environments (CoRE) Link Format</title>
            <author initials="Z." surname="Shelby" fullname="Z. Shelby">
              <organization/>
            </author>
            <date year="2012" month="August"/>
            <abstract>
              <t>This specification defines Web Linking using a link format for use by constrained web servers to describe hosted resources, their attributes, and other relationships between links.  Based on the HTTP Link Header field defined in RFC 5988, the Constrained RESTful Environments (CoRE) Link Format is carried as a payload and is assigned an Internet media type.  "RESTful" refers to the Representational State Transfer (REST) architecture.  A well-known URI is defined as a default entry point for requesting the links hosted by a server.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6690"/>
          <seriesInfo name="DOI" value="10.17487/RFC6690"/>
        </reference>
        <reference anchor="RFC6749" target="https://www.rfc-editor.org/info/rfc6749" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6749.xml">
          <front>
            <title>The OAuth 2.0 Authorization Framework</title>
            <author initials="D." surname="Hardt" fullname="D. Hardt" role="editor">
              <organization/>
            </author>
            <date year="2012" month="October"/>
            <abstract>
              <t>The OAuth 2.0 authorization framework enables a third-party application to obtain limited access to an HTTP service, either on behalf of a resource owner by orchestrating an approval interaction between the resource owner and the HTTP service, or by allowing the third-party application to obtain access on its own behalf.  This specification replaces and obsoletes the OAuth 1.0 protocol described in RFC 5849.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6749"/>
          <seriesInfo name="DOI" value="10.17487/RFC6749"/>
        </reference>
        <reference anchor="RFC7252" target="https://www.rfc-editor.org/info/rfc7252" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7252.xml">
          <front>
            <title>The Constrained Application Protocol (CoAP)</title>
            <author initials="Z." surname="Shelby" fullname="Z. Shelby">
              <organization/>
            </author>
            <author initials="K." surname="Hartke" fullname="K. Hartke">
              <organization/>
            </author>
            <author initials="C." surname="Bormann" fullname="C. Bormann">
              <organization/>
            </author>
            <date year="2014" month="June"/>
            <abstract>
              <t>The Constrained Application Protocol (CoAP) is a specialized web transfer protocol for use with constrained nodes and constrained (e.g., low-power, lossy) networks.  The nodes often have 8-bit microcontrollers with small amounts of ROM and RAM, while constrained networks such as IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs) often have high packet error rates and a typical throughput of 10s of kbit/s.  The protocol is designed for machine- to-machine (M2M) applications such as smart energy and building automation.</t>
              <t>CoAP provides a request/response interaction model between application endpoints, supports built-in discovery of services and resources, and includes key concepts of the Web such as URIs and Internet media types.  CoAP is designed to easily interface with HTTP for integration with the Web while meeting specialized requirements such as multicast support, very low overhead, and simplicity for constrained environments.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7252"/>
          <seriesInfo name="DOI" value="10.17487/RFC7252"/>
        </reference>
        <reference anchor="RFC7641" target="https://www.rfc-editor.org/info/rfc7641" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7641.xml">
          <front>
            <title>Observing Resources in the Constrained Application Protocol (CoAP)</title>
            <author initials="K." surname="Hartke" fullname="K. Hartke">
              <organization/>
            </author>
            <date year="2015" month="September"/>
            <abstract>
              <t>The Constrained Application Protocol (CoAP) is a RESTful application protocol for constrained nodes and networks.  The state of a resource on a CoAP server can change over time.  This document specifies a simple protocol extension for CoAP that enables CoAP clients to "observe" resources, i.e., to retrieve a representation of a resource and keep this representation updated by the server over a period of time.  The protocol follows a best-effort approach for sending new representations to clients and provides eventual consistency between the state observed by each client and the actual resource state at the server.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7641"/>
          <seriesInfo name="DOI" value="10.17487/RFC7641"/>
        </reference>
        <reference anchor="RFC8126" target="https://www.rfc-editor.org/info/rfc8126" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8126.xml">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author initials="M." surname="Cotton" fullname="M. Cotton">
              <organization/>
            </author>
            <author initials="B." surname="Leiba" fullname="B. Leiba">
              <organization/>
            </author>
            <author initials="T." surname="Narten" fullname="T. Narten">
              <organization/>
            </author>
            <date year="2017" month="June"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters.  To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper.  For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed.  This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
        <reference anchor="RFC8132" target="https://www.rfc-editor.org/info/rfc8132" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8132.xml">
          <front>
            <title>PATCH and FETCH Methods for the Constrained Application Protocol (CoAP)</title>
            <author initials="P." surname="van der Stok" fullname="P. van der Stok">
              <organization/>
            </author>
            <author initials="C." surname="Bormann" fullname="C. Bormann">
              <organization/>
            </author>
            <author initials="A." surname="Sehgal" fullname="A. Sehgal">
              <organization/>
            </author>
            <date year="2017" month="April"/>
            <abstract>
              <t>The methods defined in RFC 7252 for the Constrained Application Protocol (CoAP) only allow access to a complete resource, not to parts of a resource.  In case of resources with larger or complex data, or in situations where resource continuity is required, replacing or requesting the whole resource is undesirable.  Several applications using CoAP need to access parts of the resources.</t>
              <t>This specification defines the new CoAP methods, FETCH, PATCH, and iPATCH, which are used to access and update parts of a resource.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8132"/>
          <seriesInfo name="DOI" value="10.17487/RFC8132"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author initials="B." surname="Leiba" fullname="B. Leiba">
              <organization/>
            </author>
            <date year="2017" month="May"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8610" target="https://www.rfc-editor.org/info/rfc8610" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8610.xml">
          <front>
            <title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
            <author initials="H." surname="Birkholz" fullname="H. Birkholz">
              <organization/>
            </author>
            <author initials="C." surname="Vigano" fullname="C. Vigano">
              <organization/>
            </author>
            <author initials="C." surname="Bormann" fullname="C. Bormann">
              <organization/>
            </author>
            <date year="2019" month="June"/>
            <abstract>
              <t>This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049).  Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8610"/>
          <seriesInfo name="DOI" value="10.17487/RFC8610"/>
        </reference>
        <reference anchor="RFC8613" target="https://www.rfc-editor.org/info/rfc8613" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8613.xml">
          <front>
            <title>Object Security for Constrained RESTful Environments (OSCORE)</title>
            <author initials="G." surname="Selander" fullname="G. Selander">
              <organization/>
            </author>
            <author initials="J." surname="Mattsson" fullname="J. Mattsson">
              <organization/>
            </author>
            <author initials="F." surname="Palombini" fullname="F. Palombini">
              <organization/>
            </author>
            <author initials="L." surname="Seitz" fullname="L. Seitz">
              <organization/>
            </author>
            <date year="2019" month="July"/>
            <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="RFC8742" target="https://www.rfc-editor.org/info/rfc8742" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8742.xml">
          <front>
            <title>Concise Binary Object Representation (CBOR) Sequences</title>
            <author initials="C." surname="Bormann" fullname="C. Bormann">
              <organization/>
            </author>
            <date year="2020" month="February"/>
            <abstract>
              <t>This document describes the Concise Binary Object Representation (CBOR) Sequence format and associated media type "application/cbor-seq".  A CBOR Sequence consists of any number of encoded CBOR data items, simply concatenated in sequence.</t>
              <t>Structured syntax suffixes for media types allow other media types to build on them and make it explicit that they are built on an existing media type as their foundation.  This specification defines and registers "+cbor-seq" as a structured syntax suffix for CBOR Sequences.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8742"/>
          <seriesInfo name="DOI" value="10.17487/RFC8742"/>
        </reference>
        <reference anchor="RFC8949" target="https://www.rfc-editor.org/info/rfc8949" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8949.xml">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author initials="C." surname="Bormann" fullname="C. Bormann">
              <organization/>
            </author>
            <author initials="P." surname="Hoffman" fullname="P. Hoffman">
              <organization/>
            </author>
            <date year="2020" month="December"/>
            <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="COSE.Algorithms" target="https://www.iana.org/assignments/cose/cose.xhtml#algorithms">
          <front>
            <title>COSE Algorithms</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date/>
          </front>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="I-D.ietf-ace-dtls-authorize" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-ace-dtls-authorize.xml" target="https://www.ietf.org/archive/id/draft-ietf-ace-dtls-authorize-18.txt">
          <front>
            <title>Datagram Transport Layer Security (DTLS) Profile for Authentication and Authorization for Constrained Environments (ACE)</title>
            <author fullname="Stefanie Gerdes">
              <organization>Universität Bremen TZI</organization>
            </author>
            <author fullname="Olaf Bergmann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <author fullname="Carsten Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <author fullname="Göran Selander">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Ludwig Seitz">
              <organization>Combitech</organization>
            </author>
            <date month="June" day="4" year="2021"/>
            <abstract>
              <t>   This specification defines a profile of the ACE framework that allows
   constrained servers to delegate client authentication and
   authorization.  The protocol relies on DTLS version 1.2 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="Internet-Draft" value="draft-ietf-ace-dtls-authorize-18"/>
        </reference>
        <reference anchor="I-D.ietf-tls-dtls13" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-tls-dtls13.xml" target="https://www.ietf.org/internet-drafts/draft-ietf-tls-dtls13-43.txt">
          <front>
            <title>The Datagram Transport Layer Security (DTLS) Protocol Version 1.3</title>
            <author initials="E" surname="Rescorla" fullname="Eric Rescorla">
              <organization/>
            </author>
            <author initials="H" surname="Tschofenig" fullname="Hannes Tschofenig">
              <organization/>
            </author>
            <author initials="N" surname="Modadugu" fullname="Nagendra Modadugu">
              <organization/>
            </author>
            <date year="2021" month="April" day="30"/>
            <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 intentionally 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="Internet-Draft" value="draft-ietf-tls-dtls13-43"/>
        </reference>
        <reference anchor="I-D.ietf-core-resource-directory" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-core-resource-directory.xml" target="https://www.ietf.org/archive/id/draft-ietf-core-resource-directory-28.txt">
          <front>
            <title>CoRE Resource Directory</title>
            <author fullname="Christian Amsüss">
	 </author>
            <author fullname="Zach Shelby">
              <organization>ARM</organization>
            </author>
            <author fullname="Michael Koster">
              <organization>SmartThings</organization>
            </author>
            <author fullname="Carsten Bormann">
              <organization>Universitaet Bremen TZI</organization>
            </author>
            <author fullname="Peter van der Stok">
              <organization>consultant</organization>
            </author>
            <date month="March" day="7" year="2021"/>
            <abstract>
              <t>   In many 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, lookup and remove information on resources.  Furthermore,
   new target attributes useful in conjunction with an RD are defined.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-core-resource-directory-28"/>
        </reference>
        <reference anchor="I-D.tiloca-core-oscore-discovery" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.tiloca-core-oscore-discovery.xml" target="https://www.ietf.org/archive/id/draft-tiloca-core-oscore-discovery-11.txt">
          <front>
            <title>Discovery of OSCORE Groups with the CoRE Resource Directory</title>
            <author fullname="Marco Tiloca">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Christian Amsuess">
	 </author>
            <author fullname="Peter van der Stok">
              <organization>Consultant</organization>
            </author>
            <date month="March" day="7" year="2022"/>
            <abstract>
              <t>   Group communication over the Constrained Application Protocol (CoAP)
   can be secured by means of Group Object Security for Constrained
   RESTful Environments (Group OSCORE).  At deployment time, devices may
   not know the exact security groups to join, the respective Group
   Manager, or other information required to perform the joining
   process.  This document describes how a CoAP endpoint can use
   descriptions and links of resources registered at the CoRE Resource
   Directory to discover security groups and to acquire information for
   joining them through the respective Group Manager.  A given security
   group may protect multiple application groups, which are separately
   announced in the Resource Directory as sets of endpoints sharing a
   pool of resources.  This approach is consistent with, but not limited
   to, the joining of security groups based on the ACE framework for
   Authentication and Authorization in constrained environments.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-tiloca-core-oscore-discovery-11"/>
        </reference>
        <reference anchor="I-D.hartke-t2trg-coral-reef" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.hartke-t2trg-coral-reef.xml" target="https://www.ietf.org/archive/id/draft-hartke-t2trg-coral-reef-04.txt">
          <front>
            <title>Resource Discovery in Constrained RESTful Environments (CoRE) using the Constrained RESTful Application Language (CoRAL)</title>
            <author fullname="Klaus Hartke">
              <organization>Ericsson</organization>
            </author>
            <date month="May" day="9" year="2020"/>
            <abstract>
              <t>   This document explores how the Constrained RESTful Application
   Language (CoRAL) might be used for two use cases in Constrained
   RESTful Environments (CoRE): CoRE Resource Discovery, which allows a
   client to discover the resources of a server given a host name or IP
   address, and CoRE Resource Directory, which provides a directory of
   resources on many servers.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hartke-t2trg-coral-reef-04"/>
        </reference>
        <reference anchor="I-D.amsuess-core-cachable-oscore" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.amsuess-core-cachable-oscore.xml" target="https://www.ietf.org/archive/id/draft-amsuess-core-cachable-oscore-04.txt">
          <front>
            <title>Cacheable OSCORE</title>
            <author fullname="Christian Amsüss">
	 </author>
            <author fullname="Marco Tiloca">
              <organization>RISE AB</organization>
            </author>
            <date month="March" day="6" year="2022"/>
            <abstract>
              <t>   Group communication with the Constrained Application Protocol (CoAP)
   can be secured end-to-end using Group Object Security for Constrained
   RESTful Environments (Group OSCORE), also across untrusted
   intermediary proxies.  However, this sidesteps the proxies' abilities
   to cache responses from the origin server(s).  This specification
   restores cacheability of protected responses at proxies, by
   introducing consensus requests which any client in a group can send
   to one server or multiple servers in the same group.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-amsuess-core-cachable-oscore-04"/>
        </reference>
        <reference anchor="I-D.ietf-cose-cbor-encoded-cert" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-cose-cbor-encoded-cert.xml" target="https://www.ietf.org/archive/id/draft-ietf-cose-cbor-encoded-cert-03.txt">
          <front>
            <title>CBOR Encoded X.509 Certificates (C509 Certificates)</title>
            <author fullname="John Preuß Mattsson">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Göran Selander">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Shahid Raza">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Joel Höglund">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Martin Furuhed">
              <organization>Nexus Group</organization>
            </author>
            <date month="January" day="10" year="2022"/>
            <abstract>
              <t>   This document specifies a CBOR encoding of X.509 certificates.  The
   resulting certificates are called C509 Certificates.  The CBOR
   encoding supports a large subset of RFC 5280 and all certificates
   compatible with the RFC 7925, IEEE 802.1AR (DevID), CNSA, RPKI, GSMA
   eUICC, and CA/Browser Forum Baseline Requirements profiles.  When
   used to re-encode DER encoded X.509 certificates, the CBOR encoding
   can in many cases reduce the size of RFC 7925 profiled certificates
   with over 50%.  The CBOR encoded structure can alternatively be
   signed directly ("natively signed"), which does not require re-
   encoding for the signature to be verified.  The document also
   specifies C509 COSE headers, a C509 TLS certificate type, and a C509
   file format.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cose-cbor-encoded-cert-03"/>
        </reference>
        <reference anchor="RFC6347" target="https://www.rfc-editor.org/info/rfc6347" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6347.xml">
          <front>
            <title>Datagram Transport Layer Security Version 1.2</title>
            <author initials="E." surname="Rescorla" fullname="E. Rescorla">
              <organization/>
            </author>
            <author initials="N." surname="Modadugu" fullname="N. Modadugu">
              <organization/>
            </author>
            <date year="2012" month="January"/>
            <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="RFC7925" target="https://www.rfc-editor.org/info/rfc7925" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7925.xml">
          <front>
            <title>Transport Layer Security (TLS) / Datagram Transport Layer Security (DTLS) Profiles for the Internet of Things</title>
            <author initials="H." surname="Tschofenig" fullname="H. Tschofenig" role="editor">
              <organization/>
            </author>
            <author initials="T." surname="Fossati" fullname="T. Fossati">
              <organization/>
            </author>
            <date year="2016" month="July"/>
            <abstract>
              <t>A common design pattern in Internet of Things (IoT) deployments is the use of a constrained device that collects data via sensors or controls actuators for use in home automation, industrial control systems, smart cities, and other IoT deployments.</t>
              <t>This document defines a Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) 1.2 profile that offers communications security for this data exchange thereby preventing eavesdropping, tampering, and message forgery.  The lack of communication security is a common vulnerability in IoT products that can easily be solved by using these well-researched and widely deployed Internet security protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7925"/>
          <seriesInfo name="DOI" value="10.17487/RFC7925"/>
        </reference>
        <reference anchor="RFC8392" target="https://www.rfc-editor.org/info/rfc8392" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8392.xml">
          <front>
            <title>CBOR Web Token (CWT)</title>
            <author initials="M." surname="Jones" fullname="M. Jones">
              <organization/>
            </author>
            <author initials="E." surname="Wahlstroem" fullname="E. Wahlstroem">
              <organization/>
            </author>
            <author initials="S." surname="Erdtman" fullname="S. Erdtman">
              <organization/>
            </author>
            <author initials="H." surname="Tschofenig" fullname="H. Tschofenig">
              <organization/>
            </author>
            <date year="2018" month="May"/>
            <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>
      </references>
    </references>
    <section anchor="sec-document-updates" numbered="true" toc="default">
      <name>Document Updates</name>
      <t>RFC EDITOR: PLEASE REMOVE THIS SECTION.</t>
      <section anchor="sec-04-05" numbered="true" toc="default">
        <name>Version -04 to -05</name>
        <ul spacing="normal">
          <li>Defined format of scope based on a new AIF data model.</li>
          <li>Specified authorization checks at the Group Manager.</li>
          <li>Revised resource handlers based on the new scope format.</li>
          <li>Renamed 'pub_key_enc' to 'cred_fmt'.</li>
          <li>Mandatory to include 'group_name' in the group creation request.</li>
          <li>Suggesting a used 'group_name' results in a new name, not in an error.</li>
          <li>Distinction between authentication credentials and public keys.</li>
          <li>More details on informing group members about changes in the group configuration.</li>
          <li>Revised order of sections; editorial improvements.</li>
        </ul>
      </section>
      <section anchor="sec-03-04" numbered="true" toc="default">
        <name>Version -03 to -04</name>
        <ul spacing="normal">
          <li>Clarifications on what to do in case of enhanced error responses.</li>
          <li>Clarifications on handling default values for group parameters.</li>
          <li>New configuration parameters to support OSCORE deterministic requests.</li>
          <li>IANA considerations - Use RFC8126 terminology.</li>
          <li>Author's change of address.</li>
          <li>Editorial improvements.</li>
        </ul>
      </section>
      <section anchor="sec-02-03" numbered="true" toc="default">
        <name>Version -02 to -03</name>
        <ul spacing="normal">
          <li>Aligned new and old parameters to core-groupcomm-oscore and ace-key-groupcomm-oscore.</li>
          <li>Removed 'cs_key_params' and 'ecdh_key_params' to avoid redundant COSE capabilities of key types, consistently with draft-ietf-ace-key-groupcomm-oscore.</li>
          <li>Revised examples and side effects due to parameter changes.</li>
          <li>New error type "Group currently active".</li>
        </ul>
      </section>
      <section anchor="sec-01-02" numbered="true" toc="default">
        <name>Version -01 to -02</name>
        <ul spacing="normal">
          <li>Admit multiple Administrators and limited access to admin resources.</li>
          <li>Early design considerations for defining the format of scope.</li>
          <li>Additional error handling, using also error types.</li>
          <li>Selective update of group-configuration resources with PATCH/iPATCH.</li>
          <li>Editorial improvements.</li>
        </ul>
      </section>
      <section anchor="sec-00-01" numbered="true" toc="default">
        <name>Version -00 to -01</name>
        <ul spacing="normal">
          <li>Names of application groups as status parameter.</li>
          <li>Parameters related to the pairwise mode of Group OSCORE.</li>
          <li>Defined FETCH for group-configuration resources.</li>
          <li>Policies on registration of links to the Resource Directory.</li>
          <li>Added resource type for group-configuration resources.</li>
          <li>Fixes, clarifications and editorial improvements.</li>
        </ul>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgment" toc="default">
      <name>Acknowledgments</name>
      <t>Klaus Hartke provided substantial contribution in defining the resource model based on group collection and group configurations, as well as the interactions with the Group Manager using CoRAL.</t>
      <t>The authors sincerely thank Christian Amsuess, Carsten Bormann and Jim Schaad for their comments and feedback.</t>
      <t>The work on this document has been partly supported by VINNOVA and the Celtic-Next project CRITISEC; and by the H2020 project SIFIS-Home (Grant agreement 952652).</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAGMqJmIAA+19aXPbVpbod/0KlFw1lhKS1mYnUeLUKJKcaNrbSHLyphI/
F0hCEtokwAZAyxrH72e9T+/b/LF3trviAgS1xE53VN2xRAJ3Offcsy/9fn+l
SqtJshvtjadpFh1lVVKcxaMkOsuLqLpIohcn+y+OD6Mfi3w+i57FWXyeFCvx
cFgk7xa/9GxlnI+yeArjj4v4rOqnSXXWhyf7eTnKi6R/Pu3HOEZ/EldJWa2s
rNyLyirOxm/iSZ7Ba1UxT1ZW0llBv5bV1sbGNxtbK3GRxLs8cZZUK5fnsJb9
w+iXvHibZue82pW3l+aR/gHOvzKKq12YYLyyMsrH8ORuNIcFfb0yS3cj+LkX
jeIsmpdJFBdFfBWtpWdRPJlEV0m5HsHeLuLyIrpIClhSFFX5aBe/gV/LvKiK
5KzcpTHGyVk8n1QlPKG+v5ry1/jnSjyvLvJidyWin778G0VpBk88G0Sn6SQf
xfpjht+zuBjl/ld5ATs4Pjo5jPZ+0B+WsJQEtnlUxmd/z4txeR4DRKOtLf3E
KK2udqO/pQBp81k+hllODvubj3Z2NqIT2N3bi3wytR6YZ1UB751cJuMk058n
0zid7EZTXN+govX9e5EOyiS8v+NB9NP//N/zyTwbezs8Tt/Gxbj+7We0yYKW
OLjIaYVt23w5iN7BesZJgbO89bb6MgGsDD9Au93PsxIwKM4q/fnsgu7Dl9ub
/Z1vtna+2nn01Xa09jyB61ZM4MKU6z34crv/zaNHG5sPt3a+jtaeFHE2Stb9
TZQw3Qgm+Pfh8AI/GWST8B6eDKKXcA2nwzRLvQ3w0OUoDjxBOzgs0lFZ5lno
zE7zoryIp5k6s+07PbMztdTBTC313xNZ3WCUT1dWsryYxlX6LsEredQ/GBCV
IvqkyBTSE3h26jxBdAwvcx//89+1794mVy1vOt/KRPXhef5ZkZ+lk8D64D/x
xPu4TPrF2ehrQIJhWvYB6PNR1fpIPDkv60ObtcEztYXF6Rl+dvxkf2tz8xv5
9dGjbzbUr1/tqE+/2nq4pX59tLMpv369ufVI/7q9pX/9akf9+mhzw/y6rX79
akc/+w1Psf/i5HCwNznPi7S6mJZMV10aSyh5tPd8j/4eA68BvIgncnmFA+I4
kRmHv4qLc0TZi6qalbsPHlxeXg5SYIIDGPFBXJbpeTZNsqp8gDCl/wzeX1TT
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
b6fJly0R+2UPAklMlvOCpwLKOKp0JToZTc3nWDNbiETQ8q39CBSdsXSvsZs6
UT7XKP1r+FzuNIvylGn4pw3bXkJBac5ydz5DsaVjftCScnRNT1F90PDD7W1X
3wipLs0qkKr8hZ/2v3Y+5epM+MWvv26+7kW/bvaiR69fd9OV/HlU+SeaZ+sr
5+MFExWVSPr1rLM71MpCMfla46gXuFXvuckRdD56r+9nBJPtRxtbX3+ztbWz
tAb4OStNt39JblnYNyqUuj1wdbonAKqLArdE/8mIO4BP34ziWTwcAJ9/Q6XG
N/1n1DfLPggsEGSWRy2an16humJ4v/TfC5ZoP9O6xJYHrSUWVfie3oJ6GrqP
TZcRX3AvYkQnDTfQun7Lab2fQi98GReVZHYH9MN65ZGgqnjz4iOfRl2cyeYX
CIKWtnjDJEuuJ0G1zHw3HHcI5pLNuIY3nBl/RyWPFxYNN+oaCm+m4XVT5iI6
SPywWA+yIWm+If7I+O5cn4Qtt96e2OodWqvU+sdCYhDtTSYsl2o5WfsLSdUE
HZh72zTXnLBczyz8Oz4EqdylgNmx7kPcfnMtWT5oV/poSegNijiZAa6anHGo
Qg4TitWPM06VqCn5SuG2YtG7dmfvlJvjELQ/VGOOOeU4niyhNzfg1x1pyz1l
zsCaJJVx/C2nMFu3rS1gyTmIpkhLfa2tO998i90FWeE8ISuNX7dFTXmNi+Oc
UvjqrC+nWS4oZuGKzbeiSlrcixQuVzXUlUm8H9ZAG791VcHGx0RVa/ze1sya
BzHK0uvuVVM+T6/hjV2DAoBbr6LSBfHu0Oml1LWa1mN0CU9lcMT28hNpmLfl
t7upj87XJ14Au77EGk7XcDTN5ouLvrxaztG0QFFw1YFcr72jHqB4N6aOgJA4
cKozeIlmFxLnUUpuH/oDArm9ft2FptpiQZOolpEamZlTWZ/SB7wi715USnvl
ELuznRVkTaIEOUh0to1urWmdX2oBJLa6b94MGkaRUlF2LIZihzmupReQev9y
/30G7r9f8Ordsf+P5/hXcwAeUfM3XjKXntAB896FNHoO7F00nSSYYryw4MCT
tAhrQyYer51496ySEOokdPBjWU/4tbei3TgernfNe7XGuvXc1yOVbcgBlc/v
uxU6dMtfr/ZRnRbjGcrb0xhIo0TJ2cxLpggeIOqLhar1vUbVF9ZxvCmQVKrk
kVXcWareIKpDz6nGHlKsOo0TDM0oiaZpP2Y+wbfxkujzsyattZTr3lprvUPK
KpbNJGMPfYfxzqWKC/W1w881YfUEdOxJXDQlXNr7My8H0iBocziPomgOIV0T
a+l6o4mB1NtQujJfwDQDpMlGqjO3CqClqWPn+cgUpNcY4e4KP1GHxG8CNHGV
U9X/2kObr7uijA6GdvYhl9AbdHOZ/lunVCv/2lainWhtn6KbaxmxNcnTMho1
iJ4N0eJd5S4rYevVX/la3fK1jlQt3k45WXGpMzsMd7pmApYg3TMurU4gUfU5
iuQMPrkQaJn47+akLN2naUFSVse8KBWAf/HPkhbFG7rLpKggIfjXTIp69afN
iQod4j9FTtSrm6RE+dL3TTOiWqH8CTKi9pCvlXAhyi62jX/BPJ1txIE/0FVR
s8Bv1izwjgNgJxJ8+pdOXrnxKd2pUXzTMop3PLZ/qpyPe9EhcFT02AItV1rq
c6qGdY/M8CWQn1E/4Yf62vrdlyX2qXLWR+UEB+5Gqqc8VlnKmsM2NF1dUCpN
VWVOS8nWHDNjdJqLUhU1pzNkozkGCMpMGn7gOlHBVb2cA9W+vB6WvWiegSDb
fanDeERCxMJWqE4pPlKMjcGA1aXu9fmapfFHnfumWvbVa56P20O3CwywBcdU
t2PpcDo9ZCFWoAV8nxY+4GpaeHcgrA9qF8Ratayr/ZI4PPYal6QOJZbWWP1Q
sAlGVOTvlM1dfDfYw3NOJUun03mmJH08tQz72wCsAI/S8gIFWpSi7Xo6vDgf
ksuYM3I244AAFKzlF2dkqn2XjuecHG0EY4xvq4p8wkKuZECb5ojKCOQtbmew
sJsuxY4BGQIUgnmNvqLL6YEok85SFHzncLMcgLR0W1+iDiBG1NiA0R1MMUYn
bD6Am1Tf+81cCdJ+QooMOQ6FoOny5ibLNjcc12t+gT0VGXstt+Tb6grLm8G4
+E82n6pa/6qEf7hsfZFEEvekNV8awyJkVhhfYGKUD3AqFaetO5SHOpb33Hbl
vS4Np+06U6UKorKKWXVIOKqZUGwMKdk9Ph9y916yQ2gPyyLzUpC8JIPzARFg
Veh772X0Yki+AsCK4yf7Xz3a2bwNRtLO6HfDxb0tXj8ivzeZqYUh4OYRpobg
1MzBNHWwlKZ/2b/pftU/mSzxt+QKbi9sGXZ2m/JE1703VGAPHZKy0qP/HWCv
uRRcPPwTjh4eQessk+tOR7TZ3QH06c7o5RyY74iO6hVbOW/zpDqDABVwsg3Z
EO0x/5skseoqJOYdhwvqINtxQqChcxQvvAYWPhRq5Q5QkgbohBCWjALzpVZH
8dtYYNFtgQ7lic/jFOMAuGwaSqrXXCR3P7BxXag+kiXNaRzuItyNuAhhDpu0
iPY9TWLJZG8TSTY7O7QUZU/P2Oo2n83yQrMi405HAgorykF+vZiW30Z5gat5
JWmj+K25KrxBKW47gonQPgZsFp0AQG/d9Z+glIpV8KXcbLg1gu/mdbZnexls
ae/6x1Jj/GFG38LhOx7cMuBnSa1nHUPP955RKge8rc6nAVu4aiMVvE6r64v5
XF+VB3I0h544ohupuro9ZoPigZyXxkxb90EMEyO8h2pFsQeneVYvjk2bzGdM
jGGfeh6qSVWRJ0yLr2a15ggIll7zkYW3gs5byk3BH3YORihoJoqifvSSNx5g
Lla8YfPW0flUJkHQ3oB9nsoum+c1tUyXO/AuY/8hx0nA1wlxLQEHme5nKJ/e
L1vW7gN9GRVy6cnS8lPBPy5uAvt794A9kGoEoBcxqTEbsTWIOO6Qgvhy73T/
pwcp/aPDFki3+Xpze+vjx9uPLbb821pdIoXUTj0MBwycXtRz09qiiV81hs82
Rl3bmrsVNkvCFrAN7N5HDlUV0dHWmBqDo3DB0/yd0vQwpnFsUfKFNRss/zU1
UWjof605hCUcqyrlX0TtKZoqG9M4URuy/4hUY06mvew3CKX7UgqEv7WDocUm
Ueu2RZGd5M1ryMSUaRWLNSyiusy1L1yRqlNaWQGLVs7d1B2tR2AEJHNWnkzu
S8IntigArVn72M3rJJ7BxYGpa4Wy7b5Q/rlIgcbcpp/tp23tpUywtc1SmwG0
utvNwATdsJb2gbvYPzh4ythIYSJCVh5tbqik3MQ+7xpOtWeUNTCltLRMnXIB
LG8QrUnyN8RwTft+HFUAFvwC/2TSCR/++oX34Gs35YUWis+5WLVrjdKUUuUe
nf3Ga8d99WE3ujcajyd9moqSVB6v+pCtB50oEOKFXAUIw60p3vapROjj1Uly
Vq1+1OfUorYv7rtHxJ2i5nVzpjTLYBxztGXt1omy52IvEbJkOquuKNhADduy
MRXCTV3KyN+OXYEHt72xpYikhoJzSXi5KtavYTuGVi+Tk+1Rx3zWn4DQNqnR
SDMpHYFz/2ObMvjxfrdL5ZhRKMomVfq1FOWyicDSEVFub+mdadryq75l/GvH
N4wdD3WptIRV9xF9Cx+g5u+CV729IH8pJDg2JTLdUBCz9EMJOTQNL6UPTyhq
y7ITGLnTFk6I2CzOu1/qzMLtuPVxYSNunNUQlPaQwCxvD/xTUX7VhTam9tF9
qBvqzfKUW33hzKppZZs03wgGBJrTL95qcad8a3VQ7URrz2EZTzD9yYvOJFKH
91LfVxNy5hmouFj1lVBRBKfpkdrRqdywvm+o1MAZ0Aa3maxcYXOyduNuHF2Z
5bvXGzDwwhre7IC2YunIRG7nxvuG7vbqEV6/Qi0oicnZdGMap/F5lgMijDR6
Mjjaw3ldFZLovvSx5aNz/GgjAak5Z/tWzE0eBZDkiTgjhZbAjb3IO/dy7EJA
d4WNdFaDLM5q+0I8ps32RjOyx7SR4Co63JHwWnX1ME2nvenaLVYy8XKJb1DJ
hCj3XVQyqaUr3qCUSVsSYANX+1NnA4b21JAWuLLyKiPidEPWXd+dZkjUA9k1
/yxXccTqB+txCc6AbW7eqehdzQXatlxqVGgy87yknKqeMANAPOEGCM5FY0Tj
vuG4bMXzWgVP9P8aM1Svbt4JpG+UF8QscfHJe24cXrfdsuwLT3P6YYsdS77S
Pi2WJa4s+LFtz5ZEusjdazzzentX9vrSTXZKWrHhEJU+QgrFwXAKHp4YGKD6
eie7Ref1C9CkobuycemW6a0HSi0nCILsUY904l+QngDywfPSswPXtSycqeM3
Ny3/BAtt57nOCIpNH0hCbDeFUsOhLcenRhDYRFEzS1jmqHaTitJM98bjspMG
eVvLJDlhmWU2WxQ+GfBD+U0Mf99mccfgDS7EVoHLgRfOqhjOYh59ZiVZB25L
txzkv9Kr/0qvvn569c17Dn9mGdanamAlA0jG101NTdFFjnYF9OsRZcBotxgV
SIJEQf2sKis5mLMotUjopOnmyyQ13yyLeblEskesCHzKVLKNeok14lZchFyq
a71u8pjgDz+0rYqx7ay+dsvR/ZWNdktHffdF2hzWHyythqw4kgNv+GJn9a+E
tlpCmyezlCqaxOSw6liLlpScxMwwAtEgJeu5kgsoIY70bdve7xDcbjl1H02t
CKm8FeLz6m14r2O+0q3DoM6hVST2taDg8IRrQkGE9WuEBrH+uig26ODw6eHp
4TJVBt1IH9GSSSH00jj+qjH3qWvMMe7ccZE5meRfrcqc54qp2a8Ak6maiJPW
aeo8sG2TXV7DxK64LeYudoFJFVM/gNGyvHsXGF7gxEPyo5VuMW9tLgsnWuLE
qfLt2BUgmnNGUBVwq6+56RDB0jPopczKeaHa5A6vJLBL7OokeusiOU6b2I7B
if7mFhSYJgVhnV2cJROhpaBQy+aiG1cLyK8fV89hOd0zy5bLy1nkCP2cLxqt
zQHMfSIT9+04xGGiFvd1tLbKkBCgYs9krhO93rXAfeiIbsv/owoB1hCUqwTC
zcWGnXaI0QK8dwKVm5XQ+gWxunuc3qxEG+hbzANc379oMUHlZUeA3E17Eel/
S2Shcauk3EVS5FMY12OYA5ScyLD2v7pSIRCuaRJn2h7pBrCyk7uUbBLqfyJF
ury8nYCbsNSu6bacd3WqVPHITnvXRyyWr/GcIqcwYlRJ94L3N8mFD+VColhZ
Rk4WvOZNypYZSv3uiWfXMEoyyCDz00hMIf3wsu0Q5zGKRAx1Dbva2liieGZg
V/o8AiavRpPtTUy1RRJO4LYzx7vmivdMTKKfLM6bcoOV6GD3XMvpFFvjXC/p
ehFrrvlpU2nlY0zMTTnZPd/Aq9rdI8NNQqFJWV4Z+XdBmHEvAqYwShYTYTtf
VOj3mFk/y1udKi0sLvHwz8SmH2o2LaSYuDPRyWHCSai4MlzWMJ+zc7tdePUw
IcBna/mYKt+DFDsyMDdzSb5DukyYzalRhxwnKh5DanzY5l8pwqF0Rd/lwIu4
0PZtizHfi/b2D/kFhHN0SArSEaUpAVyBIHy4R2DuY9M4rMsCd8l2kPsK9zJZ
76x/2z21eJTSqeesw3tCbFOi0UrR7FKz8J72Tztowm5uVw/ko/CQvB273XyA
lS/7/KP+rf18ufJ79DNt53c2QR9Q2UBuM8A/v3cbJdrcwIejsAzabRQ/MwAb
FwEe9DUe9Ot4IDkDC9ClliSAVa+TAtME9qL9CVWI8TJ11flY5S0d0lUKgcDr
scAbhm4wypyWcK45Vs9G5x0zJ6vVF60beQ5370UctoIVyeqEDQ4AGRnDRfAm
ZoQFHDO43lSHkbOP/AqSHn6R1se7NrVzGBo9CwZvxgYpbHjgOiUdxQ6vHDGV
CYYhGTnxfA6vTfhWYZAsB34Y8xEvdXOjZy1KBf9QgQGUtzzjAm6TfhFgBTib
KQfBVHOIRR0prowRdRDtlShmuQRA6IFcZuLQybs4kwidoC2M2DmcApuOjL1Q
kWu820jgtQm3IiFVlN8qNyYQthC06/Fi8pT6F5xLJ16+ugIjUNQVPzmOikj4
vBDjHeOVNgxYELvmCtkVicM1P0IpnWiOkOgckmkTOmXPsKlYIrEKm7/ZjlMq
65WM+qV833cdq3D39Zu+y7VA9gXCKLUyM9GEQGTOEPuRktCx77mZtLg9t9Ss
5elEspBjBGsf//PfJMVl1ugqZBhQBjQrvJSR6kkKJ4JzkxowTKrLREKO3XMN
FtvuCTaU/lLG1aTsq4DaRJ+Nu1yuwCDLIOvfveho7/leCNTYkRFgCkJqdAjE
IC92o5eTBK8zqtMwXLT626+//epcrN9e//Z61RwuvpvNSY4J9rXUNveU7UPn
RTy7ID3eflJ56Wv2CToyXD47GFye8dIoG/fUdpobTILAgWDAuIvyLStnqgqx
N7eyHgsJXm2adVV52q+aCsAMvupgnQ2xf4vHBn9tYsvI15+j3mf9/M7qEla5
kV9PsaEvfXOcqIziqCY83GQNVNzTWcPpDwfqV0xtjB6gtEl//uoi2OvXt7QG
3eA5tAaeXH9zV2tgtyw1+6qvoUzJdf5OpLm7WoPj6245iwcNa/i9FvXwu/2r
t4v6zy3uQnbwJ98FV6ep74IjKB+04eTnsQu3i92nwWoLFf7E+KC7tf/5d/Gn
x2pQ1N6AWmJN/MdjNa4BhKGLRbT6LnmWqAifFA5WOFN9DQQHs7q7XQO34Ww6
i88fq01oYwCSfDfvHJJ2INqnOk23Z5u3hrktDt7hzSo1CD4ZHKzWz58MH/yC
JX/8GhbbLS3lMmiwtNXARktlTWUlM2cZ1lXJVrWsnnrVoKXyRB001M0Fldml
kiyZnDFkGv+wTM67DeZjeklrl7sR2hFOfTsCAUgHm6NWauwS/aIKgYJA68FB
J5oyIJwBo7WierwePcXw91Oub75XgXo/nFcJb8oGEpo11DBoL6mKmIAGQ1YY
gHGYvUuLPJPyB/v58eF62B6gvCKtun2jXb399rD13yIVdQ+AzUW66fjXXIsd
ijyZKGdC3+oNqZ1Ljbe5xvt+F9+KOMNcb03UwCsDo7T+NI3iBldbOwr6U+9y
R7dzRl78icwtCyFrZPRSR0OW1FYhGfXpBrInWSyK2CEi65vAybKvkP2jb80z
4R1s1aNLvNo+sbk7yncsN0l7rLnUx1gV0aQ7evgeFlQBhr9Lk0s9hKRtoyl6
jIEoUj5w6xE6f+WVgl5xfBp22TqJlVaQSOilPr8kqT9paRbplmhQeTgWsNgz
5Bh/uTw8ecWtOJF8pi20HFcZQpkex6Rgkk0+HaaZZLBJCVI4hCIdWR5MgiiA
rP4N71rFqsAuCwxIcWs22O4s9nDboY9mR6gzWKsfYRY0V4a2vd8lu9IkZJH9
zw1dAmsdeym2t8+r4ZJtQeu0JGYBDZpPVbyTfViwZSoGjHbS3WjPdg5LISVV
j1ONymboJC5TipedApgukqzksPxcwfPKzsGyQpubjl4dOaX/oeu9kJgrr2al
AxebGeMu62cqzq20tNaAPqYqOdcFcOEs8DJJU7BHDx9uP5QuY8Vbjq9YfVlQ
sW6so7uK5Y4n0rlOBlBX0L1y+SQdXdWupX3/KLnleV6peFqA8nmSwdYnGBeB
oY0u8ORE/GgHnZZvUmYt3COI031Wx8GlLwXiqtlKDeY1LBzUpB2rrCRFyaXo
e4qGRZqcRZbTVeG0dQSeQEQDWUNQXSTOU6AXuXyrLkrjlL5xRnUp0WUKJ0W1
wFIsD4vVQfLZnPshirvYiEsfPqDca0aze2GfUh6gkhz4MnFRg4m6saUJtFfT
Nl1IFISPnjjcBf62WcgT2RucThpzjIgbOZGemWgg/4u/lxTBFJBwHwaileAN
dOUp2VJc0Z1cQuoEOGZSrdQOezvNUy6sd4pw1bEjVoxgOR/228Xyh4EoJlq0
I6A+O3p2GD3DRbCkewLjamE0IIsqimcXae+rMo+Yb+Li+oMTG/d28YjHo7gY
6+wUWKETJ0bp7p2k/n/LhuXs24YV1QSN9mWZB9fKdZuTNrMmt0+Bc+G7Ki0U
5ufF+djIjclz/ZF8zxzLRvZlPZFCFFYD03ZSXw5PTq+lvnxh4ddu8Dp+i/j+
eLURp1Z7dA+8J2pnvEoNUqVw/m7Up9CSA0qU7KZIGpRqWzHSic9lxWIbOKGE
pZNkGmNQgqX/srRTqi9uZBfwJuliFuiSV6QlkZPDZ2+ODt7I3h2GaSsXy9xO
bc5wmnjbSkR3E4Mjj4AoBNPOJb7AvrSulM8skGCuoWUHrqvMfK322MmCpS8E
DSLm+KWA+DzF2g5lPk2U/GPrIlxRSiDByypVEBBw2Umev5Xal71oyDGnXOad
I1JBEEnPs1hCZdX7xLxhLzEyS2qsDi+ZQXFF3K6qirm0PEgNaQVqDSVIWFoT
sjk7IgkEl9yNx/EQkmSbkoTu/UlM4TvIISllaVRlqHPkZ44oWSpFjTUUHe+E
E1HyIekPMha8O5sXs1zi4+alDuw1rF0oqRlWNgDCly5JxfdGZ77KhjAzV+Mw
yfu6WlzibwHjwWwpkBrYlJUntHH56Er3JbZDiRT4YqtcRKW1Vlm0WpranySh
5TO4Urku8BIEL+/Hql2mI6UWxUUhXGym4jITuK7r0S95QXj5o04TokjAjpzI
eZsVhQgeFA5IEMmpvtU04fA2POfh30WqwrJtDm6hdwVgjLu3KpANEwsQLN7P
mUdQ70FLmeEganQMlP+Yx5xoZ24LNonO5wUQpvFA7rhSp7GAPH9DHZ8TjFM9
g6NNudSVW8nSmVJ3SyNDp846JCjOOU+DK3yd51L4bKwWjz2xJfzU1NeyjpwP
Q8bibaUl1f3EzI3c0XqT2SS/UuWGvvBvjLnyWIJtnhkiRTeU14lX0iL8l1JZ
Fc0rih5IJTuq7Bv9SMQnju4TQ7kf/Yx3BOvw87McEzlJsvPqQt1t1WYH/17b
+t9rP3+5uR71I/iPOaXLJD1HWm3fQ71AfeV7+kJZGT3SlZtwKZ7Fw3QCChWX
cxon2A6M6r0pvYdgh3r2no6qpXaAf8y2LvJLTEi7soZGtaZEJVl1yYKj10PL
jIisWHrdJN1ce9+IJ45gzlfBasAuqWVl/SEuWceGt56kTxgSqk1yWZJw8S0y
mTVcKZc6CyQoeRyW2O/3qVschkQeKK79SpKDVOipYud9yRpS8ZEHR6cvjkGc
eXq4d3IIdOzZi58Po9Ofjk5A+Nk/PXrxnLXcn4EK4EL6Gzu4mP7GQ45NxKE3
duDPjywh6QKokp3FeevDmOEpaQuoMsMi4gjjbCY2kJNxuLJqKMFB5KR3aUkk
TmcCZeMJJQaqOfFFnJWXwkuTd1E+Hkf3Z/PhG5ACMZiMEolNiy7WFWDImKoF
UagxZ1TcN678+4rZSTEJtEFZZI/3Nz8/VxyNscsZgJGajBcMIvy4RyhEJRI4
4JvpOtWWZmlLReC2dDgkcq975jDle4YhzeOkorID2hSqC1abihtkFuWqhKW3
Sa9ljDkJLkuBRy/ZCd9GCQXhUrOgKeK9rvnmINY2I9aOhVjb8OdHLV6Z60V1
zWJKYxrnun47xupnF1iIbOzlF/C264PoWmxetVHkYLxPr/vW81r7VLf4ueQw
KB1c5UikVAVasUFOMEAB3Av27lN3LzEqRvxqPsnPOSWBxZb7qkMkuV7GY7Rs
MzvrBOQtBvK2BeQt+JOAvIdu3kTa8QHaYLEud3tuFzxxoUgrvnAupaAGt+a5
Pyrpnqk2dqaxnf0pcuB3aG0CLJ7DzQNitv8CaJNPtrEFFNnTQoV6x0V8VvVb
0zwdrJVaQFIKF/NIVE2a8ZwdGTrZRO6DxgdGNbKXNeW9+6ewyaewZZ3CJvzJ
p4Aty40h2DOw4/Im6ZSyAbhGC9cfRbeT5nKMD1g3UFQmH9HOqCDtmems5xFs
xjeTSOP2JuhJn14q5GZ2z9OanlqmdkRb6qZUirGLJy+BzhsMyE0LkBvw50dl
g2tqGRWX4bq0VnREkUyUX87JAqfYUBi1prIr5vfkEAtAaxLStG+eDz0LkmLr
l7fD0nbaRFYvXafOyGZ+hITdZn6Svqeb49JE6vPYCPlob/Q2yy8nyficNRwE
eux89hHDTjhxIhk/Xs1yDBf52yQGSP8UF9Vbyxdpq+TkMsPgBfbMucipt0fi
gmHsihNpnzyuPsCeyl69m5x4SEiID7pIdC/q472n4jZgyaTknOSCFAy4Em+j
/YsCCTxw6b1p+T//r4T59uMCyVH0A96rjFf2H+k0OgHiEes81JS8bgxKSsAB
URAFOZmPcnty3xyjHceY0Ta5ctPmfj56/vzFz3tGR02AjIz6zzHXFgCPSmW0
f3x0egTC3bf0lDhPftra2NrQj5wcPTk66f+EVpy1H7E4PIjkRcI19r95uPXo
4db6YOX/A8CvBFs4mAEA

-->

</rfc>
