<?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.26 (Ruby 3.1.0) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-ace-aif-05" category="std" consensus="true" submissionType="IETF" tocDepth="4" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.12.1 -->
  <front>
    <title abbrev="ACE AIF">An Authorization Information Format (AIF) for ACE</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-ace-aif-05"/>
    <author initials="C." surname="Bormann" fullname="Carsten Bormann">
      <organization>Universität Bremen TZI</organization>
      <address>
        <postal>
          <street>Postfach 330440</street>
          <city>Bremen</city>
          <code>D-28359</code>
          <country>Germany</country>
        </postal>
        <phone>+49-421-218-63921</phone>
        <email>cabo@tzi.org</email>
      </address>
    </author>
    <date year="2022" month="February" day="15"/>
    <area>Internet</area>
    <workgroup>ACE Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>Information about which entities are authorized to perform what
operations on which constituents of other entities is a crucial
component of producing an overall system that is secure.  Conveying
precise authorization information is especially critical in highly
automated systems with large numbers of entities, such as the
"Internet of Things".</t>
      <t>This specification provides a generic information model and format for
representing such authorization information, as well as two variants
of a specific instantiation of that format for use with REST resources
identified by URI path.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-ace-aif/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Authentication and Authorization for Constrained Environments (ace) Working Group mailing list (<eref target="mailto: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/cabo/ace-aif"/>.</t>
    </note>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>Constrained Devices as they are used in the "Internet of Things" need
security in order to operate correctly and prevent misuse.
One important element of this security is that devices in the Internet
of Things need to be able to decide which operations requested of them
should be considered authorized, need to ascertain that the
authorization to request the operation does apply to the actual
requester as authenticated,
and need to ascertain that other devices they make
requests of are the ones they intended.</t>
      <t>To transfer detailed authorization information from an authorization manager
(such as an ACE-OAuth Authorization Server <xref target="I-D.ietf-ace-oauth-authz"/>) to a device, a
compact representation format is needed.
This document defines such a format, the
Authorization Information Format (AIF).
AIF is defined both as a general structure that can be used for many
different applications and
as a specific instantiation tailored to REST resources and the permissions
on them, including some provision for dynamically created resources.</t>
      <section anchor="terminology">
        <name>Terminology</name>
        <t>This memo uses terms from <xref target="RFC7252"/> and <xref target="RFC4949"/>; CoAP is used for
the explanatory examples as it is a good fit for Constrained Devices.</t>
        <t>The shape of data is specified in CDDL <xref target="RFC8610"/> <xref target="RFC9165"/>.
Terminology for Constrained Devices is defined in <xref target="RFC7228"/>.</t>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <t>The term "byte", abbreviated by "B", is used in its now customary
sense as a synonym for "octet".</t>
      </section>
    </section>
    <section anchor="information-model">
      <name>Information Model</name>
      <t>Authorizations are generally expressed through some data structures
that are cryptographically secured (or transmitted in a secure way).
This section discusses the information model underlying the payload of
that data (as opposed to the cryptographic armor around it).</t>
      <t>For the purposes of this specification, the underlying access control model
will be that of an access matrix, which gives a set of permissions for
each possible combination of a subject and an object.
We are focusing the AIF data item on a single row in the access matrix
(such a row traditionally is also called a capability list), without
concern to the subject for which the data item is issued.
As a consequence, AIF <bcp14>MUST</bcp14> be used in a way that the subject of the
authorizations is unambiguously identified (e.g., as part of the armor
around it).</t>
      <t>The generic model of such a capability list is a list of pairs of
object identifiers and the permissions the subject has on the
object(s) identified.</t>
      <figure anchor="genaif">
        <name>Definition of Generic AIF</name>
        <sourcecode type="cddl"><![CDATA[
AIF-Generic<Toid, Tperm> = [* [Toid, Tperm]]
]]></sourcecode>
      </figure>
      <t>In a specific data model (such as the one also specified in
this document), the object identifier (<tt>Toid</tt>) will often be
a text string, and the set of permissions (<tt>Tperm</tt>) will be represented
by a bitset in turn represented as a number (see <xref target="data-model"/>).</t>
      <figure anchor="specaif">
        <name>Commonly used shape of a specific AIF</name>
        <sourcecode type="cddl"><![CDATA[
AIF-Specific = AIF-Generic<tstr, uint>
]]></sourcecode>
      </figure>
      <section anchor="rest-model">
        <name>REST-specific Model</name>
        <t>In the specific instantiation of the REST resources and the
permissions on them, for the object identifiers (<tt>Toid</tt>), we
use the URI of a resource on a CoAP server.  More specifically, since the
parts of the URI that identify the server ("authority" in
<xref target="RFC3986"/>) are what are authenticated during REST resource access (<xref section="4.2.2" sectionFormat="of" target="I-D.ietf-httpbis-semantics"/> and <xref section="6.2" sectionFormat="of" target="RFC7252"/>), they
naturally fall into the realm handled by the cryptographic armor); we therefore focus on
the "path" ("path-abempty") and "query" parts of the URI (URI "local-part" in
this specification, as expressed by the Uri-Path and Uri-Query options
in CoAP).  As a consequence, AIF <bcp14>MUST</bcp14> be used in a way that it is
clear who is the target (enforcement point) of these authorizations
(note that there may be more than one target that the same
authorization applies to, e.g., in a situation with homogeneous
devices).</t>
        <t>For the permissions (<tt>Tperm</tt>), we use a simple permissions model that
