<?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 3.1.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-wallace-rats-concise-ta-stores-00" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.12.10 -->
  <front>
    <title abbrev="CoTS">Concise TA Stores (CoTS)</title>
    <seriesInfo name="Internet-Draft" value="draft-wallace-rats-concise-ta-stores-00"/>
    <author initials="C." surname="Wallace" fullname="Carl Wallace">
      <organization abbrev="Red Hound">Red Hound Software</organization>
      <address>
        <postal>
          <country>USA</country>
        </postal>
        <email>carl@redhoundsoftware.com</email>
      </address>
    </author>
    <author initials="R." surname="Housley" fullname="Russ Housley">
      <organization abbrev="Vigil Security">Vigil Security, LLC</organization>
      <address>
        <postal>
          <street>516 Dranesville Road</street>
          <city>Herndon</city>
          <region>VA</region>
          <code>20170</code>
          <country>USA</country>
        </postal>
        <email>housley@vigilsec.com</email>
      </address>
    </author>
    <date year="2022" month="June" day="22"/>
    <area>Security</area>
    <workgroup>Remote ATtestation ProcedureS</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <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-wallace-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/"/>.
      </t>
    </note>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>The RATS architecture <xref target="I-D.draft-ietf-rats-architecture"/> 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-birkholz-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-birkholz-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>
    </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-birkholz-rats-corim"/> is extended to include the concise-ta-stores structure. As shown in Section 4 of <xref target="I-D.draft-birkholz-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 concise-ta-store-map is a trust anchor store where the applicability of the store is established by the tastore.environment field with optional constraints on use of trust anchors found in the tastore.keys field defined by the tastore.purpose, tastore.perm_claims and tastore.excl_claims 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>tastore.language:</dt>
            <dd>
              <t>A textual language tag that conforms with the IANA Language Subtag Registry <xref target="IANA.language-subtag-registry"/>.</t>
            </dd>
            <dt>tastore.store-identity:</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 tag-identity-map type is defined in <xref target="I-D.draft-birkholz-rats-corim"/>.</t>
            </dd>
            <dt>tastore.environment:</dt>
            <dd>
              <t>A list of environment definitions that limit the contexts for which the tastore.keys list is applicable. If the tastore.environment is empty, TAs in the tastore.keys list may be used for any environment.</t>
            </dd>
            <dt>tastore.purpose:</dt>
            <dd>
              <t>Contains a list of <xref target="the-tas-list-purpose-type">purposes</xref> for which the tastore.keys list may be used. When absent, TAs in the tastore.keys 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: cots, corim, comid, coswid, eat, key-attestation, certificate</t>
            </dd>
            <dt>tastore.perm_claims:</dt>
            <dd>
              <t>Contains a list of <xref target="claims">claim values</xref> <xref target="I-D.draft-ietf-rats-eat"/> for which tastore.keys list <bcp14>MAY</bcp14> be used to verify. When this field is absent, TAs in the tastore.keys list <bcp14>MAY</bcp14> be used to verify any claim subject to other restrictions.</t>
            </dd>
            <dt>tastore.excl_claims:</dt>
            <dd>
              <t>Contains a list of <xref target="claims">claim values</xref> <xref target="I-D.draft-ietf-rats-eat"/> for which tastore.keys list <bcp14>MUST NOT</bcp14> be used to verify. When this field is absent, TAs in the tastore.keys list may be used to verify any claim subject to other restrictions.</t>
            </dd>
            <dt>tastore.keys:</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 perm_claims and excl_claims 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 cas-and-tas-map 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 tastore.tas 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 concise-ta-store-map or within the TA itself. The tastore.cas field provides certificates that may be useful in the context where the corresponding concise-ta-store-map 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 pkix-cert-type is used to represent a binary, DER-encoded X.509 Certificate as defined in section 4.1 of <xref target="RFC5280"/>. The pkix-key-type is used to represent a binary, DER-encoded SubjectPublicKeyInfo as defined in section 4.1 of <xref target="RFC5280"/>. The pkix-tainfo-type is used to represent a binary, DER-encoded TrustAnchorInfo as defined in section 2 of <xref target="RFC5914"/>.</t>
          <t>The $pkix-ta-type provides an extensible means for representing trust anchor information. It is defined here as supporting the pkix-cert-type, pkix-spki-type or pkix-tainfo-type. The pkix-spki-type may be used where only a raw pubilc key is necessary. The pkix-cert-type 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 pkix-tainfo-type 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 tastore.purpose, tastore.perm_claims and tastore.excl_claims).</t>
          <t>The pkix-cert-data 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 environment-group-list 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 environment-map 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 envrionment-group-list and environment-group-map 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 environment-group-list is a list of one or more environment-group-list-map 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 environment-group-list-map is one of environment-map<xref target="I-D.draft-birkholz-rats-corim"/>, <xref target="the-abbreviated-swid-tag-map-container">abbreviated-swid-tag-map</xref> or <xref target="the-named-ta-store-type">named-ta-store</xref>.</t>
          <t>As defined in <xref target="I-D.draft-birkholz-rats-corim"/>, an envirionment-map may contain class-map, $instance-id-type-choice, $group-id-type-choice.</t>
          <t>QUESTION: Should the above dispense with environment_map and concise_swid_tag and use or define some identity-focused structure with information common to both (possibly class-map from <xref target="I-D.draft-birkholz-rats-corim"/>)? If not, should a more complete CoMID representation be used (instead of environment_map)?</t>
        </section>
        <section anchor="the-abbreviated-swid-tag-map-container">
          <name>The abbreviated-swid-tag-map Container</name>
          <t>The abbreviated-swid-tag-map allows for expression of fields from a concise-swid-tag <xref target="I-D.draft-ietf-sacm-coswid"/> with all fields except entity designated as optional, compared to the concise-swid-tag definition that requires tag-id, tag-version and software-name 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 named-ta-store 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 named-ta-store value to select a corresponding concise-ta-store-map 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 $$tas-list-purpose Type</name>
          <t>The $$tas-list-purpose type provides an extensible means of expressions actions for which the corresponding keys are applicable. For example, trust anchors in a concise-ta-store-map with purpose field set to eat may not be used to verification 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>TODO - define verification targets for each purpose.
