<?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.34 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-rats-concise-ta-stores-01" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.17.2 -->
  <front>
    <title abbrev="CoTS">Concise TA Stores (CoTS)</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-rats-concise-ta-stores-01"/>
    <author initials="C." surname="Wallace" fullname="Carl Wallace">
      <organization>Red Hound Software</organization>
      <address>
        <email>carl@redhoundsoftware.com</email>
      </address>
    </author>
    <author initials="R." surname="Housley" fullname="Russ Housley">
      <organization>Vigil Security, LLC</organization>
      <address>
        <email>housley@vigilsec.com</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>
    <date year="2023" month="June" day="05"/>
    <area>Security</area>
    <workgroup>Remote ATtestation ProcedureS</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 67?>

<t>Trust anchor (TA) stores may be used for several purposes in the Remote Attestation Procedures (RATS) architecture including verifying endorsements, reference values, digital letters of approval, attestations, or public key certificates. This document describes a Concise Reference Integrity Manifest (CoRIM) extension that may be used to convey optionally constrained trust anchor stores containing optionally constrained trust anchors in support of these purposes.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-rats-concise-ta-stores/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        rats Working Group mailing list (<eref target="mailto:rats@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/rats/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/rats/"/>.
      </t>
    </note>
  </front>
  <middle>
    <?line 71?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The RATS architecture <xref target="RFC9334"/> uses the definition of a trust anchor from <xref target="RFC6024"/>: "A trust anchor represents an authoritative entity via a public key and associated data.  The public key is used to verify digital signatures, and the associated data is used to constrain the types of information for which the trust anchor is authoritative." In the context of RATS, a trust anchor may be a public key or a symmetric key. This document focuses on trust anchors that are represented as public keys.</t>
      <t>The Concise Reference Integrity Manifest (CoRIM) <xref target="I-D.draft-ietf-rats-corim"/> specification defines a binary encoding for reference values using the Concise Binary Object Representation (CBOR) <xref target="RFC8949"/>. Amongst other information, a CoRIM may include key material for use in verifying evidence from an attesting environment (see section 3.11 in <xref target="I-D.draft-ietf-rats-corim"/>). The extension in this document aims to enable public key material to be decoupled from reference data for several reasons, described below.</t>
      <t>Trust anchor (TA) and certification authority (CA) public keys may be less dynamic than the reference data that comprises much of a reference integrity manifest (RIM). For example, TA and CA lifetimes are typically fairly long while software versions change frequently. Conveying keys less frequently and indepedent from reference data enables a reduction in size of RIMs used to convey dynamic information and may result in a reduction in the size of aggregated data transferred to a verifier.  CoRIMs themselves are signed and some means of conveying CoRIM verification keys is required, though ultimately some out-of-band mechanism is required at least for bootstrapping purposes. Relying parties may verify attestations from both hardware and software sources and some trust anchors may be used to verify attestations from both hardware and software sources, as well. The verification information included in a CoRIM optionally includes a trust anchor, leaving trust anchor management to other mechanisms. Additionally, the CoRIM verification-map structure is tied to CoMIDs, leaving no simple means to convey verification information for CoSWIDs <xref target="I-D.draft-ietf-sacm-coswid"/>.</t>
      <t>This document defines means to decouple TAs and CAs from reference data and adds support for constraining the use of trust anchors, chiefly by limiting the environments to which a set of trust anchors is applicable. This constraints mechanism is similar to that in <xref target="fido-metadata"/> and <xref target="fido-service"/> and should align with existing attestation verification practices that tend to use per-vendor trust anchors. TA store instances may be further constrained using coarse-grained purpose values or a set of finer-grained permitted or excluded claims. The trust anchor formats supported by this draft allow for per-trust anchor constraints, if desired. Conveyance of trust anchors is the primary goal, CA certificates may optionally be included for convenience.</t>
      <section anchor="constraints">
        <name>Constraints</name>
        <t>This document aims to support different PKI architectures including scenarios with various combinations of the following characteristics:</t>
        <ul spacing="normal">
          <li>TA stores that contain a TA or set of TAs from a single organization</li>
          <li>TA stores that contain a set of TAs from multiple organizations</li>
          <li>TAs that issue certificates to CAs within the same organiation as the TA</li>
          <li>TAs that issue certificates to CAs from multiple organizations</li>
          <li>CAs that issue certificates that may be used to verify attestations or certificates from the same organization as the TA and CA</li>
          <li>CAs that issue certificates that may be used to verify attestations or certificates from multiple organizations</li>
        </ul>
        <t>Subsequent specifications may define extensions to express constraints as well as processing rules for evaluating constraints expressed in TA stores, TAs, CA certificates and end entity (EE) certificates. Support for constraints is intended to enable misissued certificates to be rejected at verification time. Any public key that can be used to verify a certificate is assumed to also support verification of revocation information, subject to applicable constraints defined by the revocation mechanism.</t>
      </section>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="trust-anchor-management-for-rats">
      <name>Trust anchor management for RATS</name>
      <t>Within RATS, trust anchors may be used to verify digital signatures for a variety of objects, including entity attestation tokens (EATs), CoRIMs, X.509 CA certificates (possibly containing endorsement information), X.509 EE certificates (possibly containing endorsement or attestation information), other attestation data, digital letters of approval <xref target="dloa"/>, revocation information, etc. Depending on context, a raw public key may suffice or additional information may be required, such as subject name or subject public key identifier information found in an X.509 certificate. Trust anchors are usually aggregated into sets that are referred to as "trust anchor stores". Different trust anchor stores may serve different functional purposes.</t>
      <t>Historically, trust anchors and trust anchor stores are not constrained other than by the context(s) in which a trust anchor store is used. The path validation algorithm in <xref target="RFC5280"/> only lists name, public key, public key algorithm and public key parameters as the elements of "trust anchor information". However, there are environments that do constrain trust anchor usage. The RPKI uses extensions from trust anchor certificates as defined in <xref target="RFC3779"/>. FIDO provides a type of constraint by grouping attestation verification root certificates by authenticator model in <xref target="fido-metadata"/>.</t>
      <t>This document aims to support each of these types of models by allowing constrained or unconstrained trust anchors to be grouped by abstract purpose, i.e., similar to traditional trust anchor stores, or grouped by a set of constraints, such as vendor name.</t>
      <section anchor="ta-and-ca-conveyance">
        <name>TA and CA conveyance</name>
        <t>An unsigned concise TA stores object is a list of one or more TA stores, each represented below as a concise-ta-store-map element.</t>
        <artwork><![CDATA[
concise-ta-stores
  concise-ta-store-map #1
  ...
  concise-ta-store-map #n
]]></artwork>
        <t>Each TA store instance identifies a target environment and features one or more public keys. Optional constraints on usage may be defined as well.</t>
        <artwork><![CDATA[
concise-ta-store-map
  language
  store-identity
  target environment
  abstract coarse-grained constraints on TA store usage
  concrete fine-grained constraints on TA store usage
  public keys (possibly included per-instance constraints)
]]></artwork>
        <t>The following sections define the structures to support the concepts shown above.</t>
        <section anchor="the-concise-ta-stores-container">
          <name>The concise-ta-stores Container</name>
          <t>The concise-ta-stores type is the root element for distrbuting sets of trust anchor stores. It contains one or more concise-ta-store-map elements where each element in the list identifies the environments for which a given set of trust anchors is applicable, along with any constraints.</t>
          <artwork><![CDATA[
concise-ta-stores = [+ concise-ta-store]
]]></artwork>
          <t>The $concise-tag-type-choice <xref target="I-D.draft-ietf-rats-corim"/> is extended to include the concise-ta-stores structure. As shown in Section 4 of <xref target="I-D.draft-ietf-rats-corim"/>, the $concise-tag-type-choice type is used within the unsigned-corim-map structure, which is used within COSE-Sign1-corim structure. The COSE-Sign1-corim provides for integrity of the CoTS data. CoTS structures are not intended for use as stand-alone, unsigned structures. The signature on a CoTS instance <bcp14>SHOULD</bcp14> be verified using a TA associated with the cots <xref target="the-tas-list-purpose-type">purpose</xref>.</t>
          <artwork><![CDATA[
$concise-tag-type-choice /= #6.TBD(bytes .cbor concise-ta-stores)
]]></artwork>
        </section>
        <section anchor="the-concise-ta-store-map-container">
          <name>The concise-ta-store-map Container</name>
          <t>A <tt>concise-ta-store-map</tt> is a trust anchor store where the applicability of the store is established by the <tt>tastore.environment</tt> field with optional constraints on use of trust anchors found in the <tt>tastore.keys</tt> field defined by the <tt>tastore.purpose</tt>, <tt>tastore.perm_claims</tt> and <tt>tastore.excl_claims</tt> fields.</t>
          <artwork><![CDATA[
concise-ta-store-map = {
 ? tastore.language => language-type
 ? tastore.store-identity => tag-identity-map
 tastore.environments => environment-group-list
 ? tastore.purposes => [+ $$tas-list-purpose]
 ? tastore.perm_claims => [+ $$claims-set-claims]
 ? tastore.excl_claims => [+ $$claims-set-claims]
 tastore.keys => cas-and-tas-map
}

; concise-ta-store-map indices
tastore.language = 0
tastore.store-identity = 1
tastore.environment = 2
tastore.purpose = 3
tastore.perm_claims = 4
tastore.excl_claims = 5
tastore.keys = 6
]]></artwork>
          <t>The following describes each member of the concise-ta-store-map.</t>
          <dl>
            <dt><tt>tastore.language</tt>:</dt>
            <dd>
              <t>A textual language tag that conforms with the IANA Language Subtag Registry <xref target="IANA.language-subtag-registry"/>.</t>
            </dd>
            <dt><tt>tastore.store-identity</tt>:</dt>
            <dd>
              <t>A composite identifier containing identifying attributes that enable global unique identification of a TA store instance across versions and facilitate linking from other artifacts. The <tt>tag-identity-map</tt> type is defined in <xref target="I-D.draft-ietf-rats-corim"/>.</t>
            </dd>
            <dt><tt>tastore.environment</tt>:</dt>
            <dd>
              <t>A list of environment definitions that limit the contexts for which the <tt>tastore.keys</tt> list is applicable. If the <tt>tastore.environment</tt> is empty, TAs in the <tt>tastore.keys</tt> list may be used for any environment.</t>
            </dd>
            <dt><tt>tastore.purpose</tt>:</dt>
            <dd>
              <t>Contains a list of <xref target="the-tas-list-purpose-type">purposes</xref> for which the <tt>tastore.keys</tt> list may be used. When absent, TAs in the <tt>tastore.keys</tt> list may be used for any purpose. This field is simliar to the extendedKeyUsage extension defined in <xref target="RFC5280"/>. The initial list of purposes are: <tt>cots</tt>, <tt>corim</tt>, <tt>comid</tt>, <tt>coswid</tt>, <tt>eat</tt>, <tt>key-attestation</tt>, <tt>certificate</tt></t>
            </dd>
            <dt><tt>tastore.perm_claims</tt>:</dt>
            <dd>
              <t>Contains a list of <xref target="claims">claim values</xref> <xref target="I-D.draft-ietf-rats-eat"/> for which <tt>tastore.keys</tt> list <bcp14>MAY</bcp14> be used to verify. When this field is absent, TAs in the <tt>tastore.keys</tt> list <bcp14>MAY</bcp14> be used to verify any claim subject to other restrictions.</t>
            </dd>
            <dt><tt>tastore.excl_claims</tt>:</dt>
            <dd>
              <t>Contains a list of <xref target="claims">claim values</xref> <xref target="I-D.draft-ietf-rats-eat"/> for which <tt>tastore.keys</tt> list <bcp14>MUST NOT</bcp14> be used to verify. When this field is absent, TAs in the <tt>tastore.keys</tt> list may be used to verify any claim subject to other restrictions.</t>
            </dd>
            <dt><tt>tastore.keys</tt>:</dt>
            <dd>
              <t>Contains a list of one or more TAs and an optional list of one or more CA certificates.</t>
            </dd>
          </dl>
          <t>The <tt>perm_claims</tt> and <tt>excl_claims</tt> constraints <bcp14>MAY</bcp14> alternatively be expressed as extensions in a TA or CA. Inclusion of support here is intended as an aid for environments that find CBOR encoding support more readily available than DER encoding support.</t>
        </section>
        <section anchor="the-cas-and-tas-map-container">
          <name>The cas-and-tas-map Container</name>
          <t>The <tt>cas-and-tas-map</tt> container provides the means of representing trust anchors and, optionally, CA certificates.</t>
          <artwork><![CDATA[
trust-anchor = [
  format => $pkix-ta-type
  data => bstr
]

cas-and-tas-map = {
 tastore.tas => [ + trust-anchor ]
 ? tastore.cas => [ + pkix-cert-data ]
}

; cas-and-tas-map indices
tastore.tas = 0
tastore.cas = 1

; format values
$pkix-ta-type /= tastore.pkix-cert-type
$pkix-ta-type /= tastore.pkix-tainfo-type
$pkix-ta-type /= tastore.pkix-spki-type

tastore.pkix-cert-type = 0
tastore.pkix-tainfo-type = 1
tastore.pkix-spki-type = 2

; certificate type
pkix-cert-data = bstr
]]></artwork>
          <t>The <tt>tastore.tas</tt> element is used to convey one or more trust anchors and an optional set of one or more CA certificates. TAs are implicitly trusted, i.e., no verification is required prior to use. However, limitations on the use of the TA may be asserted in the corresponding <tt>concise-ta-store-map</tt> or within the TA itself. The <tt>tastore.cas</tt> field provides certificates that may be useful in the context where the corresponding <tt>concise-ta-store-map</tt> is used. These certificates are not implicitly trusted and <bcp14>MUST</bcp14> be validated to a trust anchor before use. End entity certificates <bcp14>SHOULD NOT</bcp14> appear in the tastore.cas list.</t>
          <t>The structure of the data contained in the data field of a trust-anchor is indicated by the format field. The <tt>pkix-cert-type</tt> is used to represent a binary, DER-encoded X.509 Certificate as defined in <xref section="4.1" sectionFormat="of" target="RFC5280"/>. The <tt>pkix-key-type</tt> is used to represent a binary, DER-encoded SubjectPublicKeyInfo as defined in <xref section="4.1" sectionFormat="of" target="RFC5280"/>. The <tt>pkix-tainfo-type</tt> is used to represent a binary, DER-encoded TrustAnchorInfo as defined in <xref section="2" sectionFormat="of" target="RFC5914"/>.</t>
          <t>The <tt>$pkix-ta-type</tt> provides an extensible means for representing trust anchor information. It is defined here as supporting the <tt>pkix-cert-type</tt>, <tt>pkix-spki-type</tt> or <tt>pkix-tainfo-type</tt>. The <tt>pkix-spki-type</tt> may be used where only a raw pubilc key is necessary. The <tt>pkix-cert-type</tt> may be used for most purposes, including scenarios where a raw public key is sufficient and those where additional information from a certificate is required. The <tt>pkix-tainfo-type</tt> is included to support scenarios where constraints information is directly associated with a public key or certificate (vs. constraints for a TA set as provided by <tt>tastore.purpose</tt>, <tt>tastore.perm_claims</tt> and <tt>tastore.excl_claims</tt>).</t>
          <t>The <tt>pkix-cert-data</tt> type is used to represent a binary, DER-encoded X.509 Certificate.</t>
        </section>
      </section>
      <section anchor="environment-definition">
        <name>Environment definition</name>
        <section anchor="the-environment-group-list-array">
          <name>The <tt>environment-group-list</tt> Array</name>
          <t>In CoRIM, "composite devices or systems are represented by a collection of Concise Module Identifiers (CoMID) and Concise Software Identifiers (CoSWID)". For trust anchor management purposes, targeting specific devices or systems may be too granular. For example, a trust anchor or set of trust anchors may apply to multiple device models or versions. The <tt>environment-map</tt> definition as used in a CoRIM is tightly bound to a CoMID. To allow for distribution of key material applicable to a specific or range of devices or software, the <tt>envrionment-group-list</tt> and <tt>environment-group-map</tt> are defined as below. These aim to enable use of coarse-grained naturally occurring values, like vendor, make, model, etc. to determine if a set of trust anchors is applicable to an environment.</t>
          <artwork><![CDATA[
environment-group-list = [* environment-group-list-map]

environment-group-list-map = {
  ? tastore.environment_map => environment-map,
  ? tastore.concise_swid_tag => abbreviated-swid-tag,
  ? tastore.named_ta_store => named-ta-store,
}

; environment-group-list-map indices
tastore.environment_map = 0
tastore.abbreviated_swid_tag = 1
tastore.named_ta_store = 2

]]></artwork>
          <t>An <tt>environment-group-list</tt> is a list of one or more <tt>environment-group-list-map</tt> elements that are used to determine if a given context is applicable. An empty list signifies all contexts <bcp14>SHOULD</bcp14> be considered as applicable.</t>
          <t>An <tt>environment-group-list-map</tt> is one of <tt>environment-map</tt> <xref target="I-D.draft-ietf-rats-corim"/>, <xref target="the-abbreviated-swid-tag-map-container"><tt>abbreviated-swid-tag-map</tt></xref> or <xref target="the-named-ta-store-type"><tt>named-ta-store</tt></xref>.</t>
          <t>As defined in <xref target="I-D.draft-ietf-rats-corim"/>, an <tt>envirionment-map</tt> may contain <tt>class-map</tt>, <tt>$instance-id-type-choice</tt>, <tt>$group-id-type-choice</tt>.</t>
          <t><cref anchor="Q">QUESTION:</cref> Should the above dispense with <tt>environment-map</tt> and <tt>concise-swid-tag</tt> and use or define some identity-focused structure with information common to both (possibly <tt>class-map</tt> from <xref target="I-D.draft-ietf-rats-corim"/>)? If not, should a more complete CoMID representation be used (instead of <tt>environment-map</tt>)?</t>
        </section>
        <section anchor="the-abbreviated-swid-tag-map-container">
          <name>The <tt>abbreviated-swid-tag-map</tt> Container</name>
          <t>The <tt>abbreviated-swid-tag-map</tt> allows for expression of fields from a <tt>concise-swid-tag</tt> <xref target="I-D.draft-ietf-sacm-coswid"/> with all fields except entity designated as optional, compared to the <tt>concise-swid-tag</tt> definition that requires <tt>tag-id</tt>, <tt>tag-version</tt> and <tt>software-name</tt> to be present.</t>
          <artwork><![CDATA[
abbreviated-swid-tag-map = {
  ? 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,
}
]]></artwork>
        </section>
        <section anchor="the-named-ta-store-type">
          <name>The <tt>named-ta-store</tt> Type</name>
          <t>This specification allows for defining sets of trust anchors that are associated with an arbitrary name instead of relative to information typically expressed in a CoMID or CoSWID. Relying parties <bcp14>MUST</bcp14> be configured using the <tt>named-ta-store</tt> value to select a corresponding <tt>concise-ta-store-map</tt> for use.</t>
          <artwork><![CDATA[
named-ta-store = tstr
]]></artwork>
        </section>
      </section>
      <section anchor="constraints-definition">
        <name>Constraints definition</name>
        <section anchor="the-tas-list-purpose-type">
          <name>The <tt>$$tas-list-purpose</tt> Type</name>
          <t>The <tt>$$tas-list-purpose</tt> type provides an extensible means of expressions actions for which the corresponding keys are applicable. For example, trust anchors in a <tt>concise-ta-store-map</tt> with purpose field set to eat may not be used to verify certification paths. Extended key usage values corresponding to each purpose listed below (except for certificate) are defined in a companion specification.</t>
          <artwork><![CDATA[
$$tas-list-purpose /= "cots"
$$tas-list-purpose /= "corim"
$$tas-list-purpose /= "coswid"
$$tas-list-purpose /= "eat"
$$tas-list-purpose /= "key-attestation"
$$tas-list-purpose /= "certificate"
$$tas-list-purpose /= "dloa"
]]></artwork>
          <t><cref anchor="TODO">TODO:</cref> Define verification targets for each purpose.</t>
          <t><cref anchor="Q_1">QUESTION:</cref> Should this have a registry?</t>
        </section>
        <section anchor="claims">
          <name>Claims</name>
          <t>A <tt>concise-ta-store-map</tt> may include lists of permitted and/or excluded claims <xref target="I-D.draft-ietf-rats-eat"/> that limit the applicability of trust anchors present in a <tt>cas-and-tas-map</tt>. A subsequent specification will define processing rules for evaluating constraints expressed in TA stores, TAs, CA certificates and end entity certificates.</t>
        </section>
      </section>
      <section anchor="processing-a-concise-ta-stores-rim">
        <name>Processing a <tt>concise-ta-stores</tt> RIM</name>
        <t>When verifying a signature using a public key that chains back to a <tt>concise-ta-stores</tt> instance, elements in the <tt>concise-ta-stores</tt> array are processed beginning with the first element and proceeding until either a matching set is found that serves the desired purpose or no more elements are available. Each element is evaluated relative to the context, i.e., environment, purpose, artifact contents, etc.</t>
        <t>For example, when verifying a CoRIM, each element in a triples-group <bcp14>MUST</bcp14> have an environment value that matches an <tt>environment-group-list-map</tt> element associated with the <tt>concise-ta-store-map</tt> containing the trust anchor used to verify the CoMID. Similarly, when verifying a CoSWID, the values in a <tt>abbreviated-swid-tag</tt> element from the <tt>concise-ta-store-map</tt> <bcp14>MUST</bcp14> match the CoSWID tag being verified. When verifying a certificate with DICE attestation extension, the information in each DiceTcbInfo element <bcp14>MUST</bcp14> be consistent with an <tt>environment-group-list-map</tt> associated with the <tt>concise-ta-store-map</tt>.</t>
      </section>
      <section anchor="verifying-a-concise-ta-stores-rim">
        <name>Verifying a concise-ta-stores RIM</name>
        <t><xref target="I-D.draft-ietf-rats-corim"/> defers verification rules to <xref target="RFC8152"/> and this document follows suit with the additional recommendation that the public key used to verify the RIM <bcp14>SHOULD</bcp14> be present in or chain to a public key present in a <tt>concise-ta-store-map</tt> with purpose set to <tt>cots</tt>.</t>
      </section>
    </section>
    <section anchor="cddl-definitions">
      <name>CDDL definitions</name>
      <t>The CDDL definitions present in this document are provided below. Definitions from <xref target="I-D.draft-ietf-rats-corim"/> are not repeated here.</t>
      <artwork><![CDATA[
concise-ta-stores = [+ concise-ta-store-map]
$concise-tag-type-choice /= #6.TBD(bytes .cbor concise-ta-stores)

concise-ta-store-map = {
 ? tastore.language => language-type
 ? tastore.store-identity => tag-identity-map
 tastore.environments => environment-group-list
 ? tastore.purposes => [+ $$tas-list-purpose]
 ? tastore.perm_claims => [+ $$claims-set-claims]
 ? tastore.excl_claims => [+ $$claims-set-claims]
 tastore.keys => cas-and-tas-map
}

; concise-ta-store-map indices
tastore.language = 0
tastore.store-identity = 1
tastore.environment = 2
tastore.purpose = 3
tastore.perm_claims = 4
tastore.excl_claims = 5
tastore.keys = 6

trust-anchor = [
  format => $pkix-ta-type
  data => bstr
]

cas-and-tas-map = {
 tastore.tas => [ + trust-anchor ]
 ? tastore.cas => [ + pkix-cert-type ]
}

; cas-and-tas-map indices
tastore.tas = 0
tastore.cas = 1

; format values
$pkix-ta-type /= tastore.pkix-cert-type
$pkix-ta-type /= tastore.pkix-tainfo-type
$pkix-ta-type /= tastore.pkix-spki-type

tastore.pkix-cert-type = 0
tastore.pkix-tainfo-type = 1
tastore.pkix-spki-type = 2

; certificate type
pkix-cert-data = bstr

environment-group-list = [* environment-group-list-map]

environment-group-list-map = {
  ? environment-map => environment-map,
  ? concise-swid-tag => abbreviated-swid-tag,
  ? named-ta-store => named-ta-store,
}

abbreviated-swid-tag = {
  ? 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,
}

named-ta-store = tstr

$tas-list-purpose /= "cots"
$tas-list-purpose /= "corim"
$tas-list-purpose /= "comid"
$tas-list-purpose /= "coswid"
$tas-list-purpose /= "eat"
$tas-list-purpose /= "key-attestation"
$tas-list-purpose /= "certificate"
$tas-list-purpose /= "dloa"
]]></artwork>
    </section>
    <section anchor="examples">
      <name>Examples</name>
      <t>The following examples are isolated <tt>concise-ta-store-map</tt> instances shown as JSON for ease of reading. The final example is an ASCII hex representation of a CBOR-encoded <tt>concise-ta-stores</tt> instance containing each example below (and using a placeholder value for the <tt>concise-ta-stores</tt> tag).</t>
      <t>The TA store below contains a TA from a single organization ("Zesty Hands, Inc,") that is used to verify CoRIMs for that organization. Because this TA does not verify certificates, a bare public key is appropriate. It features a tag identity field containing a UUID for the tag identity and a version indication.</t>
      <artwork><![CDATA[
{
  "tag-identity": {
    "id": "ab0f44b1-bfdc-4604-ab4a-30f80407ebcc",
    "version": 5
  },
  "environments": [
    {
      "environment": {
        "class": {
          "vendor": "Worthless Sea, Inc."
        }
      }
    }
  ],
  "keys": {
    "tas": [
      {
        "format": 2,
        "data":
"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAErYoMAdqe2gJT3CvCcifZxyE9+
N8T6Jy5zbeo5LYtnOipmi1wXA9/gNtlwAbRCRQitH/GEcvUaGlzPZxIOITV/g=="
      }
    ]
  }
}
]]></artwork>
      <t>The TA store below features three TAs from different organizations grouped as a TA store with the name "Miscellaneous TA Store". The first TA is an X.509 certificate. The second and third TAs are TrustAnchorInfo objects containing X.509 certificates. Though not shown in this example, constraints could be added to the TrustAnchorInfo elements, i.e., to restrict verification to attestations asserting a specific vendor name. It features a tag identity field containing a string as the tag identity with no version field present.</t>
      <artwork><![CDATA[
{
  "tag-identity": {
    "id": "some_tag_identity"
  },
  "environments": [
    {
      "namedtastore": "Miscellaneous TA Store"
    }
  ],
  "keys": {
    "tas": [
      {
        "format": 0,
        "data":
        "
MIIBvTCCAWSgAwIBAgIVANCdkL89UlzHc9Ui7XfVniK7pFuIMAoGCCqGSM49BAMCMD4
xCzAJBgNVBAYMAlVTMRAwDgYDVQQKDAdFeGFtcGxlMR0wGwYDVQQDDBRFeGFtcGxlIF
RydXN0IEFuY2hvcjAeFw0yMjA1MTkxNTEzMDdaFw0zMjA1MTYxNTEzMDdaMD4xCzAJB
gNVBAYMAlVTMRAwDgYDVQQKDAdFeGFtcGxlMR0wGwYDVQQDDBRFeGFtcGxlIFRydXN0
IEFuY2hvcjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABONRqhA5JAekvQN8oLwRVND
nAfBnTznLLE+SEGks677sHSeXfcVhZXUeDiN7/fsVNumaiEWRQpZh3zXPwL8rUMyjPz
A9MB0GA1UdDgQWBBQBXEXJrLBGKnFd1xCgeMAVSfEBPzALBgNVHQ8EBAMCAoQwDwYDV
R0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAgNHADBEAiALBidABsfpzG0lTL9Eh9b6AUbq
nzF+koEZbgvppvvt9QIgVoE+bhEN0j6wSPzePjLrEdD+PEgyjHJ5rbA11SPq/1M="
      },
      {
        "format": 1,
        "data":
        "
ooICtjCCArIwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASXz21w12owQAx58euratY
WiHEkhxDU9MEgetrvAtGYZxNnkfLCsp9vLcw8ISXC8tL97k9ZCUtnr0MzLw37XKRABB
T22tHlEou/DenpU0Ozccb3/+fibjCCAj0wUjELMAkGA1UEBgwCVVMxGjAYBgNVBAoME
Vplc3R5IEhhbmRzLCBJbmMuMScwJQYDVQQDDB5aZXN0eSBIYW5kcywgSW5jLiBUcnVz
dCBBbmNob3KgggHlMIIBi6ADAgECAhQL3EqgUXlQPljyddVSRnNHvK+1MzAKBggqhkj
OPQQDAjBSMQswCQYDVQQGDAJVUzEaMBgGA1UECgwRWmVzdHkgSGFuZHMsIEluYy4xJz
AlBgNVBAMMHlplc3R5IEhhbmRzLCBJbmMuIFRydXN0IEFuY2hvcjAeFw0yMjA1MTkxN
TEzMDdaFw0zMjA1MTYxNTEzMDdaMFIxCzAJBgNVBAYMAlVTMRowGAYDVQQKDBFaZXN0
eSBIYW5kcywgSW5jLjEnMCUGA1UEAwweWmVzdHkgSGFuZHMsIEluYy4gVHJ1c3QgQW5
jaG9yMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEl89tcNdqMEAMefHrq2rWFohxJI
cQ1PTBIHra7wLRmGcTZ5HywrKfby3MPCElwvLS/e5PWQlLZ69DMy8N+1ykQKM/MD0wH
QYDVR0OBBYEFPba0eUSi78N6elTQ7Nxxvf/5+JuMAsGA1UdDwQEAwIChDAPBgNVHRMB
Af8EBTADAQH/MAoGCCqGSM49BAMCA0gAMEUCIB2li+f6RCxs2EnvNWciSpIDwiUViWa
yGv1A8xks80eYAiEAmCez4KGrolFKOZT6bvqf1sYQuJBfvtk/y1JQdUvoqlg="
      },
      {
        "format": 1,
        "data":
        "
ooIC1TCCAtEwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATN0f5kzywEzZOYbaV23O3
N8cku39JoLNjlHPwECbXDDWp0LpAO1z248/hoy6UW/TZMTPPR/93XwHsG16mSFy8XBB
SKhM/5gJWjvDbW7qUY1peNm9cfYDCCAlwwXDELMAkGA1UEBgwCVVMxHzAdBgNVBAoMF
lNub2JiaXNoIEFwcGFyZWwsIEluYy4xLDAqBgNVBAMMI1Nub2JiaXNoIEFwcGFyZWws
IEluYy4gVHJ1c3QgQW5jaG9yoIIB+jCCAZ+gAwIBAgIUEBuTRGXAEEVEHhu4xafAnqm
+qYgwCgYIKoZIzj0EAwIwXDELMAkGA1UEBgwCVVMxHzAdBgNVBAoMFlNub2JiaXNoIE
FwcGFyZWwsIEluYy4xLDAqBgNVBAMMI1Nub2JiaXNoIEFwcGFyZWwsIEluYy4gVHJ1c
3QgQW5jaG9yMB4XDTIyMDUxOTE1MTMwOFoXDTMyMDUxNjE1MTMwOFowXDELMAkGA1UE
BgwCVVMxHzAdBgNVBAoMFlNub2JiaXNoIEFwcGFyZWwsIEluYy4xLDAqBgNVBAMMI1N
ub2JiaXNoIEFwcGFyZWwsIEluYy4gVHJ1c3QgQW5jaG9yMFkwEwYHKoZIzj0CAQYIKo
ZIzj0DAQcDQgAEzdH+ZM8sBM2TmG2ldtztzfHJLt/SaCzY5Rz8BAm1ww1qdC6QDtc9u
PP4aMulFv02TEzz0f/d18B7BtepkhcvF6M/MD0wHQYDVR0OBBYEFIqEz/mAlaO8Ntbu
pRjWl42b1x9gMAsGA1UdDwQEAwIChDAPBgNVHRMBAf8EBTADAQH/MAoGCCqGSM49BAM
CA0kAMEYCIQC2cf43f3PPlCO6/dxv40ftIgxxToKHF72UzENv7+y4ygIhAIGtC/r6SG
aFMaP7zD2EloBuIXTtyWu8Hwl+YGdXRY93"
      }
    ]
  }
}
]]></artwork>
      <t>The TA Store below features one TA with an environment targeting CoSWIDs with entity named "Zesty Hands, Inc," and one permitted EAT claim for software named "Bitter Paper".</t>
      <artwork><![CDATA[
{
  "environments": [
    {
      "swidtag": {
        "entity": [
          {
            "entity-name": "Zesty Hands, Inc.",
            "role": "softwareCreator"
          }
        ]
      }
    }
  ],
  "permclaims": [
    {
      "swname": "Bitter Paper"
    }
  ],
  "keys": {
    "tas": [
      {
        "format": 0,
        "data":
        "
MIIB5TCCAYugAwIBAgIUC9xKoFF5UD5Y8nXVUkZzR7yvtTMwCgYIKoZIzj0EAwI
wUjELMAkGA1UEBgwCVVMxGjAYBgNVBAoMEVplc3R5IEhhbmRzLCBJbmMuMScwJQ
YDVQQDDB5aZXN0eSBIYW5kcywgSW5jLiBUcnVzdCBBbmNob3IwHhcNMjIwNTE5M
TUxMzA3WhcNMzIwNTE2MTUxMzA3WjBSMQswCQYDVQQGDAJVUzEaMBgGA1UECgwR
WmVzdHkgSGFuZHMsIEluYy4xJzAlBgNVBAMMHlplc3R5IEhhbmRzLCBJbmMuIFR
ydXN0IEFuY2hvcjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJfPbXDXajBADH
nx66tq1haIcSSHENT0wSB62u8C0ZhnE2eR8sKyn28tzDwhJcLy0v3uT1kJS2evQ
zMvDftcpECjPzA9MB0GA1UdDgQWBBT22tHlEou/DenpU0Ozccb3/+fibjALBgNV
HQ8EBAMCAoQwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAgNIADBFAiAdpYv
n+kQsbNhJ7zVnIkqSA8IlFYlmshr9QPMZLPNHmAIhAJgns+Chq6JRSjmU+m76n9
bGELiQX77ZP8tSUHVL6KpY"
      }
    ]
  }
}
]]></artwork>
      <t>The dump below shows the COSE-Sign1-corim contents from the ASCII hex above. A full base64-encoded version of this example is given in <xref target="b64-examples"/></t>
      <artwork><![CDATA[
18([h'
A3012603746170706C69636174696F6E2F72696D2B63626F72085841A200A20
07441434D45204C7464207369676E696E67206B657901D8207468747470733A
2F2F61636D652E6578616D706C6501A200C11A61CE480001C11A69546780',
{},
h'
A30050EBA916FB1E3E42679214E07E1A9BF9130181590A56D901FB83A301A20
050FB51FAC913C546C39390DC306B167F5A01050281A101A100A10173576F72
74686C657373205365612C20496E632E06A100818202585B3059301306072A8
648CE3D020106082A8648CE3D03010703420004AD8A0C01DA9EDA0253DC2BC2
7227D9C7213DF8DF13E89CB9CDB7A8E4B62D9CE8A99A2D705C0F7F80DB65C00
6D1091422B47FC611CBD46869733D9C483884D5FEA301A10071736F6D655F74
61675F6964656E746974790281A103764D697363656C6C616E656F757320544
12053746F726506A1008382005901C1308201BD30820164A003020102021500
D09D90BF3D525CC773D522ED77D59E22BBA45B88300A06082A8648CE3D04030
2303E310B300906035504060C0255533110300E060355040A0C074578616D70
6C65311D301B06035504030C144578616D706C6520547275737420416E63686
F72301E170D3232303531393135313330375A170D3332303531363135313330
375A303E310B300906035504060C0255533110300E060355040A0C074578616
D706C65311D301B06035504030C144578616D706C6520547275737420416E63
686F723059301306072A8648CE3D020106082A8648CE3D03010703420004E35
1AA10392407A4BD037CA0BC1154D0E701F0674F39CB2C4F9210692CEBBEEC1D
27977DC56165751E0E237BFDFB1536E99A884591429661DF35CFC0BF2B50CCA
33F303D301D0603551D0E04160414015C45C9ACB0462A715DD710A078C01549
F1013F300B0603551D0F040403020284300F0603551D130101FF04053003010
1FF300A06082A8648CE3D040302034700304402200B06274006C7E9CC6D254C
BF4487D6FA0146EA9F317E9281196E0BE9A6FBEDF5022056813E6E110DD23EB
048FCDE3E32EB11D0FE3C48328C7279ADB035D523EAFF5382015902BAA28202
B6308202B23059301306072A8648CE3D020106082A8648CE3D0301070342000
497CF6D70D76A30400C79F1EBAB6AD6168871248710D4F4C1207ADAEF02D198
67136791F2C2B29F6F2DCC3C2125C2F2D2FDEE4F59094B67AF43332F0DFB5CA
4400414F6DAD1E5128BBF0DE9E95343B371C6F7FFE7E26E3082023D3052310B
300906035504060C025553311A3018060355040A0C115A657374792048616E6
4732C20496E632E3127302506035504030C1E5A657374792048616E64732C20
496E632E20547275737420416E63686F72A08201E53082018BA003020102021
40BDC4AA05179503E58F275D552467347BCAFB533300A06082A8648CE3D0403
023052310B300906035504060C025553311A3018060355040A0C115A6573747
92048616E64732C20496E632E3127302506035504030C1E5A65737479204861
6E64732C20496E632E20547275737420416E63686F72301E170D32323035313
93135313330375A170D3332303531363135313330375A3052310B3009060355
04060C025553311A3018060355040A0C115A657374792048616E64732C20496
E632E3127302506035504030C1E5A657374792048616E64732C20496E632E20
547275737420416E63686F723059301306072A8648CE3D020106082A8648CE3
D0301070342000497CF6D70D76A30400C79F1EBAB6AD6168871248710D4F4C1
207ADAEF02D19867136791F2C2B29F6F2DCC3C2125C2F2D2FDEE4F59094B67A
F43332F0DFB5CA440A33F303D301D0603551D0E04160414F6DAD1E5128BBF0D
E9E95343B371C6F7FFE7E26E300B0603551D0F040403020284300F0603551D1
30101FF040530030101FF300A06082A8648CE3D040302034800304502201DA5
8BE7FA442C6CD849EF3567224A9203C225158966B21AFD40F3192CF34798022
1009827B3E0A1ABA2514A3994FA6EFA9FD6C610B8905FBED93FCB5250754BE8
AA5882015902D9A28202D5308202D13059301306072A8648CE3D020106082A8
648CE3D03010703420004CDD1FE64CF2C04CD93986DA576DCEDCDF1C92EDFD2
682CD8E51CFC0409B5C30D6A742E900ED73DB8F3F868CBA516FD364C4CF3D1F
FDDD7C07B06D7A992172F1704148A84CFF98095A3BC36D6EEA518D6978D9BD7
1F603082025C305C310B300906035504060C025553311F301D060355040A0C1
6536E6F6262697368204170706172656C2C20496E632E312C302A0603550403
0C23536E6F6262697368204170706172656C2C20496E632E205472757374204
16E63686F72A08201FA3082019FA0030201020214101B934465C01045441E1B
B8C5A7C09EA9BEA988300A06082A8648CE3D040302305C310B3009060355040
60C025553311F301D060355040A0C16536E6F6262697368204170706172656C
2C20496E632E312C302A06035504030C23536E6F62626973682041707061726
56C2C20496E632E20547275737420416E63686F72301E170D32323035313931
35313330385A170D3332303531363135313330385A305C310B3009060355040
60C025553311F301D060355040A0C16536E6F6262697368204170706172656C
2C20496E632E312C302A06035504030C23536E6F62626973682041707061726
56C2C20496E632E20547275737420416E63686F723059301306072A8648CE3D
020106082A8648CE3D03010703420004CDD1FE64CF2C04CD93986DA576DCEDC
DF1C92EDFD2682CD8E51CFC0409B5C30D6A742E900ED73DB8F3F868CBA516FD
364C4CF3D1FFDDD7C07B06D7A992172F17A33F303D301D0603551D0E0416041
48A84CFF98095A3BC36D6EEA518D6978D9BD71F60300B0603551D0F04040302
0284300F0603551D130101FF040530030101FF300A06082A8648CE3D0403020
349003046022100B671FE377F73CF9423BAFDDC6FE347ED220C714E828717BD
94CC436FEFECB8CA02210081AD0BFAFA48668531A3FBCC3D8496806E2174EDC
96BBC1F097E606757458F77A30281A102A102A2181F715A657374792048616E
64732C20496E632E1821020481A11903E66C42697474657220506170657206A
1008182005901E9308201E53082018BA00302010202140BDC4AA05179503E58
F275D552467347BCAFB533300A06082A8648CE3D0403023052310B300906035
504060C025553311A3018060355040A0C115A657374792048616E64732C2049
6E632E3127302506035504030C1E5A657374792048616E64732C20496E632E2
0547275737420416E63686F72301E170D3232303531393135313330375A170D
3332303531363135313330375A3052310B300906035504060C025553311A301
8060355040A0C115A657374792048616E64732C20496E632E31273025060355
04030C1E5A657374792048616E64732C20496E632E20547275737420416E636
86F723059301306072A8648CE3D020106082A8648CE3D0301070342000497CF
6D70D76A30400C79F1EBAB6AD6168871248710D4F4C1207ADAEF02D19867136
791F2C2B29F6F2DCC3C2125C2F2D2FDEE4F59094B67AF43332F0DFB5CA440A3
3F303D301D0603551D0E04160414F6DAD1E5128BBF0DE9E95343B371C6F7FFE
7E26E300B0603551D0F040403020284300F0603551D130101FF040530030101
FF300A06082A8648CE3D040302034800304502201DA58BE7FA442C6CD849EF3
567224A9203C225158966B21AFD40F3192CF347980221009827B3E0A1ABA251
4A3994FA6EFA9FD6C610B8905FBED93FCB5250754BE8AA5804A200C11A61CE4
80001C11A69546780',
h'
19E82D7A5C7A73B44F06305AECF0EF8CF8764286323F6D2BA27D7291F92FF5B
0CF789F6FF88B7E2EE8EF262B4FA1DFD7D7AFB0AE2C0062C98DB332243B3E99
94'])
]]></artwork>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>As a profile of CoRIM, the security considerations from <xref target="I-D.draft-ietf-rats-corim"/> apply.</t>
      <t>As a means of managing trust anchors, the security considerations from <xref target="RFC6024"/> and <xref target="RFC5934"/> apply. a CoTS signer is roughly analogous to a "management trust anchor" as described in <xref target="RFC5934"/>.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="corim-cbor-tag-registration">
        <name>CoRIM CBOR Tag Registration</name>
        <t>IANA is requested to allocate tags in the "CBOR Tags" registry <xref target="IANA.cbor-tags"/>, preferably with the specific value requested:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Tag</th>
              <th align="left">Data Item</th>
              <th align="left">Semantics</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">507</td>
              <td align="left">tagged array</td>
              <td align="left">Concise Trust Anchor Stores (CoTS)</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="I-D.draft-ietf-rats-corim">
          <front>
            <title>Concise Reference Integrity Manifest</title>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>arm</organization>
            </author>
            <author fullname="Yogesh Deshpande" initials="Y." surname="Deshpande">
              <organization>arm</organization>
            </author>
            <author fullname="Ned Smith" initials="N." surname="Smith">
              <organization>Intel</organization>
            </author>
            <author fullname="Wei Pan" initials="W." surname="Pan">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="9" month="March" year="2023"/>
            <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>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-corim-01"/>
        </reference>
        <reference anchor="I-D.draft-ietf-rats-eat">
          <front>
            <title>The Entity Attestation Token (EAT)</title>
            <author fullname="Laurence Lundblade" initials="L." surname="Lundblade">
              <organization>Security Theory LLC</organization>
            </author>
            <author fullname="Giridhar Mandyam" initials="G." surname="Mandyam">
              <organization>Qualcomm Technologies Inc.</organization>
            </author>
            <author fullname="Jeremy O'Donoghue" initials="J." surname="O'Donoghue">
              <organization>Qualcomm Technologies Inc.</organization>
            </author>
            <author fullname="Carl Wallace" initials="C." surname="Wallace">
              <organization>Red Hound Software, Inc.</organization>
            </author>
            <date day="19" month="December" 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 smartphone, 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.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-eat-19"/>
        </reference>
        <reference anchor="I-D.draft-ietf-sacm-coswid">
          <front>
            <title>Concise Software Identification Tags</title>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Jessica Fitzgerald-McKay" initials="J." surname="Fitzgerald-McKay">
              <organization>National Security Agency</organization>
            </author>
            <author fullname="Charles Schmidt" initials="C." surname="Schmidt">
              <organization>The MITRE Corporation</organization>
            </author>
            <author fullname="David Waltermire" initials="D." surname="Waltermire">
              <organization>National Institute of Standards and Technology</organization>
            </author>
            <date day="24" month="February" year="2023"/>
            <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-24"/>
        </reference>
        <reference anchor="RFC5280">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="D. Cooper" initials="D." surname="Cooper">
              <organization/>
            </author>
            <author fullname="S. Santesson" initials="S." surname="Santesson">
              <organization/>
            </author>
            <author fullname="S. Farrell" initials="S." surname="Farrell">
              <organization/>
            </author>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen">
              <organization/>
            </author>
            <author fullname="R. Housley" initials="R." surname="Housley">
              <organization/>
            </author>
            <author fullname="W. Polk" initials="W." surname="Polk">
              <organization/>
            </author>
            <date month="May" year="2008"/>
            <abstract>
              <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet.  An overview of this approach and model is provided as an introduction.  The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms.  Standard certificate extensions are described and two Internet-specific extensions are defined.  A set of required certificate extensions is specified.  The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions.  An algorithm for X.509 certification path validation is described.  An ASN.1 module and examples are provided in the appendices.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
        <reference anchor="RFC5914">
          <front>
            <title>Trust Anchor Format</title>
            <author fullname="R. Housley" initials="R." surname="Housley">
              <organization/>
            </author>
            <author fullname="S. Ashmore" initials="S." surname="Ashmore">
              <organization/>
            </author>
            <author fullname="C. Wallace" initials="C." surname="Wallace">
              <organization/>
            </author>
            <date month="June" year="2010"/>
            <abstract>
              <t>This document describes a structure for representing trust anchor information.  A trust anchor is an authoritative entity represented by a public key and associated data.  The public key is used to verify digital signatures, and the associated data is used to constrain the types of information or actions for which the trust anchor is authoritative.  The structures defined in this document are intended to satisfy the format-related requirements defined in Trust Anchor Management Requirements.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5914"/>
          <seriesInfo name="DOI" value="10.17487/RFC5914"/>
        </reference>
        <reference anchor="RFC8949">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman">
              <organization/>
            </author>
            <date month="December" year="2020"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
              <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049.  It does not create a new version of the format.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="94"/>
          <seriesInfo name="RFC" value="8949"/>
          <seriesInfo name="DOI" value="10.17487/RFC8949"/>
        </reference>
        <reference anchor="IANA.language-subtag-registry" target="https://www.iana.org/assignments/language-subtag-registry">
          <front>
            <title>Language Subtag Registry</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </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.cbor-tags" target="https://www.iana.org/assignments/cbor-tags">
          <front>
            <title>Concise Binary Object Representation (CBOR) Tags</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC9334">
          <front>
            <title>Remote ATtestation procedureS (RATS) Architecture</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz">
              <organization/>
            </author>
            <author fullname="D. Thaler" initials="D." surname="Thaler">
              <organization/>
            </author>
            <author fullname="M. Richardson" initials="M." surname="Richardson">
              <organization/>
            </author>
            <author fullname="N. Smith" initials="N." surname="Smith">
              <organization/>
            </author>
            <author fullname="W. Pan" initials="W." surname="Pan">
              <organization/>
            </author>
            <date month="January" year="2023"/>
            <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.  It provides a model that is neutral toward processor architectures, the content of Claims, and protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9334"/>
          <seriesInfo name="DOI" value="10.17487/RFC9334"/>
        </reference>
        <reference anchor="RFC6024">
          <front>
            <title>Trust Anchor Management Requirements</title>
            <author fullname="R. Reddy" initials="R." surname="Reddy">
              <organization/>
            </author>
            <author fullname="C. Wallace" initials="C." surname="Wallace">
              <organization/>
            </author>
            <date month="October" year="2010"/>
            <abstract>
              <t>A trust anchor represents an authoritative entity via a public key and associated data.  The public key is used to verify digital signatures, and the associated data is used to constrain the types of information for which the trust anchor is authoritative.  A relying party uses trust anchors to determine if a digitally signed object is valid by verifying a digital signature using the trust anchor's public key, and by enforcing the constraints expressed in the associated data for the trust anchor.  This document describes some of the problems associated with the lack of a standard trust anchor management mechanism and defines requirements for data formats and push-based protocols designed to address these problems.  This  document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6024"/>
          <seriesInfo name="DOI" value="10.17487/RFC6024"/>
        </reference>
        <reference anchor="RFC5934">
          <front>
            <title>Trust Anchor Management Protocol (TAMP)</title>
            <author fullname="R. Housley" initials="R." surname="Housley">
              <organization/>
            </author>
            <author fullname="S. Ashmore" initials="S." surname="Ashmore">
              <organization/>
            </author>
            <author fullname="C. Wallace" initials="C." surname="Wallace">
              <organization/>
            </author>
            <date month="August" year="2010"/>
            <abstract>
              <t>This document describes a transport independent protocol for the management of trust anchors (TAs) and community identifiers stored in a trust anchor store.  The protocol makes use of the Cryptographic Message Syntax (CMS), and a digital signature is used to provide integrity protection and data origin authentication.  The protocol can be used to manage trust anchor stores containing trust anchors represented as Certificate, TBSCertificate, or TrustAnchorInfo objects.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5934"/>
          <seriesInfo name="DOI" value="10.17487/RFC5934"/>
        </reference>
        <reference anchor="RFC3779">
          <front>
            <title>X.509 Extensions for IP Addresses and AS Identifiers</title>
            <author fullname="C. Lynn" initials="C." surname="Lynn">
              <organization/>
            </author>
            <author fullname="S. Kent" initials="S." surname="Kent">
              <organization/>
            </author>
            <author fullname="K. Seo" initials="K." surname="Seo">
              <organization/>
            </author>
            <date month="June" year="2004"/>
            <abstract>
              <t>This document defines two X.509 v3 certificate extensions.  The first binds a list of IP address blocks, or prefixes, to the subject of a certificate.  The second binds a list of autonomous system identifiers to the subject of a certificate.  These extensions may be used to convey the authorization of the subject to use the IP addresses and autonomous system identifiers contained in the extensions.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3779"/>
          <seriesInfo name="DOI" value="10.17487/RFC3779"/>
        </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="fido-metadata" target="https://fidoalliance.org/specs/mds/fido-metadata-statement-v3.0-ps-20210518.html">
          <front>
            <title>FIDO Metadata Statement</title>
            <author>
              <organization>FIDO Alliance</organization>
            </author>
            <date year="2021" month="May"/>
          </front>
        </reference>
        <reference anchor="fido-service" target="https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html">
          <front>
            <title>FIDO Metadata Service</title>
            <author>
              <organization>FIDO Alliance</organization>
            </author>
            <date year="2021" month="May"/>
          </front>
        </reference>
        <reference anchor="dloa" target="https://globalplatform.org/wp-content/uploads/2015/12/GPC_DigitalLetterOfApproval_v1.0.pdf">
          <front>
            <title>GlobalPlatform Card - Digital Letter of Approval Version 1.0</title>
            <author>
              <organization>GlobalPlatform</organization>
            </author>
            <date year="2015" month="November"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 714?>

<section anchor="b64-examples">
      <name>Examples Base64 Encodings</name>
      <t>The base64 encoded data below represents a signed CoRIM that features a <tt>concise-ta-stores</tt> containing the three examples shown above.</t>
      <artwork><![CDATA[
0oRYXaMBJgN0YXBwbGljYXRpb24vcmltK2Nib3IIWEGiAKIAdEFDTUUgTHRkIHN
pZ25pbmcga2V5AdggdGh0dHBzOi8vYWNtZS5leGFtcGxlAaIAwRphzkgAAcEaaV
RngKBZCn6jAFDrqRb7Hj5CZ5IU4H4am/kTAYFZClbZAfuDowGiAFD7UfrJE8VGw
5OQ3DBrFn9aAQUCgaEBoQChAXNXb3J0aGxlc3MgU2VhLCBJbmMuBqEAgYICWFsw
WTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAStigwB2p7aAlPcK8JyJ9nHIT343xP
onLnNt6jkti2c6KmaLXBcD3+A22XABtEJFCK0f8YRy9RoaXM9nEg4hNX+owGhAH
Fzb21lX3RhZ19pZGVudGl0eQKBoQN2TWlzY2VsbGFuZW91cyBUQSBTdG9yZQahA
IOCAFkBwTCCAb0wggFkoAMCAQICFQDQnZC/PVJcx3PVIu131Z4iu6RbiDAKBggq
hkjOPQQDAjA+MQswCQYDVQQGDAJVUzEQMA4GA1UECgwHRXhhbXBsZTEdMBsGA1U
EAwwURXhhbXBsZSBUcnVzdCBBbmNob3IwHhcNMjIwNTE5MTUxMzA3WhcNMzIwNT
E2MTUxMzA3WjA+MQswCQYDVQQGDAJVUzEQMA4GA1UECgwHRXhhbXBsZTEdMBsGA
1UEAwwURXhhbXBsZSBUcnVzdCBBbmNob3IwWTATBgcqhkjOPQIBBggqhkjOPQMB
BwNCAATjUaoQOSQHpL0DfKC8EVTQ5wHwZ085yyxPkhBpLOu+7B0nl33FYWV1Hg4
je/37FTbpmohFkUKWYd81z8C/K1DMoz8wPTAdBgNVHQ4EFgQUAVxFyaywRipxXd
cQoHjAFUnxAT8wCwYDVR0PBAQDAgKEMA8GA1UdEwEB/wQFMAMBAf8wCgYIKoZIz
j0EAwIDRwAwRAIgCwYnQAbH6cxtJUy/RIfW+gFG6p8xfpKBGW4L6ab77fUCIFaB
Pm4RDdI+sEj83j4y6xHQ/jxIMoxyea2wNdUj6v9TggFZArqiggK2MIICsjBZMBM
GByqGSM49AgEGCCqGSM49AwEHA0IABJfPbXDXajBADHnx66tq1haIcSSHENT0wS
B62u8C0ZhnE2eR8sKyn28tzDwhJcLy0v3uT1kJS2evQzMvDftcpEAEFPba0eUSi
78N6elTQ7Nxxvf/5+JuMIICPTBSMQswCQYDVQQGDAJVUzEaMBgGA1UECgwRWmVz
dHkgSGFuZHMsIEluYy4xJzAlBgNVBAMMHlplc3R5IEhhbmRzLCBJbmMuIFRydXN
0IEFuY2hvcqCCAeUwggGLoAMCAQICFAvcSqBReVA+WPJ11VJGc0e8r7UzMAoGCC
qGSM49BAMCMFIxCzAJBgNVBAYMAlVTMRowGAYDVQQKDBFaZXN0eSBIYW5kcywgS
W5jLjEnMCUGA1UEAwweWmVzdHkgSGFuZHMsIEluYy4gVHJ1c3QgQW5jaG9yMB4X
DTIyMDUxOTE1MTMwN1oXDTMyMDUxNjE1MTMwN1owUjELMAkGA1UEBgwCVVMxGjA
YBgNVBAoMEVplc3R5IEhhbmRzLCBJbmMuMScwJQYDVQQDDB5aZXN0eSBIYW5kcy
wgSW5jLiBUcnVzdCBBbmNob3IwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASXz
21w12owQAx58euratYWiHEkhxDU9MEgetrvAtGYZxNnkfLCsp9vLcw8ISXC8tL9
7k9ZCUtnr0MzLw37XKRAoz8wPTAdBgNVHQ4EFgQU9trR5RKLvw3p6VNDs3HG9//
n4m4wCwYDVR0PBAQDAgKEMA8GA1UdEwEB/wQFMAMBAf8wCgYIKoZIzj0EAwIDSA
AwRQIgHaWL5/pELGzYSe81ZyJKkgPCJRWJZrIa/UDzGSzzR5gCIQCYJ7PgoauiU
Uo5lPpu+p/WxhC4kF++2T/LUlB1S+iqWIIBWQLZooIC1TCCAtEwWTATBgcqhkjO
PQIBBggqhkjOPQMBBwNCAATN0f5kzywEzZOYbaV23O3N8cku39JoLNjlHPwECbX
DDWp0LpAO1z248/hoy6UW/TZMTPPR/93XwHsG16mSFy8XBBSKhM/5gJWjvDbW7q
UY1peNm9cfYDCCAlwwXDELMAkGA1UEBgwCVVMxHzAdBgNVBAoMFlNub2JiaXNoI
EFwcGFyZWwsIEluYy4xLDAqBgNVBAMMI1Nub2JiaXNoIEFwcGFyZWwsIEluYy4g
VHJ1c3QgQW5jaG9yoIIB+jCCAZ+gAwIBAgIUEBuTRGXAEEVEHhu4xafAnqm+qYg
wCgYIKoZIzj0EAwIwXDELMAkGA1UEBgwCVVMxHzAdBgNVBAoMFlNub2JiaXNoIE
FwcGFyZWwsIEluYy4xLDAqBgNVBAMMI1Nub2JiaXNoIEFwcGFyZWwsIEluYy4gV
HJ1c3QgQW5jaG9yMB4XDTIyMDUxOTE1MTMwOFoXDTMyMDUxNjE1MTMwOFowXDEL
MAkGA1UEBgwCVVMxHzAdBgNVBAoMFlNub2JiaXNoIEFwcGFyZWwsIEluYy4xLDA
qBgNVBAMMI1Nub2JiaXNoIEFwcGFyZWwsIEluYy4gVHJ1c3QgQW5jaG9yMFkwEw
YHKoZIzj0CAQYIKoZIzj0DAQcDQgAEzdH+ZM8sBM2TmG2ldtztzfHJLt/SaCzY5
Rz8BAm1ww1qdC6QDtc9uPP4aMulFv02TEzz0f/d18B7BtepkhcvF6M/MD0wHQYD
VR0OBBYEFIqEz/mAlaO8NtbupRjWl42b1x9gMAsGA1UdDwQEAwIChDAPBgNVHRM
BAf8EBTADAQH/MAoGCCqGSM49BAMCA0kAMEYCIQC2cf43f3PPlCO6/dxv40ftIg
xxToKHF72UzENv7+y4ygIhAIGtC/r6SGaFMaP7zD2EloBuIXTtyWu8Hwl+YGdXR
Y93owKBoQKhAqIYH3FaZXN0eSBIYW5kcywgSW5jLhghAgSBoRkD5mxCaXR0ZXIg
UGFwZXIGoQCBggBZAekwggHlMIIBi6ADAgECAhQL3EqgUXlQPljyddVSRnNHvK+
1MzAKBggqhkjOPQQDAjBSMQswCQYDVQQGDAJVUzEaMBgGA1UECgwRWmVzdHkgSG
FuZHMsIEluYy4xJzAlBgNVBAMMHlplc3R5IEhhbmRzLCBJbmMuIFRydXN0IEFuY
2hvcjAeFw0yMjA1MTkxNTEzMDdaFw0zMjA1MTYxNTEzMDdaMFIxCzAJBgNVBAYM
AlVTMRowGAYDVQQKDBFaZXN0eSBIYW5kcywgSW5jLjEnMCUGA1UEAwweWmVzdHk
gSGFuZHMsIEluYy4gVHJ1c3QgQW5jaG9yMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQ
cDQgAEl89tcNdqMEAMefHrq2rWFohxJIcQ1PTBIHra7wLRmGcTZ5HywrKfby3MP
CElwvLS/e5PWQlLZ69DMy8N+1ykQKM/MD0wHQYDVR0OBBYEFPba0eUSi78N6elT
Q7Nxxvf/5+JuMAsGA1UdDwQEAwIChDAPBgNVHRMBAf8EBTADAQH/MAoGCCqGSM4
9BAMCA0gAMEUCIB2li+f6RCxs2EnvNWciSpIDwiUViWayGv1A8xks80eYAiEAmC
ez4KGrolFKOZT6bvqf1sYQuJBfvtk/y1JQdUvoqlgEogDBGmHOSAABwRppVGeAW
EAZ6C16XHpztE8GMFrs8O+M+HZChjI/bSuifXKR+S/1sM94n2/4i34u6O8mK0+h
39fXr7CuLABiyY2zMiQ7PpmU
]]></artwork>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Thanks to Sabreen Kaur for spotting a bug in the examples.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
VrBOB1mRMNzZ/2Im7tPRE+zhmqvDLMC1a8wGJ0efkxcLbZqu8dsE2ZTsqNDT
Kac5AxuzPdRqhFGHPpAfrb2t4Bl9VR446MHmq13pyyrmgUtf5dCIsvPJNvV1
UtuAhexydLW5Xg8cooRYhca0FDIBnKRArRAxQ6A8yltsR18oeMJVEI4v3JHd
50eS1BdK/dFwUJKqvFSy+5JdKvMjmZf4mtMfDI5O2BPxQPBYBS78gVeP8jYf
3PiFtvw9foNz/m46ML1BU1yFS7R/zOPjrO79IJrQl1Z2HJvu3elR2vIPkv+N
//5Kp4LmTrY8kMh0Plx+aGYwwD3xJLuIuvToCzlqWi8rc/VYv/SfGm/PvK62
HhvxZ0NtDYzWWDWDR7+pDr854viiW9aX+sAdPb2uTeWYXMvd6sW68tZ3/MrV
YzS7cedTV1g9qMrZ+DryVmq/rbdbblQ/OzcHy5597r3dPr02bhrdu7Pxzz8f
FRb2K9I4l0nYIQspE0WTwHGyF41lL+kovOkqff2AHeaPLKXOH9V0R003HDge
2LEOvlUt+dqFowRMMA6E5ajhvteUTOiLZP3ZMHE6g2Faf7tZ6Be/wybP71td
0noZ+jZOlLj06DCVxTRKkw/mDWgEtE+d2Sy3tzl0EmRKYkS02oqdUNiIuPrF
V4uxct44ZJdUz+Tf1/BB8cYx8UO4Ld90Z1hlMpXwpNJ3I4/4XSHH3DSWXPyW
Nnin/FI9Hhuo2NEe3viTgshvC2L6N2k2Gtqyq+vqfWesrhqaOm7cqdf68OVK
VnreW32g9Nzaw+hu5l7W5tai0VT9c13/dt5pSoqmNvWmIZFX/U290MbXd5r6
2FS9u26zra6M8aNx12pdGurQcs6taHD+6jXb/Op8Ra8bhtZOrzcs0l4PH675
hmktHsXJcvCsOtaKXzefVaHZfXm97ppvTWNow7U3du0xvQYzYBMgf2oGbAIk
m4H21NSa59qarVUdm+m61ZVZV/mGqt1ct79N1MqF6rwsW9eyf7Vq310bZKaO
tFn3bXZ1ZR53zPOXsFqrhfWO8zAa3E2eHnqO4V7Xzkbh3fViarvmfbs1f5qU
3x5uV1dy0Guun2/fiKo0Nf5cFXpDY9y617SW9mA+XARX2vnlzBoKr/rYaap3
nZGp3b6pV0j8eks2cUdUv7UycImkzXfVVv1MU3srmLJ29qZeauPxt8nL880t
rF8dX9dVQzNVFzpwh6oWjuZv57zXvVLMidKvqr3+NzJ7s45ffPOpP17O58tl
pLQa4zvfPO5PzGv+ubrq3L45t89XgTk0jm/N8fq5flEJ+qogdG6/nQnNDHRP
DnCocIhDfb+hR8/AoUFjdd9Vu9p4EC+hoWXLaWra6lpX1c7DmyisBNFftdTX
iuwsAjt6JPdu3XyZvBo9pWmOnShYqtH549Pr9exldKWHc2V5NVjJjc6DLkdX
Su1FedJ70Szgm29Xq3Lt4bKtahrpimJU90x/cWY4s3mPv3kbDPrls+OR28fZ
PfOr3rN51VRfcNdMbbzS7+6ar+fP6iMTDb9pkru5Nyi3Kw1zMulP229XunbR
nzYXzc5gddFKuLJiPwEnOh2t8XhfeRmsV+POfeX5ytV6g9ndGxnqmtafXvv9
8uV4PK57KMFuVYXtNHV10roqm9/GvQevdes9r4fDu057dl1fXh4LzWz7Cdv/
Z63TbIUrnY18bqgXd703025qY7oEfbxq30/v3ob1l3Hn3Fo81Zthw/QWj2vp
9QI41GPrajbr3u5lJUK1V6rJIbG2GjtwxV+dq7FUaxalE9ki1LM5a+o9ugR1
tXL2LGF8V78QBuUWSFeFPNvnyvo9xoknK9HgevitaapNZ1QPvonBveVPXi8a
ZNASbrtaox7YtdVVe3o+6D5V6utVcDnqr8vNW930VsurzplTub1veVdPVcVo
ruXrY2H90rpsnjUNflUnuBNt/kbTHk3rtm/zTq/j1uTrquN1W7Xr19fl6Kxy
fLFoqiGDhlULltjQJ4Z6SyGg3dSIOgIc6AI/gOhvorXKj9Wm2dMbmui5x6Nq
W38NRXO2vL4fuJ15w1i5vTv33ibr86Wgyq8vocw7j6prqlPdeZMuzwPfsy5v
nrrV/vLbSAgfW4sLbbSMXs7WwkVr2Fv637zxv5HIC6iUIvMdIt+95keVl7f1
ynx7unns23di+aYMxuLgZVFWLvyr62evfrsy9f6DYdzP+au5eiO8iZJ8NvHX
1d79Wfep2b29bZ8p5YdVPTwXqtOOtZYfQOQ7l5PmWWV8cf+8NPr3tW+9R2Hu
XE+VwejRgNl5q9WDsS3y9Td1mIi8RbzrRV+8cO2Hax/kYDU4t9ZP96tUkK4M
9VsiRw1hd1uyg2Upx/og+scIPk/HifKGaSy67fMH1TTvzPpkIb3aI3X2bUqO
vz3C/MYpSyPjfH/6hdmTH5t+YfYkN/2mJj0Y3ca6afReb7omiH9zdWP5cK1J
r10/p9cKMyXfn+p3Z0q+P9X8THdCAyliA6DM8VNTDrWm2J2ei94weoveRvWL
q+isY+tvj5X2m6ypU2G1Er4N9WrLiAbKgtzeSnZz4VlLXgTke+NHZ0NB1mpa
5MxfJoOlVY2xIQ8NjW/m29lU9ewb+TrqL8i8/XzvSWJfeFXGh7DhADQQwIYX
wIZHvdHSxcFIKo/Kt7eeflM9G74uJX4UNcavr13/sm7VRNAS18va8VpajxsT
tXEe6WdBtXNObKtp39beDNH0fG3ReOhG6/uFXF95x4/nw4f2o1J+lw/W2eWD
YYUu3EsShfnAfnYeIXldPHuhObPyqZHN7YhWxC9jdXLFF6bajc9Xj3LF+UkX
mku/Y+nWhgeONvyDw4Y+xsrAQSg66akz8Ut6jSt47GkbGiRFB2FzEadHJ8X2
ANAOc0nY1PXAwff/HeVa/ZF+/nWPp4/0YPmOXStJ5lKgxr+3i1JBbfC4SFFO
V14vfcuq9IzKozx7uOu9PL21a+tlBHCxAXLk+3bZQbOMvM8uy8yyxqo+GVw3
nxsrsGUqTdLtvYLtVb7Hi2/0othMrr3DBCP7bbB3mWBkwwZ7h19zMboFZflg
P2uqUSez12o1+iZM7Mag06mb111+1dGq4kLW+afJzBSdthxermeiHL0Zq8nF
4GrNL8uLrvBy0RGdZYu8NZfGKBrMTR0cm02/5pBVzfwasuXYfN+vaYBfY4Ff
M5w/Lsns+KUV9q8nF7W3u1nj5VtHlRue9ehNw0mgtG6bT1e31/WpCkh2MZ6F
x/rkW/Wi3Xme9o6ntepMIf1z88ptPdRqT7dy1OnV766ql/PH7yPZcDGdxyiG
YRUWgNh6vVlSHZNVcmTRY/YOP07lRgvP4/p26FSlNHKcRC3oqdssWIOhI3au
gh4M6OMTcQD8jz9SzBLkT79M/krUMi+IVb5ck6pCja/xVb2qVMvwWYLfVtUU
AezhkyFqcFWswl+8XJElQRV5Hn4IX5MkQSpLhlQReUmHxySRr5XhkVrVhH/N
KjxR1aqVmsILhgz3pKpck+B/aFVWiWiJVlWAvo1qRTShmQx/GXQeFZ6OoguC
WhV0U5J5nhfoX0pFqtZk/q8n5HcwMdkq+AoPPKIIVUsTzLIpidWaIgqSyddM
QVU0SxFgpbJQUXi1UjVgMpYml3H1dBUV3tIqgqXq0EyH3vWyUlZ4Qy/D3IVq
zaqovACNRFlQBR5/ePxdK1dqSBKCi8IZ18q1sshXytVKVRB1IAgSoCyafBUf
kQVYv1iRK1qZrygwNPTO10RVJlVJ1s2ywYswSpWX4VJyBVrBrpSBqDwvqYas
8jrQUVVMQ4WuyoYuajqML4o1Q9FrolA2LNmwhLIpK7qm6IZWU2VTAmGF26as
KooqAnUrOm/VLJk3YGN0nidVQ+AVQRJFTapZelUQdM3AJSmwR/CgJJdlWTIq
lkkJBkupwdqBPWDTKlZNIrBntYoF2y3Byk3kHdhgJSZXuVaVDOyqinTR4X8B
qFIBwlUotSSJCEg0eAyZrRITqwzEAjLhlpeBJLygGex3VVJ5oAvSCr+TsQLz
N3gFtlSzykZFrOh6rYYfRNOo1YyKYsKyNFWqaLIMbKJuEFiCrohY5stmWeBh
Y3gFGpQrFbhRBVqLlUqlXBZgFTxvpndwF2pSyqwE9x4awQQFLW1UBtaVpAJH
42prIq67BjsqIR3KQGYC64ZHTZBAoyyWcTbQHbCgQH+X4e9aRaV3y+ndanaX
4O0/sQQST+9Hl0BgDXQJBa5+J1Ob5QoRVOQTRZT4mipp0KAGxqgGsl6RDN6s
gbDy1ZpklYGnRV2yQLD5qiLqpqaZpi4YRKwpsNU6SB3IYEUweVMs1zTLACwA
YTSB64F/8VC7qFSrgmGVK7qlA7+IWoUHs4KUyxaQD9dusLXDbxMXBz8SL1R0
qaIrqq7xUlVUa0LFMGoCULAGChCmqBALwAC74LX0cQvIJ1E2FWUJ7ljJHcQh
WBDer5R5SgsCf+5hTRHIVMNWksSLIh1ArEk8bEXNVHQdgLki6USzJEmuGVUL
YEqqmqpilQW4D/InAALxmqmogIumYVWwk0pVBoComsAShiGWTY3wkmzpBsAm
YJUm4OzNMkq9KAOm1BTQpTB3EKmyqYLJhZKJQCpqqioipBFQDiiaovZjPEAk
paZbyGFGrQqMDOvTa4olAKBrVdWAXZXlmgAOO1DdkCxJB7yogRNjWrxoCArg
Zw3koaYIFoCuJipW1RLBPS/rogBwACrGEC3DNCULJq0AGNZUS0JJsnjgkArs
PxAXdxqmoBqCWRFEWdPgpqmYSqUslbVyTdCBwy3LrJli1WSLRX4BkoDIkb0y
h3gp52UOWFqlegLwEcRHplhIJADCnLooC2INtr5SkENzx4PxcyR5cA++gGyq
FDrNCoNQ8ELzEEokXjN0SVX5ilBTKgAkFdmCboxKRQRNCxyo6SpQCrFmF5cS
XkxI8UOUIFsr+hglyPaD+ymxA2jJu5GWAe3mUskP7Xo2Y/JDu54tlexf67uk
kWxA8kelkRTF8cPSSIriCNKoHkTkTTkl+wX1XYhMtiH5MCLLFJEpmIIxViGy
ZtYsmLcI1o0hS4oJGgYMX1FSYddg4WJFqMigejRRUC1D4gGeQX1ZIFiKDJ0Q
sHcUWaxpZRPsSlVTob2klhVFstSqaQGcG2g18Zqs8BXEcaVs6RqYOnytImmm
TFS1IiegbCgMlA0m6yIqnO9wAdmpmHXDECzgNh32Ef8Ci1gGwoPJa+imoYOV
qStgY1mGCPpfhHXDhqBalXgFdrHMG1UV+NFUwOowwCDTZKtsyVVZ19QKWOlG
GXqGvsswCLEM0Khgj8BmGTUwUkWhJloghbDXsipDKwvopIDoaTp6CqYJXcho
U8qGohk10J+wlXS1ODD8HEIiK2OqWDpJFa0EsGdF+B8NVRnFiLpDAlqkVX0D
k2AQUc3klPC6WP5IFxvoRLaA2lIZUCtWAaglYExNKUsSmu0CcCA4X6agEU3W
KyoQUAHVr8HPXktX3Ekdcpg836UOOUye71KHHCbPYfAG7CYpPMsHwVum4P3/
9vp3iTL5no39HVEmOVn+EVEmOVneI8oHAZ28S8qZkO8CdPIOG/sQoJOypFBE
rwIYAxaDTgJylWs1q1bWLUUSyxrAtgGaxQTINg2Afb0mSKYsgg6saQZRJF2X
wCE2LVMHWVRZN+D9GuBkqKAZ5GpVBi5Uy5YGmhBVRBUMBBOIIyH9laoG3o7F
KzWzCp5OBRwz2aoB0WIXWqQ/oiALVm2HKUE2TQJBFhEwJHxYUMCeq1Z1SaRe
OUBHDX0A5DweP4O7TZLgBPW3TaV8yFjcYSuSjxiLO2xF8mNmc7po8mNmcypu
5IN4s2krko8YizuWSj5iLO5YKvmIsbhjqeRPuO9oK5Ifd92orUh+3HWjtiL5
iLG4w1YkHzEWd0AL+YixuMNWJB8xFnfYiuQjxiLairxUiKySXaHVyV+JoADE
AYpX9JpaK2uSBFQALlFN3eJNS9YtuVaVRBn4qmxhiFgVa0ZNhL1URMuqaGAW
WTUZt9SSZQ1obJqyaYEK1GCqAigbaA1IwasmaCW+KuqKbGiwtyJujqkoAKt/
/TX39RX4bSYL+tUfevyqn+QLRrH6EQ+YjfD72+lL0egR0oiVSrJnBoVn3nXk
DF85dhr3nr58gL4Qbet1vO8arG3poGGk+Lgge4M4WHPpUMk3jNAvI6HvxAyw
LpN+n7zt+WOsCaSn+47yX92dm8YRe7Nj7mspc4PQk3z0CwA2yUff5YAHC+kL
kbvZVwKwb+Al9KH47YJOmLxY1PN8dmrGHqcnoI+SHsKj9Fg8fgsm9kAP0+H5
khBfSTSnX5tn4/t40vrYrNqT1q+nw30h5J90Wv/kDDyT04icKXzuOEAG/LJh
7p9wH/gbrkH3YyzApaeu/5m+9o59tx+rTmXZZfrWu27nMzxLSqUSPfOdP0PA
aTTZwpnx255D7vefCqkUluJhKRkuScnQI0Ms45MW/ofx0XNnGFOZvYA6K2Dd
VZ+/ebyY1h+n5xiKX/AUCwjvtx8f7KZ2Mb7mHx+0Vf/ce358aM/7orQcTL3o
Urx2++VG4948d9XLhjo0LaPb64279fZLo35N5k9iZd6fDsa2eFdRh+Px8HzC
D+va240rLx/vr6OnTsVLyiVVu6Gu2vPJ28tYVQembd+R9mx8qT3ps+ozwFbw
rd2v1Z8r+lOl0ZPqkj09e+mqj9aT7vWf1NHC8FcwC4CA3ii4MOW78xWp3LTA
tAysmWKrrZ4+tk3Nb+kT9eH6oV++4G0YdVBujnvi3SRJbmrfTHX82NDvrXBF
3lEaGLnjlSbOa7bq3Q4u5Yv1hTKrN7qgDV5viT+7ml1H1eeXyBUH1cupffWg
DYzysSqKD6oWmReWfsmP5Mf2Wmn79kNTmZljaXL9cAxLmah1Yr31RcF7KLcn
T4Iyfzq/WwzPPd5pXcIyrsXuvff2KN6Ffczh3ivCYK31Wh2tOzxX1k8te6KS
xg3YTS/aChPdfX41HlsvPiY9Ww3dahmt2ZN+dnt3MXgt3941FkJZeJLcRbXd
dw2W/CRp9vNZPd6RUm41VSlJKdfbD5NJ/0ELn7rmsKnRehGCtXK99EbnO0nt
rZw2ySe1f2AGhFXrHZzBoS0mcS3Yc8/2WzedVn1+xRujS10277qtyqq+euLl
ynr9evsy0eZXN4tjcFFmHrglj/d3Qn0skWfnrFyzuv351J9YL73L+8ehLLzJ
+tmlYDT9N3l122XFRvWWZFrjVk+9e7XW9nrVduevD0MyaPl1YP3e7FXtyiud
5alvNRXz0ZdmU5Vp0tvEfPWqZTVVWo2T1SoQVqxgtFcgWGpjDB3MWmq/Xh28
Rhe99Vm7Mbo/Hlvn1bn8Oppfauf30lXV7tdqo57esGyN3E6ltjFsHIfms1x+
ltbV13rr7Pm10fRf144trq6HvefqUukCYz2pwTd3PL4Um42GHrKCAPKBioBd
BQHkAxUBaUGAmlU5kl1ljjC92+77ilTJn6iQwAIJklVIfAMJdHoggedXqQSq
y0Hnm9Z27tTj+9sLQbi7OB/wjhzUem+skIrkSuLfWblaqCQhP1a5mtbRkc1C
umthu5AOru0rhiHvrIbZVwxD9lfDvKtom2xXbX+oaJvsqtreJbZKFLQr7cur
5ao8r95dG2G5fq6cnZGZNJU+Lrax1HZUAmLbaozr9v1V5WxuXp2/PXYcWXha
X1y+jG/1i/b9xVPQsM96xtt55+2tXRljod3jRe127NsLt0d6fsW7nS+O52f3
rxNderGOj8Xu2VXP04TOsfvtvtHQ7ltXT/tKY8kHamN3lcaSD9bGbpbGkh+o
jc1XbJIfrI1NZIL8idpYLI0l/5drY8kOmf5IbSx5/1R3zpR8rIx3qzaWHK6b
/25tLNlVHPuB2liyrzj2nbWx5FBx7DtqY8n3imO/UxtLHpWyv0Jj8XKifms8
1ss7lAQC7GQ8UccdzW+/GJXpq24/tPmnBxi/d26t4MM5GM0AA9qT6rysPnA8
hOTPh/zA8RDyw5qXKV7y0VNfG0qWvEvL7ley5Pta9uDxEPK98yHfOR5C3nM+
5MDxEPLe8yF72Jx85HzIjuMh5N3nQ0x/bGjn0/pNR1U1cCLnd+eOeg/+x1NV
F6oP9flbZMrnTSsI5Zvj5nH9SZ88N876nYU7Ap1+3DkTwqYizcQzyS1Li+qN
PL3kjyekrIwegpq+uFI1d/0ovjXdVu12Pu3lAkjq4GXmrzxnOKZl2uT3L7MF
fvWiM/z5aGR7oXNE3Xp79kIDLR27D273jLu0FwGrB5/7UXwytb8YJ0GPxC2P
XxH4hWv1zE63cXP9JXnT4BcOf30h/wemKTRafZ0AAA==

-->

</rfc>