lists the subset of the REST (CoAP or HTTP) methods permitted.
This model is summarized in <xref target="im-example"/>.</t>
        <table anchor="im-example">
          <name>An authorization instance in the AIF Information Model</name>
          <thead>
            <tr>
              <th align="left">local-part</th>
              <th align="left">Permission Set</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">/s/temp</td>
              <td align="left">GET</td>
            </tr>
            <tr>
              <td align="left">/a/led</td>
              <td align="left">PUT, GET</td>
            </tr>
            <tr>
              <td align="left">/dtls</td>
              <td align="left">POST</td>
            </tr>
          </tbody>
        </table>
        <t>In this example, a device offers a temperature sensor <tt>/s/temp</tt> for
read-only access, a LED actuator <tt>/a/led</tt> for read/write, and a
<tt>/dtls</tt> resource for POST access.</t>
        <t>As will be seen in the data model (<xref target="data-model"/>), the representations
of REST methods provided are limited to those that have a CoAP method
number assigned; an extension to the model may be necessary to represent
permissions for exotic HTTP methods.</t>
      </section>
      <section anchor="limitations">
        <name>Limitations</name>
        <t>This simple information model only allows granting permissions for
statically identifiable objects, e.g., URIs for the REST-specific
instantiation.  One might be tempted to extend the model towards URI
templates <xref target="RFC6570"/> (for instance, to open up an
authorization for many parameter values as in
 <tt>/s/temp{?any*}</tt>), however, that requires some considerations of
the ease and unambiguity of matching a given URI against a set of
templates in an AIF object.</t>
        <t>This simple information model also does not allow further
conditionalizing access based on state outside the identification of
objects (e.g., "opening a door is allowed if that is not locked").</t>
        <t>Finally, the model does not provide any special access for a set of
resources that are specific to a subject, e.g., that the subject
created itself by previous operations (PUT, POST, or PATCH/iPATCH <xref target="RFC8132"/>) or that were
specifically created for the subject by others.</t>
      </section>
      <section anchor="ext-rest-model">
        <name>REST-specific Model With Dynamic Resource Creation</name>
        <t>The REST-specific Model With Dynamic Resource Creation addresses the
need to provide defined
access to dynamic resources that were created by the subject itself,
specifically, a resource that is made known to the subject by
providing Location-* options in a CoAP response or using the Location
header field in HTTP <xref target="I-D.ietf-httpbis-semantics"/> (the Location-indicating mechanisms).
(The concept is somewhat comparable to "ACL inheritance" in NFSv4
<xref target="RFC8881"/>, except that it does not use a containment relationship
but the fact that the dynamic resource was created from a resource to
which the subject had access.)
In other words, it addresses an important subset of the third
limitation mentioned in <xref target="limitations"/>.</t>
        <table anchor="im-example-dynamic">
          <name>An authorization instance in the AIF Information Model</name>
          <thead>
            <tr>
              <th align="left">local-part</th>
              <th align="left">Permission Set</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">/a/make-coffee</td>
              <td align="left">POST, Dynamic-GET, Dynamic-DELETE</td>
            </tr>
          </tbody>
        </table>
        <t>For a method X, the presence of a Dynamic-X permission means that the subject
holds permission to exercise the method X on resources that have been
returned in a 2.01 (201) response by a Location-indicating mechanism to a request that the
subject made to the resource listed (<tt>/a/make-coffee</tt> in the example
shown in <xref target="im-example-dynamic"/>,
which might return the location of a resource that allows GET to find
out about the status and DELETE to cancel the coffee-making
operation).</t>
        <t>Since the use of the extension defined in this section can be detected
by the mentioning of the Dynamic-X permissions, there is no need for
another explicit switch between the basic and the model extended by
dynamic resource creation; the
extended model is always presumed once a Dynamic-X permission is present.</t>
      </section>
    </section>
    <section anchor="data-model">
      <name>Data Model</name>
      <t>Different data model specializations can be defined for the generic
