<?xml version='1.0' encoding='utf-8'?>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.5.5 -->
<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">
<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-birkholz-rats-corim-02" category="std" obsoletes="" updates="" submissionType="IETF" xml:lang="en" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 2.46.0 -->
  <front>
    <title abbrev="CoRIM">Concise Reference Integrity Manifest</title>
    <seriesInfo name="Internet-Draft" value="draft-birkholz-rats-corim-02"/>
    <author initials="H." surname="Birkholz" fullname="Henk Birkholz">
      <organization abbrev="Fraunhofer SIT">Fraunhofer SIT</organization>
      <address>
        <postal>
          <street>Rheinstrasse 75</street>
          <city>Darmstadt</city>
          <code>64295</code>
          <country>Germany</country>
        </postal>
        <email>henk.birkholz@sit.fraunhofer.de</email>
      </address>
    </author>
    <author initials="T." surname="Fossati" fullname="Thomas Fossati">
      <organization>Arm Limited</organization>
      <address>
        <postal>
          <country>UK</country>
        </postal>
        <email>Thomas.Fossati@arm.com</email>
      </address>
    </author>
    <author initials="Y." surname="Deshpande" fullname="Yogesh Deshpande">
      <organization>Arm Limited</organization>
      <address>
        <postal>
          <country>UK</country>
        </postal>
        <email>yogesh.deshpande@arm.com</email>
      </address>
    </author>
    <author initials="N." surname="Smith" fullname="Ned Smith">
      <organization abbrev="Intel">Intel Corporation</organization>
      <address>
        <postal>
          <street/>
          <city/>
          <code/>
          <country>USA</country>
        </postal>
        <email>ned.smith@intel.com</email>
      </address>
    </author>
    <author initials="W." surname="Pan" fullname="Wei Pan">
      <organization>Huawei Technologies</organization>
      <address>
        <email>william.panwei@huawei.com</email>
      </address>
    </author>
    <date year="2022" month="January" day="26"/>
    <area>Security</area>
    <workgroup>RATS Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>Remote Attestation Procedures (RATS) enable Relying Parties to put trust in the trustworthiness of a remote Attester and therefore to decide if to engage in secure interactions with it - or not. Evidence about trustworthiness can be rather complex, voluminous or Attester-specific. As it is deemed unrealistic that every Relying Party is capable of the appraisal of Evidence, that burden is taken on by a Verifier. In order to conduct Evidence appraisal procedures, a Verifier requires not only fresh Evidence from an Attester, but also trusted Endorsements and Reference Values from Endorsers, such as manufacturers, distributors, or owners. This document specifies Concise Reference Integrity Manifests (CoRIM) that represent Endorsements and Reference Values in CBOR format. Composite devices or systems are represented by a collection of Concise Module Identifiers (CoMID) and Concise Software Identifiers (CoSWID) bundled in a CoRIM document.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="introduction" numbered="true" toc="default">
      <name>Introduction</name>
      <t>The Remote Attestation Procedures (RATS) architecture <xref target="I-D.ietf-rats-architecture" format="default"/> describes appraisal procedures for attestation Evidence and Attestation Results. Appraisal procedures for Evidence are conducted by Verifiers and are intended to assess the trustworthiness of a remote peer. Appraisal procedures for Attestation Results are conducted by Relying Parties and are intended to operationalize the assessment about a remote peer and to act appropriately based on the assessment. In order to enable their intent, appraisal procedures consume Appraisal Policies, Reference Values, and Endorsements.</t>
      <t>This documents specifies a binary encoding for Reference Values using the Concise Binary Object Representation (CBOR). The encoding is based on three parts that are defined using the Concise Data Definition Language (CDDL):</t>
      <ul spacing="normal">
        <li>Concise Reference Integrity Manifests (CoRIM),</li>
        <li>Concise Module Identifiers (CoMID), and</li>
        <li>Concise Software Identifier (CoSWID).</li>
      </ul>
      <t>CoRIM and CoMID tags are defined in this document, CoSWID tags are defined in <xref target="I-D.ietf-sacm-coswid" format="default"/>. CoRIM provide a wrapper structure, in which CoMID tags, CoSWID tags, as well as corresponding metadata can be bundled and signed as a whole. CoMID tags represent hardware components and provide a counterpart to CoSWID tags, which represent software components.</t>
      <t>In accordance to <xref target="RFC4949" format="default"/>, software components that are stored in hardware modules are referred to as firmware. While firmware can be represented as a software component, it is also very hardware-specific and often resides directly on block devices instead of a file system. In this specification, firmware and their Reference Values are represented via CoMID tags. Reference Values for any other software components stored on a file system are represented via CoSWID tags.</t>
      <t>In addition to CoRIM - and respective CoMID tags - this specification defines a Concise Manifest Revocation that represents a list of reference to CoRIM that are actively marked as invalid before their expiration time.</t>
      <section anchor="requirements-notation" numbered="true" toc="default">
        <name>Requirements Notation</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&nbsp;14 <xref target="RFC2119" format="default"/> <xref target="RFC8174" format="default"/> when, and only when, they