QUESTION - should this have a registry?</t>
        </section>
        <section anchor="claims">
          <name>Claims</name>
          <t>A concise-ta-store-map 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 cas-and-tas-map. 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 concise-ta-stores RIM</name>
        <t>When verifying a signature using a public key that chains back to a concise-ta-stores instance, elements in the concise-ta-stores 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 environment-group-list-map element associated with the concise-ta-store-map containing the trust anchor used to verify the CoMID. Similarly, when verifying a CoSWID, the values in a abbreviated-swid-tag element from the concise-ta-store-map <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 environment-group-list-map associated with the concise-ta-store-map.</t>
      </section>
      <section anchor="verifying-a-concise-ta-stores-rim">
        <name>Verifying a concise-ta-stores RIM</name>
        <t><xref target="I-D.draft-birkholz-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 concise-ta-store-map with purpose set to cots.</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-birkholz-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 concise-ta-store-map instances shown as JSON for ease of reading. The final example is an ASCII hex representation of a CBOR-encoded concise-ta-stores instance containing each example below (and using a placeholder value for the concise-ta-stores 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.</t>
      <artwork><![CDATA[
{
  "environments": [
    {
      "environment": {
        "class": {
          "vendor": "Worthless Sea, Inc."
        }
      }
    }
  ],
  "purposes": [
    "corim"
  ],
  "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 added to the TrustAnchorInfo elements, i.e., to restrict verification to attestations asserting a specific vendor name.</t>
      <artwork><![CDATA[
{
  "environments": [
    {
      "namedtastore": "Miscellaneous TA Store"
    }
  ],
  "keys": {
    "tas": [
      {
        "data":
"
MIIBvTCCAWSgAwIBAgIVANCdkL89UlzHc9Ui7XfVniK7pFuIMAoGCCqGSM49BAMCMD4
xCzAJBgNVBAYMAlVTMRAwDgYDVQQKDAdFeGFtcGxlMR0wGwYDVQQDDBRFeGFtcGxlIF
RydXN0IEFuY2hvcjAeFw0yMjA1MTkxNTEzMDdaFw0zMjA1MTYxNTEzMDdaMD4xCzAJB
gNVBAYMAlVTMRAwDgYDVQQKDAdFeGFtcGxlMR0wGwYDVQQDDBRFeGFtcGxlIFRydXN0
IEFuY2hvcjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABONRqhA5JAekvQN8oLwRVND
nAfBnTznLLE+SEGks677sHSeXfcVhZXUeDiN7/
fsVNumaiEWRQpZh3zXPwL8rUMyjPzA9MB0GA1UdDgQWBBQBXEXJrLBGKnFd1xCgeMAV
SfEBPzALBgNVHQ8EBAMCAoQwDwYDVR0TAQH/BAUwAwEB/
zAKBggqhkjOPQQDAgNHADBEAiALBidABsfpzG0lTL9Eh9b6AUbqnzF+
koEZbgvppvvt9QIgVoE+bhEN0j6wSPzePjLrEdD+PEgyjHJ5rbA11SPq/1M="
      },
      {
        "format": 1,
        "data":
"
ooICtjCCArIwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASXz21w12owQAx58euratY
WiHEkhxDU9MEgetrvAtGYZxNnkfLCsp9vLcw8ISXC8tL97k9ZCUtnr0MzLw37XKRABB
T22tHlEou/DenpU0Ozccb3/+
fibjCCAj0wUjELMAkGA1UEBgwCVVMxGjAYBgNVBAoMEVplc3R5IEhhbmRzLCBJbmMuM
ScwJQYDVQQDDB5aZXN0eSBIYW5kcywgSW5jLiBUcnVzdCBBbmNob3KgggHlMIIBi6AD
AgECAhQL3EqgUXlQPljyddVSRnNHvK+
1MzAKBggqhkjOPQQDAjBSMQswCQYDVQQGDAJVUzEaMBgGA1UECgwRWmVzdHkgSGFuZH
MsIEluYy4xJzAlBgNVBAMMHlplc3R5IEhhbmRzLCBJbmMuIFRydXN0IEFuY2hvcjAeF
w0yMjA1MTkxNTEzMDdaFw0zMjA1MTYxNTEzMDdaMFIxCzAJBgNVBAYMAlVTMRowGAYD
VQQKDBFaZXN0eSBIYW5kcywgSW5jLjEnMCUGA1UEAwweWmVzdHkgSGFuZHMsIEluYy4
gVHJ1c3QgQW5jaG9yMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEl89tcNdqMEAMef
Hrq2rWFohxJIcQ1PTBIHra7wLRmGcTZ5HywrKfby3MPCElwvLS/e5PWQlLZ69DMy8N+
1ykQKM/MD0wHQYDVR0OBBYEFPba0eUSi78N6elTQ7Nxxvf/5+
JuMAsGA1UdDwQEAwIChDAPBgNVHRMBAf8EBTADAQH/
MAoGCCqGSM49BAMCA0gAMEUCIB2li+
f6RCxs2EnvNWciSpIDwiUViWayGv1A8xks80eYAiEAmCez4KGrolFKOZT6bvqf1sYQu
JBfvtk/y1JQdUvoqlg="
      },
      {
        "format": 1,
        "data":
"
ooIC1TCCAtEwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATN0f5kzywEzZOYbaV23O3
N8cku39JoLNjlHPwECbXDDWp0LpAO1z248/hoy6UW/TZMTPPR/
93XwHsG16mSFy8XBBSKhM/
5gJWjvDbW7qUY1peNm9cfYDCCAlwwXDELMAkGA1UEBgwCVVMxHzAdBgNVBAoMFlNub2
JiaXNoIEFwcGFyZWwsIEluYy4xLDAqBgNVBAMMI1Nub2JiaXNoIEFwcGFyZWwsIEluY
y4gVHJ1c3QgQW5jaG9yoIIB+jCCAZ+gAwIBAgIUEBuTRGXAEEVEHhu4xafAnqm+
qYgwCgYIKoZIzj0EAwIwXDELMAkGA1UEBgwCVVMxHzAdBgNVBAoMFlNub2JiaXNoIEF
wcGFyZWwsIEluYy4xLDAqBgNVBAMMI1Nub2JiaXNoIEFwcGFyZWwsIEluYy4gVHJ1c3
QgQW5jaG9yMB4XDTIyMDUxOTE1MTMwOFoXDTMyMDUxNjE1MTMwOFowXDELMAkGA1UEB
gwCVVMxHzAdBgNVBAoMFlNub2JiaXNoIEFwcGFyZWwsIEluYy4xLDAqBgNVBAMMI1Nu
b2JiaXNoIEFwcGFyZWwsIEluYy4gVHJ1c3QgQW5jaG9yMFkwEwYHKoZIzj0CAQYIKoZ
Izj0DAQcDQgAEzdH+ZM8sBM2TmG2ldtztzfHJLt/
SaCzY5Rz8BAm1ww1qdC6QDtc9uPP4aMulFv02TEzz0f/d18B7BtepkhcvF6M/
MD0wHQYDVR0OBBYEFIqEz/
mAlaO8NtbupRjWl42b1x9gMAsGA1UdDwQEAwIChDAPBgNVHRMBAf8EBTADAQH/
MAoGCCqGSM49BAMCA0kAMEYCIQC2cf43f3PPlCO6/dxv40ftIgxxToKHF72UzENv7+
y4ygIhAIGtC/r6SGaFMaP7zD2EloBuIXTtyWu8Hwl+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": [
      {
        "data":
"
MIIB5TCCAYugAwIBAgIUC9xKoFF5UD5Y8nXVUkZzR7yvtTMwCgYIKoZIzj0EAwI
wUjELMAkGA1UEBgwCVVMxGjAYBgNVBAoMEVplc3R5IEhhbmRzLCBJbmMuMScwJQ
YDVQQDDB5aZXN0eSBIYW5kcywgSW5jLiBUcnVzdCBBbmNob3IwHhcNMjIwNTE5M
TUxMzA3WhcNMzIwNTE2MTUxMzA3WjBSMQswCQYDVQQGDAJVUzEaMBgGA1UECgwR
WmVzdHkgSGFuZHMsIEluYy4xJzAlBgNVBAMMHlplc3R5IEhhbmRzLCBJbmMuIFR
ydXN0IEFuY2hvcjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJfPbXDXajBADH
nx66tq1haIcSSHENT0wSB62u8C0ZhnE2eR8sKyn28tzDwhJcLy0v3uT1kJS2evQ
zMvDftcpECjPzA9MB0GA1UdDgQWBBT22tHlEou/DenpU0Ozccb3/+
fibjALBgNVHQ8EBAMCAoQwDwYDVR0TAQH/BAUwAwEB/
zAKBggqhkjOPQQDAgNIADBFAiAdpYvn+
kQsbNhJ7zVnIkqSA8IlFYlmshr9QPMZLPNHmAIhAJgns+Chq6JRSjmU+
m76n9bGELiQX77ZP8tSUHVL6KpY"
      }
    ]
  }
}
]]></artwork>
      <t>The ASCII hex below represents a signed CoRIM that features a concise-ta-stores containing the three examples shown above.</t>
      <artwork><![CDATA[
D2 84 58 5D A3 01 26 03 74 61 70 70 6C 69 63 61
74 69 6F 6E 2F 72 69 6D 2B 63 62 6F 72 08 58 41
A2 00 A2 00 74 41 43 4D 45 20 4C 74 64 20 73 69
67 6E 69 6E 67 20 6B 65 79 01 D8 20 74 68 74 74
70 73 3A 2F 2F 61 63 6D 65 2E 65 78 61 6D 70 6C
65 01 A2 00 C1 1A 61 CE 48 00 01 C1 1A 69 54 67
80 A0 59 0B 10 A3 00 50 70 2F 47 5D E6 6B 4F 61
A5 8E 3C EF 3C CD 6E 44 01 81 59 0A E8 D9 01 FB
83 A2 01 81 A1 01 A1 00 A1 01 73 57 6F 72 74 68
6C 65 73 73 20 53 65 61 2C 20 49 6E 63 2E 05 A1
00 81 82 02 58 5B 30 59 30 13 06 07 2A 86 48 CE
3D 02 01 06 08 2A 86 48 CE 3D 03 01 07 03 42 00
04 AD 8A 0C 01 DA 9E DA 02 53 DC 2B C2 72 27 D9
C7 21 3D F8 DF 13 E8 9C B9 CD B7 A8 E4 B6 2D 9C
E8 A9 9A 2D 70 5C 0F 7F 80 DB 65 C0 06 D1 09 14
22 B4 7F C6 11 CB D4 68 69 73 3D 9C 48 38 84 D5
FE A2 01 81 A1 03 76 4D 69 73 63 65 6C 6C 61 6E
65 6F 75 73 20 54 41 20 53 74 6F 72 65 05 A1 00
83 82 01 59 02 7E A2 82 02 7A 30 82 02 76 30 59
30 13 06 07 2A 86 48 CE 3D 02 01 06 08 2A 86 48
CE 3D 03 01 07 03 42 00 04 E3 51 AA 10 39 24 07
A4 BD 03 7C A0 BC 11 54 D0 E7 01 F0 67 4F 39 CB
2C 4F 92 10 69 2C EB BE EC 1D 27 97 7D C5 61 65
75 1E 0E 23 7B FD FB 15 36 E9 9A 88 45 91 42 96
61 DF 35 CF C0 BF 2B 50 CC 04 14 01 5C 45 C9 AC
B0 46 2A 71 5D D7 10 A0 78 C0 15 49 F1 01 3F 30
82 02 01 30 3E 31 0B 30 09 06 03 55 04 06 0C 02
55 53 31 10 30 0E 06 03 55 04 0A 0C 07 45 78 61
6D 70 6C 65 31 1D 30 1B 06 03 55 04 03 0C 14 45
78 61 6D 70 6C 65 20 54 72 75 73 74 20 41 6E 63
68 6F 72 A0 82 01 BD 30 82 01 64 A0 03 02 01 02
02 15 00 D0 9D 90 BF 3D 52 5C C7 73 D5 22 ED 77
D5 9E 22 BB A4 5B 88 30 0A 06 08 2A 86 48 CE 3D
04 03 02 30 3E 31 0B 30 09 06 03 55 04 06 0C 02
55 53 31 10 30 0E 06 03 55 04 0A 0C 07 45 78 61
6D 70 6C 65 31 1D 30 1B 06 03 55 04 03 0C 14 45
78 61 6D 70 6C 65 20 54 72 75 73 74 20 41 6E 63
68 6F 72 30 1E 17 0D 32 32 30 35 31 39 31 35 31
33 30 37 5A 17 0D 33 32 30 35 31 36 31 35 31 33
30 37 5A 30 3E 31 0B 30 09 06 03 55 04 06 0C 02
55 53 31 10 30 0E 06 03 55 04 0A 0C 07 45 78 61
6D 70 6C 65 31 1D 30 1B 06 03 55 04 03 0C 14 45
78 61 6D 70 6C 65 20 54 72 75 73 74 20 41 6E 63
68 6F 72 30 59 30 13 06 07 2A 86 48 CE 3D 02 01
06 08 2A 86 48 CE 3D 03 01 07 03 42 00 04 E3 51
AA 10 39 24 07 A4 BD 03 7C A0 BC 11 54 D0 E7 01
F0 67 4F 39 CB 2C 4F 92 10 69 2C EB BE EC 1D 27
97 7D C5 61 65 75 1E 0E 23 7B FD FB 15 36 E9 9A
88 45 91 42 96 61 DF 35 CF C0 BF 2B 50 CC A3 3F
30 3D 30 1D 06 03 55 1D 0E 04 16 04 14 01 5C 45
C9 AC B0 46 2A 71 5D D7 10 A0 78 C0 15 49 F1 01
3F 30 0B 06 03 55 1D 0F 04 04 03 02 02 84 30 0F
06 03 55 1D 13 01 01 FF 04 05 30 03 01 01 FF 30
0A 06 08 2A 86 48 CE 3D 04 03 02 03 47 00 30 44
02 20 0B 06 27 40 06 C7 E9 CC 6D 25 4C BF 44 87
D6 FA 01 46 EA 9F 31 7E 92 81 19 6E 0B E9 A6 FB
ED F5 02 20 56 81 3E 6E 11 0D D2 3E B0 48 FC DE
3E 32 EB 11 D0 FE 3C 48 32 8C 72 79 AD B0 35 D5
23 EA FF 53 82 01 59 02 BA A2 82 02 B6 30 82 02
B2 30 59 30 13 06 07 2A 86 48 CE 3D 02 01 06 08
2A 86 48 CE 3D 03 01 07 03 42 00 04 97 CF 6D 70
D7 6A 30 40 0C 79 F1 EB AB 6A D6 16 88 71 24 87
10 D4 F4 C1 20 7A DA EF 02 D1 98 67 13 67 91 F2
C2 B2 9F 6F 2D CC 3C 21 25 C2 F2 D2 FD EE 4F 59
09 4B 67 AF 43 33 2F 0D FB 5C A4 40 04 14 F6 DA
D1 E5 12 8B BF 0D E9 E9 53 43 B3 71 C6 F7 FF E7
E2 6E 30 82 02 3D 30 52 31 0B 30 09 06 03 55 04
06 0C 02 55 53 31 1A 30 18 06 03 55 04 0A 0C 11
5A 65 73 74 79 20 48 61 6E 64 73 2C 20 49 6E 63
2E 31 27 30 25 06 03 55 04 03 0C 1E 5A 65 73 74
79 20 48 61 6E 64 73 2C 20 49 6E 63 2E 20 54 72
75 73 74 20 41 6E 63 68 6F 72 A0 82 01 E5 30 82
01 8B A0 03 02 01 02 02 14 0B DC 4A A0 51 79 50
3E 58 F2 75 D5 52 46 73 47 BC AF B5 33 30 0A 06
08 2A 86 48 CE 3D 04 03 02 30 52 31 0B 30 09 06
03 55 04 06 0C 02 55 53 31 1A 30 18 06 03 55 04
0A 0C 11 5A 65 73 74 79 20 48 61 6E 64 73 2C 20
49 6E 63 2E 31 27 30 25 06 03 55 04 03 0C 1E 5A
65 73 74 79 20 48 61 6E 64 73 2C 20 49 6E 63 2E
20 54 72 75 73 74 20 41 6E 63 68 6F 72 30 1E 17
0D 32 32 30 35 31 39 31 35 31 33 30 37 5A 17 0D
33 32 30 35 31 36 31 35 31 33 30 37 5A 30 52 31
0B 30 09 06 03 55 04 06 0C 02 55 53 31 1A 30 18
06 03 55 04 0A 0C 11 5A 65 73 74 79 20 48 61 6E
64 73 2C 20 49 6E 63 2E 31 27 30 25 06 03 55 04
03 0C 1E 5A 65 73 74 79 20 48 61 6E 64 73 2C 20
49 6E 63 2E 20 54 72 75 73 74 20 41 6E 63 68 6F
72 30 59 30 13 06 07 2A 86 48 CE 3D 02 01 06 08
2A 86 48 CE 3D 03 01 07 03 42 00 04 97 CF 6D 70
D7 6A 30 40 0C 79 F1 EB AB 6A D6 16 88 71 24 87
10 D4 F4 C1 20 7A DA EF 02 D1 98 67 13 67 91 F2
C2 B2 9F 6F 2D CC 3C 21 25 C2 F2 D2 FD EE 4F 59
09 4B 67 AF 43 33 2F 0D FB 5C A4 40 A3 3F 30 3D
30 1D 06 03 55 1D 0E 04 16 04 14 F6 DA D1 E5 12
8B BF 0D E9 E9 53 43 B3 71 C6 F7 FF E7 E2 6E 30
0B 06 03 55 1D 0F 04 04 03 02 02 84 30 0F 06 03
55 1D 13 01 01 FF 04 05 30 03 01 01 FF 30 0A 06
08 2A 86 48 CE 3D 04 03 02 03 48 00 30 45 02 20
1D A5 8B E7 FA 44 2C 6C D8 49 EF 35 67 22 4A 92
03 C2 25 15 89 66 B2 1A FD 40 F3 19 2C F3 47 98
02 21 00 98 27 B3 E0 A1 AB A2 51 4A 39 94 FA 6E
FA 9F D6 C6 10 B8 90 5F BE D9 3F CB 52 50 75 4B
E8 AA 58 82 01 59 02 D9 A2 82 02 D5 30 82 02 D1
30 59 30 13 06 07 2A 86 48 CE 3D 02 01 06 08 2A
86 48 CE 3D 03 01 07 03 42 00 04 CD D1 FE 64 CF
2C 04 CD 93 98 6D A5 76 DC ED CD F1 C9 2E DF D2
68 2C D8 E5 1C FC 04 09 B5 C3 0D 6A 74 2E 90 0E
D7 3D B8 F3 F8 68 CB A5 16 FD 36 4C 4C F3 D1 FF
DD D7 C0 7B 06 D7 A9 92 17 2F 17 04 14 8A 84 CF
F9 80 95 A3 BC 36 D6 EE A5 18 D6 97 8D 9B D7 1F
60 30 82 02 5C 30 5C 31 0B 30 09 06 03 55 04 06
0C 02 55 53 31 1F 30 1D 06 03 55 04 0A 0C 16 53
6E 6F 62 62 69 73 68 20 41 70 70 61 72 65 6C 2C
20 49 6E 63 2E 31 2C 30 2A 06 03 55 04 03 0C 23
53 6E 6F 62 62 69 73 68 20 41 70 70 61 72 65 6C
2C 20 49 6E 63 2E 20 54 72 75 73 74 20 41 6E 63
68 6F 72 A0 82 01 FA 30 82 01 9F A0 03 02 01 02
02 14 10 1B 93 44 65 C0 10 45 44 1E 1B B8 C5 A7
C0 9E A9 BE A9 88 30 0A 06 08 2A 86 48 CE 3D 04
03 02 30 5C 31 0B 30 09 06 03 55 04 06 0C 02 55
53 31 1F 30 1D 06 03 55 04 0A 0C 16 53 6E 6F 62
62 69 73 68 20 41 70 70 61 72 65 6C 2C 20 49 6E
63 2E 31 2C 30 2A 06 03 55 04 03 0C 23 53 6E 6F
62 62 69 73 68 20 41 70 70 61 72 65 6C 2C 20 49
6E 63 2E 20 54 72 75 73 74 20 41 6E 63 68 6F 72
30 1E 17 0D 32 32 30 35 31 39 31 35 31 33 30 38
5A 17 0D 33 32 30 35 31 36 31 35 31 33 30 38 5A
30 5C 31 0B 30 09 06 03 55 04 06 0C 02 55 53 31
1F 30 1D 06 03 55 04 0A 0C 16 53 6E 6F 62 62 69
73 68 20 41 70 70 61 72 65 6C 2C 20 49 6E 63 2E
31 2C 30 2A 06 03 55 04 03 0C 23 53 6E 6F 62 62
69 73 68 20 41 70 70 61 72 65 6C 2C 20 49 6E 63
2E 20 54 72 75 73 74 20 41 6E 63 68 6F 72 30 59
30 13 06 07 2A 86 48 CE 3D 02 01 06 08 2A 86 48
CE 3D 03 01 07 03 42 00 04 CD D1 FE 64 CF 2C 04
CD 93 98 6D A5 76 DC ED CD F1 C9 2E DF D2 68 2C
D8 E5 1C FC 04 09 B5 C3 0D 6A 74 2E 90 0E D7 3D
B8 F3 F8 68 CB A5 16 FD 36 4C 4C F3 D1 FF DD D7
C0 7B 06 D7 A9 92 17 2F 17 A3 3F 30 3D 30 1D 06
03 55 1D 0E 04 16 04 14 8A 84 CF F9 80 95 A3 BC
36 D6 EE A5 18 D6 97 8D 9B D7 1F 60 30 0B 06 03
55 1D 0F 04 04 03 02 02 84 30 0F 06 03 55 1D 13
01 01 FF 04 05 30 03 01 01 FF 30 0A 06 08 2A 86
48 CE 3D 04 03 02 03 49 00 30 46 02 21 00 B6 71
FE 37 7F 73 CF 94 23 BA FD DC 6F E3 47 ED 22 0C
71 4E 82 87 17 BD 94 CC 43 6F EF EC B8 CA 02 21
00 81 AD 0B FA FA 48 66 85 31 A3 FB CC 3D 84 96
80 6E 21 74 ED C9 6B BC 1F 09 7E 60 67 57 45 8F
77 A3 01 81 A1 02 A1 02 A2 18 1F 71 5A 65 73 74
79 20 48 61 6E 64 73 2C 20 49 6E 63 2E 18 21 02
03 81 A1 19 03 E6 6C 42 69 74 74 65 72 20 50 61
70 65 72 05 A1 00 81 82 00 59 01 E9 30 82 01 E5
30 82 01 8B A0 03 02 01 02 02 14 0B DC 4A A0 51
79 50 3E 58 F2 75 D5 52 46 73 47 BC AF B5 33 30
0A 06 08 2A 86 48 CE 3D 04 03 02 30 52 31 0B 30
09 06 03 55 04 06 0C 02 55 53 31 1A 30 18 06 03
55 04 0A 0C 11 5A 65 73 74 79 20 48 61 6E 64 73
2C 20 49 6E 63 2E 31 27 30 25 06 03 55 04 03 0C
1E 5A 65 73 74 79 20 48 61 6E 64 73 2C 20 49 6E
63 2E 20 54 72 75 73 74 20 41 6E 63 68 6F 72 30
1E 17 0D 32 32 30 35 31 39 31 35 31 33 30 37 5A
17 0D 33 32 30 35 31 36 31 35 31 33 30 37 5A 30
52 31 0B 30 09 06 03 55 04 06 0C 02 55 53 31 1A
30 18 06 03 55 04 0A 0C 11 5A 65 73 74 79 20 48
61 6E 64 73 2C 20 49 6E 63 2E 31 27 30 25 06 03
55 04 03 0C 1E 5A 65 73 74 79 20 48 61 6E 64 73
2C 20 49 6E 63 2E 20 54 72 75 73 74 20 41 6E 63
68 6F 72 30 59 30 13 06 07 2A 86 48 CE 3D 02 01
06 08 2A 86 48 CE 3D 03 01 07 03 42 00 04 97 CF
6D 70 D7 6A 30 40 0C 79 F1 EB AB 6A D6 16 88 71
24 87 10 D4 F4 C1 20 7A DA EF 02 D1 98 67 13 67
91 F2 C2 B2 9F 6F 2D CC 3C 21 25 C2 F2 D2 FD EE
4F 59 09 4B 67 AF 43 33 2F 0D FB 5C A4 40 A3 3F
30 3D 30 1D 06 03 55 1D 0E 04 16 04 14 F6 DA D1
E5 12 8B BF 0D E9 E9 53 43 B3 71 C6 F7 FF E7 E2
6E 30 0B 06 03 55 1D 0F 04 04 03 02 02 84 30 0F
06 03 55 1D 13 01 01 FF 04 05 30 03 01 01 FF 30
0A 06 08 2A 86 48 CE 3D 04 03 02 03 48 00 30 45
02 20 1D A5 8B E7 FA 44 2C 6C D8 49 EF 35 67 22
4A 92 03 C2 25 15 89 66 B2 1A FD 40 F3 19 2C F3
47 98 02 21 00 98 27 B3 E0 A1 AB A2 51 4A 39 94
FA 6E FA 9F D6 C6 10 B8 90 5F BE D9 3F CB 52 50
75 4B E8 AA 58 04 A2 00 C1 1A 61 CE 48 00 01 C1
1A 69 54 67 80 58 40 84 64 A5 CC 98 98 9E 1F 72
CD 14 97 99 78 47 BE 03 E4 C8 61 34 A5 B4 43 91
AA D7 55 EC 31 3A 2E 15 41 EC E2 E4 58 7F 5A B3
59 C7 F4 FF 0C 27 61 A6 FB 90 75 F9 0E 9C CD 13
9A F1 F9 31 E7 01 06
]]></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-birkholz-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-birkholz-rats-corim">
          <front>
            <title>Concise Reference Integrity Manifest</title>
            <author fullname="Henk Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Thomas Fossati">
              <organization>Arm Limited</organization>
            </author>
            <author fullname="Yogesh Deshpande">
              <organization>Arm Limited</organization>
            </author>
            <author fullname="Ned Smith">
              <organization>Intel Corporation</organization>
            </author>
            <author fullname="Wei Pan">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="26" month="January" year="2022"/>
            <abstract>
              <t>   Remote Attestation Procedures (RATS) enable Relying Parties to put
   trust in the trustworthiness of a remote Attester and therefore to
   decide if to engage in secure interactions with it - or not.
   Evidence about trustworthiness can be rather complex, voluminous or
   Attester-specific.  As it is deemed unrealistic that every Relying
   Party is capable of the appraisal of Evidence, that burden is taken
   on by a Verifier.  In order to conduct Evidence appraisal procedures,
   a Verifier requires not only fresh Evidence from an Attester, but
   also trusted Endorsements and Reference Values from Endorsers, such
   as manufacturers, distributors, or owners.  This document specifies
   Concise Reference Integrity Manifests (CoRIM) that represent
   Endorsements and Reference Values in CBOR format.  Composite devices
   or systems are represented by a collection of Concise Module
   Identifiers (CoMID) and Concise Software Identifiers (CoSWID) bundled
   in a CoRIM document.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-birkholz-rats-corim-02"/>
        </reference>
        <reference anchor="I-D.draft-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="20" month="May" 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-13"/>
        </reference>
        <reference anchor="I-D.draft-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="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>
            <date/>
          </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>
            <date/>
          </front>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="I-D.draft-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="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>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
6CAe+YOp/+LvbyjFB5EjFoMRSV40AH2JeM8DYPd4JFdhE9YY7hUPk4toqA4+
s4NO63llrh5Pv3hf269PeUO7fmzLz03tetC8Hmum/+h1tOF3uzg+65WMpTFw
Rl9f1mbjE7uo96pn68pr3/Yq54/h7NKZT53C6kFrHI8vQnel9W+Mm2snPD0+
MQfLW+vEfb36+tK+bPfujse//nqQOjm4J/DpR6pfNMNu8YPZ4cS37eRdWMlL
JVIvY4ofmbcC9ZGbOLAiM3LQcYKB7YKTaOOLv6K/FHAQySrmVbAJM9j1Wo0J
ve/Umw2jgM4fxj2n2WY3+c4VVVA3lqRuEnphJDJ1/LArsXuc9VDTYgNRNxwO
k5JYdt8oYxMlXKgNSTTiZ/KWXvrVV6J/Vea+otaS9AsG9hcfMkHSt0Kx2IH5
jBzsyeYRR7NOu60ve4ah3XfH2qqta+P2nXZhDJ/P641b9/V00Lh1ag+ju5nz
pTZvLdodzTsxjO8n3U65oWsdo9MssxfjVTvTxxd3uvbY0dy7XudGWzXHj827
6+svTW3Ysk9a4eDkxe3c5FcnK7rebOo38fV2i92shw8X+bbZWjwWJ8vBk2a3
Vvl150krdHrPLxc987XTHFpw7VVce4yvAQQCAPaHIBAAsAQC/WtH75zoa3FW
bWzG59ZW5qmWb2v65cXN94lWOdPs5+X1Rd07X93cXTTZTBvps97r7Pzc/NQ1
T56Daq0WnHbth9HgbvL14dZuOhe1YzYK7i4WU8sx72+u518npdeHq9V53b/t
rJ+uXrVGR8+faIXbYXN8fa/r1/qD+XDmn+snX2atYeHFGNsd7Y51R6YOg88R
+6fXdRNJonnXqyae8Sbf065Pj3XtdgUg68fsVfuij8ffJ89Pl1eAAG18cao1
dVNzYAFnqOnBaP56knd75w1z0uhXtdv+99lr6xN79syv/fFyPl8uw8Z1e3zn
mZ/6E/Mi/1Rdda9e7aunc98cNj9dmeP10+lZxe9rhUL36vtxoZOorcM3lG1h
i7Jlntc2widgTb+9uu9pPX08kKC39eQYHV1fXRia1n14LRZWhaK3utZeKnV7
4VvhI7t3Ts3nyUvzttExx3boL7Xw5PHry8XseXRuBPPG8nywqre7D0Y9PG/U
nhtfjdtw5uc7r+erUu3hy42m66xXLIanruktjpv2bH6bv3wdDPql409s5PQR
vKf86vbJPO9oz0gvUx+vjLu7zsvJk/YohMLrmHdzd1C6qbTNyaQ/vXk9N/Sz
/rSz6LDuYHV2HfFjxfoKPGh39fbjfeV5sF6Nu/eVp3NHvx3M7l6Hhq73pxde
v/RlPB6fuii6TlVrMuBNQ5tcn5fM7+PbB/f6yn1aD4d33ZvZxenyyydW6GQJ
/6R3O9fByhA7nzS1s7vbV9Pq6GM6gjFe3dxPYcfT53H3pLX4eso6Qdt0F4/r
8svZq+aKc3U6p+72c0XilJJntq9At9pbNIq3OtEem4wEWm9tR9STOesYt3QE
bbWy00eIT8DGd6dnhUHpGgSr8mSdNNb72HW33ggHF8PvHVPr2CN26n8v+vct
b/Jy1h5cF656evvUt2qr85vpyaD3tXK6XvlfRv11qXNlmO5qed49titX99fu
+ddqo9lZ1y+ALuvn6y+d404zvzq9Jnm91PVHs3XVt/L2bdep1S+qttu7rl28
vCxHx5VP7GzR0QKhFVbXcMa2MWlqVyT8Nx1dG4EC6GlNFHqWVdRafqx1zFuj
rRddB3i3emO8BEVztry4Hzjdebu5cm7vnHtrfbIsaPWX56Cetx81x9Smhv1a
/nLie27ry+XXXrW//D4qBI/XC3amj5bh8/G6cHY9vF16393xH5T2Ahqi0NxD
2nsX+VHl+XW9Ml+/Xj72rbti6bIEHtbgeVFqnHnnF0/u6dXKNPoPzeb9PH8+
1y4Lr8Vy/Xjirau398e9r53e1dXNMWuUHlanwUmhOu221vUHXe9+mXSOWWV8
dv+0bPbva99vHwtz+2LaGIwemwCeu1o9NDel/fRVG0bS3nIvFv0iO3OshwsP
RGA1OGmtv96vYhE6b2rfIxFqF3DwjrFsXd5gVg/E/hPqna+fIosNYCx6NycP
mmnemaeTRfnFGmmz79NP7PsjwDeOuRlZZk/wY4jYPw5+DD1TZE0vPzR77XWn
efty2TNB8jury5YH1zp07eIpvpaGlL0P6ruQsvdBfVcrsJRaAAXz6WunHuid
Ym96UnSH4Wv4Ojo9Ow+PWdcyXh8rN691XZsWVqvC96FRvW6Gg8bi6qpsdRZu
a5kvgtJ7zY+Oh4W6XtNDe/48GSxbVWDBDbXQ/m6+HrOp5lqX9Yuwv5jfPN27
5WK/8NIY/wG18Axq4dFoXxvFwahcGpWurlzjsno8fFmW86OwPX556XlfTlu1
IliIi2XtE/DketyeaO2T0Dj2q90Tq9WxrmqvzaLpevqi/dAL1/eL+unK/fR4
Mny4eWyU9gpduttCF2wBhXtb6lZKk3v0InDZ1EjJJPKe+ZY4Wr5m01Yq/6bW
kw/gjpSe72gJ3aE/q3NlwYSDn/LgMX8TWuN08CvgU7zytJZUxlDiDj3/7CGO
Dg7T40E308AIdMO38VVvB8qoH/Hnb7siaMCHyMFvO0kESwob/4TYo4Iq/3ER
azKj8fLFa7Uqt83KY332cHf7/PX1prZehqASMoqM/eNuF3ld7GfdrvbqdDK4
6Dy1V+CqVDqsd/sCnlXpHi++0sViJ7q2h4fFdvgn+3pYLONi7RGwnI2uwCI+
WE+61jxls5dqNfxemFjtQbd7al708quuXi0u6kb+62RmFu2bevBlPSvWw9fm
anI2OF/nl6VFr/B81i3ay2v22lk2R+FgbhpbApY3veZ/PGBpQ8DSgoBlOH9c
ziAyuQ76F5Oz2uvdrP38vavV227r0Z0GE79xfdX5en51cTrVQFmdjWfBJ2Py
vXp2032a3n5i01p11uifmOfO9UOt9vWqHnZvT+/Oq1/mj+9rqyT/KNSV+seJ
or+DIZ5bEY+nR9psW408295AuZo4oZp+gZuEoVnk9TKv1HmlybUSzxd4scrz
JV4r82qB1/L4UzV4tcGrJbjC8Dp8bvGqyYstXivS1yYv6jSgiLfgYr6Oa5YL
TIPPeS5+w9xygZdLvNzk5Qov5nnZoI3K+LkG0xusWsOVcU34XcPrVVi5wmsN
hK1Zp5EwpY6/a2VWo4klDYGBH4AZwWjilKJJE+t0sSkOwuAKrCPgMQq8oOFd
w+TlOl6BW/Jig1dglxqrA/B5XoHddV7IE4rgK6EFtivXEG9mFYEs4+5Mq/C6
yUsGN1v422jiQcplXLleoHU0btZ5k47T0lm9RMDQXa1AsBUIY/QZjlapSZTS
qRnSooLX4QdQUSnhVzhC0SB8CryV8Oz5CizCYClYuQ5bFInKOi/RceB3Ac4C
tAYka7xeRQwYJis1cSRsjbfq6i2Ot4hDYAp8KCMOWb7MtSavazxvEIE03jDx
N25X4k0DGcMoIvzFGpyaGbBdAZdqARJaCANgo2FwvYG40mtcq3OzzPUqLzbh
OoO7WoM3NPwKOK/ALoCNFge6NIkxjDyC2gSoGrxQZsUi18s4wKjyAlBT503i
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
PmL/FzuCxM5/lwAA

-->

</rfc>