information model given above.</t>
      <t>In this section, we will give the data model for simple REST
authorization as per <xref target="rest-model"/> and <xref target="ext-rest-model"/>.
As discussed, in this case the object identifier is specialized as a text string
giving a relative URI (local-part as absolute path on the server
serving as enforcement point).
The permission set is specialized to a single number by the following steps:</t>
      <ul spacing="normal">
        <li>The entries in the table that specify the same local-part are merged
into a single entry that specifies the union of the permission sets.</li>
        <li>The (non-dynamic) methods in the permission sets are converted into
their CoAP method numbers, minus 1.</li>
        <li>Dynamic-X permissions are converted into what the number would have
been for X, plus a Dynamic-Offset chosen as 32 (e.g., 35 for Dynamic-DELETE).</li>
        <li>The set of numbers is converted into a single number by taking each
number to the power of two and computing the inclusive OR of the
binary representations of all the power values.</li>
      </ul>
      <t>This data model could be interchanged in the JSON
<xref target="RFC8259"/> representation given in <xref target="dm-json"/>.</t>
      <figure anchor="dm-json">
        <name>An authorization instance encoded in JSON (40 bytes)</name>
        <sourcecode type="json"><![CDATA[
[["/s/temp",1],["/a/led",5],["/dtls",2]]
]]></sourcecode>
      </figure>
      <t>In <xref target="aif-cddl"/>, a straightforward specification of the data model
(including both the methods from <xref target="RFC7252"/> and the new ones from
<xref target="RFC8132"/>, identified by the method code minus 1) is shown in CDDL
<xref target="RFC8610"/> <xref target="RFC9165"/>:</t>
      <figure anchor="aif-cddl">
        <name>AIF in CDDL</name>
        <sourcecode type="cddl"><![CDATA[
AIF-REST = AIF-Generic<path, permissions>
path = tstr   ; URI relative to enforcement point
permissions = uint .bits methods
methods = &(
  GET: 0
  POST: 1
  PUT: 2
  DELETE: 3
  FETCH: 4
  PATCH: 5
  iPATCH: 6
  Dynamic-GET: 32; 0 .plus Dynamic-Offset
  Dynamic-POST: 33; 1 .plus Dynamic-Offset
  Dynamic-PUT: 34; 2 .plus Dynamic-Offset
  Dynamic-DELETE: 35; 3 .plus Dynamic-Offset
  Dynamic-FETCH: 36; 4 .plus Dynamic-Offset
  Dynamic-PATCH: 37; 5 .plus Dynamic-Offset
  Dynamic-iPATCH: 38; 6 .plus Dynamic-Offset
)
]]></sourcecode>
      </figure>
      <t>For the information shown in <xref target="im-example"/> and <xref target="dm-json"/>, a
representation in CBOR <xref target="RFC8949"/> is given in <xref target="dm-cbor"/>; again,
several optimizations/improvements are possible.</t>
      <figure anchor="dm-cbor">
        <name>An authorization instance encoded in CBOR (28 bytes)</name>
        <artwork type="hex-dump"><![CDATA[
83                        # array(3)
   82                     # array(2)
      67                  # text(7)
         2f732f74656d70   # "/s/temp"
      01                  # unsigned(1)
   82                     # array(2)
      66                  # text(6)
         2f612f6c6564     # "/a/led"
      05                  # unsigned(5)
   82                     # array(2)
      65                  # text(5)
         2f64746c73       # "/dtls"
      02                  # unsigned(2)
]]></artwork>
      </figure>
      <t>Note that choosing 32 as Dynamic-Offset means that all future CoAP
methods that can be registered can be represented both as themselves
and in the Dynamic-X variant, but only the dynamic forms of methods 1
to 21 are typically usable in a JSON form <xref target="RFC7493"/>.</t>
    </section>
    <section anchor="media-types">
      <name>Media Types</name>
      <t>This specification defines media types for the generic information
model, expressed in JSON (<tt>application/aif+json</tt>) or in CBOR (<tt>application/aif+cbor</tt>).  These media types have
parameters for specifying <tt>Toid</tt> and <tt>Tperm</tt>; default values are the
values "local-uri" for <tt>Toid</tt> and "REST-method-set" for <tt>Tperm</tt>.</t>
      <t>A specification that wants to use Generic AIF with different <tt>Toid</tt>