appear in all capitals, as shown here.</t>
      </section>
    </section>
    <section anchor="mybody" numbered="true" toc="default">
      <name>Concise Reference Integrity Manifests</name>
      <t>This section specifies the Concise RIM (CoRIM) format, the Concise MID format (CoMID), and the extension to the CoSWID specification that augments CoSWID tags to express specific relationships to CoMID tags.</t>
      <t>While each specification defines its own start rule, only CoMID and CoSWID are stand-alone specifications. The CoRIM specification - as the bundling format - has a dependency on CoMID and CoSWID and is not a stand-alone specification.</t>
      <t>While stand-alone CoSWID tags may be signed <xref target="I-D.ietf-sacm-coswid" format="default"/>, CoMID tags are not intended to be stand-alone and are always part of a CoRIM that must be signed. <xref target="I-D.ietf-sacm-coswid" format="default"/> specifies the use of COSE <xref target="RFC7231" format="default"/> for signing. This specification defines how to generate singed CoRIM tags with COSE to enable proof of authenticity and temper-evidence.</t>
      <t>This document uses the Concise Data Definition Language (CDDL <xref target="RFC8610" format="default"/>) to define the data structure of CoRIM and CoMID tags, as well as the extensions to CoSWID. The CDDL definitions provided define nested containers. Typically, the CDDL types used for nested containers are maps. Every key used in the maps is a named type that is associated with an corresponding uint via a block of rules appended at the end of the CDDL definition.</t>
      <t>Every set of uint keys that is used in the context of the "collision domain" of map is intended to be collision-free (each key is intended to be unique in the scope of a map, not a multimap). To accomplish that, for each map there is an IANA registry for the map members of maps. <!-- FIXME: ref to IANA sections -->
      </t>
      <section anchor="typographical-conventions" numbered="true" toc="default">
        <name>Typographical Conventions</name>
        <t>Type names in the following CDDL definitions follow the naming convention illustrated in table <xref target="tbl-typography" format="default"/>.</t>
        <table anchor="tbl-typography" align="center">
          <name>Type Traits &amp; Typographical Convention</name>
          <thead>
            <tr>
              <th align="left">type trait</th>
              <th align="left">example</th>
              <th align="left">typo convention</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">extensible type choice</td>
              <td align="left">
                <tt>int / text / ...</tt></td>
              <td align="left">
                <tt>$</tt>NAME<tt>-type-choice</tt></td>
            </tr>
            <tr>
              <td align="left">closed type choice</td>
              <td align="left">
                <tt>int / text</tt></td>
              <td align="left">NAME<tt>-type-choice</tt></td>
            </tr>
            <tr>
              <td align="left">group choice</td>
              <td align="left">
                <tt>( 1 =&gt; int // 2 =&gt; text )</tt></td>
              <td align="left">
                <tt>$$</tt>NAME<tt>-group-choice</tt></td>
            </tr>
            <tr>
              <td align="left">group</td>
              <td align="left">
                <tt>( 1 =&gt; int, 2 =&gt; text )</tt></td>
              <td align="left">NAME<tt>-group</tt></td>
            </tr>
            <tr>
              <td align="left">type</td>
              <td align="left">
                <tt>int</tt></td>
              <td align="left">NAME<tt>-type</tt></td>
            </tr>
            <tr>
              <td align="left">tagged type</td>
              <td align="left">
                <tt>#6.123(int)</tt></td>
              <td align="left">
                <tt>tagged-</tt>NAME<tt>-type</tt></td>
            </tr>
            <tr>
              <td align="left">map</td>
              <td align="left">
                <tt>{ 1 =&gt; int, 2 =&gt; text }</tt></td>
              <td align="left">NAME-<tt>map</tt></td>
            </tr>
            <tr>
              <td align="left">flags</td>
              <td align="left">
                <tt>&amp;( a: 1, b: 2 )</tt></td>
              <td align="left">NAME-<tt>flags</tt></td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="prefixes-and-namespaces" numbered="true" toc="default">
        <name>Prefixes and Namespaces</name>
        <t>The semantics of the information elements (attributes) defined for CoRIM, CoMID tags, and CoSWID tags are sometimes very similar, but often do not share the same scope or are actually quite different. In order to not overload the already existing semantics of the software-centric IANA registries of CoSWID tags with, for example, hardware-centric semantics of CoMID tags, new type names are introduced. For example: both CoSWID tags and CoMID tags define a tag-id. As CoSWID already specifies <tt>tag-id</tt>, the tag-id in CoMID tags is prefixed with <tt>comid.</tt> to disambiguate the context, resulting in <tt>comid.tag-id</tt>. This prefixing provides a well-defined scope for the use of the types defined in this document and guarantees interoperability (no type name collisions) with the CoSWID CDDL definition. Effectively, the prefixes used in this specification enable simple hierarchical namespaces. The prefixing introduced is also based on the anticipated namespace features for CDDL. <!-- FIXME: ref to upcoming CDDL Namespaces I-D -->
        </t>
      </section>
      <section anchor="extensibility" numbered="true" toc="default">
        <name>Extensibility</name>
        <t>Both the CoRIM and the CoMID tag specification include extension points using CDDL sockets (see <xref target="RFC8610" format="default"/> Section 3.9). The use of CDDL sockets allows for well-formed extensions to be defined in supplementary CDDL definitions that support additional uses of CoRIM and CoMID tags.</t>
        <t>There are two types of extensibility supported via the extension points defined in this document. Both types allow for the addition of keys in the scope of a map.</t>
        <dl>
          <dt>
Custom Keys:  </dt>
          <dd>
            <t>The CDDL definition allows for the use of negative integers as keys. These keys cannot take on a well-defined global semantic. They can take on custom-defined semantics in a limited or local scope, e.g. vendor-defined scope.</t>
          </dd>
          <dt>
Registered Keys:  </dt>
          <dd>
            <t>Additional keys can be registered at IANA via separate specifications.</t>
          </dd>
        </dl>
        <t>Both types of extensibility also allow for the definition of new nested maps that again can include additional defined keys.</t>
      </section>
      <section anchor="concise-rim-extension-points" numbered="true" toc="default">
        <name>Concise RIM Extension Points</name>
        <t>The following CDDL sockets (extension points) are defined in the CoRIM specification, which allow the addition of new information structures to their respective CDDL groups.</t>
        <table anchor="comid-extension-group-sockets" align="center">
          <name>CoMID CDDL Group Extension Points</name>
          <thead>
            <tr>
              <th align="left">Map Name</th>
              <th align="left">CDDL Socket</th>
              <th align="left">Defined in</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">corim-entity-map</td>
              <td align="left">$$corim-entity-map-extension</td>
              <td align="left">
                <xref target="model-corim-entity-map" format="default"/></td>
            </tr>
            <tr>
              <td align="left">unsigned-corim-map</td>
              <td align="left">$$unsigned-corim-map-extension</td>
              <td align="left">
                <xref target="model-corim-map" format="default"/></td>
            </tr>
            <tr>
              <td align="left">concise-mid-tag</td>
              <td align="left">$$comid-extension</td>
              <td align="left">
                <xref target="model-concise-mid-tag" format="default"/></td>
            </tr>
            <tr>
              <td align="left">tag-identity-map</td>
              <td align="left">$$tag-identity-map-extension</td>
              <td align="left">
                <xref target="model-tag-identity-map" format="default"/></td>
            </tr>
            <tr>
              <td align="left">entity-map</td>
              <td align="left">$$entity-map-extension</td>
              <td align="left">
                <xref target="model-entity-map" format="default"/></td>
            </tr>
            <tr>
              <td align="left">triples-map</td>
              <td align="left">$$triples-map-extension</td>
              <td align="left">
                <xref target="model-triples-map" format="default"/></td>
            </tr>
            <tr>
              <td align="left">measurement-values-map</td>
              <td align="left">$$measurement-values-map-extension</td>
              <td align="left">
                <xref target="model-measurement-values-map" format="default"/></td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="cddl-generic-types" numbered="true" toc="default">
        <name>CDDL Generic Types</name>
        <t>The CDDL definitions for CoRIM and CoMID tags use the two following generic types.</t>
        <section anchor="non-empty" numbered="true" toc="default">
          <name>Non-Empty</name>
          <t>The non-empty generic type is used to express that a map with only optional members MUST at least include one of the optional members.</t>
          <sourcecode type="CDDL">
non-empty&lt;M&gt; = (M) .within ({ + any =&gt; any })
</sourcecode>
        </section>
        <section anchor="one-or-more" numbered="true" toc="default">
          <name>One-Or-More</name>
          <t>The one-or-more generic type allows to omit an encapsulating array, if only one member would be present.</t>
          <sourcecode type="CDDL">
one-or-more&lt;T&gt; = T / [ 2* T ] ; 2*
</sourcecode>
        </section>
      </section>
    </section>
    <section anchor="concise-rim-data-definition" numbered="true" toc="default">
      <name>Concise RIM Data Definition</name>
      <t>A CoRIM is a bundle of CoMID tags and/or CoSWID tags that can reference each other and that includes additional metadata about that bundle.</t>
      <t>The root of the CDDL specification provided for CoRIM is the
rule <tt>corim</tt> <!-- (as defined in FIXME) -->:</t>
      <sourcecode type="CDDL">
start = corim
</sourcecode>
      <section anchor="model-signed-corim" numbered="true" toc="default">
        <name>The signed-corim Container</name>
        <t>A CoRIM is signed using <xref target="RFC7231" format="default"/>. The additional CoRIM-specific COSE header member label corim-meta is defined as well as the corresponding type corim-meta-map as its value. This rule and its constraints MUST be followed when generating or validating a signed CoRIM tag.</t>
        <sourcecode type="CDDL">
signed-corim = #6.18(COSE-Sign1-corim)

protected-corim-header-map = {
  corim.alg-id =&gt; int
  corim.content-type =&gt; "application/corim-unsigned+cbor"
  corim.issuer-key-id =&gt; bstr
  corim.meta =&gt; bstr .cbor corim-meta-map
  * cose-label =&gt; cose-values
}

unprotected-corim-header-map = {
  * cose-label =&gt; cose-values
}

COSE-Sign1-corim = [
  protected: bstr .cbor protected-corim-header-map
  unprotected: unprotected-corim-header-map
  payload: bstr .cbor tagged-corim-map
  signature: bstr
]
</sourcecode>
        <section anchor="model-corim-meta-map" numbered="true" toc="default">
          <name>The corim-meta-map Container</name>
          <t>This map contains the two additionally defined attributes <tt>corim-signer-map</tt> and <tt>validity-map</tt> that are used to annotate a CoRIM with metadata.</t>
          <sourcecode type="CDDL">
corim-meta-map = {
  corim.signer =&gt; corim-signer-map
  ? corim.signature-validity =&gt; validity-map
}
</sourcecode>
          <dl>
            <dt>
corim.signer:  </dt>
            <dd>
              <t>One or more entities that created and/or signed the issued CoRIM.</t>
            </dd>
            <dt>
corim.signature-validity:  </dt>
            <dd>
              <t>A time period defining the validity span of the signature over the CoRIM.</t>
            </dd>
          </dl>
        </section>
        <section anchor="model-corim-signer-map" numbered="true" toc="default">
          <name>The corim-signer-map Container</name>
          <t>This map is used to identify the signer of a CoRIM via a name and an optional URI.</t>
          <sourcecode type="CDDL">
corim-signer-map = {
  corim.signer-name =&gt; $entity-name-type-choice
  ? corim.signer-uri =&gt; uri
  * $$corim-signer-map-extension
}

$entity-name-type-choice /= text
</sourcecode>
          <dl>
            <dt>
corim.signer-name:  </dt>
            <dd>
              <t>The name of the organization that signs this CoRIM</t>
            </dd>
            <dt>
corim.signer-uri:  </dt>
            <dd>
              <t>An URI uniquely linked to the organization that signs this CoRIM</t>
            </dd>
            <dt>
$$corim-signer-map-extension:  </dt>
            <dd>
              <t>This CDDL socket is used to add new information elements to the corim-signer-map container. See FIXME.</t>
            </dd>
          </dl>
        </section>
        <section anchor="the-validity-map-container" numbered="true" toc="default">
          <name>The validity-map Container</name>
          <t>The members of this map indicate the life-span or period of validity of a CoRIM that is baked into the protected header at the time of signing.</t>
          <sourcecode type="CDDL">
validity-map = {
  ? corim.not-before =&gt; time
  corim.not-after =&gt; time
}
</sourcecode>
          <dl>
            <dt>
corim.not-before:  </dt>
            <dd>
              <t>The timestamp indicating the CoRIM's begin of its validity period.</t>
            </dd>
            <dt>
corim.not-after:  </dt>
            <dd>
              <t>The timestamp indicating the CoRIM's end of its validity period.</t>
            </dd>
          </dl>
        </section>
      </section>
      <section anchor="model-corim-map" numbered="true" toc="default">
        <name>The corim-map Container</name>
        <t>This map contains the payload of the COSE envelope that is used to sign the CoRIM. This rule and its constraints MUST be followed when generating or validating an unsigned Concise RIM.</t>
        <sourcecode type="CDDL">
corim-map = {
  corim.id =&gt; $corim-id-type-choice
  corim.tags =&gt; [ + $concise-tag-type-choice ]
  ? corim.dependent-rims =&gt; [ + corim-locator-map ]
  ? corim.profile =&gt; [ + profile-type-choice ]
  ? corim.rim-validity =&gt; validity-map
  ? corim.entities =&gt; [ + corim-entity-map ]
  * $$corim-map-extension
}

$corim-id-type-choice /= tstr
$corim-id-type-choice /= uuid-type

profile-type-choice = uri / tagged-oid-type

$concise-tag-type-choice /= #6.505(bytes .cbor concise-swid-tag)
$concise-tag-type-choice /= #6.506(bytes .cbor concise-mid-tag)
</sourcecode>
        <dl>
          <dt>
corim.id:  </dt>
          <dd>
            <t>Typically a UUID or a text string that MUST uniquely identify a CoRIM in a given scope.</t>
          </dd>
          <dt>
corim.tags:  </dt>
          <dd>
            <t>A collection of one or more CoMID tags and/or CoSWID tags.</t>
          </dd>
          <dt>
corim.dependent-rims:  </dt>
          <dd>
            <t>One or more services available via the Internet that can supply additional, possibly dependent manifests (or other associated resources).</t>
          </dd>
          <dt>
corim.profile:  </dt>
          <dd>
            <t>One or more profiles that define the domain of interpretation of the CoMID and/or CoSWID tags.</t>
          </dd>
          <dt>
corim.rim-validity:  </dt>
          <dd>
            <t>The validity of the CoRIM expressed as a validity-map.</t>
          </dd>
          <dt>
corim.entities:  </dt>
          <dd>
            <t>One or more entities involved in the creation of this CoRIM.</t>
          </dd>
          <dt>
$$corim-map-extension:  </dt>
          <dd>
            <t>This CDDL socket is used to add new information elements to the corim-map container. See FIXME.</t>
          </dd>
        </dl>
        <section anchor="model-corim-entity-map" numbered="true" toc="default">
          <name>The corim-entity-map Container</name>
          <t>This Container contains qualifying attributes that provide more context information about the RIM as well its origin and purpose. This rule and its constraints MUST be followed when generating or validating a CoRIM tag</t>
          <sourcecode type="CDDL">
corim-entity-map = {
  corim.entity-name =&gt; $entity-name-type-choice
  ? corim.reg-id =&gt; uri
  corim.role =&gt; $corim-role-type-choice
  * $$corim-entity-map-extension
}

$corim-role-type-choice /= corim.manifest-creator
</sourcecode>
          <dl>
            <dt>
corim.entity-name:  </dt>
            <dd>
              <t>The name of an organization that performs the roles as indicated by comid.role.</t>
            </dd>
            <dt>
corim.reg-id:  </dt>
            <dd>
              <t>The registration identifier of the organization that has authority over the namespace for comid.entity-name.</t>
            </dd>
            <dt>
corim.role:  </dt>
            <dd>
              <t>The list of roles the entity is associated with. The entity that generates the CoRIM SHOULD include a $comid-role-type-choice value of corim.manifest-creator.</t>
            </dd>
            <dt>
$$corim-entity-map-extension:  </dt>
            <dd>
              <t>This CDDL socket is used to add new information elements to the corim-entity-map container. See FIXME.</t>
            </dd>
          </dl>
        </section>
        <section anchor="the-corim-locator-map-container" numbered="true" toc="default">
          <name>The corim-locator-map Container</name>
          <t>This map is used to locate and verify the integrity of resources provided by external services, e.g. the CoRIM provider.</t>
          <sourcecode type="CDDL">
corim-locator-map = {
  corim.href =&gt; uri
  ? corim.thumbprint =&gt; hash-entry
}
</sourcecode>
          <dl>
            <dt>
corim.href:  </dt>
            <dd>
              <t>A pointer to a services that supplies dependent files or records.</t>
            </dd>
            <dt>
corim.thumbprint:  </dt>
            <dd>
              <t>A digest of the reference resource.</t>
            </dd>
          </dl>
        </section>
      </section>
      <section anchor="model-concise-mid-tag" numbered="true" toc="default">
        <name>The concise-mid-tag Container</name>
        <t>The CDDL specification for the root concise-mid-tag map is as follows. This rule and its constraints MUST be followed when generating or validating a CoMID tag.</t>
        <sourcecode type="CDDL">
concise-mid-tag = {
  ? comid.language =&gt; language-type
  comid.tag-identity =&gt; tag-identity-map
  ? comid.entities =&gt; [ + entity-map ]
  ? comid.linked-tags =&gt; [ + linked-tag-map ]
  comid.triples =&gt; triples-map
  * $$concise-mid-tag-extension
}
</sourcecode>
        <t>The following describes each member of the concise-mid-tag root map.</t>
        <dl>
          <dt>
comid.language:  </dt>
          <dd>
            <t>A textual language tag that conforms with the IANA Language Subtag Registry <xref target="IANA.language-subtag-registry" format="default"/>.</t>
          </dd>
          <dt>
comid.tag-identity:  </dt>
          <dd>
            <t>A composite identifier containing identifying attributes that enable global unique identification of a CoMID tag across versions.</t>
          </dd>
          <dt>
comid.entity:  </dt>
          <dd>
            <t>A list of entities that contributed to the CoMID tag.</t>
          </dd>
          <dt>
comid.linked-tags:  </dt>
          <dd>
            <t>A lost of tags that are linked to this CoMID tag.</t>
          </dd>
          <dt>
comid.triples:  </dt>
          <dd>
            <t>A set of relationships in the form of triples, representing a graph-like and semantic reference structure between tags.</t>
          </dd>
          <dt>
$$comid-mid-tag-extension:  </dt>
          <dd>
            <t>This CDDL socket is used to add new information elements to the concise-mid-tag root container. See FIXME.</t>
          </dd>
        </dl>
      </section>
      <section anchor="model-tag-identity-map" numbered="true" toc="default">
        <name>The tag-identity-map Container</name>
        <t>The CDDL specification for the tag-identity-map includes all identifying attributes that enable a consumer of information to anticipate required capabilities to process the corresponding tag that map is included in. This rule and its constraints MUST be followed when generating or validating a CoMID tag.</t>
        <sourcecode type="CDDL">
tag-identity-map = {
  comid.tag-id =&gt; $tag-id-type-choice
  comid.tag-version =&gt; tag-version-type
}

$tag-id-type-choice /= tstr
$tag-id-type-choice /= uuid-type

tag-version-type = uint .default 0
</sourcecode>
        <t>The following describes each member of the tag-identity-map container.</t>
        <dl>
          <dt>
comid.tag-id:  </dt>
          <dd>
            <t>An identifier for a CoMID that MUST be globally unique.</t>
          </dd>
          <dt>
comid.tag-version:  </dt>
          <dd>
            <t>An unsigned integer used as a version identifier.</t>
          </dd>
          <dt>
$$tag-identity-map-extension:  </dt>
          <dd>
            <t>This CDDL socket is used to add new information elements to the tag-identity-map container. See FIXME.</t>
          </dd>
        </dl>
      </section>
      <section anchor="model-entity-map" numbered="true" toc="default">
        <name>The entity-map Container</name>
        <t>This Container provides qualifying attributes that provide more context information describing the module as well its origin and purpose. This rule and its constraints MUST be followed when generating or validating a CoMID tag.</t>
        <sourcecode type="CDDL">
entity-map = {
  comid.entity-name =&gt; $entity-name-type-choice
  ? comid.reg-id =&gt; uri
  comid.role =&gt; one-or-more&lt;$comid-role-type-choice&gt;
  * $$entity-map-extension
}

$comid-role-type-choice /= comid.tag-creator
$comid-role-type-choice /= comid.creator
$comid-role-type-choice /= comid.maintainer
</sourcecode>
        <t>The following describes each member of the tag-identity-map container.</t>
        <dl>
          <dt>
comid.entity-name:  </dt>
          <dd>
            <t>The name of an organization that performs the roles as indicated by comid.role.</t>
          </dd>
          <dt>
comid.reg-id:  </dt>
          <dd>
            <t>The registration identifier of the organization that has authority over the namespace for <tt>comid.entity-name</tt>.</t>
          </dd>
          <dt>
comid.role:  </dt>
          <dd>
            <t>The list of roles a CoMID entity is associated with. The entity that generates the concise-mid-tag SHOULD include a $comid-role-type-choice value of comid.tag-creator.</t>
          </dd>
          <dt>
$$entity-map-extension:  </dt>
          <dd>
            <t>This CDDL socket is used to add new information elements to the entity-map container. See FIXME.</t>
          </dd>
        </dl>
      </section>
      <section anchor="model-linked-tag-map" numbered="true" toc="default">
        <name>The linked-tag-map Container</name>
        <t>A list of tags that are linked to this CoMID tag.</t>
        <sourcecode type="CDDL">
linked-tag-map = {
  comid.linked-tag-id =&gt; $tag-id-type-choice
  comid.tag-rel =&gt; $tag-rel-type-choice
}

$tag-rel-type-choice /= comid.supplements
$tag-rel-type-choice /= comid.replaces
</sourcecode>
        <t>The following describes each member of the linked-tag-map container.</t>
        <dl>
          <dt>
comid.linked-tag-id:  </dt>
          <dd>
            <t>The tag-id of the linked tag. A linked tag MAY be a CoMID tag or a CoSWID tag.</t>
          </dd>
          <dt>
comid.tag-rel:  </dt>
          <dd>
            <t>The relationship type with the linked tag. The relationship type MAY be <tt>supplements</tt> or <tt>replaces</tt>, as well as other types well-defined by additional specifications.</t>
          </dd>
        </dl>
      </section>
      <section anchor="model-triples-map" numbered="true" toc="default">
        <name>The triples-map Container</name>
        <t>A set of directed properties that associate sets of data to provide reference values, endorsed values, verification key material or identifying key material for a specific hardware module that is a component of a composite device. The map provides the core element of CoMID tags that associate remote attestation relevant data with a distinct hardware component that runs an execution environment (a module that is either a Target Environment and/or an Attesting Environment). This rule and its constraints MUST be followed when generating or validating a CoMID tag.</t>
        <sourcecode type="CDDL">
triples-map = non-empty&lt;{
  ? comid.reference-triples =&gt; one-or-more&lt;reference-triple-record&gt;
  ? comid.endorsed-triples =&gt; one-or-more&lt;endorsed-triple-record&gt;
  ? comid.attest-key-triples =&gt; one-or-more&lt;attest-key-triple-record&gt;
  ? comid.identity-triples =&gt; one-or-more&lt;identity-triple-record&gt;
  * $$triples-map-extension
}&gt;
</sourcecode>
        <t>The following describes each member of the triple-map container.</t>
        <dl>
          <dt>
comid.reference-triples:  </dt>
          <dd>
            <t>A directed property that associates reference measurements with a module that is a Target Environment.</t>
          </dd>
          <dt>
comid.endorsed-triples:  </dt>
          <dd>
            <t>A directed property that associates endorsed measurements with a module that is a Target Environment or Attesting Environment.</t>
          </dd>
          <dt>
comid.attest-key-triples:  </dt>
          <dd>
            <t>A directed property that associates key material used to verify evidence generated from a module that is an attesting environment.</t>
          </dd>
          <dt>
comid.identity-triples:  </dt>
          <dd>
            <t>A directed property that associates key material used to identify a module instance or a module class that is an identifying part of a device(-set).</t>
          </dd>
          <dt>
$$triples-map-extension:  </dt>
          <dd>
            <t>This CDDL socket is used to add new information elements to the triples-map container. See FIXME.</t>
          </dd>
        </dl>
      </section>
      <section anchor="model-environment-map" numbered="true" toc="default">
        <name>The environment-map Container</name>
        <t>This map represents the module(s) that a triple-map can point directed properties (relationships) from in order to associate them with external information for remote attestation, such as reference values, endorsement and endorsed values, verification key material for evidence, or identifying key material for module (re-)identification. This map can identify a single module instance via <tt>comid.instance</tt> or groups of modules via <tt>comid.group</tt>. Referencing classes of modules requires the use of the more complex <tt>class-map</tt> container. This rule and its constraints MUST be followed when generating or validating a CoMID tag.</t>
        <sourcecode type="CDDL">
environment-map = non-empty&lt;{
  ? comid.class =&gt; class-map
  ? comid.instance =&gt; $instance-id-type-choice
  ? comid.group =&gt; $group-id-type-choice
}&gt;

$instance-id-type-choice /= tagged-ueid-type
$instance-id-type-choice /= tagged-uuid-type

$group-id-type-choice /= tagged-uuid-type
</sourcecode>
        <t>The following describes each member of the environment-map container.</t>
        <dl>
          <dt>
comid-class:  </dt>
          <dd>
            <t>A composite identifier for classes of environments/modules.</t>
          </dd>
          <dt>
comid.instance:  </dt>
          <dd>
            <t>An identifier for distinct instances of environments/modules that is either a UEID or a UUID.</t>
          </dd>
          <dt>
comid.group:  </dt>
          <dd>
            <t>An identifier for a group of environments/modules that is a UUID.</t>
          </dd>
        </dl>
      </section>
      <section anchor="the-class-map-container" numbered="true" toc="default">
        <name>The class-map Container</name>
        <t>This map enables a composite identifier intended to uniquely identify modules that are of a distinct class of devices. Effectively, all provided members in combination are a composite module class identifier.  This rule and its constraints MUST be followed when generating or validating a CoMID tag. This rule and its constraints MUST be followed when generating or validating a CoMID tag.</t>
        <sourcecode type="CDDL">
class-map = non-empty&lt;{
  ? comid.class-id =&gt; $class-id-type-choice
  ? comid.vendor =&gt; tstr
  ? comid.model =&gt; tstr
  ? comid.layer =&gt; uint
  ? comid.index =&gt; uint
}&gt;

$class-id-type-choice /= tagged-oid-type
$class-id-type-choice /= tagged-uuid-type
$class-id-type-choice /= tagged-int-type
</sourcecode>
        <t>The following describes each member of the class-map container.</t>
        <dl>
          <dt>
comid.class-id:  </dt>
          <dd>
            <t>TODO</t>
          </dd>
          <dt>
comid.vendor  </dt>
          <dd>
            <t>TODO</t>
          </dd>
          <dt>
comid.model  </dt>
          <dd>
            <t>TODO</t>
          </dd>
          <dt>
comid.layer  </dt>
          <dd>
            <t>TODO</t>
          </dd>
          <dt>
comid.index  </dt>
          <dd>
            <t>TODO</t>
          </dd>
        </dl>
      </section>
      <section anchor="model-measurement-values-map" numbered="true" toc="default">
        <name>The measurement-map and measurement-values-map Containers</name>
        <t>One of the targets (range) that a triple-map can point to in order to associate it with a module (domain) is the measurement-map. This map is used to provide reference measurements values that can be compared with Evidence Claim values or Endorsements and endorsed values from other sources than the corresponding CoRIM. <tt>measurement-map</tt> comes with a measurement key that identifies the measured element with via a OID reference or a UUID. <tt>measurement-values-map</tt> contains the actual measurements associated with the module(s). Byte strings with corresponding bit masks that highlights which bits in the byte string are used as reference measurements or endorsement are located in <tt>raw-value-group</tt>. The members of <tt>measurement-values-map</tt> provide well-defined and well-scoped semantics for reference measurement or endorsements with respect to a given module instance, class, or group. This rule and its constraints MUST be followed when generating or validating a CoMID tag.</t>
        <sourcecode type="CDDL">
measurement-map = {
  ? comid.mkey =&gt; $measured-element-type-choice
  comid.mval =&gt; measurement-values-map
}

$measured-element-type-choice /= tagged-oid-type
$measured-element-type-choice /= tagged-uuid-type
$measured-element-type-choice /= uint

measurement-values-map = non-empty&lt;{
  ? comid.ver =&gt; version-map
  ? comid.svn =&gt; svn-type-choice
  ? comid.digests =&gt; digests-type
  ? comid.flags =&gt; flags-type
  ? raw-value-group
  ? comid.mac-addr =&gt; mac-addr-type-choice
  ? comid.ip-addr =&gt;  ip-addr-type-choice
  ? comid.serial-number =&gt; serial-number-type
  ? comid.ueid =&gt; ueid-type
  ? comid.uuid =&gt; uuid-type
  ? comid.name =&gt; tstr
  * $$measurement-values-map-extension
}&gt;

flags-type = bytes .bits operational-flags

$operational-flags /= &amp;( not-configured: 0 )
$operational-flags /= &amp;( not-secure: 1 )
$operational-flags /= &amp;( recovery: 2 )
$operational-flags /= &amp;( debug: 3 )
$operational-flags /= &amp;( not-replay-protected: 4 )
$operational-flags /= &amp;( not-integrity-protected: 5 )

serial-number-type = text

digests-type = [ + hash-entry ]
</sourcecode>
        <t>The following describes each member of the measurement-map and the measurement-values-map container.</t>
        <dl>
          <dt>
comid.mkey:  </dt>
          <dd>
            <t>An identifier for the set of measurements expressed in measurement-values-map that is either an OID or a UUID.</t>
          </dd>
          <dt>
comid.ver:  </dt>
          <dd>
            <t>A version number measurement.</t>
          </dd>
          <dt>
comid.svn:  </dt>
          <dd>
            <t>A security related version number measurement.</t>
          </dd>
          <dt>
comid.digests:  </dt>
          <dd>
            <t>A digest (typically a hash value) measurement.</t>
          </dd>
          <dt>
comid.flags:  </dt>
          <dd>
            <t>Measurements that reflect operational modes that are made permanent at manufacturing time such that they are not expected to change during normal operation of the Attester.</t>
          </dd>
          <dt>
raw-value-group:  </dt>
          <dd>
            <t>A measurement in the form of a byte string that can come with a corresponding bit mask defining the relevance of each bit in the byte string as a measurement.</t>
          </dd>
          <dt>
comid.mac-addr:  </dt>
          <dd>
            <t>An EUI-48 or EUI-64 MAC address measurement.</t>
          </dd>
          <dt>
comid.ip-addr:  </dt>
          <dd>
            <t>An Ipv4 or Ipv6 address measurement.</t>
          </dd>
          <dt>
comid.serial-number:  </dt>
          <dd>
            <t>A measurement of a serial number in text.</t>
          </dd>
          <dt>
comid.ueid:  </dt>
          <dd>
            <t>A measurement of a Unique Enough Identifier (UEID).</t>
          </dd>
          <dt>
comid.uuid:  </dt>
          <dd>
            <t>A measurement of a Universally Unique Identifier (UUID).</t>
          </dd>
          <dt>
comid.name:  </dt>
          <dd>
            <t>TODO</t>
          </dd>
          <dt>
$$measurement-values-map-extension:  </dt>
          <dd>
            <t>This CDDL socket is used to add new information elements to the measurement-values-map container. See FIXME.</t>
          </dd>
        </dl>
        <section anchor="the-version-map-container" numbered="true" toc="default">
          <name>The version-map Container</name>
          <t>This map expresses reference values about version information.</t>
          <sourcecode type="CDDL">
version-map = {
  comid.version =&gt; version-type
  ? comid.version-scheme =&gt; $version-scheme
}

version-type = text .default '0.0.0'
</sourcecode>
          <t>The following describes each member of the version-map container.</t>
          <dl>
            <dt>
comid.version:  </dt>
            <dd>
              <t>The version in the form of a text string.</t>
            </dd>
            <dt>
comid-version-scheme:  </dt>
            <dd>
              <t>The version-scheme of the text string value as defined in <xref target="I-D.ietf-sacm-coswid" format="default"/></t>
            </dd>
          </dl>
        </section>
        <section anchor="the-svn-type-choice-enumeration" numbered="true" toc="default">
          <name>The svn-type-choice Enumeration</name>
          <t>This choice defines the CBOR tagged Security Version Numbers (SVN) that can be used as reference values for Evidence and Endorsements.</t>
          <sourcecode type="CDDL">
svn-type = uint
svn = svn-type
min-svn = svn-type
tagged-svn = #6.552(svn)
tagged-min-svn = #6.553(min-svn)
svn-type-choice = tagged-svn / tagged-min-svn
</sourcecode>
          <t>The following describes the types in the svn-type-choice enumeration.</t>
          <dl>
            <dt>
tagged-svn:  </dt>
            <dd>
              <t>A specific SVN.</t>
            </dd>
            <dt>
tagged-min-svn:  </dt>
            <dd>
              <t>A lower bound for allowed SVN.</t>
            </dd>
          </dl>
        </section>
        <section anchor="the-raw-value-group-container" numbered="true" toc="default">
          <name>The raw-value-group Container</name>
          <t>FIXME This group can express a single raw byte value and can come with an optional bit mask that defines which bits in the byte string is used as a reference value, by setting corresponding position in the bit mask to 1.</t>
          <sourcecode type="CDDL">
raw-value-group = (
  comid.raw-value =&gt; $raw-value-type-choice
  ? comid.raw-value-mask =&gt; raw-value-mask-type
)

$raw-value-type-choice /= #6.560(bytes)

raw-value-mask-type = bytes
</sourcecode>
          <t>The following describes the types in the raw-value-group Container.</t>
          <dl>
            <dt>
comid.raw-value:  </dt>
            <dd>
              <t>FIXME Bit positions in raw-value-type that correspond to bit positions in raw-value-mask-type.</t>
            </dd>
            <dt>
comid.raw-value-mask:  </dt>
            <dd>
              <t>A raw-value-mask-type bit corresponding to a bit in raw-value-type MUST be 1 to evaluate the corresponding raw-value-type bit.</t>
            </dd>
          </dl>
        </section>
        <section anchor="the-ip-addr-type-choice-enumeration" numbered="true" toc="default">
          <name>The ip-addr-type-choice Enumeration</name>
          <t>This type choice expresses IP addresses as reference values.</t>
          <sourcecode type="CDDL">
ip-addr-type-choice = ip4-addr-type / ip6-addr-type
ip4-addr-type = bytes .size 4
ip6-addr-type = bytes .size 16
</sourcecode>
        </section>
        <section anchor="the-mac-addr-type-choice-enumeration" numbered="true" toc="default">
          <name>The mac-addr-type-choice Enumeration</name>
          <t>This type choice expresses MAC addresses as reference values.</t>
          <sourcecode type="CDDL">
mac-addr-type-choice = eui48-addr-type / eui64-addr-type
eui48-addr-type = bytes .size 6
eui64-addr-type = bytes .size 8
</sourcecode>
        </section>
      </section>
      <section anchor="model-verification-key-map" numbered="true" toc="default">
        <name>The verification-key-map Container</name>
        <t>One of the targets (range) that a triple-map can point to in order to associate it with a module (domain). This map is used to provide the key material for evidence verification (effectively signature checking or a lightweight proof-of-possession of private signing key material) or for identity assertion/check (where a proof-of-possession implies a certain device identity). In support of informed trust decisions, an optional trust anchor in the form a PKIX certification path that is associated with the provided key material can be included. This rule and its constraints MUST be followed when generating or validating a CoMID tag.</t>
        <sourcecode type="CDDL">
verification-key-map = {
  comid.key =&gt; pkix-base64-key-type
  ? comid.keychain =&gt; [ + pkix-base64-cert-type ]
}

pkix-base64-key-type = tstr
pkix-base64-cert-type = tstr
</sourcecode>
        <t>The following describes each member of the verification-key-map container.</t>
        <dl>
          <dt>
comid.key:  </dt>
          <dd>
            <t>Verification key material in DER format base64 encoded.  Typically, but not necessarily, a public key.</t>
          </dd>
          <dt>
comid.keychain:  </dt>
          <dd>
            <t>One or more base64 encoded PKIX certificates. The certificate containing the public key in comid.key MUST be the first certificate. Additional certificates MAY follow. Each subsequent certificate SHOULD certify the previous certificate.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="full-cddl-definition" numbered="true" toc="default">
      <name>Full CDDL Definition</name>
      <t>This section aggregates the CDDL definitions specified in this document in a full CDDL definitions including:</t>
      <ul spacing="normal">
        <li>the COSE envelope for CoRIM: signed-corim</li>
        <li>the CoRIM document: unsigned-corim</li>
        <li>the CoMID document: concise-mid-tag</li>
      </ul>
      <t>Not included in the full CDDL definition are CDDL dependencies to CoSWID. The following CDDL definitions can be found in <xref target="I-D.ietf-sacm-coswid" format="default"/>:</t>
      <ul spacing="normal">
        <li>the COSE envelope for CoRIM: signed-coswid</li>
        <li>the CoSWID document: concise-swid-tag</li>
      </ul>
      <sourcecode type="CDDL">
&lt;CODE BEGINS&gt;
corim = #6.500($concise-reference-integrity-manifest-type-choice)

$concise-reference-integrity-manifest-type-choice /= #6.501(unsigned-corim-map)
$concise-reference-integrity-manifest-type-choice /= #6.502(signed-corim)


signed-corim = #6.18(COSE-Sign1-corim)

protected-signed-corim-header-map = {
  corim.alg-id =&gt; int
  corim.content-type =&gt; "application/rim+cbor"
  corim.issuer-key-id =&gt; bstr
  corim.meta =&gt; corim-meta-map
  * cose-label =&gt; cose-values 
}

corim-meta-map = {
  corim.signer =&gt; [ + corim-entity-map ]
  ? corim.validity =&gt; validity-map
}

corim-entity-map = {
  corim.entity-name =&gt; $entity-name-type-choice
  ? corim.reg-id =&gt; uri
  corim.role =&gt; $corim-role-type-choice
  * $$corim-entity-map-extension
}

$corim-role-type-choice /= corim.manifest-creator
$corim-role-type-choice /= corim.manifest-signer

validity-map = {
  ? corim.not-before =&gt; time
  corim.not-after =&gt; time
}

unprotected-signed-corim-header-map = {
  * cose-label =&gt; cose-values
}

COSE-Sign1-corim = [
  protected: bstr .cbor protected-signed-corim-header-map
  unprotected: unprotected-signed-corim-header-map
  payload: bstr .cbor unsigned-corim-map
  signature: bstr
]


unsigned-corim-map = {
  corim.id =&gt; $corim-id-type-choice
  corim.tags =&gt; [ + $concise-tag-type-choice ]
  ? corim.dependent-rims =&gt; [ + corim-locator-map ]
  ? corim.profile =&gt; [ + profile-type-choice ]
  * $$unsigned-corim-map-extension
}

profile-type-choice = uri / tagged-oid-type

corim-locator-map = {
  corim.href =&gt; uri
  ? corim.thumbprint =&gt; hash-entry
}

$concise-tag-type-choice /= #6.505(bytes .cbor concise-swid-tag)
$concise-tag-type-choice /= #6.506(bytes .cbor concise-mid-tag)


concise-mid-tag = {
  ? comid.language =&gt; language-type
  comid.tag-identity =&gt; tag-identity-map
  ? comid.entity =&gt; [ + entity-map ]
  ? comid.linked-tags =&gt; [ + linked-tag-map ]
  comid.triples =&gt; triples-map
  * $$concise-mid-tag-extension
}

language-type = text

tag-identity-map = {
  comid.tag-id =&gt; $tag-id-type-choice
  ? comid.tag-version =&gt; tag-version-type
}

$tag-id-type-choice /= tstr
$tag-id-type-choice /= uuid-type

tag-version-type = uint .default 0

entity-map = {
  comid.entity-name =&gt; $entity-name-type-choice
  ? comid.reg-id =&gt; uri
  comid.role =&gt; [ + $comid-role-type-choice ]
  * $$entity-map-extension
}

$comid-role-type-choice /= comid.tag-creator
$comid-role-type-choice /= comid.creator
$comid-role-type-choice /= comid.maintainer

linked-tag-map = {
  comid.linked-tag-id =&gt; $tag-id-type-choice
  comid.tag-rel =&gt; $tag-rel-type-choice
}

$tag-rel-type-choice /= comid.supplements
$tag-rel-type-choice /= comid.replaces

triples-map = non-empty&lt;{
  ? comid.reference-triples =&gt; [ + reference-triple-record ]
  ? comid.endorsed-triples =&gt; [ + endorsed-triple-record ]
  ? comid.attest-key-triples =&gt; [ + attest-key-triple-record ]
  ? comid.identity-triples =&gt; [ + identity-triple-record ]
  * $$triples-map-extension
}&gt;

reference-triple-record = [
  environment-map ; target environment
  [ + measurement-map ] ; reference measurements
]

endorsed-triple-record = [
  environment-map ; (target or attesting) environment
  [ + measurement-map ] ; endorsed measurements
]

attest-key-triple-record = [
  environment-map ; attesting environment
  [ + verification-key-map ] ; attestation verification key(s)
]

identity-triple-record = [
  environment-map ; device identifier (instance or class)
  [ + verification-key-map ] ; DevID, or semantically equivalent
]

pkix-base64-key-type = tstr
pkix-base64-cert-type = tstr

verification-key-map = {
  ; Verification key in DER format base64-encoded.
  ; Typically, but not necessarily a public key.
  comid.key =&gt; pkix-base64-key-type
  ; Optional X.509 certificate chain corresponding to the public key
  ; in comid.key, encoded as an array of one or more base64-encoded
  ; DER PKIX certificates.  The certificate containing the public key
  ; in comid.key MUST be the first certificate.  This MAY be followed
  ; by additional certificates, with each subsequent certificate
  ; being the one used to certify the previous one.
  ? comid.keychain =&gt; [ + pkix-base64-cert-type ]
}

environment-map = non-empty&lt;{
  ? comid.class =&gt; class-map
  ? comid.instance =&gt; $instance-id-type-choice
  ? comid.group =&gt; $group-id-type-choice
}&gt;

class-map = non-empty&lt;{
  ? comid.class-id =&gt; $class-id-type-choice
  ? comid.vendor =&gt; tstr
  ? comid.model =&gt; tstr
  ? comid.layer =&gt; uint
  ? comid.index =&gt; uint
}&gt;

$class-id-type-choice /= tagged-oid-type
$class-id-type-choice /= tagged-uuid-type

$instance-id-type-choice /= tagged-ueid-type
$instance-id-type-choice /= tagged-uuid-type

$group-id-type-choice /= tagged-uuid-type

oid-type = bytes
tagged-oid-type = #6.111(oid-type)

tagged-uuid-type = #6.37(uuid-type)

ueid-type = bytes .size 33
tagged-ueid-type = #6.550(ueid-type)

$measured-element-type-choice /= tagged-oid-type
$measured-element-type-choice /= tagged-uuid-type

measurement-map = {
  ? comid.mkey =&gt; $measured-element-type-choice
  comid.mval =&gt; measurement-values-map
}

measurement-values-map = non-empty&lt;{
  ? comid.ver =&gt; version-map
  ? comid.svn =&gt; svn-type-choice
  ? comid.digests =&gt; digests-type
  ? comid.flags =&gt; flags-type
  ? raw-value-group
  ? comid.mac-addr =&gt; mac-addr-type-choice
  ? comid.ip-addr =&gt;  ip-addr-type-choice
  ? comid.serial-number =&gt; serial-number-type
  ? comid.ueid =&gt; ueid-type
  ? comid.uuid =&gt; uuid-type
  * $$measurement-values-map-extension
}&gt;

version-map = {
  comid.version =&gt; version-type
  ? comid.version-scheme =&gt; $version-scheme
}
version-type = text .default '0.0.0'

svn = int
min-svn = int
tagged-svn = #6.552(svn)
tagged-min-svn = #6.553(min-svn)
svn-type-choice = tagged-svn / tagged-min-svn

flags-type = bytes .bits operational-flags

operational-flags = &amp;(
  not-configured: 0
  not-secure: 1
  recovery: 2
  debug: 3
)

raw-value-group = (
  comid.raw-value =&gt; raw-value-type
  ? comid.raw-value-mask =&gt; raw-value-mask-type
)

raw-value-type = bytes
raw-value-mask-type = bytes

ip-addr-type-choice = ip4-addr-type / ip6-addr-type
ip4-addr-type = bytes .size 4
ip6-addr-type = bytes .size 16

mac-addr-type-choice = eui48-addr-type / eui64-addr-type
eui48-addr-type = bytes .size 6
eui64-addr-type = bytes .size 8

serial-number-type = text

digests-type = [ + hash-entry ]


concise-swid-tag = {
  tag-id =&gt; text / bstr .size 16,
  tag-version =&gt; integer,
  ? corpus =&gt; bool,
  ? patch =&gt; bool,
  ? supplemental =&gt; bool,
  software-name =&gt; text,
  ? software-version =&gt; text,
  ? version-scheme =&gt; $version-scheme,
  ? media =&gt; text,
  ? software-meta =&gt; one-or-more&lt;software-meta-entry&gt;,
  entity =&gt; one-or-more&lt;entity-entry&gt;,
  ? link =&gt; one-or-more&lt;link-entry&gt;,
  ? payload-or-evidence,
  * $$coswid-extension,
  global-attributes,
}

payload-or-evidence //= ( payload =&gt; payload-entry )
payload-or-evidence //= ( evidence =&gt; evidence-entry )

any-uri = uri
label = text / int

$version-scheme /= multipartnumeric
$version-scheme /= multipartnumeric-suffix
$version-scheme /= alphanumeric
$version-scheme /= decimal
$version-scheme /= semver
$version-scheme /= int / text

any-attribute = (
  label =&gt; one-or-more&lt;text&gt; / one-or-more&lt;int&gt;
)

one-or-more&lt;T&gt; = T / [ 2* T ]

global-attributes = (
  ? lang =&gt; text,
  * any-attribute,
)

hash-entry = [
  hash-alg-id: int,
  hash-value: bytes,
]

entity-entry = {
  entity-name =&gt; text,
  ? reg-id =&gt; any-uri,
  role =&gt; one-or-more&lt;$role&gt;,
  ? thumbprint =&gt; hash-entry,
  * $$entity-extension,
  global-attributes,
}

$role /= tag-creator
$role /= software-creator
$role /= aggregator
$role /= distributor
$role /= licensor
$role /= maintainer
$role /= int / text

link-entry = {
  ? artifact =&gt; text,
  href =&gt; any-uri,
  ? media =&gt; text,
  ? ownership =&gt; $ownership,
  rel =&gt; $rel,
  ? media-type =&gt; text,
  ? use =&gt; $use,
  * $$link-extension,
  global-attributes,
}

$ownership /= shared
$ownership /= private
$ownership /= abandon
$ownership /= int / text

$rel /= ancestor
$rel /= component
$rel /= feature
$rel /= installationmedia
$rel /= packageinstaller
$rel /= parent
$rel /= patches
$rel /= requires
$rel /= see-also
$rel /= supersedes
$rel /= supplemental
$rel /= -256..64436 / text

$use /= optional
$use /= required
$use /= recommended
$use /= int / text

software-meta-entry = {
  ? activation-status =&gt; text,
  ? channel-type =&gt; text,
  ? colloquial-version =&gt; text,
  ? description =&gt; text,
  ? edition =&gt; text,
  ? entitlement-data-required =&gt; bool,
  ? entitlement-key =&gt; text,
  ? generator =&gt; text,
  ? persistent-id =&gt; text,
  ? product =&gt; text,
  ? product-family =&gt; text,
  ? revision =&gt; text,
  ? summary =&gt; text,
  ? unspsc-code =&gt; text,
  ? unspsc-version =&gt; text,
  * $$software-meta-extension,
  global-attributes,
}

path-elements-group = ( ? directory =&gt; one-or-more&lt;directory-entry&gt;,
                        ? file =&gt; one-or-more&lt;file-entry&gt;,
                      )

resource-collection = (
  path-elements-group,
  ? process =&gt; one-or-more&lt;process-entry&gt;,
  ? resource =&gt; one-or-more&lt;resource-entry&gt;,
  * $$resource-collection-extension,
)

file-entry = {
  filesystem-item,
  ? size =&gt; uint,
  ? file-version =&gt; text,
  ? hash =&gt; hash-entry,
  * $$file-extension,
  global-attributes,
}

directory-entry = {
  filesystem-item,
  ? path-elements =&gt; { path-elements-group },
  * $$directory-extension,
  global-attributes,
}

process-entry = {
  process-name =&gt; text,
  ? pid =&gt; integer,
  * $$process-extension,
  global-attributes,
}

resource-entry = {
  type =&gt; text,
  * $$resource-extension,
  global-attributes,
}

filesystem-item = (
  ? key =&gt; bool,
  ? location =&gt; text,
  fs-name =&gt; text,
  ? root =&gt; text,
)

payload-entry = {
  resource-collection,
  * $$payload-extension,
  global-attributes,
}

evidence-entry = {
  resource-collection,
  ? date =&gt; integer-time,
  ? device-id =&gt; text,
  * $$evidence-extension,
  global-attributes,
}

integer-time = #6.1(int)

tag-id = 0
software-name = 1
entity = 2
evidence = 3
link = 4
software-meta = 5
payload = 6
hash = 7
corpus = 8
patch = 9
media = 10
supplemental = 11
tag-version = 12
software-version = 13
version-scheme = 14
lang = 15
directory = 16
file = 17
process = 18
resource = 19
size = 20
file-version = 21
key = 22
location = 23
fs-name = 24
root = 25
path-elements = 26
process-name = 27
pid = 28
type = 29
entity-name = 31
reg-id = 32
role = 33
thumbprint = 34
date = 35
device-id = 36
artifact = 37
href = 38
ownership = 39
rel = 40
media-type = 41
use = 42
activation-status = 43
channel-type = 44
colloquial-version = 45
description = 46
edition = 47
entitlement-data-required = 48
entitlement-key = 49
generator = 50
persistent-id = 51
product = 52
product-family = 53
revision = 54
summary = 55
unspsc-code = 56
unspsc-version = 57

multipartnumeric = 1
multipartnumeric-suffix = 2
alphanumeric = 3
decimal = 4
semver = 16384

tag-creator=1
software-creator=2
aggregator=3
distributor=4
licensor=5
maintainer=6

shared=1
private=2
abandon=3

ancestor=1
component=2
feature=3
installationmedia=4
packageinstaller=5
parent=6
patches=7
requires=8
see-also=9
supersedes=10

optional=1
required=2
recommended=3

comid.language = 0
comid.tag-identity = 1
comid.entity = 2
comid.linked-tags = 3
comid.triples = 4

comid.tag-id = 0
comid.tag-version = 1

comid.entity-name = 0
comid.reg-id = 1
comid.role = 2

comid.linked-tag-id = 0
comid.tag-rel = 1

comid.reference-triples = 0
comid.endorsed-triples = 1
comid.identity-triples = 2
comid.attest-key-triples = 3

comid.class = 0
comid.instance = 1
comid.group = 2

comid.class-id = 0
comid.vendor = 1
comid.model = 2
comid.layer = 3
comid.index = 4

comid.mkey = 0
comid.mval = 1

comid.ver = 0
comid.svn = 1
comid.digests = 2
comid.flags = 3
comid.raw-value = 4
comid.raw-value-mask = 5
comid.mac-addr = 6
comid.ip-addr = 7
comid.serial-number = 8
comid.ueid = 9
comid.uuid = 10

comid.key = 0
comid.keychain = 1

comid.version = 0
comid.version-scheme = 1

comid.supplements = 0

comid.replaces = 1

comid.tag-creator = 0
comid.creator = 1
comid.maintainer = 2


corim.id = 0
corim.tags = 1
corim.dependent-rims = 2
corim.profile = 3

corim.href = 0
corim.thumbprint = 1

corim.alg-id = 1
corim.content-type = 3
corim.issuer-key-id = 4
corim.meta = 8

corim.not-before = 0
corim.not-after = 1

corim.signer = 0
corim.validity = 1

corim.entity-name = 0
corim.reg-id = 1
corim.role = 2

corim.manifest-creator = 1

corim.manifest-signer = 2


non-empty&lt;M&gt; = (M) .within ({ + any =&gt; any })



cose-label = int / tstr
cose-values = any

$entity-name-type-choice /= text

$corim-id-type-choice /= tstr
$corim-id-type-choice /= uuid-type

uuid-type = bytes .size 16


&lt;CODE ENDS&gt;
</sourcecode>
    </section>
    <section anchor="privacy-considerations" numbered="true" toc="default">
      <name>Privacy Considerations</name>
      <t>Privacy Considerations</t>
    </section>
    <section anchor="sec-sec" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>Security Considerations</t>
    </section>
    <section anchor="iana" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>This document has a number of IANA considerations, as described in the following subsections.
In summary, 6 new registries are established with this request, with initial entries provided for each registry.
New values for 5 other registries are also requested.</t>
      <section anchor="iana-cose-header-parameters-registry" numbered="true" toc="default">
        <name>COSE Header Parameters Registry</name>
        <t>The 'corim metadata' parameter has been added to the "COSE Header Parameters" registry:</t>
        <ul spacing="normal">
          <li>Name: 'corim metadata'</li>
          <li>Label: 11</li>
          <li>Value: corim-meta-map</li>
          <li>Description: Provides a map of additional metadata for a CoRIM payload composed of (1) one or more entities that created or signed the corresponding CoRIM and (2) its period of validity</li>
          <li>Reference: 'corim-meta-map' in {model-corim-meta-map} of this document</li>
        </ul>
      </section>
      <section anchor="iana-corim-map-items" numbered="true" toc="default">
        <name>CoRIM Map Items Registry</name>
        <t>This document defines a new registry titled "CoRIM Map".
The registry uses integer values as index values for items in 'unsigned-corim-map' CBOR maps.</t>
        <t>Future registrations for this registry are to be made based on <xref target="RFC8126" format="default"/> as follows:</t>
        <table anchor="tbl-iana-corim-map-items-reg-procedures" align="center">
          <name>CoRIM Map Items Registration Procedures</name>
          <thead>
            <tr>
              <th align="left">Range</th>
              <th align="left">Registration Procedures</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0-127</td>
              <td align="left">Standards Action</td>
            </tr>
            <tr>
              <td align="left">128-255</td>
              <td align="left">Specification Required</td>
            </tr>
          </tbody>
        </table>
        <t>All negative values are reserved for Private Use.</t>
        <t>Initial registrations for the "CoRIM Map" registry are provided below.
Assignments consist of an integer index value, the item name, and a reference to the defining specification.</t>
        <table anchor="tbl-iana-corim-map-items" align="center">
          <name>CoRIM Map Items Initial Registrations</name>
          <thead>
            <tr>
              <th align="left">Index</th>
              <th align="left">Item Name</th>
              <th align="left">Specification</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0</td>
              <td align="left">corim.id</td>
              <td align="left">RFC-AAAA</td>
            </tr>
            <tr>
              <td align="left">1</td>
              <td align="left">corim.tags</td>
              <td align="left">RFC-AAAA</td>
            </tr>
            <tr>
              <td align="left">2</td>
              <td align="left">corim.dependent-rims</td>
              <td align="left">RFC-AAAA</td>
            </tr>
            <tr>
              <td align="left">3-255</td>
              <td align="left">Unassigned</td>
              <td align="left">&nbsp;</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="iana-corim-entity-map-items" numbered="true" toc="default">
        <name>CoRIM Entity-Map Items Registry</name>
        <t>This document defines a new registry titled "CoRIM Entity Map".
The registry uses integer values as index values for items in 'corim-enentity-map' CBOR maps.</t>
        <t>Future registrations for this registry are to be made based on <xref target="RFC8126" format="default"/> as follows:</t>
        <table anchor="tbl-iana-corim-entity-map-items-reg-procedures" align="center">
          <name>CoRIM Entity Map Items Registration Procedures</name>
          <thead>
            <tr>
              <th align="left">Range</th>
              <th align="left">Registration Procedures</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0-127</td>
              <td align="left">Standards Action</td>
            </tr>
            <tr>
              <td align="left">128-255</td>
              <td align="left">Specification Required</td>
            </tr>
          </tbody>
        </table>
        <t>All negative values are reserved for Private Use.</t>
        <t>Initial registrations for the "CoRIM Entity Map" registry are provided below.
Assignments consist of an integer index value, the item name, and a reference to the defining specification.</t>
        <table anchor="tbl-iana-corim-entity-map-items" align="center">
          <name>CoRIM Enity Map Items Initial Registrations</name>
          <thead>
            <tr>
              <th align="left">Index</th>
              <th align="left">Item Name</th>
              <th align="left">Specification</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0</td>
              <td align="left">corim.entity-name</td>
              <td align="left">RFC-AAAA</td>
            </tr>
            <tr>
              <td align="left">1</td>
              <td align="left">corim.reg-id</td>
              <td align="left">RFC-AAAA</td>
            </tr>
            <tr>
              <td align="left">2</td>
              <td align="left">corim.role</td>
              <td align="left">RFC-AAAA</td>
            </tr>
            <tr>
              <td align="left">3-255</td>
              <td align="left">Unassigned</td>
              <td align="left">&nbsp;</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="iana-corim-entity-types-map-items" numbered="true" toc="default">
        <name>CoRIM Entity-Types Registry</name>
        <t>This document defines a new registry titled "CoRIM Entity Types".
The registry maintains well-defined integer values as choices for '$entity-name-type-choice' CBOR uints.</t>
        <t>Future registrations for this registry are to be made based on <xref target="RFC8126" format="default"/> as follows:</t>
        <table anchor="tbl-iana-corim-entity-types-reg-procedures" align="center">
          <name>CoRIM Entity Types Registration Procedures</name>
          <thead>
            <tr>
              <th align="left">Range</th>
              <th align="left">Registration Procedures</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0-127</td>
              <td align="left">Standards Action</td>
            </tr>
            <tr>
              <td align="left">128-255</td>
              <td align="left">Specification Required</td>
            </tr>
          </tbody>
        </table>
        <t>All negative values are reserved for Private Use.</t>
        <t>Initial registrations for the "CoRIM Entity Types" registry are provided below.
Assignments consist of an integer value, the item name, and a reference to the defining specification.</t>
        <table anchor="tbl-iana-corim-entity-types-items" align="center">
          <name>CoRIM Entity Types Initial Registrations</name>
          <thead>
            <tr>
              <th align="left">Index</th>
              <th align="left">Item Name</th>
              <th align="left">Specification</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0</td>
              <td align="left">corim.manifest-creator</td>
              <td align="left">RFC-AAAA</td>
            </tr>
            <tr>
              <td align="left">1</td>
              <td align="left">corim.manifest-signer</td>
              <td align="left">RFC-AAAA</td>
            </tr>
            <tr>
              <td align="left">2-255</td>
              <td align="left">Unassigned</td>
              <td align="left">&nbsp;</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="iana-comid-map-items" numbered="true" toc="default">
        <name>CoMID Map Items Registry</name>
        <t>This document defines a new registry titled "CoMID Map".
The registry uses integer values as index values for items in 'concise-mid-tag' CBOR maps.</t>
        <t>Future registrations for this registry are to be made based on <xref target="RFC8126" format="default"/> as follows:</t>
        <table anchor="tbl-iana-comid-map-items-reg-procedures" align="center">
          <name>CoMID Map Items Registration Procedures</name>
          <thead>
            <tr>
              <th align="left">Range</th>
              <th align="left">Registration Procedures</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0-127</td>
              <td align="left">Standards Action</td>
            </tr>
            <tr>
              <td align="left">128-255</td>
              <td align="left">Specification Required</td>
            </tr>
          </tbody>
        </table>
        <t>All negative values are reserved for Private Use.</t>
        <t>Initial registrations for the "CoMID Map" registry are provided below.
Assignments consist of an integer index value, the item name, and a reference to the defining specification.</t>
        <table anchor="tbl-iana-comid-map-items" align="center">
          <name>CoMID Map Items Initial Registrations</name>
          <thead>
            <tr>
              <th align="left">Index</th>
              <th align="left">Item Name</th>
              <th align="left">Specification</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0</td>
              <td align="left">comid.language</td>
              <td align="left">RFC-AAAA</td>
            </tr>
            <tr>
              <td align="left">1</td>
              <td align="left">comid.tag-identity</td>
              <td align="left">RFC-AAAA</td>
            </tr>
            <tr>
              <td align="left">2</td>
              <td align="left">comid.entity</td>
              <td align="left">RFC-AAAA</td>
            </tr>
            <tr>
              <td align="left">3</td>
              <td align="left">comid.linked-tags</td>
              <td align="left">RFC-AAAA</td>
            </tr>
            <tr>
              <td align="left">4</td>
              <td align="left">comid.triples</td>
              <td align="left">RFC-AAAA</td>
            </tr>
            <tr>
              <td align="left">5-255</td>
              <td align="left">Unassigned</td>
              <td align="left">&nbsp;</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="iana-comid-entity-map-items" numbered="true" toc="default">
        <name>CoMID Entity-Map Items Registry</name>
        <t>This document defines a new registry titled "CoMID Entity Map".
The registry uses integer values as index values for items in 'comid-entity-map' CBOR maps.</t>
        <t>Future registrations for this registry are to be made based on <xref target="RFC8126" format="default"/> as follows:</t>
        <table anchor="tbl-iana-comid-entity-map-items-reg-procedures" align="center">
          <name>CoMID Entity Map Items Registration Procedures</name>
          <thead>
            <tr>
              <th align="left">Range</th>
              <th align="left">Registration Procedures</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0-127</td>
              <td align="left">Standards Action</td>
            </tr>
            <tr>
              <td align="left">128-255</td>
              <td align="left">Specification Required</td>
            </tr>
          </tbody>
        </table>
        <t>All negative values are reserved for Private Use.</t>
        <t>Initial registrations for the "CoMID Entity Map" registry are provided below.
Assignments consist of an integer index value, the item name, and a reference to the defining specification.</t>
        <table anchor="tbl-iana-comid-entity-map-items" align="center">
          <name>CoMID Entity Map Items Initial Registrations</name>
          <thead>
            <tr>
              <th align="left">Index</th>
              <th align="left">Item Name</th>
              <th align="left">Specification</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0</td>
              <td align="left">comid.entity-name</td>
              <td align="left">RFC-AAAA</td>
            </tr>
            <tr>
              <td align="left">1</td>
              <td align="left">comid.reg-id</td>
              <td align="left">RFC-AAAA</td>
            </tr>
            <tr>
              <td align="left">2</td>
              <td align="left">comid.role</td>
              <td align="left">RFC-AAAA</td>
            </tr>
            <tr>
              <td align="left">3-255</td>
              <td align="left">Unassigned</td>
              <td align="left">&nbsp;</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="iana-comid-triples-map-items" numbered="true" toc="default">
        <name>CoMID Triples-Map Items Registry</name>
        <t>This document defines a new registry titled "CoMID Triples Map".
The registry uses integer values as index values for items in 'comid-triples-map' CBOR maps.</t>
        <t>Future registrations for this registry are to be made based on <xref target="RFC8126" format="default"/> as follows:</t>
        <table anchor="tbl-iana-comid-triples-map-items-reg-procedures" align="center">
          <name>CoMID triples Map Items Registration Procedures</name>
          <thead>
            <tr>
              <th align="left">Range</th>
              <th align="left">Registration Procedures</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0-127</td>
              <td align="left">Standards Action</td>
            </tr>
            <tr>
              <td align="left">128-255</td>
              <td align="left">Specification Required</td>
            </tr>
          </tbody>
        </table>
        <t>All negative values are reserved for Private Use.</t>
        <t>Initial registrations for the "CoMID Triples Map" registry are provided below.
Assignments consist of an integer index value, the item name, and a reference to the defining specification.</t>
        <table anchor="tbl-iana-comid-triples-map-items" align="center">
          <name>CoMID Triples Map Items Initial Registrations</name>
          <thead>
            <tr>
              <th align="left">Index</th>
              <th align="left">Item Name</th>
              <th align="left">Specification</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0</td>
              <td align="left">comid.reference-triples</td>
              <td align="left">RFC-AAAA</td>
            </tr>
            <tr>
              <td align="left">1</td>
              <td align="left">comid.endorsed-triples</td>
              <td align="left">RFC-AAAA</td>
            </tr>
            <tr>
              <td align="left">2</td>
              <td align="left">comid.identity-triples</td>
              <td align="left">RFC-AAAA</td>
            </tr>
            <tr>
              <td align="left">3</td>
              <td align="left">comid.attest-key-triples</td>
              <td align="left">RFC-AAAA</td>
            </tr>
            <tr>
              <td align="left">4-255</td>
              <td align="left">Unassigned</td>
              <td align="left">&nbsp;</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="iana-comid-measurement-values-map-items" numbered="true" toc="default">
        <name>CoMID Measurement-Values-Map Items Registry</name>
        <t>This document defines a new registry titled "CoMID Measurement-Values Map".
The registry uses integer values as index values for items in 'comid-measurement-values-map' CBOR maps.</t>
        <t>Future registrations for this registry are to be made based on <xref target="RFC8126" format="default"/> as follows:</t>
        <table anchor="tbl-iana-comid-measurement-values-map-items-reg-procedures" align="center">
          <name>CoMID Measurement-Values Map Items Registration Procedures</name>
          <thead>
            <tr>
              <th align="left">Range</th>
              <th align="left">Registration Procedures</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0-127</td>
              <td align="left">Standards Action</td>
            </tr>
            <tr>
              <td align="left">128-255</td>
              <td align="left">Specification Required</td>
            </tr>
          </tbody>
        </table>
        <t>All negative values are reserved for Private Use.</t>
        <t>Initial registrations for the "CoMID Measurement-Values Map" registry are provided below.
Assignments consist of an integer index value, the item name, and a reference to the defining specification.</t>
        <table anchor="tbl-iana-comid-measurement-values-map-items" align="center">
          <name>CoMID Measurement-Values Map Items Initial Registrations</name>
          <thead>
            <tr>
              <th align="left">Index</th>
              <th align="left">Item Name</th>
              <th align="left">Specification</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0</td>
              <td align="left">comid.ver</td>
              <td align="left">RFC-AAAA</td>
            </tr>
            <tr>
              <td align="left">1</td>
              <td align="left">comid.svn</td>
              <td align="left">RFC-AAAA</td>
            </tr>
            <tr>
              <td align="left">2</td>
              <td align="left">comid.digests</td>
              <td align="left">RFC-AAAA</td>
            </tr>
            <tr>
              <td align="left">3</td>
              <td align="left">comid.flags</td>
              <td align="left">RFC-AAAA</td>
            </tr>
            <tr>
              <td align="left">4</td>
              <td align="left">comid.raw-value</td>
              <td align="left">RFC-AAAA</td>
            </tr>
            <tr>
              <td align="left">5</td>
              <td align="left">comid.raw-value-mask</td>
              <td align="left">RFC-AAAA</td>
            </tr>
            <tr>
              <td align="left">6</td>
              <td align="left">comid.mac-addr</td>
              <td align="left">RFC-AAAA</td>
            </tr>
            <tr>
              <td align="left">7</td>
              <td align="left">comid.ip-addr</td>
              <td align="left">RFC-AAAA</td>
            </tr>
            <tr>
              <td align="left">8</td>
              <td align="left">comid.serial-number</td>
              <td align="left">RFC-AAAA</td>
            </tr>
            <tr>
              <td align="left">9</td>
              <td align="left">comid.ueid</td>
              <td align="left">RFC-AAAA</td>
            </tr>
            <tr>
              <td align="left">10</td>
              <td align="left">comid.uuid</td>
              <td align="left">RFC-AAAA</td>
            </tr>
            <tr>
              <td align="left">11-255</td>
              <td align="left">Unassigned</td>
              <td align="left">&nbsp;</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="iana-comid-tag-relationship-types" numbered="true" toc="default">
        <name>CoMID Tag-Relationship-Types Registry</name>
        <t>This document defines a new registry titled "CoMID Tag-Relationship Types".
The registry maintains well-defined integer values as choices for '$tag-rel-type-choice' CBOR uints.</t>
        <t>Future registrations for this registry are to be made based on <xref target="RFC8126" format="default"/> as follows:</t>
        <table anchor="tbl-iana-comid-tag-relationship-types-reg-procedures" align="center">
          <name>CoMID Tag-Relationship Types Registration Procedures</name>
          <thead>
            <tr>
              <th align="left">Range</th>
              <th align="left">Registration Procedures</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0-127</td>
              <td align="left">Standards Action</td>
            </tr>
            <tr>
              <td align="left">128-255</td>
              <td align="left">Specification Required</td>
            </tr>
          </tbody>
        </table>
        <t>All negative values are reserved for Private Use.</t>
        <t>Initial registrations for the "CoMID Tag-Relationship Types" registry are provided below.
Assignments consist of an integer value, the item name, and a reference to the defining specification.</t>
        <table anchor="tbl-iana-comid-tag-relationship-types-items" align="center">
          <name>CoMID Tag-Relationship Types Initial Registrations</name>
          <thead>
            <tr>
              <th align="left">Index</th>
              <th align="left">Item Name</th>
              <th align="left">Specification</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0</td>
              <td align="left">comid.supplements</td>
              <td align="left">RFC-AAAA</td>
            </tr>
            <tr>
              <td align="left">1</td>
              <td align="left">comid.replaces</td>
              <td align="left">RFC-AAAA</td>
            </tr>
            <tr>
              <td align="left">2-255</td>
              <td align="left">Unassigned</td>
              <td align="left">&nbsp;</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="iana-comid-role-types" numbered="true" toc="default">
        <name>CoMID Role-Types Registry</name>
        <t>This document defines a new registry titled "CoMID Role Types".
The registry maintains well-defined integer values as choices for '$comid-role-type-choice' CBOR uints.</t>
        <t>Future registrations for this registry are to be made based on <xref target="RFC8126" format="default"/> as follows:</t>
        <table anchor="tbl-iana-comid-role-types-reg-procedures" align="center">
          <name>CoMID Role Types Registration Procedures</name>
          <thead>
            <tr>
              <th align="left">Range</th>
              <th align="left">Registration Procedures</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0-127</td>
              <td align="left">Standards Action</td>
            </tr>
            <tr>
              <td align="left">128-255</td>
              <td align="left">Specification Required</td>
            </tr>
          </tbody>
        </table>
        <t>All negative values are reserved for Private Use.</t>
        <t>Initial registrations for the "CoMID Role Types" registry are provided below.
Assignments consist of an integer value, the item name, and a reference to the defining specification.</t>
        <table anchor="tbl-iana-comid-role-types-items" align="center">
          <name>CoMID Role Types Initial Registrations</name>
          <thead>
            <tr>
              <th align="left">Index</th>
              <th align="left">Item Name</th>
              <th align="left">Specification</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0</td>
              <td align="left">comid.tag-creator</td>
              <td align="left">RFC-AAAA</td>
            </tr>
            <tr>
              <td align="left">1</td>
              <td align="left">comid.creator</td>
              <td align="left">RFC-AAAA</td>
            </tr>
            <tr>
              <td align="left">2</td>
              <td align="left">comid.maintainer</td>
              <td align="left">RFC-AAAA</td>
            </tr>
            <tr>
              <td align="left">3-255</td>
              <td align="left">Unassigned</td>
              <td align="left">&nbsp;</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="rimcbor-media-type-registration" numbered="true" toc="default">
        <name>rim+cbor Media Type Registration</name>
        <t>IANA is requested to add the following to the IANA "Media Types" registry <xref target="IANA.media-types" format="default"/>.</t>
        <t>Type name: application</t>
        <t>Subtype name: rim+cbor</t>
        <t>Required parameters: none</t>
        <t>Optional parameters: none</t>
        <t>Encoding considerations: Must be encoded as using <xref target="RFC8949" format="default"/>. See
RFC-AAAA for details.</t>
        <t>Security considerations: See <xref target="sec-sec" format="default"/> of RFC-AAAA.</t>
        <t>Interoperability considerations: Applications MAY ignore any key
value pairs that they do not understand. This allows
backwards compatible extensions to this specification.</t>
        <t>Published specification: RFC-AAAA</t>
        <t>Applications that use this media type: The type is used by remote attestation procedures, supply chain integrity management systems, vulnerability assessment systems, and in applications that rely on trustworthy endorsements and reference values describing the intended operational state of a system.</t>
        <t>Fragment identifier considerations: Fragment identification for
application/rim+cbor is supported by using fragment identifiers as
specified by <xref section="9.5" sectionFormat="of" target="RFC8949" format="default"/>.</t>
        <t>Additional information:</t>
        <t>Magic number(s): first five bytes in hex: 43 4f 52 49 4d</t>
        <t>File extension(s): corim</t>
        <t>Macintosh file type code(s): none</t>
        <t>Macintosh Universal Type Identifier code: org.ietf.corim
conforms to public.data</t>
        <t>Person &amp; email address to contact for further information:
Henk Birkholz &lt;henk.birkholz@sit.fraunhofer.de&gt;</t>
        <t>Intended usage: COMMON</t>
        <t>Restrictions on usage: None</t>
        <t>Author: Henk Birkholz &lt;henk.birkholz@sit.fraunhofer.de&gt;</t>
        <t>Change controller: IESG</t>
      </section>
      <section anchor="coap-content-format-registration" numbered="true" toc="default">
        <name>CoAP Content-Format Registration</name>
        <t>IANA is requested to assign a CoAP Content-Format ID for the CoRIM
media type in the "CoAP Content-Formats" sub-registry, from the "IETF
Review or IESG Approval" space (256..999), within the "CoRE
Parameters" registry <xref target="RFC7252" format="default"/> <xref target="IANA.core-parameters" format="default"/>:</t>
        <table anchor="tbl-coap-content-formats" align="center">
          <name>CoAP Content-Format IDs</name>
          <thead>
            <tr>
              <th align="left">Media type</th>
              <th align="left">Encoding</th>
              <th align="left">ID</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">application/rim+cbor</td>
              <td align="left">-</td>
              <td align="left">TBD1</td>
              <td align="left">RFC-AAAA</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="corim-cbor-tag-registration" numbered="true" toc="default">
        <name>CoRIM CBOR Tag Registration</name>
        <t>IANA is requested to allocate tags in the "CBOR Tags" registry <xref target="IANA.cbor-tags" format="default"/>, preferably with the specific value requested:</t>
        <table anchor="tbl-corim-cbor-tag" align="center">
          <name>CoRIM CBOR Tags</name>
          <thead>
            <tr>
              <th align="left">Tag</th>
              <th align="left">Data Item</th>
              <th align="left">Semantics</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">500</td>
              <td align="left">tagged array or tagged map</td>
              <td align="left">Concise Reference Integrity Manifest (CoRIM) [RFC-AAAA]</td>
            </tr>
            <tr>
              <td align="left">501</td>
              <td align="left">map</td>
              <td align="left">unsigned CoRIM [RFC-AAAA]</td>
            </tr>
            <tr>
              <td align="left">502</td>
              <td align="left">array</td>
              <td align="left">signed CoRIM [RFC-AAAA]</td>
            </tr>
            <tr>
              <td align="left">505</td>
              <td align="left">bstr</td>
              <td align="left">byte string with CBOR-encoded Concise SWID tag [RFC-AAAA]</td>
            </tr>
            <tr>
              <td align="left">506</td>
              <td align="left">bstr</td>
              <td align="left">byte string with CBOR-encoded Concise MID tag [RFC-AAAA]</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="comid-cbor-tag-registration" numbered="true" toc="default">
        <name>CoMID CBOR Tag Registration</name>
        <t>IANA is requested to allocate tags in the "CBOR Tags" registry <xref target="IANA.cbor-tags" format="default"/>, preferably with the specific value requested:</t>
        <table anchor="tbl-comid-cbor-tag" align="center">
          <name>CoMID CBOR Tags</name>
          <thead>
            <tr>
              <th align="left">Tag</th>
              <th align="left">Data Item</th>
              <th align="left">Semantics</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">550</td>
              <td align="left">bstr</td>
              <td align="left">UEID with max size of 33 bytes [RFC-AAAA]</td>
            </tr>
            <tr>
              <td align="left">551</td>
              <td align="left">int</td>
              <td align="left">Security Version Number [RFC-AAAA]</td>
            </tr>
            <tr>
              <td align="left">552</td>
              <td align="left">int</td>
              <td align="left">lower bound of allowed Security Version Number [RFC-AAAA]</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <seriesInfo name="DOI" value="10.17487/RFC2119"/>
            <seriesInfo name="RFC" value="2119"/>
            <seriesInfo name="BCP" value="14"/>
            <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>
        </reference>
        <reference anchor="RFC7231" target="https://www.rfc-editor.org/info/rfc7231">
          <front>
            <title>Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</title>
            <seriesInfo name="DOI" value="10.17487/RFC7231"/>
            <seriesInfo name="RFC" value="7231"/>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding">
              <organization/>
            </author>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke">
              <organization/>
            </author>
            <date month="June" year="2014"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless \%application- level protocol for distributed, collaborative, hypertext information systems.  This document defines the semantics of HTTP/1.1 messages, as expressed by request methods, request header fields, response status codes, and response header fields, along with the payload of messages (metadata and body content) and mechanisms for content negotiation.</t>
            </abstract>
          </front>
        </reference>
        <reference anchor="RFC7252" target="https://www.rfc-editor.org/info/rfc7252">
          <front>
            <title>The Constrained Application Protocol (CoAP)</title>
            <seriesInfo name="DOI" value="10.17487/RFC7252"/>
            <seriesInfo name="RFC" value="7252"/>
            <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>
        </reference>
        <reference anchor="RFC8126" target="https://www.rfc-editor.org/info/rfc8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <seriesInfo name="DOI" value="10.17487/RFC8126"/>
            <seriesInfo name="RFC" value="8126"/>
            <seriesInfo name="BCP" value="26"/>
            <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>
        </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>
            <seriesInfo name="DOI" value="10.17487/RFC8174"/>
            <seriesInfo name="RFC" value="8174"/>
            <seriesInfo name="BCP" value="14"/>
            <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>
        </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>
            <seriesInfo name="DOI" value="10.17487/RFC8610"/>
            <seriesInfo name="RFC" value="8610"/>
            <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>
        </reference>
        <reference anchor="RFC8949" target="https://www.rfc-editor.org/info/rfc8949">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <seriesInfo name="DOI" value="10.17487/RFC8949"/>
            <seriesInfo name="RFC" value="8949"/>
            <seriesInfo name="STD" value="94"/>
            <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>
        </reference>
        <reference anchor="I-D.ietf-sacm-coswid" target="https://www.ietf.org/archive/id/draft-ietf-sacm-coswid-20.txt">
          <front>
            <title>Concise Software Identification Tags</title>
            <seriesInfo name="Internet-Draft" value="draft-ietf-sacm-coswid-20"/>
            <author fullname="Henk Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Jessica Fitzgerald-McKay">
              <organization>National Security Agency</organization>
            </author>
            <author fullname="Charles Schmidt">
              <organization>The MITRE Corporation</organization>
            </author>
            <author fullname="David Waltermire">
              <organization>National Institute of Standards and Technology</organization>
            </author>
            <date day="26" month="January" year="2022"/>
            <abstract>
              <t>   ISO/IEC 19770-2:2015 Software Identification (SWID) tags provide an
   extensible XML-based structure to identify and describe individual
   software components, patches, and installation bundles.  SWID tag
   representations can be too large for devices with network and storage
   constraints.  This document defines a concise representation of SWID
   tags: Concise SWID (CoSWID) tags.  CoSWID supports a similar set of
   semantics and features as SWID tags, as well as new semantics that
   allow CoSWIDs to describe additional types of information, all in a
   more memory efficient format.

              </t>
            </abstract>
          </front>
        </reference>
        <reference anchor="I-D.ietf-rats-architecture" target="https://www.ietf.org/archive/id/draft-ietf-rats-architecture-14.txt">
          <front>
            <title>Remote Attestation Procedures Architecture</title>
            <seriesInfo name="Internet-Draft" value="draft-ietf-rats-architecture-14"/>
            <author fullname="Henk Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Dave Thaler">
              <organization>Microsoft</organization>
            </author>
            <author fullname="Michael Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <author fullname="Ned Smith">
              <organization>Intel Corporation</organization>
            </author>
            <author fullname="Wei Pan">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="9" month="December" year="2021"/>
            <abstract>
              <t>   In network protocol exchanges it is often useful for one end of a
   communication to know whether the other end is in an intended
   operating state.  This document provides an architectural overview of
   the entities involved that make such tests possible through the
   process of generating, conveying, and evaluating evidentiary claims.
   An attempt is made to provide for a model that is neutral toward
   processor architectures, the content of claims, and protocols.

              </t>
            </abstract>
          </front>
        </reference>
        <reference anchor="IANA.language-subtag-registry" target="http://www.iana.org/assignments/language-subtag-registry">
          <front>
            <title>Language Subtag Registry</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="IANA.media-types" target="http://www.iana.org/assignments/media-types">
          <front>
            <title>Media Types</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="IANA.core-parameters" target="http://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.cbor-tags" target="http://www.iana.org/assignments/cbor-tags">
          <front>
            <title>Concise Binary Object Representation (CBOR) Tags</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date/>
          </front>
        </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>
            <seriesInfo name="DOI" value="10.17487/RFC4949"/>
            <seriesInfo name="RFC" value="4949"/>
            <seriesInfo name="FYI" value="36"/>
            <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>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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
od0rmfUvCgoIkaIhK4Y3TlAgVyl5yFJgS4akmBbSt+TNgd2nCwS7DbTzKuag
wUq5U6CSSjSw4EEXOnikuqGok7GoB+3lN7jwCcB8CZKAZRyw3TdZ6rFhTGuz
ifcJKNZB21KFUf9vXp0EFtEaub2MMXUES6PMSfxtR3W9NYUWiyrDBvAP8bQy
180wxoRDtu7qWHx1SCHUABVQXe3XEoTK0rFyoaV/Dy1qdrA5xT7ygeU1LxA7
ckcCmCrPireM7nW7XTVPCStWNt6ZvabA0C2nSodeJRCt1dL7TwNxlqas3KXF
+dqi1TZNpfYeSKNJDNTmSEX28myCySZIPZXiBKis6d/f3aQErbdkZUhwtVRV
+lxuURFvQXO1l2kTpAMyE6MiLpBMsUyUwNg6dKIpFT8lk4ZlDn1xRYdpqmmG
ItFNMtOzNlljMKV7MJn0IiMGl+YCz5oRMbA7poHX71du0IV7bSkLFhO2mlhH
Q0iVpU1ItKnS4jLNS2vTUVEeLoMlsu7YJiq0x23b4CFN4kkfNkIkS6HL7Egc
rkOGONT6O3gpv1X+NXrGthT50aIhlVXQxPBLN+UxMNDUlMxYdhsgY0pFkpXl
z84hsKtOjWaqabXlwGA58D86srMtNEOIIYmJxkfn18VClpGd2ZrIIQpt3MJj
+6bUlTux+xVZsnv39zaHSzQ8lG3ItTG7AZv0bu5gP9jBTLW32TkbM7upfXoQ
RG/egF+Ge0S86YZ7NsR3QOpEsVqsa92phBfFGy+yS6BiFUk0xCWtATfNu7Ss
j5U+ou7KJbuWCVOnFafpJZdJltPegYoZq7NZxt2kkPbSMgD7Yl7WuKW71Ekz
DWbeq5xVzLNnn9RkGYCTVC4qGLKnYZTk0AJOlkv7ys7VoDwAkmUqrStRKDI7
BSuwYnOKlp+2fjGRSRkOUQmTNk/p7hRHdVuIWXFZ5pdWjgMaixpipcjRaQuy
3R3q8BXK21cBVpTOMxgtYeFrBP3b6IV/LgBpE0pjt/wEWlSVZUvYUokf9iRU
nILjJ8rnpiyxKkM1Sbm6iwoI8e6dau1Nt3WGhQFbdVj25JqGa5UqZ5qNVlla
stiXxIA/vfZfroxFW3Lab4tiT3rWklNjosayciSdBXnL2iXLzLdKwZLAZWMz
AAetOc+UDTs6zMB7s/jNcCJNX48gd73lxp7JVu80sSllj45/EucqH8japiSR
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
UA9MrtelWU10INqraa8brub/AifEtvtU4QAA

-->

</rfc>
