<?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.11 (Ruby 2.6.8) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-birkholz-rats-corim-03" category="std" consensus="true" submissionType="IETF" tocDepth="6" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.12.10 -->
  <front>
    <title abbrev="CoRIM">Concise Reference Integrity Manifest</title>
    <seriesInfo name="Internet-Draft" value="draft-birkholz-rats-corim-03"/>
    <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="July" day="11"/>
    <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>Discussion of this document takes place on the
  RATS Working Group mailing list (rats@ietf.org),
  which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/rats/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
  <eref target="https://github.com/ietf-rats/draft-birkholz-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>
        <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>
        <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>
    </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) => [ + 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[
$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)
]]></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="7" month="March" 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-21"/>
        </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="14" month="June" 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-18"/>
        </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>IANA</organization>
            </author>
            <date/>
          </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>IANA</organization>
            </author>
            <date/>
          </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>IANA</organization>
            </author>
            <date/>
          </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 = []
]]></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:
H4sIAPlczGIAA+1923LbSJbgO74iR66olnpIWpJllc2dqi6VJHcp1rK9ltw1
HR01IxBMkhiDAAcXySxZG/MR+7Jv8y3zKfMle255A0DJZXsjdiOmI6otAonM
k5knz/2cHA6H0fVYPYmiOq0zPVbHRZ6klVZv9UyXOk+0OstrPS/Teq3O4zyd
6aqO4smk1NfY+O3ZeTQtkjxewrfTMp7Vw0lavl8U2W/DMq6rYVKU6XKYxTV+
l8A/86Jcj1VVT6OkyCudV001VnXZ6KhqJsu0qtIir9cr6O7s9PJFFKWrkt5X
9f7u7vPd/SgudTxWWxc6aRCqreimKN/Py6JZwdO3elnUWh1d4nhxDX2pN2WR
6GlT6out6L1eQ+vpWAHcA/X26PJioOLath2oa12ms1SXA1U1q1W2VskiTvMo
ggb59J/jrMi1QLtKx5FSdZGM1VpX8GdVlHWpZ5X9vV76P6HlVK/qxVgdRlHc
1IuiHEdDlebQ4ueR+klWDVryYv6s8/f+06Kcj9WLMm7yRQFboy7OLuGpXsZp
NlYLaDwyC/9jldajmW05mmozzuVIvSiqCuZqh7lcFMu48h7DOLDNv9F6jFVc
Lt0o3HYkbX+Ed6OkWJrO/zpSJ7parGChtO3+r8UcngUv7hlgTa0BYGndHuLV
SF0s03phu3+lp/YJLRAia+Y6zPV0VOH7H1N84ff1y0i9iXPb0y86ld/Uz89N
fANPLnWyyIusmKe0h9LrTZplabwcAYzQ6McFtaW+o7wolzCza43I8fbF8cHe
/v5YNU065d/fHRw+G6ukqDT/frb3dD/4fbi3C7+n04x/PweUh9+TohwW6RRh
uLg8eX6AvSs15Df09/dj+vz5wXNuc3ho28Ax8Zo8ef7sEH6eDU9Gqa5nwypO
lnBKq5t0SoDcEKj2NR3iuEwWaa2TGk7RWNlHnXY6rscK/g9fHL06GmVxPm/i
uR7C0a7j+bDU87Sq8fy33sAH/zg6hKkSoEKKfqAf0FU+41WFw1ybDVmr//y3
/6WOLl6N9hSQqWKa5nNVNpmuxvLZxUoncJYT/rCYqZ/iKk3UqWn8Fhur7Z9O
3+4M1HGcFzm0zex76UVaHUMrBSipTmAC8LZJqwXgXruzE2hGH5oDzp1Y1Cxz
ggaGudSZBoxZNrlAWKl3OfxDX0yBTo7V/u7e0+HuM3pSAV3SVQorYfo8u3w3
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
1y+pAAA=

-->

</rfc>
