<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.17 (Ruby 3.1.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-rats-corim-00" category="std" consensus="true" submissionType="IETF" tocDepth="6" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.14.2 -->
  <front>
    <title abbrev="CoRIM">Concise Reference Integrity Manifest</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-rats-corim-00"/>
    <author initials="H." surname="Birkholz" fullname="Henk Birkholz">
      <organization>Fraunhofer SIT</organization>
      <address>
        <email>henk.birkholz@sit.fraunhofer.de</email>
      </address>
    </author>
    <author initials="T." surname="Fossati" fullname="Thomas Fossati">
      <organization>arm</organization>
      <address>
        <email>Thomas.Fossati@arm.com</email>
      </address>
    </author>
    <author initials="Y." surname="Deshpande" fullname="Yogesh Deshpande">
      <organization>arm</organization>
      <address>
        <email>yogesh.deshpande@arm.com</email>
      </address>
    </author>
    <author initials="N." surname="Smith" fullname="Ned Smith">
      <organization>Intel</organization>
      <address>
        <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="September" day="06"/>
    <area>Security</area>
    <workgroup>Remote ATtestation ProcedureS</workgroup>
    <keyword>RIM, RATS, attestation, verifier, supply chain</keyword>
    <abstract>
      <t>Remote Attestation Procedures (RATS) enable Relying Parties to assess the
trustworthiness of a remote Attester and therefore to decide whether to engage
in secure interactions with it. Evidence about trustworthiness can be rather
complex and it is deemed unrealistic that every Relying Party is capable of the
appraisal of Evidence. Therefore that burden is typically offloaded to a
Verifier.  In order to conduct Evidence appraisal, a Verifier requires not only
fresh Evidence from an Attester, but also trusted Endorsements and Reference
Values from Endorsers and Reference Value Providers, such as manufacturers,
distributors, or device 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>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/ietf-rats-wg/draft-ietf-rats-corim"/>.</t>
    </note>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t><cref anchor="issue">Content missing. Tracked at:</cref> https://github.com/ietf-rats/draft-birkholz-rats-corim/issues/86</t>
      <section anchor="terminology-and-requirements-language">
        <name>Terminology and Requirements Language</name>
        <t>This document uses terms and concepts defined by the RATS architecture.
For a complete glossary see <xref section="4" sectionFormat="of" target="I-D.ietf-rats-architecture"/>.</t>
        <t>The terminology from CBOR <xref target="STD94"/>, CDDL <xref target="RFC8610"/> and COSE <xref target="RFC8152"/> applies;
in particular, CBOR diagnostic notation is defined in <xref section="8" sectionFormat="of" target="STD94"/>
and <xref section="G" sectionFormat="of" target="RFC8610"/>.</t>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      </section>
      <section anchor="cddl-typographical-conventions">
        <name>CDDL Typographical Conventions</name>
        <t>The CDDL definitions in this document follow the naming conventions illustrated
in <xref target="tbl-typography"/>.</t>
        <table anchor="tbl-typography">
          <name>Type Traits &amp; Typographical Conventions</name>
          <thead>
            <tr>
              <th align="left">Type trait</th>
              <th align="left">Example</th>
              <th align="left">Typographical 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="common-types">
        <name>Common Types</name>
        <t>The following CDDL types are used in both CoRIM and CoMID.</t>
        <section anchor="non-empty">
          <name>Non-Empty</name>
          <t>The <tt>non-empty</tt> generic type is used to express that a map with only optional
members MUST at least include one of the members.</t>
          <sourcecode type="cddl"><![CDATA[
non-empty<M> = (M) .and ({ + any => any })
]]></sourcecode>
        </section>
        <section anchor="sec-common-entity">
          <name>Entity</name>
          <t>The <tt>entity-map</tt> is a generic type describing an organization responsible for
the contents of a manifest. It is instantiated by supplying two parameters:</t>
          <ul spacing="normal">
            <li>A <tt>role-type-choice</tt>, i.e., a selection of roles that entities of the
instantiated type can claim</li>
            <li>An <tt>extension-socket</tt>, i.e., a CDDL socket that can be used to extend
the attributes associated with entities of the instantiated type</li>
          </ul>
          <sourcecode type="cddl"><![CDATA[
entity-map<role-type-choice, extension-socket> = {
  &(entity-name: 0) => $entity-name-type-choice
  ? &(reg-id: 1) => uri
  &(role: 2) => [ + role-type-choice ]
  * extension-socket
}

$entity-name-type-choice /= text
]]></sourcecode>
          <t>The following describes each member of the <tt>entity-map</tt>.</t>
          <ul spacing="normal">
            <li>
              <tt>entity-name</tt> (index 0): The name of entity which is responsible for the
action(s) as defined by the role. <tt>$entity-name-type-choice</tt> can only be
Other specifications can extend the <tt>$entity-name-type-choice</tt> (see
<xref target="sec-iana-comid"/>).</li>
            <li>
              <tt>reg-id</tt> (index 1): A URI associated with the organization that owns the
entity name</li>
            <li>
              <tt>role</tt> (index 2): A type choice defining the roles that the entity is
claiming.  The role is supplied as a parameter at the time the <tt>entity-map</tt>
generic is instantiated.</li>
            <li>
              <tt>extension-socket</tt>: A CDDL socket used to add new information structures to
the <tt>entity-map</tt>.</li>
          </ul>
          <t>Examples of how the <tt>entity-map</tt> generic is instantiated can be found in
<xref target="sec-corim-entity"/> and <xref target="sec-comid-entity"/>.</t>
        </section>
        <section anchor="sec-common-validity">
          <name>Validity</name>
          <t>A <tt>validity-map</tt> represents the time interval during which the signer
warrants that it will maintain information about the status of the signed
object (e.g., a manifest).</t>
          <t>In a <tt>validity-map</tt>, both ends of the interval are encoded as epoch-based
date/time as per <xref section="3.4.2" sectionFormat="of" target="STD94"/>.</t>
          <sourcecode type="cddl"><![CDATA[
validity-map = {
  ? &(not-before: 0) => time
  &(not-after: 1) => time
}
]]></sourcecode>
          <ul spacing="normal">
            <li>
              <tt>not-before</tt> (index 0): the date on which the signed manifest validity period
begins</li>
            <li>
              <tt>not-after</tt> (index 1): the date on which the signed manifest validity period
ends</li>
          </ul>
        </section>
        <section anchor="sec-common-uuid">
          <name>UUID</name>
          <t>Used to tag a byte string as a binary UUID defined in <xref section="4.1.2." sectionFormat="of" target="RFC4122"/>.</t>
          <sourcecode type="cddl"><![CDATA[
uuid-type = bytes .size 16
tagged-uuid-type = #6.37(uuid-type)
]]></sourcecode>
        </section>
        <section anchor="sec-common-ueid">
          <name>UEID</name>
          <t>Used to tag a byte string as Universal Entity ID Claim (UUID) defined in
<xref section="4.2.1" sectionFormat="of" target="I-D.ietf-rats-eat"/>.</t>
          <sourcecode type="cddl"><![CDATA[
ueid-type = bytes .size 33
tagged-ueid-type = #6.550(ueid-type)
]]></sourcecode>
        </section>
        <section anchor="sec-common-oid">
          <name>OID</name>
          <t>Used to tag a byte string as the BER encoding <xref target="X.690"/> of an absolute object
identifier <xref target="RFC9090"/>.</t>
          <sourcecode type="cddl"><![CDATA[
oid-type = bytes
tagged-oid-type = #6.111(oid-type)
]]></sourcecode>
        </section>
        <section anchor="sec-common-tagged-int">
          <name>Tagged Integer Type</name>
          <t><cref anchor="issue_1">Content missing. Tracked at:</cref> https://github.com/ietf-rats/draft-birkholz-rats-corim/issues/87</t>
          <sourcecode type="cddl"><![CDATA[
tagged-int-type = #6.551(int)
]]></sourcecode>
        </section>
        <section anchor="sec-common-hash-entry">
          <name>Hash Entry</name>
          <t>A hash entry represents the value of a hashing operation together with the hash
algorithm used. Defined in <xref section="2.9.1" sectionFormat="of" target="I-D.ietf-sacm-coswid"/>. The CDDL is copied
below for convenience.</t>
          <sourcecode type="cddl"><![CDATA[
hash-entry = [
  hash-alg-id: int
  hash-value: bytes
]
]]></sourcecode>
        </section>
      </section>
    </section>
    <section anchor="corim">
      <name>CoRIM</name>
      <t><cref anchor="issue_2">Content missing. Tracked at:</cref>
https://github.com/ietf-rats/draft-birkholz-rats-corim/issues/98</t>
      <t>At the top-level, a CoRIM can either be a CBOR-tagged <tt>corim-map</tt>
(<xref target="sec-corim-map"/>) or a COSE signed <tt>corim-map</tt> (<xref target="sec-corim-signed"/>).</t>
      <sourcecode type="cddl"><![CDATA[
corim = #6.500($concise-rim-type-choice)

$concise-rim-type-choice /= #6.501(corim-map)
$concise-rim-type-choice /= #6.502(signed-corim)
]]></sourcecode>
      <section anchor="sec-corim-map">
        <name>CoRIM Map</name>
        <t>The CDDL specification for the <tt>corim-map</tt> is as follows and this rule and its
constraints must be followed when creating or validating a CoRIM map.</t>
        <sourcecode type="cddl"><![CDATA[
corim-map = {
  &(id: 0) => $corim-id-type-choice
  &(tags: 1) => [ + $concise-tag-type-choice ]
  ? &(dependent-rims: 2) => [ + corim-locator-map ]
  ? &(profile: 3) => [ + profile-type-choice ]
  ? &(rim-validity: 4) => validity-map
  ? &(entities: 5) => [ + corim-entity-map ]
  * $$corim-map-extension
}
]]></sourcecode>
        <t>The following describes each child item of this map.</t>
        <ul spacing="normal">
          <li>
            <tt>id</tt> (index 0): A globally unique identifier to identify a CoRIM. Described
in <xref target="sec-corim-id"/></li>
          <li>
            <tt>tags</tt> (index 1):  An array of one or more CoMID or CoSWID tags.  Described
in <xref target="sec-corim-tags"/></li>
          <li>
            <tt>dependent-rims</tt> (index 2): One or more services supplying additional,
possibly dependent, manifests or related files.  Described in
<xref target="sec-corim-locator-map"/></li>
          <li>
            <tt>profile</tt> (index 3): One or more unique identifiers for the profiles of the
tags contained in this CoRIM.  All the listed profiles MUST be understood.
Failure to recognize a profile identifier MUST result in the rejection of the
entire processing.  Described in <xref target="sec-corim-profile-types"/></li>
          <li>
            <tt>rim-validity</tt> (index 4): Specifies the validity period of the CoRIM.
Described in <xref target="sec-common-validity"/></li>
          <li>
            <tt>entities</tt> (index 5): A list of entities involved in a CoRIM life-cycle.
Described in <xref target="sec-corim-entity"/></li>
          <li>
            <tt>$$corim-map-extension</tt>: This CDDL socket is used to add new information
structures to the <tt>corim-map</tt>.  See <xref target="sec-iana-corim"/>.</li>
        </ul>
        <sourcecode type="cddl"><![CDATA[
tagged-corim-map = #6.501(corim-map)
]]></sourcecode>
        <section anchor="sec-corim-id">
          <name>Identity</name>
          <t>A CoRIM id can be either a text string or a UUID type that uniquely identifies
a CoRIM.</t>
          <sourcecode type="cddl"><![CDATA[
$corim-id-type-choice /= tstr
$corim-id-type-choice /= uuid-type
]]></sourcecode>
        </section>
        <section anchor="sec-corim-tags">
          <name>Tags</name>
          <t>A <tt>$concise-tag-type-choice</tt> is a tagged CBOR payload that carries either a
CoMID (<xref target="sec-comid"/>) or a CoSWID <xref target="I-D.ietf-sacm-coswid"/>.</t>
          <sourcecode type="cddl"><![CDATA[
$concise-tag-type-choice /= #6.505(bytes .cbor concise-swid-tag)
$concise-tag-type-choice /= #6.506(bytes .cbor concise-mid-tag)
]]></sourcecode>
        </section>
        <section anchor="sec-corim-locator-map">
          <name>Locator Map</name>
          <t>The locator map contains pointers to repositories where dependent manifests,
certificates, or other relevant information can be retrieved by the Verifier.</t>
          <sourcecode type="cddl"><![CDATA[
corim-locator-map = {
  &(href: 0) => uri
  ? &(thumbprint: 1) => hash-entry
}
]]></sourcecode>
          <t>The following describes each child element of this type.</t>
          <ul spacing="normal">
            <li>
              <tt>href</tt> (index 0): URI identifying the additional resource that can be fetched</li>
            <li>
              <tt>thumbprint</tt> (index 1): expected digest of the resource referenced by <tt>href</tt>.
See <xref target="sec-common-hash-entry"/>.</li>
          </ul>
        </section>
        <section anchor="sec-corim-profile-types">
          <name>Profile Types</name>
          <t>A profile specifies which of the optional parts of a CoRIM are required, which
are prohibited and which extension points are exercised and how.</t>
          <sourcecode type="cddl"><![CDATA[
profile-type-choice = uri / tagged-oid-type
]]></sourcecode>
        </section>
        <section anchor="sec-corim-entity">
          <name>Entities</name>
          <t>The CoRIM Entity is an instantiation of the Entity generic
(<xref target="sec-common-entity"/>) using a <tt>$corim-role-type-choice</tt>.</t>
          <t>The only role defined in this specification for a CoRIM Entity is
<tt>manifest-creator</tt>.</t>
          <t>The <tt>$$corim-entity-map-extension</tt> extension socket is empty in this
specification.</t>
          <sourcecode type="cddl"><![CDATA[
corim-entity-map =
  entity-map<$corim-role-type-choice, $$corim-entity-map-extension>

$corim-role-type-choice /= &(manifest-creator: 1)
]]></sourcecode>
        </section>
      </section>
      <section anchor="sec-corim-signed">
        <name>Signed CoRIM</name>
        <sourcecode type="cddl"><![CDATA[
signed-corim = #6.18(COSE-Sign1-corim)
]]></sourcecode>
        <t>Signing a CoRIM follows the procedures defined in CBOR Object Signing and
Encryption <xref target="RFC8152"/>. A CoRIM tag MUST be wrapped in a COSE_Sign1 structure.
The CoRIM MUST be signed by the CoRIM creator.</t>
        <t>The following CDDL specification defines a restrictive subset of COSE header
parameters that MUST be used in the protected header alongside additional
information about the CoRIM encoded in a <tt>corim-meta-map</tt> (<xref target="sec-corim-meta"/>).</t>
        <sourcecode type="cddl"><![CDATA[
COSE-Sign1-corim = [
  protected: bstr .cbor protected-corim-header-map
  unprotected: unprotected-corim-header-map
  payload: bstr .cbor tagged-corim-map
  signature: bstr
]
]]></sourcecode>
        <t>The following describes each child element of this type.</t>
        <ul spacing="normal">
          <li>
            <tt>protected</tt>: A CBOR Encoded protected header which is protected by the COSE
signature. Contains information as given by Protected Header Map below.</li>
          <li>
            <tt>unprotected</tt>: A COSE header that is not protected by COSE signature.</li>
          <li>
            <tt>payload</tt>: A CBOR encoded tagged CoRIM.</li>
          <li>
            <tt>signature</tt>: A COSE signature block which is the signature over the protected
and payload components of the signed CoRIM.</li>
        </ul>
        <section anchor="protected-header-map">
          <name>Protected Header Map</name>
          <sourcecode type="cddl"><![CDATA[
protected-corim-header-map = {
  &(alg-id: 1) => int
  &(content-type: 3) => "application/corim-unsigned+cbor"
  &(issuer-key-id: 4) => bstr
  &(corim-meta: 8) => bstr .cbor corim-meta-map
  * cose-label => cose-value
}
]]></sourcecode>
          <t>The following describes each child item of this map.</t>
          <ul spacing="normal">
            <li>
              <tt>alg-id</tt> (index 1): An integer that identifies a signature algorithm.</li>
            <li>
              <tt>content-type</tt> (index 3): A string that represents the "MIME Content type"
carried in the CoRIM payload.</li>
            <li>
              <tt>issuer-key-id</tt> (index 4): A bit string which is a key identity pertaining to
the CoRIM Issuer.</li>
            <li>
              <tt>corim-meta</tt> (index 8): A map that contains metadata associated with a
signed CoRIM. Described in <xref target="sec-corim-meta"/>.</li>
          </ul>
          <t>Additional data can be included in the COSE header map as per <xref section="3" sectionFormat="of" target="RFC8152"/>.</t>
        </section>
        <section anchor="sec-corim-meta">
          <name>Meta Map</name>
          <t>The CoRIM meta map identifies the entity or entities that create and sign the
CoRIM. This ensures the consumer is able to identify credentials used to
authenticate its signer.</t>
          <sourcecode type="cddl"><![CDATA[
corim-meta-map = {
  &(signer: 0) => corim-signer-map
  ? &(signature-validity: 1) => validity-map
}
]]></sourcecode>
          <t>The following describes each child item of this group.</t>
          <ul spacing="normal">
            <li>
              <tt>signer</tt> (index 0): Information about the entity that signs the CoRIM.
Described in <xref target="sec-corim-signer"/></li>
            <li>
              <tt>signature-validity</tt> (index 1): Validity period for the CoRIM. Described in
<xref target="sec-common-validity"/></li>
          </ul>
          <section anchor="sec-corim-signer">
            <name>Signer Map</name>
            <sourcecode type="cddl"><![CDATA[
corim-signer-map = {
  &(signer-name: 0) => $entity-name-type-choice
  ? &(signer-uri: 1) => uri
  * $$corim-signer-map-extension
}
]]></sourcecode>
            <ul spacing="normal">
              <li>
                <tt>signer-name</tt> (index 0): Name of the organization that performs the signer
role</li>
              <li>
                <tt>signer-uri</tt> (index 1): A URI identifying the same organization</li>
              <li>
                <tt>$$corim-signer-map-extension</tt>: Extension point for future expansion of the
Signer map.</li>
            </ul>
          </section>
        </section>
        <section anchor="sec-corim-unprotected-header">
          <name>Unprotected CoRIM Header Map</name>
          <sourcecode type="cddl"><![CDATA[
unprotected-corim-header-map = {
  * cose-label => cose-value
}
]]></sourcecode>
        </section>
      </section>
    </section>
    <section anchor="sec-comid">
      <name>CoMID</name>
      <t><cref anchor="issue_3">Content missing. Tracked at:</cref> https://github.com/ietf-rats/draft-birkholz-rats-corim/issues/88</t>
      <section anchor="structure">
        <name>Structure</name>
        <t>The CDDL specification for the <tt>concise-mid-tag</tt> map is as follows and this
rule and its constraints MUST be followed when creating or validating a CoMID
tag:</t>
        <sourcecode type="cddl"><![CDATA[
concise-mid-tag = {
  ? &(language: 0) => text
  &(tag-identity: 1) => tag-identity-map
  ? &(entities: 2) => [ + comid-entity-map ]
  ? &(linked-tags: 3) => [ + linked-tag-map ]
  &(triples: 4) => triples-map
  * $$concise-mid-tag-extension
}
]]></sourcecode>
        <t>The following describes each member of the <tt>concise-mid-tag</tt> map.</t>
        <ul spacing="normal">
          <li>
            <tt>lang</tt> (index 0): A textual language tag that conforms with IANA "Language
Subtag Registry" <xref target="IANA.language-subtag-registry"/>. The context of the specified language
applies to all sibling and descendant textual values, unless a descendant
object has defined a different language tag. Thus, a new context is
established when a descendant object redefines a new language tag.  All
textual values within a given context MUST be considered expressed in the
specified language.</li>
          <li>
            <tt>tag-identity</tt> (index 1): A <tt>tag-identity-map</tt> containing unique
identification information for the CoMID. Described in <xref target="sec-comid-tag-id"/>.</li>
          <li>
            <tt>entities</tt> (index 2): Provides information about one or more organizations
responsible for producing the CoMID tag. Described in <xref target="sec-comid-entity"/>.</li>
          <li>
            <tt>linked-tags</tt> (index 3): A list of one or more <tt>linked-tag-map</tt> (described in
<xref target="sec-comid-linked-tag"/>), providing typed relationships between this and
other CoMIDs.</li>
          <li>
            <tt>triples</tt> (index 4): One or more triples providing information specific to
the described module, e.g.: reference or endorsed values, cryptographic
material, or structural relationship between the described module and other
modules.  Described in (<xref target="sec-comid-triples"/>).</li>
        </ul>
        <section anchor="sec-comid-tag-id">
          <name>Tag Identity</name>
          <sourcecode type="cddl"><![CDATA[
tag-identity-map = {
  &(tag-id: 0) => $tag-id-type-choice
  ? &(tag-version: 1) => tag-version-type
}
]]></sourcecode>
          <t>The following describes each member of the <tt>tag-identity-map</tt>.</t>
          <ul spacing="normal">
            <li>
              <tt>tag-id</tt> (index 0): A universally unique identifier for the CoMID. Described
in <xref target="sec-tag-id"/>.</li>
            <li>
              <tt>tag-version</tt> (index 1): Optional versioning information for the <tt>tag-id</tt> .
Described in <xref target="sec-tag-version"/>.</li>
          </ul>
          <section anchor="sec-tag-id">
            <name>Tag ID</name>
            <sourcecode type="cddl"><![CDATA[
$tag-id-type-choice /= tstr
$tag-id-type-choice /= uuid-type
]]></sourcecode>
            <t>A Tag ID is either a 16-byte binary string, or a textual identifier, uniquely
referencing the CoMID. The tag identifier MUST be globally unique. Failure to
ensure global uniqueness can create ambiguity in tag use since the tag-id
serves as the global key for matching, lookups and linking. If represented as a
16-byte binary string, the identifier MUST be a valid universally unique
identifier as defined by <xref target="RFC4122"/>. There are no strict guidelines on how the
identifier is structured, but examples include a 16-byte GUID (e.g., class 4
UUID) <xref target="RFC4122"/>, or a URI <xref target="STD66"/>.</t>
          </section>
          <section anchor="sec-tag-version">
            <name>Tag Version</name>
            <sourcecode type="cddl"><![CDATA[
tag-version-type = uint .default 0
]]></sourcecode>
            <t>Tag Version is an integer value that indicates the specific release revision of
the tag.  Typically, the initial value of this field is set to 0 and the value
is increased for subsequent tags produced for the same module release.  This
value allows a CoMID tag producer to correct an incorrect tag previously
released without indicating a change to the underlying module the tag
represents. For example, the tag version could be changed to add new metadata,
to correct a broken link, to add a missing reference value, etc. When producing
a revised tag, the new tag-version value MUST be greater than the old
tag-version value.</t>
          </section>
        </section>
        <section anchor="sec-comid-entity">
          <name>Entities</name>
          <sourcecode type="cddl"><![CDATA[
comid-entity-map =
  entity-map<$comid-role-type-choice, $$comid-entity-map-extension>
]]></sourcecode>
          <t>The CoMID Entity is an instantiation of the Entity generic
(<xref target="sec-common-entity"/>) using a <tt>$comid-role-type-choice</tt>.</t>
          <t>The <tt>$$comid-entity-map-extension</tt> extension socket is empty in this
specification.</t>
          <sourcecode type="cddl"><![CDATA[
$comid-role-type-choice /= &(tag-creator: 0)
$comid-role-type-choice /= &(creator: 1)
$comid-role-type-choice /= &(maintainer: 2)
]]></sourcecode>
          <t>The roles defined for a CoMID entity are:</t>
          <ul spacing="normal">
            <li>
              <tt>tag-creator</tt> (value 0): creator of the CoMID tag.</li>
            <li>
              <tt>creator</tt> (value 1): original maker of the module described by the CoMID tag.</li>
            <li>
              <tt>maintainer</tt> (value 2): an entity making changes to the module described by
the CoMID tag.</li>
          </ul>
        </section>
        <section anchor="sec-comid-linked-tag">
          <name>Linked Tag</name>
          <t>The linked tag map represents a typed relationship between the embedding CoMID
tag (the source) and another CoMID tag (the target).</t>
          <sourcecode type="cddl"><![CDATA[
linked-tag-map = {
  &(linked-tag-id: 0) => $tag-id-type-choice
  &(tag-rel: 1) => $tag-rel-type-choice
}
]]></sourcecode>
          <t>The following describes each member of the <tt>tag-identity-map</tt>.</t>
          <ul spacing="normal">
            <li>
              <tt>linked-tag-id</tt> (index 0): Unique identifier for the target tag.  For the
definition see <xref target="sec-tag-id"/>.</li>
            <li>
              <tt>tag-rel</tt> (index 1): the kind of relation linking the source tag to the
target identified by <tt>linked-tag-id</tt>.</li>
          </ul>
          <sourcecode type="cddl"><![CDATA[
$tag-rel-type-choice /= &(supplements: 0)
$tag-rel-type-choice /= &(replaces: 1)
]]></sourcecode>
          <t>The relations defined in this specification are:</t>
          <ul spacing="normal">
            <li>
              <tt>supplements</tt> (value 0): the source tag provides additional information about
the module described in the target tag.</li>
            <li>
              <tt>replaces</tt> (value 1): the source tag corrects erroneous information
contained in the target tag.  The information in the target MUST be
disregarded.</li>
          </ul>
        </section>
        <section anchor="sec-comid-triples">
          <name>Triples</name>
          <t>The <tt>triples-map</tt> contains all the CoMID triples broken down per category.  Not
all category need to be present but at least one category MUST be present and
contain at least one entry.</t>
          <sourcecode type="cddl"><![CDATA[
triples-map = non-empty<{
  ? &(reference-triples: 0) => [ + reference-triple-record ]
  ? &(endorsed-triples: 1)  => [ + endorsed-triple-record ]
  ? &(identity-triples: 2) => [ + identity-triple-record ]
  ? &(attest-key-triples: 3) => [ + attest-key-triple-record ]
  ? &(dependency-triples: 4) => [ + domain-dependency-triple-record ]
  ? &(membership-triples: 5) => [ + domain-membership-triple-record ]
  ? &(coswid-triples: 6) => [ + coswid-triple-record ]
  * $$triples-map-extension
}>
]]></sourcecode>
          <t>The following describes each member of the <tt>triples-map</tt>:</t>
          <ul spacing="normal">
            <li>
              <tt>reference-triples</tt> (index 0): Triples containing reference values. Described
in <xref target="sec-comid-triple-refval"/>.</li>
            <li>
              <tt>endorsed-triples</tt> (index 1): Triples containing endorsed values. Described
in <xref target="sec-comid-triple-endval"/>.</li>
            <li>
              <tt>identity-triples</tt> (index 2): Triples containing identity credentials.
Described in <xref target="sec-comid-triple-identity"/>.</li>
            <li>
              <tt>attest-key-triples</tt> (index 3): Triples containing verification keys
associated with attesting environments. Described in
<xref target="sec-comid-triple-attest-key"/>.</li>
            <li>
              <tt>dependency-triples</tt> (index 4): Triples describing trust relationships
between domains.  Described in <xref target="sec-comid-triple-domain-dependency"/>.</li>
            <li>
              <tt>membership-triples</tt> (index 5): Triples describing topological relationships
between (sub-)modules.  Described in <xref target="sec-comid-triple-domain-membership"/>.</li>
            <li>
              <tt>coswid-triples</tt> (index 6): Triples associating modules with existing CoSWID
tags. Described in <xref target="sec-comid-triple-coswid"/>.</li>
          </ul>
          <section anchor="common-types-1">
            <name>Common Types</name>
            <section anchor="environment">
              <name>Environment</name>
              <t>An <tt>environment-map</tt> may be used to represent a whole attester, an attesting
environment, or a target environment.  The exact semantic depends on the
context (triple) in which the environment is used.</t>
              <t>An environment is named after a class, instance or group identifier (or a
combination thereof).</t>
              <sourcecode type="cddl"><![CDATA[
environment-map = non-empty<{
  ? &(class: 0) => class-map
  ? &(instance: 1) => $instance-id-type-choice
  ? &(group: 2) => $group-id-type-choice
}>
]]></sourcecode>
              <t>The following describes each member of the <tt>environment-map</tt>:</t>
              <ul spacing="normal">
                <li>
                  <tt>class</tt> (index 0): Contains "class" attributes associated with the module.
Described in <xref target="sec-comid-class"/>.</li>
                <li>
                  <tt>instance</tt> (index 1): Contains a unique identifier of a module's instance.
See <xref target="sec-comid-instance"/>.</li>
                <li>
                  <tt>group</tt> (index 2): identifier for a group of instances, e.g., if an
anonymization scheme is used.</li>
              </ul>
            </section>
            <section anchor="sec-comid-class">
              <name>Class</name>
              <t>The Class name consists of class attributes that distinguish the class of
environment from other classes. The class attributes include class-id, vendor,
model, layer, and index. The CoMID author determines which attributes are
needed.</t>
              <sourcecode type="cddl"><![CDATA[
class-map = non-empty<{
  ? &(class-id: 0) => $class-id-type-choice
  ? &(vendor: 1) => tstr
  ? &(model: 2) => tstr
  ? &(layer: 3) => uint
  ? &(index: 4) => uint
}>

$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 <tt>class-map</tt>:</t>
              <ul spacing="normal">
                <li>
                  <tt>class-id</tt> (index 0): Identifies the environment via a well-known identifier.
Typically, <tt>class-id</tt> is an object identifier (OID) or universally unique
identifier (UUID). Use of this attribute is preferred.</li>
                <li>
                  <tt>vendor</tt> (index 1): Identifies the entity responsible for choosing values for
the other class attributes that do not already have naming authority.</li>
                <li>
                  <tt>model</tt> (index 2): Describes a product, generation, and family.  If
populated, vendor MUST also be populated.</li>
                <li>
                  <tt>layer</tt> (index 3): Is used to capture where in a sequence the environment
exists. For example, the order in which bootstrap code is executed may have
security relevance.</li>
                <li>
                  <tt>index</tt> (index 4): Is used when there are clones (i.e., multiple instances)
of the same class of environment.  Each clone is given a different index
value to disambiguate it from the other clones. For example, given a chassis
with several network interface controllers (NIC), each NIC can be given a
different index value.</li>
              </ul>
            </section>
            <section anchor="sec-comid-instance">
              <name>Instance</name>
              <t>An instance carries a unique identifier that is reliably bound to an instance
of the attester.</t>
              <t>The types defined for an instance identifier are UEID or UUID.</t>
              <sourcecode type="cddl"><![CDATA[
$instance-id-type-choice /= tagged-ueid-type
$instance-id-type-choice /= tagged-uuid-type
]]></sourcecode>
            </section>
            <section anchor="group">
              <name> Group</name>
              <t>A group carries a unique identifier that is reliably bound to a group of
attesters, for example when a number of attester are hidden in the same
anonymity set.</t>
              <t>The type defined for a group identified is UUID.</t>
              <sourcecode type="cddl"><![CDATA[
$group-id-type-choice /= tagged-uuid-type
]]></sourcecode>
            </section>
            <section anchor="measurements">
              <name>Measurements</name>
              <t>Measurements can be of a variety of things including software, firmware,
configuration files, read-only memory, fuses, IO ring configuration, partial
reconfiguration regions, etc. Measurements comprise raw values, digests, or
status information.</t>
              <t>An environment has one or more measurable elements. Each element can have a
dedicated measurement or multiple elements could be combined into a single
measurement. Measurements can have class, instance or group scope.  This is
typically determined by the triple's environment.</t>
              <t>Class measurements apply generally to all the attesters in the given class.
Instance measurements apply to a specific attester instances.  Environments
identified by a class identifier have measurements that are common to the
class. Environments identified by an instance identifier have measurements that
are specific to that instance.</t>
              <sourcecode type="cddl"><![CDATA[
measurement-map = {
  ? &(mkey: 0) => $measured-element-type-choice
  &(mval: 1) => measurement-values-map
}
]]></sourcecode>
              <t>The following describes each member of the <tt>measurement-map</tt>:</t>
              <ul spacing="normal">
                <li>
                  <tt>mkey</tt> (index 0): An optional unique identifier of the measured
(sub-)environment.  See <xref target="sec-comid-mkey"/>.</li>
                <li>
                  <tt>mval</tt> (index 1): The measurements associated with the (sub-)environment.
Described in <xref target="sec-comid-mval"/>.</li>
              </ul>
              <section anchor="sec-comid-mkey">
                <name>Measurement Keys</name>
                <t>The types defined for a measurement identifier are OID, UUID or uint.</t>
                <sourcecode type="cddl"><![CDATA[
$measured-element-type-choice /= tagged-oid-type
$measured-element-type-choice /= tagged-uuid-type
$measured-element-type-choice /= uint
]]></sourcecode>
              </section>
              <section anchor="sec-comid-mval">
                <name>Measurement Values</name>
                <t>A <tt>measurement-values-map</tt> contains measurements associated with a certain
environment. Depending on the context (triple) in which they are found,
elements in a <tt>measurement-values-map</tt> can represent class or instance
measurements. Note that some of the elements have instance scope only.</t>
                <sourcecode type="cddl"><![CDATA[
measurement-values-map = non-empty<{
  ? &(version: 0) => version-map
  ? &(svn: 1) => svn-type-choice
  ? &(digests: 2) => [ + hash-entry ]
  ? &(flags: 3) => flags-map
  ? (
      &(raw-value: 4) => $raw-value-type-choice,
      ? &(raw-value-mask: 5) => raw-value-mask-type
    )
  ? &(mac-addr: 6) => mac-addr-type-choice
  ? &(ip-addr: 7) =>  ip-addr-type-choice
  ? &(serial-number: 8) => text
  ? &(ueid: 9) => ueid-type
  ? &(uuid: 10) => uuid-type
  ? &(name: 11) => text
  * $$measurement-values-map-extension
}>
]]></sourcecode>
                <t>The following describes each member of the <tt>measurement-values-map</tt>.</t>
                <ul spacing="normal">
                  <li>
                    <tt>version</tt> (index 0): Typically changes whenever the measured environment is
updated. Described in <xref target="sec-comid-version"/>.</li>
                  <li>
                    <tt>svn</tt> (index 1): The security version number typically changes only when a
security relevant change is made to the measured environment.  Described in
<xref target="sec-comid-svn"/>.</li>
                  <li>
                    <tt>digests</tt> (index 2): Contains the digest(s) of the measured environment
together with the respective hash algorithm used in the process.  See
<xref target="sec-common-hash-entry"/>.</li>
                  <li>
                    <tt>flags</tt> (index 3): Describes security relevant operational modes. For
example, whether the environment is in a debug mode, recovery mode, not fully
configured, not secure, not replay protected or not integrity protected. The
<tt>flags</tt> field indicates which operational modes are currently associated with
measured environment.  Described in <xref target="sec-comid-flags"/>.</li>
                  <li>
                    <tt>raw-value</tt> (index 4): Contains the actual (not hashed) value of the element.
An optional <tt>raw-value-mask</tt> (index 5) indicates which bits in the
<tt>raw-value</tt> field are relevant for verification. A mask of all ones ("1")
means all bits in the <tt>raw-value</tt> field are relevant. Multiple values could
be combined to create a single <tt>raw-value</tt> attribute. The vendor determines
how to pack multiple values into a single <tt>raw-value</tt> structure. The same
packing format is used when collecting Evidence so that Reference Values and
collected values are bit-wise comparable. The vendor determines the encoding
of <tt>raw-value</tt> and the corresponding <tt>raw-value-mask</tt>.</li>
                  <li>
                    <tt>mac-addr</tt> (index 6): A EUI-48 or EUI-64 MAC address associated with the
measured environment.  Described in <xref target="sec-comid-address-types"/>.</li>
                  <li>
                    <tt>ip-addr</tt> (index 7): An IPv4 or IPv6 address associated with the measured
environment.  Described in <xref target="sec-comid-address-types"/>.</li>
                  <li>
                    <tt>serial-number</tt> (index 8): A text string representing the product serial
number.</li>
                  <li>
                    <tt>ueid</tt> (index 9): UEID associated with the measured environment.  See
<xref target="sec-common-ueid"/>.</li>
                  <li>
                    <tt>uuid</tt> (index 10): UUID associated with the measured environment.  See
<xref target="sec-common-uuid"/>.</li>
                  <li>
                    <tt>name</tt> (index 11): a name associated with the measured environment.</li>
                </ul>
              </section>
              <section anchor="sec-comid-version">
                <name>Version</name>
                <t>A <tt>version-map</tt> contains details about the versioning of a measured
environment.</t>
                <sourcecode type="cddl"><![CDATA[
version-map = {
  &(version: 0) => text
  ? &(version-scheme: 1) => $version-scheme
}
]]></sourcecode>
                <t>The following describes each member of the <tt>version-map</tt>:</t>
                <ul spacing="normal">
                  <li>
                    <tt>version</tt> (index 0): the version string</li>
                  <li>
                    <tt>version-scheme</tt> (index 1): an optional indicator of the versioning
convention used in the <tt>version</tt> attribute.  Defined in <xref section="4.1" sectionFormat="of" target="I-D.ietf-sacm-coswid"/>.  The CDDL is copied below for convenience.</li>
                </ul>
                <sourcecode type="cddl"><![CDATA[
$version-scheme /= &(multipartnumeric: 1)
$version-scheme /= &(multipartnumeric-suffix: 2)
$version-scheme /= &(alphanumeric: 3)
$version-scheme /= &(decimal: 4)
$version-scheme /= &(semver: 16384)
$version-scheme /= int / text
]]></sourcecode>
              </section>
              <section anchor="sec-comid-svn">
                <name>Security Version Number</name>
                <t><cref anchor="issue_4">Content missing. Tracked at:</cref> https://github.com/ietf-rats/draft-birkholz-rats-corim/issues/89</t>
                <sourcecode type="cddl"><![CDATA[
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>
              </section>
              <section anchor="sec-comid-flags">
                <name>Flags</name>
                <t>The <tt>flags-map</tt> measurement describes a number of boolean operational modes.
If a <tt>flags-map</tt> value is not specified, then the operational mode is unknown.</t>
                <sourcecode type="cddl"><![CDATA[
flags-map = {
  ? &(configured: 0) => bool
  ? &(secure: 1) => bool
  ? &(recovery: 2) => bool
  ? &(debug: 3) => bool
  ? &(replay-protected: 4) => bool
  ? &(integrity-protected: 5) => bool
  * $$flags-map-extension
}
]]></sourcecode>
                <t>The following describes each member of the <tt>flags-map</tt>:</t>
                <ul spacing="normal">
                  <li>
                    <tt>configured</tt> (index 0): The measured environment is fully configured for
normal operation if the flag is true.</li>
                  <li>
                    <tt>secure</tt> (index 1): The measured environment's configurable security settings
are fully enabled if the flag is true.</li>
                  <li>
                    <tt>recovery</tt> (index 2): The measured environment is NOT in a recovery state if
the flag is true.</li>
                  <li>
                    <tt>debug</tt> (index 3): The measured environment is in a debug enabled state if
the flag is true.</li>
                  <li>
                    <tt>replay-protected</tt> (index 4): The measured environment is protected from
replay by a previous image that differs from the current image if the flag is
true.</li>
                  <li>
                    <tt>integrity-protected</tt> (index 5): The measured environment is protected from
unauthorized update if the flag is true.</li>
                </ul>
              </section>
              <section anchor="sec-comid-raw-value-types">
                <name>Raw Values Types</name>
                <t><cref anchor="issue_5">Content missing. Tracked at:</cref> https://github.com/ietf-rats/draft-birkholz-rats-corim/issues/90</t>
                <sourcecode type="cddl"><![CDATA[
$raw-value-type-choice /= #6.560(bytes)

raw-value-mask-type = bytes
]]></sourcecode>
              </section>
              <section anchor="sec-comid-address-types">
                <name>Address Types</name>
                <t>The types or associating addressing information to a measured environment are:</t>
                <sourcecode type="cddl"><![CDATA[
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
]]></sourcecode>
              </section>
            </section>
            <section anchor="crypto-keys">
              <name>Crypto Keys</name>
              <t>A cryptographic key can be one of the following formats:</t>
              <ul spacing="normal">
                <li>
                  <tt>tagged-pkix-base64-key-type</tt>: PEM encoded SubjectPublicKeyInfo.
Defined in <xref section="13" sectionFormat="of" target="RFC7468"/>.</li>
                <li>
                  <tt>tagged-pkix-base64-cert-type</tt>: PEM encoded X.509 public key certificate.
Defined in <xref section="5" sectionFormat="of" target="RFC7468"/>.</li>
                <li>
                  <tt>tagged-pkix-base64-cert-path-type</tt>: X.509 certificate chain created by the
concatenation of as many PEM encoded X.509 certificates as needed.  The
certificates MUST be concatenated in order so that each directly certifies
the one preceding.</li>
              </ul>
              <sourcecode type="cddl"><![CDATA[
{:include cddl/crypto-key-type-choice.cddl}
]]></sourcecode>
            </section>
            <section anchor="sec-comid-domain-type">
              <name>Domain Types</name>
              <t>A domain is a context for bundling a collection of related environments and
their measurements.</t>
              <t>Three types are defined: uint and text for local scope, UUID for global scope.</t>
              <sourcecode type="cddl"><![CDATA[
$domain-type-choice /= uint
$domain-type-choice /= text
$domain-type-choice /= tagged-uuid-type
]]></sourcecode>
            </section>
          </section>
          <section anchor="sec-comid-triple-refval">
            <name>Reference Values Triple</name>
            <t>A Reference Values triple relates reference measurements to a Target
Environment. For Reference Value Claims, the subject identifies a Target
Environment, the object contains measurements, and the predicate asserts that
these are the expected (i.e., reference) measurements for the Target
Environment.</t>
            <sourcecode type="cddl"><![CDATA[
reference-triple-record = [
  environment-map
  [ + measurement-map ]
]
]]></sourcecode>
          </section>
          <section anchor="sec-comid-triple-endval">
            <name>Endorsed Values Triple</name>
            <t>An Endorsed Values triple declares additional measurements that are valid when
a Target Environment has been verified against reference measurements. For
Endorsed Value Claims, the subject is either a Target or Attesting Environment,
the object contains measurements, and the predicate defines semantics for how
the object relates to the subject.</t>
            <sourcecode type="cddl"><![CDATA[
endorsed-triple-record = [
  environment-map
  [ + measurement-map ]
]
]]></sourcecode>
          </section>
          <section anchor="sec-comid-triple-identity">
            <name>Device Identity Triple</name>
            <t>A Device Identity triple relates one or more cryptographic keys to a device.
The subject of an Identity triple uses an instance or class identifier to refer
to a device, and a cryptographic key is the object. The predicate asserts that
the identity is authenticated by the key. A common application for this triple
is device identity.</t>
            <sourcecode type="cddl"><![CDATA[
identity-triple-record = [
  environment-map
  [ + $crypto-key-type-choice ]
]
]]></sourcecode>
          </section>
          <section anchor="sec-comid-triple-attest-key">
            <name>Attestation Keys Triple</name>
            <t>An Attestation Keys triple relates one or more cryptographic keys to an
Attesting Environment. The Attestation Key triple subject is an Attesting
Environment whose object is a cryptographic key. The predicate asserts that the
Attesting Environment signs Evidence that can be verified using the key.</t>
            <sourcecode type="cddl"><![CDATA[
attest-key-triple-record = [
  environment-map
  [ + $crypto-key-type-choice ]
]
]]></sourcecode>
          </section>
          <section anchor="sec-comid-triple-domain-dependency">
            <name>Domain Dependency Triple</name>
            <t>A Domain Dependency triple defines trust dependencies between measurement
sources.  The subject identifies a domain (<xref target="sec-comid-domain-type"/>) that has
a predicate relationship to the object containing one or more dependent
domains.  Dependency means the subject domain's trustworthiness properties rely
on the object domain(s) trustworthiness having been established before the
trustworthiness properties of the subject domain exists.</t>
            <sourcecode type="cddl"><![CDATA[
domain-dependency-triple-record = [
  $domain-type-choice
  [ + $domain-type-choice ]
]
]]></sourcecode>
          </section>
          <section anchor="sec-comid-triple-domain-membership">
            <name>Domain Membership Triple</name>
            <t>A Domain Membership triple assigns domain membership to environments.  The
subject identifies a domain (<xref target="sec-comid-domain-type"/>) that has a predicate
relationship to the object containing one or more environments.  Endorsed
environments (<xref target="sec-comid-triple-endval"/>) membership is conditional upon
successful matching of Reference Values (<xref target="sec-comid-triple-refval"/>) to
Evidence.</t>
            <sourcecode type="cddl"><![CDATA[
domain-membership-triple-record = [
  $domain-type-choice
  [ + environment-map ]
]
]]></sourcecode>
          </section>
          <section anchor="sec-comid-triple-coswid">
            <name>CoMID-CoSWID Linking Triple</name>
            <t>A CoSWID triple relates reference measurements contained in one or more CoSWIDs
to a Target Environment. The subject identifies a Target Environment, the
object one or more unique tag identifiers of existing CoSWIDs, and the
predicate asserts that these contain the expected (i.e., reference)
measurements for the Target Environment.</t>
            <sourcecode type="cddl"><![CDATA[
coswid-triple-record = [
  environment-map
  [ + concise-swid-tag-id ]
]

concise-swid-tag-id = text / bstr .size 16
]]></sourcecode>
          </section>
        </section>
      </section>
      <section anchor="extensibility">
        <name>Extensibility</name>
        <t><cref anchor="issue_6">Content missing. Tracked at:</cref> https://github.com/ietf-rats/draft-birkholz-rats-corim/issues/91</t>
      </section>
    </section>
    <section anchor="implementation-status">
      <name>Implementation Status</name>
      <t>This section records the status of known implementations of the protocol
defined by this specification at the time of posting of this Internet-Draft,
and is based on a proposal described in <xref target="RFC7942"/>.  The description of
implementations in this section is intended to assist the IETF in its decision
processes in progressing drafts to RFCs.  Please note that the listing of any
individual implementation here does not imply endorsement by the IETF.
Furthermore, no effort has been spent to verify the information presented here
that was supplied by IETF contributors.  This is not intended as, and must not
be construed to be, a catalog of available implementations or their features.
Readers are advised to note that other implementations may exist.</t>
      <t>According to <xref target="RFC7942"/>, "this will allow reviewers and working groups to
assign due consideration to documents that have the benefit of running code,
which may serve as evidence of valuable experimentation and feedback that have
made the implemented protocols more mature.  It is up to the individual working
groups to use this information as they see fit".</t>
      <section anchor="veraison">
        <name>Veraison</name>
        <ul spacing="normal">
          <li>Organization responsible for the implementation: Veraison Project, Linux
Foundation</li>
          <li>Implementation's web page:
<eref target="https://github.com/veraison/corim/README.md">https://github.com/veraison/corim/README.md</eref></li>
          <li>Brief general description: The <tt>corim/corim</tt> and <tt>corim/comid</tt> packages
provide a golang API for low-level manipulation of Concise Reference
Integrity Manifest (CoRIM) and Concise Module Identifier (CoMID) tags
respectively.  The <tt>corim/cocli</tt> package uses the API above (as well as the
API from the <tt>veraison/swid</tt> package) to provide a user command line
interface for working with CoRIM, CoMID and CoSWID. Specifically, it allows
creating, signing, verifying, displaying, uploading, and more. See
<eref target="https://github.com/cocli/README.md">https://github.com/cocli/README.md</eref> for
further details.</li>
          <li>Implementation's level of maturity: alpha.</li>
          <li>Coverage: the whole protocol is implemented, including PSA-specific
extensions <xref target="I-D.fdb-rats-psa-endorsements"/>.</li>
          <li>Version compatibility: Version -02 of the draft</li>
          <li>Licensing: Apache 2.0
<eref target="https://github.com/veraison/corim/blob/main/LICENSE">https://github.com/veraison/corim/blob/main/LICENSE</eref></li>
          <li>Implementation experience: n/a</li>
          <li>Contact information:
<eref target="https://veraison.zulipchat.com">https://veraison.zulipchat.com</eref></li>
          <li>Last updated:
<eref target="https://github.com/veraison/corim/commits/main">https://github.com/veraison/corim/commits/main</eref></li>
        </ul>
      </section>
    </section>
    <section anchor="sec-sec">
      <name>Security and Privacy Considerations</name>
      <t><cref anchor="issue_7">Content missing. Tracked at:</cref> https://github.com/ietf-rats/draft-birkholz-rats-corim/issues/92</t>
    </section>
    <section anchor="sec-iana-cons">
      <name>IANA Considerations</name>
      <section anchor="new-cose-header-parameters">
        <name>New COSE Header Parameters</name>
        <t><cref anchor="issue_8">Content missing. Tracked at:</cref> https://github.com/ietf-rats/draft-birkholz-rats-corim/issues/96</t>
      </section>
      <section anchor="sec-iana-cbor-tags">
        <name>New CBOR Tags</name>
        <t><cref anchor="issue_9">Content missing. Tracked at:</cref> https://github.com/ietf-rats/draft-birkholz-rats-corim/issues/93</t>
      </section>
      <section anchor="sec-iana-corim">
        <name>New CoRIM Registries</name>
        <t><cref anchor="issue_10">Content missing. Tracked at:</cref> https://github.com/ietf-rats/draft-birkholz-rats-corim/issues/94</t>
      </section>
      <section anchor="sec-iana-comid">
        <name>New CoMID Registries</name>
        <t><cref anchor="issue_11">Content missing. Tracked at:</cref> https://github.com/ietf-rats/draft-birkholz-rats-corim/issues/95</t>
      </section>
      <section anchor="sec-iana-media-types">
        <name>New Media Types</name>
        <t>IANA is requested to add the following media types to the "Media Types"
registry <xref target="IANA.media-types"/>.</t>
        <table align="left" anchor="tbl-media-type">
          <name>New Media Types</name>
          <thead>
            <tr>
              <th align="left">Name</th>
              <th align="left">Template</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">corim-signed+cbor</td>
              <td align="left">application/corim-signed+cbor</td>
              <td align="left">RFCthis, <xref target="sec-mt-corim-signed"/></td>
            </tr>
            <tr>
              <td align="left">corim-unsigned+cbor</td>
              <td align="left">application/corim-unsigned+cbor</td>
              <td align="left">RFCthis, <xref target="sec-mt-corim-unsigned"/></td>
            </tr>
          </tbody>
        </table>
        <section anchor="sec-mt-corim-signed">
          <name>corim-signed+cbor</name>
          <dl spacing="compact">
            <dt>Type name:</dt>
            <dd>
              <t><tt>application</tt></t>
            </dd>
            <dt>Subtype name:</dt>
            <dd>
              <t><tt>corim-signed+cbor</tt></t>
            </dd>
            <dt>Required parameters:</dt>
            <dd>
              <t>n/a</t>
            </dd>
            <dt>Optional parameters:</dt>
            <dd>
              <t>"profile" (CoRIM profile in string format.  OIDs MUST use the dotted-decimal
notation.)</t>
            </dd>
            <dt>Encoding considerations:</dt>
            <dd>
              <t>binary</t>
            </dd>
            <dt>Security considerations:</dt>
            <dd>
              <t><xref target="sec-sec"/> of RFCthis</t>
            </dd>
            <dt>Interoperability considerations:</dt>
            <dd>
              <t>n/a</t>
            </dd>
            <dt>Published specification:</dt>
            <dd>
              <t>RFCthis</t>
            </dd>
            <dt>Applications that use this media type:</dt>
            <dd>
              <t>Attestation Verifiers, Endorsers and Reference-Value providers that need to
transfer COSE Sign1 wrapped CoRIM payloads over HTTP(S), CoAP(S), and other
transports.</t>
            </dd>
            <dt>Fragment identifier considerations:</dt>
            <dd>
              <t>n/a</t>
            </dd>
            <dt>Magic number(s):</dt>
            <dd>
              <t><tt>D9 01 F6 D2</tt>, <tt>D9 01 F4 D9 01 F6 D2</tt></t>
            </dd>
            <dt>File extension(s):</dt>
            <dd>
              <t>n/a</t>
            </dd>
            <dt>Macintosh file type code(s):</dt>
            <dd>
              <t>n/a</t>
            </dd>
            <dt>Person &amp; email address to contact for further information:</dt>
            <dd>
              <t>RATS WG mailing list (rats@ietf.org)</t>
            </dd>
            <dt>Intended usage:</dt>
            <dd>
              <t>COMMON</t>
            </dd>
            <dt>Restrictions on usage:</dt>
            <dd>
              <t>none</t>
            </dd>
            <dt>Author/Change controller:</dt>
            <dd>
              <t>IETF</t>
            </dd>
            <dt>Provisional registration?</dt>
            <dd>
              <t>Maybe</t>
            </dd>
          </dl>
        </section>
        <section anchor="sec-mt-corim-unsigned">
          <name>corim-unsigned+cbor</name>
          <dl spacing="compact">
            <dt>Type name:</dt>
            <dd>
              <t><tt>application</tt></t>
            </dd>
            <dt>Subtype name:</dt>
            <dd>
              <t><tt>corim-unsigned+cbor</tt></t>
            </dd>
            <dt>Required parameters:</dt>
            <dd>
              <t>n/a</t>
            </dd>
            <dt>Optional parameters:</dt>
            <dd>
              <t>"profile" (CoRIM profile in string format.  OIDs MUST use the dotted-decimal
notation.)</t>
            </dd>
            <dt>Encoding considerations:</dt>
            <dd>
              <t>binary</t>
            </dd>
            <dt>Security considerations:</dt>
            <dd>
              <t><xref target="sec-sec"/> of RFCthis</t>
            </dd>
            <dt>Interoperability considerations:</dt>
            <dd>
              <t>n/a</t>
            </dd>
            <dt>Published specification:</dt>
            <dd>
              <t>RFCthis</t>
            </dd>
            <dt>Applications that use this media type:</dt>
            <dd>
              <t>Attestation Verifiers, Endorsers and Reference-Value providers that need to
transfer unprotected CoRIM payloads over HTTP(S), CoAP(S), and other
transports.</t>
            </dd>
            <dt>Fragment identifier considerations:</dt>
            <dd>
              <t>n/a</t>
            </dd>
            <dt>Magic number(s):</dt>
            <dd>
              <t><tt>D9 01 F5</tt>, <tt>D9 01 F4 D9 01 F5</tt></t>
            </dd>
            <dt>File extension(s):</dt>
            <dd>
              <t>n/a</t>
            </dd>
            <dt>Macintosh file type code(s):</dt>
            <dd>
              <t>n/a</t>
            </dd>
            <dt>Person &amp; email address to contact for further information:</dt>
            <dd>
              <t>RATS WG mailing list (rats@ietf.org)</t>
            </dd>
            <dt>Intended usage:</dt>
            <dd>
              <t>COMMON</t>
            </dd>
            <dt>Restrictions on usage:</dt>
            <dd>
              <t>none</t>
            </dd>
            <dt>Author/Change controller:</dt>
            <dd>
              <t>IETF</t>
            </dd>
            <dt>Provisional registration?</dt>
            <dd>
              <t>Maybe</t>
            </dd>
          </dl>
        </section>
      </section>
      <section anchor="coap-content-formats-registration">
        <name>CoAP Content-Formats Registration</name>
        <t>IANA is requested to register the two following Content-Format numbers in the
"CoAP Content-Formats" sub-registry, within the "Constrained RESTful
Environments (CoRE) Parameters" Registry <xref target="IANA.core-parameters"/>:</t>
        <table align="left">
          <name>New Content-Formats</name>
          <thead>
            <tr>
              <th align="left">Content-Type</th>
              <th align="left">Content Coding</th>
              <th align="left">ID</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">application/corim-signed+cbor</td>
              <td align="left">-</td>
              <td align="left">TBD1</td>
              <td align="left">RFCthis</td>
            </tr>
            <tr>
              <td align="left">application/corim-unsigned+cbor</td>
              <td align="left">-</td>
              <td align="left">TBD2</td>
              <td align="left">RFCthis</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC4122">
          <front>
            <title>A Universally Unique IDentifier (UUID) URN Namespace</title>
            <author fullname="P. Leach" initials="P." surname="Leach">
              <organization/>
            </author>
            <author fullname="M. Mealling" initials="M." surname="Mealling">
              <organization/>
            </author>
            <author fullname="R. Salz" initials="R." surname="Salz">
              <organization/>
            </author>
            <date month="July" year="2005"/>
            <abstract>
              <t>This specification defines a Uniform Resource Name namespace for UUIDs (Universally Unique IDentifier), also known as GUIDs (Globally Unique IDentifier).  A UUID is 128 bits long, and can guarantee uniqueness across space and time.  UUIDs were originally used in the Apollo Network Computing System and later in the Open Software Foundation\'s (OSF) Distributed Computing Environment (DCE), and then in Microsoft Windows platforms.</t>
              <t>This specification is derived from the DCE specification with the kind permission of the OSF (now known as The Open Group).  Information from earlier versions of the DCE specification have been incorporated into this document.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4122"/>
          <seriesInfo name="DOI" value="10.17487/RFC4122"/>
        </reference>
        <reference anchor="RFC7468">
          <front>
            <title>Textual Encodings of PKIX, PKCS, and CMS Structures</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson">
              <organization/>
            </author>
            <author fullname="S. Leonard" initials="S." surname="Leonard">
              <organization/>
            </author>
            <date month="April" year="2015"/>
            <abstract>
              <t>This document describes and discusses the textual encodings of the Public-Key Infrastructure X.509 (PKIX), Public-Key Cryptography Standards (PKCS), and Cryptographic Message Syntax (CMS).  The textual encodings are well-known, are implemented by several applications and libraries, and are widely deployed.  This document articulates the de facto rules by which existing implementations operate and defines them so that future implementations can interoperate.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7468"/>
          <seriesInfo name="DOI" value="10.17487/RFC7468"/>
        </reference>
        <reference anchor="RFC8152">
          <front>
            <title>CBOR Object Signing and Encryption (COSE)</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad">
              <organization/>
            </author>
            <date month="July" year="2017"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size.  There is a need for the ability to have basic security services defined for this data format. This document defines the CBOR Object Signing and Encryption (COSE) protocol.  This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization.  This specification additionally describes how to represent cryptographic keys using CBOR.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8152"/>
          <seriesInfo name="DOI" value="10.17487/RFC8152"/>
        </reference>
        <reference anchor="RFC8610">
          <front>
            <title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz">
              <organization/>
            </author>
            <author fullname="C. Vigano" initials="C." surname="Vigano">
              <organization/>
            </author>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <date month="June" year="2019"/>
            <abstract>
              <t>This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049).  Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8610"/>
          <seriesInfo name="DOI" value="10.17487/RFC8610"/>
        </reference>
        <reference anchor="RFC9090">
          <front>
            <title>Concise Binary Object Representation (CBOR) Tags for Object Identifiers</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <date month="July" year="2021"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR), defined in RFC 8949, 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.</t>
              <t>This document defines CBOR tags for object identifiers (OIDs) and is the reference document for the IANA registration of the CBOR tags so defined.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9090"/>
          <seriesInfo name="DOI" value="10.17487/RFC9090"/>
        </reference>
        <reference anchor="STD94">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman">
              <organization/>
            </author>
            <date month="December" year="2020"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
              <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049.  It does not create a new version of the format.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="94"/>
          <seriesInfo name="RFC" value="8949"/>
          <seriesInfo name="DOI" value="10.17487/RFC8949"/>
        </reference>
        <reference anchor="STD66">
          <front>
            <title>Uniform Resource Identifier (URI): Generic Syntax</title>
            <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee">
              <organization/>
            </author>
            <author fullname="R. Fielding" initials="R." surname="Fielding">
              <organization/>
            </author>
            <author fullname="L. Masinter" initials="L." surname="Masinter">
              <organization/>
            </author>
            <date month="January" year="2005"/>
            <abstract>
              <t>A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource.  This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet.  The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier.  This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="66"/>
          <seriesInfo name="RFC" value="3986"/>
          <seriesInfo name="DOI" value="10.17487/RFC3986"/>
        </reference>
        <reference anchor="I-D.ietf-sacm-coswid">
          <front>
            <title>Concise Software Identification Tags</title>
            <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="20" month="July" 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>
          <seriesInfo name="Internet-Draft" value="draft-ietf-sacm-coswid-22"/>
        </reference>
        <reference anchor="I-D.ietf-rats-architecture">
          <front>
            <title>Remote Attestation Procedures Architecture</title>
            <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="16" month="August" year="2022"/>
            <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>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-architecture-21"/>
        </reference>
        <reference anchor="I-D.ietf-rats-eat">
          <front>
            <title>The Entity Attestation Token (EAT)</title>
            <author fullname="Laurence Lundblade">
              <organization>Security Theory LLC</organization>
            </author>
            <author fullname="Giridhar Mandyam">
              <organization>Qualcomm Technologies Inc.</organization>
            </author>
            <author fullname="Jeremy O'Donoghue">
              <organization>Qualcomm Technologies Inc.</organization>
            </author>
            <date day="10" month="July" year="2022"/>
            <abstract>
              <t>   An Entity Attestation Token (EAT) provides an attested claims set
   that describes state and characteristics of an entity, a device like
   a phone, IoT device, network equipment or such.  This claims set is
   used by a relying party, server or service to determine how much it
   wishes to trust the entity.

   An EAT is either a CBOR Web Token (CWT) or JSON Web Token (JWT) with
   attestation-oriented claims.  To a large degree, all this document
   does is extend CWT and JWT.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-eat-14"/>
        </reference>
        <reference anchor="IANA.language-subtag-registry" target="https://www.iana.org/assignments/language-subtag-registry">
          <front>
            <title>Language Subtag Registry</title>
            <author>
              <organization abbrev="IANA">Internet Assigned Numbers Authority</organization>
            </author>
          </front>
        </reference>
        <reference anchor="X.690" target="https://www.itu.int/rec/T-REC-X.690">
          <front>
            <title>Information technology — ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)</title>
            <author>
              <organization>International Telecommunications Union</organization>
            </author>
            <date year="2015" month="August"/>
          </front>
          <seriesInfo name="ITU-T" value="Recommendation X.690"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner">
              <organization/>
            </author>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba">
              <organization/>
            </author>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="IANA.media-types" target="https://www.iana.org/assignments/media-types">
          <front>
            <title>Media Types</title>
            <author>
              <organization abbrev="IANA">Internet Assigned Numbers Authority</organization>
            </author>
            <date day="2" month="September" year="2022"/>
          </front>
        </reference>
        <reference anchor="IANA.core-parameters" target="https://www.iana.org/assignments/core-parameters">
          <front>
            <title>Constrained RESTful Environments (CoRE) Parameters</title>
            <author>
              <organization abbrev="IANA">Internet Assigned Numbers Authority</organization>
            </author>
            <date day="8" month="June" year="2012"/>
          </front>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC7942">
          <front>
            <title>Improving Awareness of Running Code: The Implementation Status Section</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer">
              <organization/>
            </author>
            <author fullname="A. Farrel" initials="A." surname="Farrel">
              <organization/>
            </author>
            <date month="July" year="2016"/>
            <abstract>
              <t>This document describes a simple process that allows authors of Internet-Drafts to record the status of known implementations by including an Implementation Status section.  This will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature.</t>
              <t>This process is not mandatory.  Authors of Internet-Drafts are encouraged to consider using the process for their documents, and working groups are invited to think about applying the process to all of their protocol specifications.  This document obsoletes RFC 6982, advancing it to a Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="205"/>
          <seriesInfo name="RFC" value="7942"/>
          <seriesInfo name="DOI" value="10.17487/RFC7942"/>
        </reference>
        <reference anchor="I-D.fdb-rats-psa-endorsements">
          <front>
            <title>Arm's Platform Security Architecture (PSA) Attestation Verifier Endorsements</title>
            <author fullname="Thomas Fossati">
              <organization>Arm Ltd</organization>
            </author>
            <author fullname="Yogesh Deshpande">
              <organization>Arm Ltd</organization>
            </author>
            <author fullname="Henk Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <date day="11" month="May" year="2022"/>
            <abstract>
              <t>   PSA Endorsements include reference values, cryptographic key material
   and certification status information that a Verifier needs in order
   to appraise attestation Evidence produced by a PSA device.  This memo
   defines such PSA Endorsements as a profile of the CoRIM data model.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-fdb-rats-psa-endorsements-01"/>
        </reference>
      </references>
    </references>
    <section anchor="full-corim-cddl">
      <name>Full CoRIM CDDL</name>
      <t><cref anchor="issue_12">Content missing. Tracked at:</cref> https://github.com/ietf-rats/draft-birkholz-rats-corim/issues/80</t>
      <sourcecode type="cddl"><![CDATA[
corim = #6.500($concise-rim-type-choice)

$concise-rim-type-choice /= #6.501(corim-map)
$concise-rim-type-choice /= #6.502(signed-corim)

attest-key-triple-record = [
  environment-map
  [ + $crypto-key-type-choice ]
]

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

class-map = non-empty<{
  ? &(class-id: 0) => $class-id-type-choice
  ? &(vendor: 1) => tstr
  ? &(model: 2) => tstr
  ? &(layer: 3) => uint
  ? &(index: 4) => uint
}>

comid-entity-map =
  entity-map<$comid-role-type-choice, $$comid-entity-map-extension>

$comid-role-type-choice /= &(tag-creator: 0)
$comid-role-type-choice /= &(creator: 1)
$comid-role-type-choice /= &(maintainer: 2)

concise-mid-tag = {
  ? &(language: 0) => text
  &(tag-identity: 1) => tag-identity-map
  ? &(entities: 2) => [ + comid-entity-map ]
  ? &(linked-tags: 3) => [ + linked-tag-map ]
  &(triples: 4) => triples-map
  * $$concise-mid-tag-extension
}

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

corim-entity-map =
  entity-map<$corim-role-type-choice, $$corim-entity-map-extension>

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

corim-locator-map = {
  &(href: 0) => uri
  ? &(thumbprint: 1) => hash-entry
}

corim-map = {
  &(id: 0) => $corim-id-type-choice
  &(tags: 1) => [ + $concise-tag-type-choice ]
  ? &(dependent-rims: 2) => [ + corim-locator-map ]
  ? &(profile: 3) => [ + profile-type-choice ]
  ? &(rim-validity: 4) => validity-map
  ? &(entities: 5) => [ + corim-entity-map ]
  * $$corim-map-extension
}

corim-meta-map = {
  &(signer: 0) => corim-signer-map
  ? &(signature-validity: 1) => validity-map
}

$corim-role-type-choice /= &(manifest-creator: 1)

corim-signer-map = {
  &(signer-name: 0) => $entity-name-type-choice
  ? &(signer-uri: 1) => uri
  * $$corim-signer-map-extension
}

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

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

coswid-triple-record = [
  environment-map
  [ + concise-swid-tag-id ]
]

concise-swid-tag-id = text / bstr .size 16

$crypto-key-type-choice /= tagged-pkix-base64-key-type
$crypto-key-type-choice /= tagged-pkix-base64-cert-type
$crypto-key-type-choice /= tagged-pkix-base64-cert-path-type

tagged-pkix-base64-key-type = #6.554(tstr)
tagged-pkix-base64-cert-type = #6.555(tstr)
tagged-pkix-base64-cert-path-type = #6.556(tstr)

domain-dependency-triple-record = [
  $domain-type-choice
  [ + $domain-type-choice ]
]

domain-membership-triple-record = [
  $domain-type-choice
  [ + environment-map ]
]

$domain-type-choice /= uint
$domain-type-choice /= text
$domain-type-choice /= tagged-uuid-type

endorsed-triple-record = [
  environment-map
  [ + measurement-map ]
]

entity-map<role-type-choice, extension-socket> = {
  &(entity-name: 0) => $entity-name-type-choice
  ? &(reg-id: 1) => uri
  &(role: 2) => [ + role-type-choice ]
  * extension-socket
}

$entity-name-type-choice /= text

environment-map = non-empty<{
  ? &(class: 0) => class-map
  ? &(instance: 1) => $instance-id-type-choice
  ? &(group: 2) => $group-id-type-choice
}>

flags-map = {
  ? &(configured: 0) => bool
  ? &(secure: 1) => bool
  ? &(recovery: 2) => bool
  ? &(debug: 3) => bool
  ? &(replay-protected: 4) => bool
  ? &(integrity-protected: 5) => bool
  * $$flags-map-extension
}

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

identity-triple-record = [
  environment-map
  [ + $crypto-key-type-choice ]
]

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

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

linked-tag-map = {
  &(linked-tag-id: 0) => $tag-id-type-choice
  &(tag-rel: 1) => $tag-rel-type-choice
}

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

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

measurement-map = {
  ? &(mkey: 0) => $measured-element-type-choice
  &(mval: 1) => measurement-values-map
}

measurement-values-map = non-empty<{
  ? &(version: 0) => version-map
  ? &(svn: 1) => svn-type-choice
  ? &(digests: 2) => [ + hash-entry ]
  ? &(flags: 3) => flags-map
  ? (
      &(raw-value: 4) => $raw-value-type-choice,
      ? &(raw-value-mask: 5) => raw-value-mask-type
    )
  ? &(mac-addr: 6) => mac-addr-type-choice
  ? &(ip-addr: 7) =>  ip-addr-type-choice
  ? &(serial-number: 8) => text
  ? &(ueid: 9) => ueid-type
  ? &(uuid: 10) => uuid-type
  ? &(name: 11) => text
  * $$measurement-values-map-extension
}>

non-empty<M> = (M) .and ({ + any => any })

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

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

protected-corim-header-map = {
  &(alg-id: 1) => int
  &(content-type: 3) => "application/corim-unsigned+cbor"
  &(issuer-key-id: 4) => bstr
  &(corim-meta: 8) => bstr .cbor corim-meta-map
  * cose-label => cose-value
}

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

raw-value-mask-type = bytes

reference-triple-record = [
  environment-map
  [ + measurement-map ]
]

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

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

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

tag-identity-map = {
  &(tag-id: 0) => $tag-id-type-choice
  ? &(tag-version: 1) => tag-version-type
}

$tag-rel-type-choice /= &(supplements: 0)
$tag-rel-type-choice /= &(replaces: 1)

tag-version-type = uint .default 0

tagged-corim-map = #6.501(corim-map)

tagged-int-type = #6.551(int)

triples-map = non-empty<{
  ? &(reference-triples: 0) => [ + reference-triple-record ]
  ? &(endorsed-triples: 1)  => [ + endorsed-triple-record ]
  ? &(identity-triples: 2) => [ + identity-triple-record ]
  ? &(attest-key-triples: 3) => [ + attest-key-triple-record ]
  ? &(dependency-triples: 4) => [ + domain-dependency-triple-record ]
  ? &(membership-triples: 5) => [ + domain-membership-triple-record ]
  ? &(coswid-triples: 6) => [ + coswid-triple-record ]
  * $$triples-map-extension
}>

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

unprotected-corim-header-map = {
  * cose-label => cose-value
}

uuid-type = bytes .size 16
tagged-uuid-type = #6.37(uuid-type)

validity-map = {
  ? &(not-before: 0) => time
  &(not-after: 1) => time
}

version-map = {
  &(version: 0) => text
  ? &(version-scheme: 1) => $version-scheme
}

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

payload-or-evidence //= ( payload => payload-entry )
payload-or-evidence //= ( evidence => 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 => one-or-more<text> / one-or-more<int>
)

one-or-more<T> = T / [ 2* T ]

global-attributes = (
  ? lang => text,
  * any-attribute,
)

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

entity-entry = {
  entity-name => text,
  ? reg-id => any-uri,
  role => one-or-more<$role>,
  ? thumbprint => 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 => text,
  href => any-uri,
  ? media => text,
  ? ownership => $ownership,
  rel => $rel,
  ? media-type => text,
  ? use => $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 => text,
  ? channel-type => text,
  ? colloquial-version => text,
  ? description => text,
  ? edition => text,
  ? entitlement-data-required => bool,
  ? entitlement-key => text,
  ? generator =>  text / bstr .size 16,
  ? persistent-id => text,
  ? product => text,
  ? product-family => text,
  ? revision => text,
  ? summary => text,
  ? unspsc-code => text,
  ? unspsc-version => text,
  * $$software-meta-extension,
  global-attributes,
}

path-elements-group = ( ? directory => one-or-more<directory-entry>,
                        ? file => one-or-more<file-entry>,
                      )

resource-collection = (
  path-elements-group,
  ? process => one-or-more<process-entry>,
  ? resource => one-or-more<resource-entry>,
  * $$resource-collection-extension,
)

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

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

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

resource-entry = {
  type => text,
  * $$resource-extension,
  global-attributes,
}

filesystem-item = (
  ? key => bool,
  ? location => text,
  fs-name => text,
  ? root => text,
)

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

evidence-entry = {
  resource-collection,
  ? date => integer-time,
  ? device-id => text,
  ? location => 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

abandon=1
private=2
shared=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

]]></sourcecode>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t><contact fullname="Carl Wallace"/> for review and comments on this document.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+1923IbSXbge35FmlL0AGMAIniThLW6hy1R04wVJa1ITXui
o20WgAJRFlAFVxVIcdjc8Efsy775W/wp/pI9t7xWgVSr1TPj9UzEtIisvJzM
PHnuebLf76vLkd5Vqs7qRTrSz4t8klWpfpfO0jLNJ6k+zuv0oszqa32S5Nks
rWqVjMdleomV3x2fqGkxyZMltJ2WyazuZ2k965dJXfUnRZkt+9vbapJAF0V5
PdJVPVWTIq/SvFpXI12X61RV6/Eyq6qsyOvrFXRzfHT2UqlsVdL3qt7Z3n66
vaOSMk1Geus0nawRmi11VZQfLspivYLSd+myqFN9eFYDfEkNfem3ZTFJp+sy
Pd1SH9JrqD0daYC3p98dnp32dFLbuj19mZbZLEvLnq7Wq9XiWk/mSZYrBRXy
6T8niyJPBdpVNlJa18VkpK/TCv6sirIu01llf18v/Z9Qc5qu6vlIHyiVrOt5
UY5UX2c51PhuoL/Nyg/zYvEnqMmL+F2af/BLi/JipF+WyTqfF7Al+vT4DErT
ZZItRnoOlQdjqfy7KqsHM1tzME3NOGcD/bKoKpirHeZsXiyTyiuGcWB7/0Tr
MdJJuXSjcN2B1P0dfBtMiqXp/I8D/SKt5itYqNR2/8fiAsqCD3cMcE21AWCp
HQ/xeqBPl1k9t92/Tqe2hBYIkXThOszT6aDC77/L8IPf1/cD/TbJbU/fp5n8
pn6+WydXUHKWTuZ5sSguMtpD6fUqWyyyZDkAGKHS7+ZUl/pWeVEuYWaXKSLH
u5fP94Y7OyO9XmdT/v147+DJSE+KKuXfT4b7O8Hvg+E2/J5OF/z7KaA8/B4X
Zb/IpgjD6dmLp3vYu9Z9/kJ/PxtR86d7T7nOwYGtA8fEq7L79MkB/DzuvxjQ
Ca2SyRJOaHWVTQmQKwLVfqYDnJSTeVankxpO0Ujboka9NKlHGv6DHw5fHw4W
SX6xTi7SPhztOrnol+lFVtV4/qMv0OAfBwcwVQJUSNDX9AO6yme8qnCYa7Mh
1/o//+3/6MPT14OhBvJUTLP8QpfrRVqNpNnpKp3AWZ5ww2Kmv02qbKKPTOV3
WFl3vj161+3p50le5FB3Yb9LL1LrOdTSgJL6BUwAvq6zag64F3f2AqpRQ3PA
uROLmmVO0MAwZ+kiBYxZrnOBsNLvc/iHWkyBTo70zvZwv7/9hEoqoEtplcFK
mD6Pz973z2BHqZc0n/I0aRV5EZPyIoXtmNf1qho9enR1dTXI6vUADsKjMp08
Ouu/O3re5/oqM0tsEffx072dkWzwbDrm/V1VSR+GKsoqhSFrOEVxiVLwX6DK
2PT06NVLJMkvn9fzrNpSqt/v62QMCJBMaqUMqa5bSDUsJRLnLmxtMl4gF1pc
4zK/Tcoa1gGIqU6qKq3gr3mqiDsAXYdhciyDvU506XcP9BI3DyoDSS7KFDuY
AnpMU301T7EYS9L8AlASFgOWG5hLqpFoILC0PVdARjRQVn10Ce2QIybjYl3r
ePRJkutxiqcEugUmt1wt0o80fFbrrIJxYammep0DH1sgNk0ArqTWKfCe62Cm
11h9kqxoCWBSONdktSqTrAIMggIDyQBIs50Z9jVel/ABmwMrRbQGTlbMZosi
mcLQuHrqD8LpBnjAAEOnvAbAlKfrSe1N0gwInFKbRrC6/7rOcJ/yotZFvrhW
sxIJvW02K4slTNqufw9gqnWyqApeMDo8Dm9ofaysof6QLNbQOXUi1cqojqY6
iDI4ZFkhx57MAS30MsnXs4SIFRSrKZKcDEYvsFJRwgZcZtC+uMrhO0z/bI67
UkzWCImumGzA6A0RSDVFICQNKPx0ed3LdAXLgN1snpyWyYFY8fzbN+80nzyA
4zmgSgG8OxUIKwS2uoa1WkIXsLW2d1i88TVsx6RYABUR+qYMvCfFFKiRPp7i
UcTdIiBPjl8wBTPVTotZfYXdRhVPv4eaarzOpwsYBw5DwvKdXaIBn+RlBlwq
VeoBUrayQKxB+qV++CcQ4tbpj5byXMDBWY+RPz6yrOIRy4hGZPHkxEfUunoE
XEo9eAB0slxmQvF5GQnxeF1fCRdRKtzDdYU0Alry0gNOT0D0wqM3gzNKiwdn
ieQ/7fO2gXoJS47riocWNuJigbIOHMsqTfXNzaks9h4ePscab28HCEFKQxpg
CXdpg29u+simb2+Bzbx48Yp+w9Ld3vJ2vDk9oiKQAbAIpE5Avv+BVGiF1G6y
XiRweqinaZZc5AWRDDh3TDMzNy1o4mB8QjDywAoHcp9+z58IBoEcBGONknGl
t07en55t9fhf/foN/f3u6H+9P3539AL/Pv3u8NUr+4eSGqffvXn/6oX7y7V8
/ubk5Oj1C24MpTooUlsnh3+ELwjh1pu3Z8dvXh++2sKp1MGWJky0x0KU4SDg
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
BkIvgwIliQpNk3QNlAUePggN21wLLI2DZ0BqnrQgTr4NpGJFqQAnkUnRBwyY
8Ljf3WA63AyeA8aAFx5hC9qBB5rZMKdhimck/chJ6iQkWy5W3GUlZ2C8uG2y
OYSZQh48YPXN4oJSlBDCFTA3WybXftYHlxIr0VdzDOJMbEowvJJpsEx5HRkz
GLNa74OwZVCYQdmt0iWqaxOJuSYrDcpUxn0hTq4uztZdCfZ6MxcRBjST6AM6
m0FgntEtfDbY9ERFZHM0J53xhMoOAo2KK1qsxA0NJKyYBYJ1tF6t7JNGs6EQ
+MPzCRoYrFhtCtqtxJIZldngQ86dE1X8HAofbztTeYI1oOw2QG6Lvm3dlfjD
CYB3UkHqyNJcmXxA3O2gSYtVmtOt0DC/qeyONqLDM7wzy9/MWJI8yCPqkUqR
CFLAEKZtxa4MQB28gUzRckV+vTSBCtVkni5TDxH5lD0n+6AvP/KkxXZBXymF
B7nmKo62Y6Oit75kwpu6hJUc0kO1ipmPiJysjFVD+o6068xW9ro0Zk1GymyK
GXORbfYUrCheYV0k13yycdtgmeSuLgm0nBQTEIvzpNloeR8lylShDEtr4YxB
5ghsPi2+OmoKWk4DQ2vdJRzhR4IXgm+OiVdO8zGC4JojDfkUwuSMhEfltxSg
3TI0eQuioPv7KjoPwn01zcXuz/DKm1X1D2+sO9vkgFWDel5mCdL0dLHof8hR
OXGnAU+TZwb2umZTm/iqfeL5Bi3hgB0tBnwdVCSb+UC/r5wx2SIQR+2i5Fia
LCi84wF5aMyJhLDYoQsrXZBVT5zkM8q0S+ZNd1Cax62gcN1kUabJ9FrPk0ub
3I3RH4YSAQQxLqAmL+x2JWKOBU5IlkfJTo2nagadLVD3O57R5c7Vmm5vmoMo
+bIwzyZqduaziba49oLaUDY8dlfxJsmKQpP4HhOFA7DBXdw83tajKRZljDb7
NWcStSx3XBR4mugG1ZT2J/2YTtY1ZeXg9cEYAknmba5ETVJD3QHQQFQ0AFP8
Q229NhPMzF1BRcpFtVwvamT9jgpjVl4T7EF0U6hgJFwcUWQg9oWQcjSEH6hB
cEBX4iIpkLqyd4zjHZmQ+jiCYEWrZLqdzAEGCuwg7ldhAlgQLfMUs8l+4HQv
s2TC0SolpvrEBJ2vj593e3ye4U8Tbip9kjkiANa3veNNRyPA+LzF8jmSg6yM
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
iJSqqFynhqfj+m6yAgbj/aZy/gM01VvlqEprZPUUGYd2IoKJn6Ocbh7ZbGAY
+nfHXPFBNNKgrNaEvgbAtJk4m5tjECaEEX53DOCpZwb6e0eIcSoM1rtjMKe8
oSOUbkmTUkcWd3OPSgOpvUhNdAp6KyvnNxX1TOqE64zwWhhbkDoM4Ps5YK5z
cc7/CcrYmrFhj4VkvUuujJgf5omk2zKBqav6crQdn2p1nLTVombSoR5sczrU
rlItJjT7loFPhg9F2G5OKBScfVs2mrC9MESpGF/PJQWsdTP4LoGdU4tJDkDN
VnuuGFhJtjpwv1X4NXx2Yk8FdZtvbKg2eyFUS9fZ3pNgUCg58AZScY2w6wMV
1Y++P/G9qc/pHjt5DlAeDq610w1a41N1j545asyrXNn7VMhkVx+yj/QgDEBA
UcGY5muk3x65vIGnawrBebseL7IJjIzZjdjn0SL9DTE5lXm+2rsBE4+FVvm2
wf5xsL/9VK9oLJ6QS4i7cdD9nzHmKqnnZmAezBuB33AXE4NxX7JUjJ9ze9+P
3469bgHdT+CL1SRETYsdKvjsZc2Q7nlmHBhjrAXEOqcZXlBZ2PXgh+LnvNNA
LicpqvO+qHEzshF48PMRo4rdY8HfAT3t6WPYCwozbjnZEn+MjUkX49+chM14
T1Cap+dg5Zar/+isTR7vx4iT5QOmkZWBG4fiFMo09R4YFFfYiK8okzHDjIhZ
jRfsFREnGJbKtXL2U/vE0JtI7KDa8I1E9U3fNsY+NM08HI7dctnHXEfAdW20
4iqyfJV32yH0DyPhPKMwaHXkq+8YUBQ/hUwP91QchVWtowi7qrUjCdniuq2+
t541MQE+sqmRnt4ujfcaPlUcg0WWKpOYWSKx7Ly64cTMBbyWuXm7uummEGcr
jUKQoQQ9VrGT/Ef7hAuHr8sdj3s3T652UJhH3Eo2D7TGRVKGF9vaAwg4NwGa
EJXZBj9+gGJHxnh/gK2xGHh+gVtRb0AMts+HYLXvv5dxQsaFlT+0Vzt8XFCf
gwsm2ZAJxuetnRdXfm8Gy8UTI8CFUfGt17o+f6Nf8CPfNhfL5o22t2nwnMbN
omPqx/c02LQcV368m5MQm23g56fiXumZaj9WpCibYSl0hQJwQHmd80YkLZKC
ZGzldWeT8uZz6y4gIb33MjfaGB/oEn0CEv/ipVKVA5yZs6DoGWpaO9Opv70b
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
1kc2SN92c0aVpjqpR+r/AWxOxEpY1gAA

-->

</rfc>