and/or <tt>Tperm</tt> is expected to request these as media type parameters
(<xref target="registries"/>) and register a corresponding Content-Format (<xref target="content-format"/>).</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t><cref anchor="replace-xxxx">RFC Ed.: throughout this section, please replace RFC
  XXXX with the RFC number of this specification and remove this note.</cref></t>
      <section anchor="media-types-1">
        <name>Media Types</name>
        <t>IANA is requested to add the following Media-Types to the "Media Types" registry.</t>
        <table align="left">
          <thead>
            <tr>
              <th align="left">Name</th>
              <th align="left">Template</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">aif+cbor</td>
              <td align="left">application/aif+cbor</td>
              <td align="left">RFC XXXX, <xref target="media-types"/></td>
            </tr>
            <tr>
              <td align="left">aif+json</td>
              <td align="left">application/aif+json</td>
              <td align="left">RFC XXXX, <xref target="media-types"/></td>
            </tr>
          </tbody>
        </table>
        <t>For <tt>application/aif+cbor</tt>:</t>
        <dl spacing="compact">
          <dt>
Type name:  </dt>
          <dd>
            <t>application</t>
          </dd>
          <dt>
Subtype name:  </dt>
          <dd>
            <t>aif+cbor</t>
          </dd>
          <dt>
Required parameters:  </dt>
          <dd>
            <t>none</t>
          </dd>
          <dt>
Optional parameters:  </dt>
          <dd>
            <ul spacing="normal">
              <li>
                <tt>Toid</tt>: the identifier for the object for which permissions are
supplied.
A value from the media-type parameter sub-registry for <tt>Toid</tt>.
Default value: "local-uri" (RFC XXXX).</li>
              <li>
                <tt>Tperm</tt>: the data type of a permission set for the object
identified via a <tt>Toid</tt>.
A value from the media-type parameter sub-registry for <tt>Tperm</tt>.
Default value: "REST-method-set" (RFC XXXX).</li>
            </ul>
          </dd>
          <dt>
Encoding considerations:  </dt>
          <dd>
            <t>binary (CBOR)</t>
          </dd>
          <dt>
Security considerations:  </dt>
          <dd>
            <t><xref target="seccons"/> of RFC XXXX</t>
          </dd>
          <dt>
Interoperability considerations:  </dt>
          <dd>
            <t>none</t>
          </dd>
          <dt>
Published specification:  </dt>
          <dd>
            <t><xref target="media-types"/> of RFC XXXX</t>
          </dd>
          <dt>
Applications that use this media type:  </dt>
          <dd>
            <t>Applications that need to convey structured authorization data for
identified resources, conveying sets of permissions.</t>
          </dd>
          <dt>
Fragment identifier considerations:  </dt>
          <dd>
            <t>The syntax and semantics of fragment identifiers is as specified for
"application/cbor".  (At publication of RFC XXXX, there is no
fragment identification syntax defined for "application/cbor".)</t>
          </dd>
          <dt>
Person &amp; email address to contact for further information:  </dt>
          <dd>
            <t>ACE WG mailing list (ace@ietf.org),
or IETF Applications and Real-Time Area (art@ietf.org)</t>
          </dd>
          <dt>
Intended usage:  </dt>
          <dd>
            <t>COMMON</t>
          </dd>
          <dt>
Restrictions on usage:  </dt>
          <dd>
            <t>none</t>
          </dd>
          <dt>
Author/Change controller:  </dt>
          <dd>
            <t>IETF</t>
          </dd>
          <dt>
Provisional registration:  </dt>
          <dd>
            <t>no</t>
          </dd>
        </dl>
        <t>For <tt>application/aif+json</tt>:</t>
        <dl spacing="compact">
          <dt>
Type name:  </dt>
          <dd>
            <t>application</t>
          </dd>
          <dt>
Subtype name:  </dt>
          <dd>
            <t>aif+json</t>
          </dd>
          <dt>
Required parameters:  </dt>
          <dd>
            <t>none</t>
          </dd>
          <dt>
Optional parameters:  </dt>
          <dd>
            <ul spacing="normal">
              <li>
                <tt>Toid</tt>: the identifier for the object for which permissions are
supplied.
A value from the media-type parameter sub-registry for <tt>Toid</tt>.
Default value: "local-uri" (RFC XXXX).</li>
              <li>
                <tt>Tperm</tt>: the data type of a permission set for the object
identified via a <tt>Toid</tt>.
A value from the media-type parameter sub-registry for <tt>Tperm</tt>.
Default value: "REST-method-set" (RFC XXXX).</li>
            </ul>
          </dd>
          <dt>
Encoding considerations:  </dt>
          <dd>
            <t>binary (JSON is UTF-8-encoded text)</t>
          </dd>
          <dt>
Security considerations:  </dt>
          <dd>
            <t><xref target="seccons"/> of RFC XXXX</t>
          </dd>
          <dt>
Interoperability considerations:  </dt>
          <dd>
            <t>none</t>
          </dd>
          <dt>
Published specification:  </dt>
          <dd>
            <t><xref target="media-types"/> of RFC XXXX</t>
          </dd>
          <dt>
Applications that use this media type:  </dt>
          <dd>
            <t>Applications that need to convey structured authorization data for
identified resources, conveying sets of permissions.</t>
          </dd>
          <dt>
Fragment identifier considerations:  </dt>
          <dd>
            <t>The syntax and semantics of fragment identifiers is as specified for
"application/json".  (At publication of RFC XXXX, there is no
fragment identification syntax defined for "application/json".)</t>
          </dd>
          <dt>
Person &amp; email address to contact for further information:  </dt>
          <dd>
            <t>ACE WG mailing list (ace@ietf.org),
or IETF Applications and Real-Time Area (art@ietf.org)</t>
          </dd>
          <dt>
Intended usage:  </dt>
          <dd>
            <t>COMMON</t>
          </dd>
          <dt>
Restrictions on usage:  </dt>
          <dd>
            <t>none</t>
          </dd>
          <dt>
Author/Change controller:  </dt>
          <dd>
            <t>IETF</t>
          </dd>
          <dt>
Provisional registration:  </dt>
          <dd>
            <t>no</t>
          </dd>
        </dl>
      </section>
      <section anchor="registries">
        <name>Registries</name>
        <t>IANA is requested to create a sub-registry for application/aif+cbor
and application/aif+json within <xref target="IANA.media-type-sub-parameters"/> for
the two media-type parameters <tt>Toid</tt> and <tt>Tperm</tt>, populated with:</t>
        <table align="left">
          <thead>
            <tr>
              <th align="left">Parameter</th>
              <th align="left">name</th>
              <th align="left">Description/Specification</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Toid</td>
              <td align="left">local-part</td>
              <td align="left">local-part of URI</td>
              <td align="left">RFC XXXX</td>
            </tr>
            <tr>
              <td align="left">Tperm</td>
              <td align="left">REST-method-set</td>
              <td align="left">set of REST methods represented</td>
              <td align="left">RFC XXXX</td>
            </tr>
          </tbody>
        </table>
        <t>The registration policy is Specification required <xref target="RFC8126"/>.
The designated expert will engage with the submitter to ascertain the
requirements of this document are addressed.</t>
      </section>
      <section anchor="content-format">
        <name>Content-Format</name>
        <t>IANA is requested to register Content-Format numbers in the "CoAP
Content-Formats" sub-registry, within the "Constrained RESTful
Environments (CoRE) Parameters" Registry <xref target="IANA.core-parameters"/>, as
follows:</t>
        <table align="left">
          <thead>
            <tr>
              <th align="left">Media Type</th>
              <th align="left">Content Coding</th>
              <th align="left">ID</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">application/aif+cbor</td>
              <td align="left">-</td>
              <td align="left">TBD1</td>
              <td align="left">RFC XXXX</td>
            </tr>
            <tr>
              <td align="left">application/aif+json</td>
              <td align="left">-</td>
              <td align="left">TBD2</td>
              <td align="left">RFC XXXX</td>
            </tr>
          </tbody>
        </table>
        <t>// RFC Ed.: please replace TBD1 and TBD2 with assigned IDs and remove this note.</t>
        <t>Note that applications that register <tt>Toid</tt> and <tt>Tperm</tt> values are
encouraged to also register Content-Formats for the relevant
combinations.</t>
      </section>
    </section>
    <section anchor="seccons">
      <name>Security Considerations</name>
      <t>The security considerations of <xref target="RFC7252"/> apply.
Some wider issues are discussed in <xref target="RFC8576"/>.</t>
      <t>The semantics of the authorization information defined in this
documents are that of an <em>allow-list</em>:
everything is denied until it is explicitly allowed.</t>
      <t>When applying these formats, the referencing specification needs to be
careful to:</t>
      <ul spacing="normal">
        <li>ensure that the cryptographic armor employed around this format
fulfills the referencing specification's security objectives, and that the armor or some
additional information included in it with the AIF information
(1) unambiguously identifies the subject to which the authorizations
shall apply and provides (2) any context information needed to derive the
identity of the object to which authorization is being granted
from the object identifiers (such as, for
the data models defined in the present specification, the scheme and
authority information that is used to construct the full URI), and</li>
        <li>ensure that the types used for <tt>Toid</tt> and <tt>Tperm</tt> provide the
appropriate granularity and precision so that application requirements on the
precision of the authorization information are fulfilled, and that
all parties understand <tt>Toid</tt>/<tt>Tperm</tt> pairs to signify the same operations.</li>
      </ul>
      <t>For the data formats, the security considerations of <xref target="RFC8259"/> and
<xref target="RFC8949"/> apply.</t>
      <t>A plain implementation of AIF might implement just the basic REST
model as per <xref target="rest-model"/>.  If it receives authorizations that
include permissions that use the REST-specific Model With Dynamic
Resource Creation <xref target="ext-rest-model"/>, it needs to either
reject the AIF data item entirely or act only on the
permissions that it does understand.
In other words, the semantics underlying an allow-list as discussed
above need to hold here as well.</t>
      <t>An implementation of the REST-specific Model With Dynamic Resource
Creation <xref target="ext-rest-model"/> needs to carefully keep track of the
dynamically created objects and the subjects to which the Dynamic-X
permissions apply -- both on the server side to enforce the permissions
and on the client side to know which permissions are available.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC3986" target="https://www.rfc-editor.org/info/rfc3986">
          <front>
            <title>Uniform Resource Identifier (URI): Generic Syntax</title>
            <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee">
              <organization/>
            </author>
            <author fullname="R. Fielding" initials="R." surname="Fielding">
              <organization/>
            </author>
            <author fullname="L. Masinter" initials="L." surname="Masinter">
              <organization/>
            </author>
            <date month="January" year="2005"/>
            <abstract>
              <t>A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource.  This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet.  The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier.  This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="66"/>
          <seriesInfo name="RFC" value="3986"/>
          <seriesInfo name="DOI" value="10.17487/RFC3986"/>
        </reference>
        <reference anchor="RFC7252" target="https://www.rfc-editor.org/info/rfc7252">
          <front>
            <title>The Constrained Application Protocol (CoAP)</title>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby">
              <organization/>
            </author>
            <author fullname="K. Hartke" initials="K." surname="Hartke">
              <organization/>
            </author>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <date month="June" year="2014"/>
            <abstract>
              <t>The Constrained Application Protocol (CoAP) is a specialized web transfer protocol for use with constrained nodes and constrained (e.g., low-power, lossy) networks.  The nodes often have 8-bit microcontrollers with small amounts of ROM and RAM, while constrained networks such as IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs) often have high packet error rates and a typical throughput of 10s of kbit/s.  The protocol is designed for machine- to-machine (M2M) applications such as smart energy and building automation.</t>
              <t>CoAP provides a request/response interaction model between application endpoints, supports built-in discovery of services and resources, and includes key concepts of the Web such as URIs and Internet media types.  CoAP is designed to easily interface with HTTP for integration with the Web while meeting specialized requirements such as multicast support, very low overhead, and simplicity for constrained environments.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7252"/>
          <seriesInfo name="DOI" value="10.17487/RFC7252"/>
        </reference>
        <reference anchor="I-D.ietf-httpbis-semantics" target="https://www.ietf.org/archive/id/draft-ietf-httpbis-semantics-19.txt">
          <front>
            <title>HTTP Semantics</title>
            <author fullname="Roy T. Fielding">
              <organization>Adobe</organization>
            </author>
            <author fullname="Mark Nottingham">
              <organization>Fastly</organization>
            </author>
            <author fullname="Julian Reschke">
              <organization>greenbytes GmbH</organization>
            </author>
            <date day="12" month="September" year="2021"/>
            <abstract>
              <t>   The Hypertext Transfer Protocol (HTTP) is a stateless application-
   level protocol for distributed, collaborative, hypertext information
   systems.  This document describes the overall architecture of HTTP,
   establishes common terminology, and defines aspects of the protocol
   that are shared by all versions.  In this definition are core
   protocol elements, extensibility mechanisms, and the "http" and
   "https" Uniform Resource Identifier (URI) schemes.

   This document updates RFC 3864 and obsoletes RFC 2818, RFC 7231, RFC
   7232, RFC 7233, RFC 7235, RFC 7538, RFC 7615, RFC 7694, and portions
   of RFC 7230.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-httpbis-semantics-19"/>
        </reference>
        <reference anchor="RFC8126" target="https://www.rfc-editor.org/info/rfc8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton">
              <organization/>
            </author>
            <author fullname="B. Leiba" initials="B." surname="Leiba">
              <organization/>
            </author>
            <author fullname="T. Narten" initials="T." surname="Narten">
              <organization/>
            </author>
            <date month="June" year="2017"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters.  To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper.  For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed.  This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
        <reference anchor="RFC8610" target="https://www.rfc-editor.org/info/rfc8610">
          <front>
            <title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz">
              <organization/>
            </author>
            <author fullname="C. Vigano" initials="C." surname="Vigano">
              <organization/>
            </author>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <date month="June" year="2019"/>
            <abstract>
              <t>This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049).  Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8610"/>
          <seriesInfo name="DOI" value="10.17487/RFC8610"/>
        </reference>
        <reference anchor="RFC9165" target="https://www.rfc-editor.org/info/rfc9165">
          <front>
            <title>Additional Control Operators for the Concise Data Definition Language (CDDL)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <date month="December" year="2021"/>
            <abstract>
              <t>The Concise Data Definition Language (CDDL), standardized in RFC 8610, provides "control operators" as its main language extension point.</t>
              <t>The present document defines a number of control operators that were not yet ready at the time RFC 8610 was completed: , , and  for the construction of constants; / for including ABNF (RFC 5234 and RFC 7405) in CDDL specifications; and for indicating the use of a non-basic feature in an instance.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9165"/>
          <seriesInfo name="DOI" value="10.17487/RFC9165"/>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner">
              <organization/>
            </author>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba">
              <organization/>
            </author>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC4949" target="https://www.rfc-editor.org/info/rfc4949">
          <front>
            <title>Internet Security Glossary, Version 2</title>
            <author fullname="R. Shirey" initials="R." surname="Shirey">
              <organization/>
            </author>
            <date month="August" year="2007"/>
            <abstract>
              <t>This Glossary provides definitions, abbreviations, and explanations of terminology for information system security. The 334 pages of entries offer recommendations to improve the comprehensibility of written material that is generated in the Internet Standards Process (RFC 2026). The recommendations follow the principles that such writing should (a) use the same term or definition whenever the same concept is mentioned; (b) use terms in their plainest, dictionary sense; (c) use terms that are already well-established in open publications; and (d) avoid terms that either favor a particular vendor or favor a particular technology or mechanism over other, competing techniques that already exist or could be developed.  This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="FYI" value="36"/>
          <seriesInfo name="RFC" value="4949"/>
          <seriesInfo name="DOI" value="10.17487/RFC4949"/>
        </reference>
        <reference anchor="RFC8259" target="https://www.rfc-editor.org/info/rfc8259">
          <front>
            <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray">
              <organization/>
            </author>
            <date month="December" year="2017"/>
            <abstract>
              <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format.  It was derived from the ECMAScript Programming Language Standard.  JSON defines a small set of formatting rules for the portable representation of structured data.</t>
              <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="90"/>
          <seriesInfo name="RFC" value="8259"/>
          <seriesInfo name="DOI" value="10.17487/RFC8259"/>
        </reference>
        <reference anchor="I-D.ietf-ace-oauth-authz" 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 day="8" month="November" 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="RFC7493" target="https://www.rfc-editor.org/info/rfc7493">
          <front>
            <title>The I-JSON Message Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray">
              <organization/>
            </author>
            <date month="March" year="2015"/>
            <abstract>
              <t>I-JSON (short for "Internet JSON") is a restricted profile of JSON designed to maximize interoperability and increase confidence that software can process it successfully with predictable results.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7493"/>
          <seriesInfo name="DOI" value="10.17487/RFC7493"/>
        </reference>
        <reference anchor="RFC8949" target="https://www.rfc-editor.org/info/rfc8949">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman">
              <organization/>
            </author>
            <date month="December" year="2020"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
              <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049.  It does not create a new version of the format.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="94"/>
          <seriesInfo name="RFC" value="8949"/>
          <seriesInfo name="DOI" value="10.17487/RFC8949"/>
        </reference>
        <reference anchor="RFC8132" target="https://www.rfc-editor.org/info/rfc8132">
          <front>
            <title>PATCH and FETCH Methods for the Constrained Application Protocol (CoAP)</title>
            <author fullname="P. van der Stok" initials="P." surname="van der Stok">
              <organization/>
            </author>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <author fullname="A. Sehgal" initials="A." surname="Sehgal">
              <organization/>
            </author>
            <date month="April" year="2017"/>
            <abstract>
              <t>The methods defined in RFC 7252 for the Constrained Application Protocol (CoAP) only allow access to a complete resource, not to parts of a resource.  In case of resources with larger or complex data, or in situations where resource continuity is required, replacing or requesting the whole resource is undesirable.  Several applications using CoAP need to access parts of the resources.</t>
              <t>This specification defines the new CoAP methods, FETCH, PATCH, and iPATCH, which are used to access and update parts of a resource.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8132"/>
          <seriesInfo name="DOI" value="10.17487/RFC8132"/>
        </reference>
        <reference anchor="RFC8576" target="https://www.rfc-editor.org/info/rfc8576">
          <front>
            <title>Internet of Things (IoT) Security: State of the Art and Challenges</title>
            <author fullname="O. Garcia-Morchon" initials="O." surname="Garcia-Morchon">
              <organization/>
            </author>
            <author fullname="S. Kumar" initials="S." surname="Kumar">
              <organization/>
            </author>
            <author fullname="M. Sethi" initials="M." surname="Sethi">
              <organization/>
            </author>
            <date month="April" year="2019"/>
            <abstract>
              <t>The Internet of Things (IoT) concept refers to the usage of standard Internet protocols to allow for human-to-thing and thing-to-thing communication.  The security needs for IoT systems are well recognized, and many standardization steps to provide security have been taken -- for example, the specification of the Constrained Application Protocol (CoAP) secured with Datagram Transport Layer Security (DTLS).  However, security challenges still exist, not only because there are some use cases that lack a suitable solution, but also because many IoT devices and systems have been designed and deployed with very limited security capabilities.  In this document, we first discuss the various stages in the lifecycle of a thing. Next, we document the security threats to a thing and the challenges that one might face to protect against these threats.  Lastly, we discuss the next steps needed to facilitate the deployment of secure IoT systems.  This document can be used by implementers and authors of IoT specifications as a reference for details about security considerations while documenting their specific security challenges, threat models, and mitigations.</t>
              <t>This document is a product of the IRTF Thing-to-Thing Research Group (T2TRG).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8576"/>
          <seriesInfo name="DOI" value="10.17487/RFC8576"/>
        </reference>
        <reference anchor="RFC6570" target="https://www.rfc-editor.org/info/rfc6570">
          <front>
            <title>URI Template</title>
            <author fullname="J. Gregorio" initials="J." surname="Gregorio">
              <organization/>
            </author>
            <author fullname="R. Fielding" initials="R." surname="Fielding">
              <organization/>
            </author>
            <author fullname="M. Hadley" initials="M." surname="Hadley">
              <organization/>
            </author>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham">
              <organization/>
            </author>
            <author fullname="D. Orchard" initials="D." surname="Orchard">
              <organization/>
            </author>
            <date month="March" year="2012"/>
            <abstract>
              <t>A URI Template is a compact sequence of characters for describing a range of Uniform Resource Identifiers through variable expansion. This specification defines the URI Template syntax and the process for expanding a URI Template into a URI reference, along with guidelines for the use of URI Templates on the Internet.   [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6570"/>
          <seriesInfo name="DOI" value="10.17487/RFC6570"/>
        </reference>
        <reference anchor="RFC7228" target="https://www.rfc-editor.org/info/rfc7228">
          <front>
            <title>Terminology for Constrained-Node Networks</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <author fullname="M. Ersue" initials="M." surname="Ersue">
              <organization/>
            </author>
            <author fullname="A. Keranen" initials="A." surname="Keranen">
              <organization/>
            </author>
            <date month="May" year="2014"/>
            <abstract>
              <t>The Internet Protocol Suite is increasingly used on small devices with severe constraints on power, memory, and processing resources, creating constrained-node networks.  This document provides a number of basic terms that have been useful in the standardization work for constrained-node networks.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7228"/>
          <seriesInfo name="DOI" value="10.17487/RFC7228"/>
        </reference>
        <reference anchor="IANA.core-parameters" target="https://www.iana.org/assignments/core-parameters">
          <front>
            <title>Constrained RESTful Environments (CoRE) Parameters</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="IANA.media-type-sub-parameters" target="https://www.iana.org/assignments/media-type-sub-parameters">
          <front>
            <title>MIME Media Type Sub-Parameter Registries</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="RFC8881" target="https://www.rfc-editor.org/info/rfc8881">
          <front>
            <title>Network File System (NFS) Version 4 Minor Version 1 Protocol</title>
            <author fullname="D. Noveck" initials="D." role="editor" surname="Noveck">
              <organization/>
            </author>
            <author fullname="C. Lever" initials="C." surname="Lever">
              <organization/>
            </author>
            <date month="August" year="2020"/>
            <abstract>
              <t>This document describes the Network File System (NFS) version 4 minor version 1, including features retained from the base protocol (NFS version 4 minor version 0, which is specified in RFC 7530) and protocol extensions made subsequently.  The later minor version has no dependencies on NFS version 4 minor version 0, and is considered a separate protocol. </t>
              <t>This document obsoletes RFC 5661.  It substantially revises the treatment of features relating to multi-server namespace, superseding the description of those features appearing in RFC 5661.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8881"/>
          <seriesInfo name="DOI" value="10.17487/RFC8881"/>
        </reference>
      </references>
    </references>
    <section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t><contact fullname="Jim Schaad"/>,
<contact fullname="Francesca Palombini"/>,
<contact fullname="Olaf Bergmann"/>,
<contact fullname="Marco Tiloca"/>,
and
<contact fullname="Christian Amsüss"/>
provided comments that shaped the
direction of this document.
<contact fullname="Alexey Melnikov"/> pointed out that there were gaps in the media
type specifications, and <contact fullname="Loganaden Velvindron"/> provided a shepherd
review with further comments.
<contact fullname="Benjamin Kaduk"/> provided an extensive review as responsible Area
Director, and indeed is responsible for much improvement in the document.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
